UML——它仍然是软件标记/预开发/可视化的流行方法吗?

UML——它仍然是软件标记/预开发/可视化的流行方法吗?,uml,modeling,Uml,Modeling,在我的面向对象编程课程中,我们学习了UML的一些主要概念,我只是想知道UML在现实世界中是常见的还是有更流行的方法 当然有一些组织依赖于UML,包括一些希望您在访谈中用UML回答OO设计问题的组织。另外,Doxygen等文档工具生成类似UML的图来描述类层次结构 除此之外,我在学术界或工业界工作过的大多数团体都没有真正使用它。如果您想解释原因,请阅读“.大体上同意@chrisaycock。将添加一些内容: 您应该区分在规范和文档中使用UML。在宣传曲线的顶峰,UML被吹捧为前者。因此,开发过程要

在我的面向对象编程课程中,我们学习了UML的一些主要概念,我只是想知道UML在现实世界中是常见的还是有更流行的方法

当然有一些组织依赖于UML,包括一些希望您在访谈中用UML回答OO设计问题的组织。另外,Doxygen等文档工具生成类似UML的图来描述类层次结构


除此之外,我在学术界或工业界工作过的大多数团体都没有真正使用它。如果您想解释原因,请阅读“.

大体上同意@chrisaycock。将添加一些内容:

您应该区分在规范和文档中使用UML。在宣传曲线的顶峰,UML被吹捧为前者。因此,开发过程要求在进入代码之前使用UML进行建模。这种使用已经大大减少了(尽管仍然有一些人使用可执行的uml,特别是在实时/嵌入式环境中)

作为一种文档工具,UML仍然很流行。例如,UML类图可以以一种比线性代码更具启发性和直观性的方式传达模块的结构。类似地,序列图或活动图对于理解超越多个类的操作的控制流非常有用

在文档上下文中,越来越多的UML图是自动生成的,而不是手动创建的,例如从doxygen(正如@chrisaycock提到的)

但是,它对于在开发之前(例如在白板上)绘制设计草图仍然很有用


hth.

我曾经参加过一次关于嵌入式系统中UML和MDA的问答会议,其中包括作者Bruce Powell Douglass和Steven Mellor。在之前研究和工作过RT-SSADM项目和Ward Mellor方法论之后,我向Stephen Mellor提出了一个问题,即为什么在从业者几乎没有掌握或真正理解最后一种方法之前,每10年就会出现一种新的软件设计方法。他回答得相当诚实,也许是“这样我可以卖更多的书”

因此,在某种程度上,我认为围绕任何特定符号或方法的炒作主要是由CASE工具供应商和出版社驱动的;作者通常也受雇于工具供应商,并拥有“首席福音传道者”等头衔


这并不是说这些工具没有价值;我们都应该警惕这种营销,但另一方面,我们也需要以明确和清晰的方式传达我们的想法和设计,使用定义的符号,无论多么不雅观,总是比一些没有明确语义的临时“棍棒和盒子”符号要好。鉴于对通信的需求,UML(以及SysML等衍生工具)是目前最广泛接受和使用的符号,并且目前享有最广泛的工具支持。它与以前的许多不同之处在于,它被定义为一个由多方同意的标准,而不是一个作者或案例工具供应商的工作,因此它很可能会发展而不是消失。

我认为这篇由@chrisaycock链接的文章也可能有推论,例如,“敏捷狂热导致的死亡”、“CMM狂热导致的死亡”,“因RT-SSADM热死亡”,…;-)

正如@sfinine所说的,它确实取决于用法,但UML本身只是一种符号。为了真正有用,你需要遵循一些开发方法。@Clifford的帖子尽管如此,我还是推荐一种成熟的方法。可执行UML从Shlaer Mellor开始,已经使用了19多年。Douglass的方法(不再叫绳子了,但是??)已经有11年的历史了。统一过程基于Booch、OMT和OOSE方法,因此可以认为它已经有19年以上的历史了。当然,你可能会找到其他更适合你需要的UML或非UML开发方法。

UML是一种建模语言,而不是标记语言。它几乎是唯一一种用于OO的方法Group使用UML,或者他们不使用任何东西。阅读我引用的论文。