【发布时间】:2018-03-03 07:57:43
【问题描述】:
我希望我已经解决了这个问题,而不是基于意见。我不是在问 UML 是好是坏,因为我毫不怀疑它对那些专业使用它的人很有用。
我想知道 UML 工具是否有某种临界质量(例如,以每周编码小时数来衡量)对孤独的业余程序员有用。 p>
当然,这假设我在 UML 方面未能取得成功主要是由于缺乏实践。如果保持实践意味着将 90% 的业余时间花在 UML 上,而没有获得太多工作代码,那么我认为这就是“低于临界质量”的例子。
我所说的业余程序员是指:我的项目的典型源代码大小低于 1 MB。有时我会手工绘制继承树,仅此而已。我有 35 年的编程经验,所以在没有明确设计过程的情况下编写代码(当然除了通常的 OOP 设计原则和模式)是我处理项目的自然方法并且效果很好。
我在过去的工作中与 UML 工具(Rhapsody、Enterprise Architect)有过一些肤浅的接触,这不是主要是软件开发。例如,曾经有人要求我在 SYSML 中建模一个机械概念。
我知道大部分语言结构,大概也知道它们的含义,但老实说,我真的不知道如何为我的利益而使用它们。只是花了很多时间,感觉没有效率。更重要的是,与编写一些代码并只是测试它们相比,没有直接的反馈。此外,在尝试使用 UML 时,我多次发现自己处于一种情况,问题似乎变得更加复杂和过度设计,而不是变得更加清晰。就好像使用抽象语言让我看不到实际需要和相关的东西。
另一方面,我有时会觉得不使用 UML 可能会遗漏一些东西。
【问题讨论】:
-
我不认为这个问题可以不被视为基于意见。您将获得其他人的意见和经验(这基本上是您为自己的观点而写在这里的内容)。试一试看看有什么好处有什么不好?
-
如果这真的是为了“爱好”编程 - 时间就是你所拥有的。如果你是为了好玩而编码,不要做任何不好玩的事情。如果您的意图是职业发展,那就另当别论了——不再是爱好,而是个人职业发展。这一切仍然是意见。 UML(或任何其他设计符号)有两个目的 - 1)与其他项目利益相关者/开发人员沟通,2)以一种在破解代码时可能困难的方式实现连贯和清晰的设计 -脸。
-
除非您打算进行完整的端到端模型驱动开发,否则您可以在您的意图变得清晰时停止生成 UML(在这种情况下仅对您而言)并且您有一条路-发展地图。这可能会阻止您离开滑雪道,并为您提供一种确定开发进度和完整性的方法。有时它有助于用代码以外的东西勾勒出一个想法。 UML 是这样做的一种方式,它的好处是定义良好的语义和语法,但这仅在与他人通信或从模型生成代码时才至关重要。意见不统一。
-
EA 相对便宜,但如果你想要零成本,Umbrello 可以服务。不确定 Windows 或 OSX 版本有多好;我之前在 Windows 上的 Linux VM 中使用过它,当时它只是 Linux。
-
我最终会写一个小总结,虽然我也投票结束这个基于意见...
标签: uml modeling software-design