即使对于非常小的项目,UML图也是绝对必要的吗?

即使对于非常小的项目,UML图也是绝对必要的吗?,uml,diagram,Uml,Diagram,UML为我们提供了许多不同类型的图表。但是在许多情况下,只有一小部分是真正必要的,即使对于非常小的项目,您认为最有用的UML图是什么?我不认为UML图是项目文档的重要组成部分,无论我们谈论的是大项目还是小项目 好的评论比复杂的图表更有价值 我个人觉得UML是学术界的玩具。这是我唯一听到和看到人们使用UML、SOA等等到处乱跑的地方 在我的工作实践中,我几乎没有见过UML。嗯,也许有一次,在我的学期项目期间,在我目前的工作中,我们在内部FTP服务器上的某个地方得到了几个八年前的图表(同样不推荐使用

UML为我们提供了许多不同类型的图表。但是在许多情况下,只有一小部分是真正必要的,即使对于非常小的项目,您认为最有用的UML图是什么?

我不认为UML图是项目文档的重要组成部分,无论我们谈论的是大项目还是小项目

好的评论比复杂的图表更有价值

我个人觉得UML是学术界的玩具。这是我唯一听到和看到人们使用UML、SOA等等到处乱跑的地方


在我的工作实践中,我几乎没有见过UML。嗯,也许有一次,在我的学期项目期间,在我目前的工作中,我们在内部FTP服务器上的某个地方得到了几个八年前的图表(同样不推荐使用)。

通常正式的UML对于小项目来说太多了。只需坚持基本类图和简单用例图


根据我的经验,小项目更容易发生变化,所以你的图表经常会过时。与重做所有花哨的UML内容相比,您更可能保持一个不太正式的最新图表。

好吧,这实际上取决于项目。我认为仅仅创建任何UML图作为规则而不评估它是否真的有用是错误的

然而,当它们有用时,有一些明显的情况:

  • 如果您的项目在OO结构方面非常大,那么创建类图通常是有用的。这样你就可以处理抽象问题,直到深入细节

  • 如果您的项目主要是UI驱动的,那么创建用例图作为定义需求的一种方式是非常有用的。如果你能让你的客户接受这种方法,这是非常有用的

  • 如果看起来您的系统将在对象之间有许多交互,那么创建序列图对于理解交互非常有用。此外,我认为序列图对于开发人员来说是最直观的,因为我注意到很多开发人员都会本能地在简单的powerpoint\visio图中绘制这样的交互(即使他们对UML不熟悉)

  • 如果您的系统将使用许多技术,并且需要大量硬件,那么deployment图显然是有用的


我认为关键的一点是,只有当软件变得复杂到我们需要在抽象中思考时,才使用UML。UML有助于可视化和记录这些抽象。

UML已经死了,任何重要的人都不会使用它

唯一使用UML的人是写文章的顾问类型,他们试图变得正式、花哨,缺乏实质内容

如果UML如此伟大,为什么我找不到Google在googlecode上发布的任何项目的UML呢


Ruby、Python、dotnet或Java的UML在哪里?

UML已经死了,因为使用了开源的蹩脚工具!!许多公司使用免费工具,只创建很少的图表,根本没有培训,然后他们说这是没有用的。
这是非专业的,而且UML的使用非常有限,这对项目来说是一场真正的灾难

这不是有点极端吗?UML是一种工具,与其他工具一样。我同意过去对它非常重视,但肯定它仍然有它的用途。你说UML已经过时了,那么当我们想要设计一个大项目时,你推荐使用什么呢?我认为MS和Sun在内部使用UML或至少是可比较的图。Ruby和Python是社区项目(afair),它们不是像商业软件那样规划的,而是不断发展的。开源经常会遇到高复杂性项目的问题,这些项目会变成一大堆烂泥(这并不意味着这些项目很糟糕,只是他们应该计划更多)。另外:试着区分什么是真正使用的,什么是允许你看到的。也许谷歌使用图表,只是不发布而已?许多OSS项目的设计也比那些使用UML的架构师所创建的项目更出色。如果MS或Sun真的认为UML很有价值,为什么他们不将其与其他文档一起发布呢。Java有javadoc,但从来没有试图发布附带的UML图,让我们假装它并不凌乱。同意,我要补充的是,任何过程都必须适应项目。在开发过程+1中,并没有一个万能的解决方案可以说明它们不是必需的,但我同意注释的观点——具有描述性、可读性代码的良好构造远比注释有用。此外,我认为说UML是学术界的玩具有点过分了——他们肯定对UML代码生成过于信任,拯救了我们所有人——但UML仍然有实际用途——这取决于具体情况。@David Relihan:我不是说UML完全无用。我只是觉得这有点被高估了。使用UML不会自动产生高质量的软件。如果它适合你的需要,就把它作为一种文档形式使用。有趣的是,UML背后的公司甚至不能使用RUP/UML来设计和构建高质量的产品。有人会认为,他们的工具将是对其流程的验证……也许是。。也许这就是为什么工具很糟糕,因为UML很糟糕。