UML概述

UML使用范围广泛,有统一的标准。但也存在一定的问题。但是总体而言,还是一个优秀的统一建模语言。本文希望通过一些资料来调研其历史和一些人对其的评价以及当前类似的技术。

Background

UML语言产生的背景,主要基于这样的三个因素:1)简单图形是不准确的;2)自然语言描述是不准确的;3)沟通必须要一门语言。工程化的过程,我们需要的不是容易引起歧义的自然语言,而是严谨统一的模型化的语言,即UML。

学习UML的理由:使用同一种语言,用相同的方式进行交流。

Evolution

UML的演化可以分为以下三个阶段:

第一个阶段:

90年代Grady Booch建立了Booch方法, 当时他已经在rational software corporation。(Booch方法是由Grady Booch在20世纪90年代提出的一种面向对象分析与设计(OOAD)的方法论。它是早期面向对象软件开发的重要方法之一,为后来的统一建模语言(UML)奠定了基础。)

Jim Rambough建立了OMT方法,1994年离开GE加入rational公司,两人开始统一其方法学。(Booch方法与James Rumbaugh的OMT(Object Modeling Technique)和Ivar Jacobson的OOSE(Object-Oriented Software Engineering)共同构成了UML的基础。1997年,UML被OMG(Object Management Group)采纳为标准建模语言,成为面向对象分析与设计的行业标准。)

1995年Jacobson所在的Objecotry AB公司被收购而加入rational,至此三大主要面向对象方法学齐聚rational公司。

1996 rational开始着手合并三种方法学,经三位面向对象方法学家Booch,Rumbaugh和jacobson共同的努力,形成了UML0.9

第二个阶段:

是公司的联合行动,由十几家公司组成了UML成员协会,将各自意见加入UML,以完善和促进UML的定义工作,形成了UML1.0和1.1,并且向对象管理组织(OMG:Object Management Group)申请成为建模语言规范。

1997年11月UML1.1被OMG接受成为国际标准。UML的意义在于为软件分析开发人员定义了公共语言, UML之于软件业相当于普通话之于我国.

UML没有解决的问题是方法学的过程和方法,这个领域还是流派林立,而且可能会永远如此。

第三个阶段:

是在OMG组织下对版本的不断修订和改进,其中UML1.3(2003年3月)是较为重要的修订版。2005年8月发布了UML2.0版,UML的最后版本是UML2.5(2015年6月)。

目前,UML基本上停止了发展。引文: UML的兴起与消亡 - 知乎

Evaluation in the industry

引文1作者通过调研得出结论"UML不仅没有给软件工程带来便捷的方法,反而耗时耗力,大大延长了需求分析的时间,是个过度设计的产物,被历史所淘汰是个必然的结局。"(同时也是大多数反对者的观点)但认为UML并非无药可救,作者在长期的软件工程实践中,归纳总结了《Lin's EA方法论》和《POD需求建模新方法》两个分别为宏观和微观的软件工程创新理论。并认为这两种理论做到了业务与IT的深度融合,即使没有软件开发经验的业务人员也能够快速的掌握,极大的简化了软件需求设计,大大提高了软件工程的效率。

同样,也不应该否定其在设计中发挥的作用。(相关的支持文章比比皆。当然,本文中对于其支持的文字比较少,但是并不能反应其相应的占比)

个人的使用感受:优秀的地方是可以在宏观上尽可能多的考虑到软件实现可能出现的问题。但是目前的免费软件其实还是不是非常友好(当然这里的话我使用的是“非常”这个词)。以类图具体,标准的类成员函数被描述为:[funcName][funcArgcs][funcType][attribute] 在开发时,我感觉自己甚至无法复用这样的内容。(当然并非完全无法复用)。优秀的地方在于,我可以用图形的方式很好的和他人进行项目构建的交流。并找到可能出现的问题。在阅读源码时也使用这样的方式来帮助理解整个项目。

其他相关的技术

7 软件架构的 7 种建模语言 | by IcePanel | Medium --- 7 modelling languages for software architecture | by IcePanel | Medium 文中提到其他的相关技术,但是因为确实没有实际使用经验无法评价太多。

总结

对于复杂的开发需求|需要和同事交流的内容,可以尝试使用UML来进行开发。对于相对简单的开发UML可能反而达不到敏捷开发的效果。

posted @ 2025-01-07 23:27  daligh  阅读(49)  评论(0)    收藏  举报