我正在设计一个新系统,发现我正在努力解决我想做的事情.一个症状是,每次我重新解决问题时,我都必须尝试在纸上绘制组件的关系.(我不清楚这些组件究竟是什么或关系是什么 - 例如我设法删除了一个没有做任何事情的组件).
UML是一种有用的前进方式吗?我曾经非常怀疑并尝试早期版本,其中生产版本花费太多钱.现在我看到有Netbeans中的一个插件,它特别有模式的一个很好的选择(就凭这可能会使它值得的).
我已经阅读了SO上的大多数顶级帖子,似乎没有一个非常明确的共识.我的背景是,这与研究有关,而不是为客户编码,因此主要目的不是记录最终产品,而是帮助清除我的想法(并可能编写一些简单的结构).
如果任何答案支持UML,那么建议生产需要多长时间以及使用它的频率将是有用的.(作为参考,我每天都使用测试,记录器和调试器).
补充是否有任何UML软件可以强制执行代码和图表之间的一致性(在任何级别).我假设,当创建一个StrategyPattern时,它可以生成存根代码.但是,如果模式被破坏,那么代码是否可以被包含在内,UML工具会检测到这个?
UML 不会使您的代码变得更好,但可以改善您对正在做的事情的看法。
这不是关于 UML 对编写代码是否有用,而是关于UML 的真正目的,使您能够描绘出您想要做什么,系统是什么样子。
你需要一个比喻,一个故事来传达你的工作。稍后加入该项目的开发人员将需要它来更好地理解您的代码,在查看细节时拥有正确的上下文并最终不破坏内容。
不要让自己被工具愚弄。UML 本身并不是一个解决方案,它只是解决一个常见问题的一种形式化方法:编写声音系统。