uml - UML实用吗?

标签 uml class-design diagram

在大学里我有很多设计和UML面向类(class),并且我认识到 UML 可以用于使软件项目受益,特别是use-case映射,但它真的实用吗?我已经完成了一些合作工作术语,看来 UML 在业界并没有被大量使用。在项目期间是否值得花时间创建 UML 图?另外,我发现类图通常没有用,因为查看类的头文件更快。具体来说哪些图表最有用?

编辑:我的经验仅限于 10 个以下的小型开发项目。

编辑:许多好的答案,虽然不是最冗长的,但我相信所选的一个是最平衡的。

最佳答案

Using UML is like looking at your feet as you walk. It's making conscious and explicit something that you can usually do unconsciously. Beginners need to think carefully about what they're doing, but a professional programmer already knows what they're doing. Most of the time, writing the code itself is quicker and more effective than writing about the code, because their programming intuition is tuned to the task.

这不仅仅与您正在做的事情有关。那么六个月后进来并需要跟上代码速度的新员工呢?五年后,当目前参与该项目的所有人都离开时会怎样?

为后来加入该项目的任何人提供一些基本的最新文档非常有帮助。我不提倡使用方法名称和参数的完整 UML 图(太难维护),但我确实认为系统中组件的基本图及其关系和基本行为是非常宝贵的。除非系统的设计发生巨大变化,否则即使调整实现,这些信息也不应该发生太大变化。

我发现文档的关键是适度。没有人会在阅读 50 页带有设计文档的完整 UML 图时,读几页就睡着了。另一方面,大多数人会喜欢阅读 5-10 页的简单类图,其中包含一些关于如何设计的基本描述。系统整合在一起。

我发现 UML 有用的另一种情况是高级开发人员负责设计组件,然后将设计交给初级开发人员来实现。

关于uml - UML实用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18803/

相关文章:

c# - 实体应该实现接口(interface)吗?

c# - 丑陋的类接口(interface)定义

uml - UML 状态机图中的线程?

ruby-on-rails - PDF 格式的条形图/图表生成

Android 类设计 - 每次我想显示它们时,我是否应该在我的 Activity 中重新实例化对话框类?

drawing - 如何在PowerDesigner中隐藏符号编号?

uml - 将 SiDiF 翻译成 Weaviate

java - 如何在图表中可视化大量实体?

java - 用于生成 Java 源代码的 Eclipse UML 插件

java - 在 UML 中,是否包含方法中定义的变量?