网站建设淘宝客模板下载,wordpress 分类目录seo插件,chinacd.wordpress变装,合肥龙岗医院网站建设DDD领域驱动设计批评文集
做强化自测题获得“软件方法建模师”称号
《软件方法》各章合集 1.3 统一建模语言UML
1.3.1 UML的历史和现状
上一节阐述了A→B→C→D的推导是不可避免的#xff0c;但具体如何推导#xff0c;有各种不同的做法#xff0c;这些做法可以称为“方…DDD领域驱动设计批评文集
做强化自测题获得“软件方法建模师”称号
《软件方法》各章合集 1.3 统一建模语言UML
1.3.1 UML的历史和现状
上一节阐述了A→B→C→D的推导是不可避免的但具体如何推导有各种不同的做法这些做法可以称为“方法”。甚至只要愿意每个人都可以创造自己的“方法”无非是有的正确有的错误有的高效有的低效。有一些“方法”被归纳出来并向业界推广这些可以称为“方法学”。
最开始的软件开发方法学重点关注的是D部分即所谓的“程序设计方法学”。后来才逐渐在方法学中加入前面的部分大致的添加顺序和推导的顺序刚好相反→C→B→A。其中的很多概念借用了其他学科的术语。像“流程建模”、“需求”等术语在计算机出现之前就已经存在而且含义和今天软件开发中使用时的含义差不多。
本书不想花很多篇幅来回顾这些方法学中的概念的历史感兴趣的读者可自行搜索相关论文例如Kolligs 等人写的“The Origins of Requirements”[Kolligs 2021]。
20世纪60-80年代有名的软件方法方法学有功能分解、数据流、E-R实体-关系等。
进入20世纪90年代OOAD面向对象分析设计方法学开始受到青睐许多方法学家纷纷提出了自己的OOAD方法学。流行度比较高的方法学有Booch、Shlaer/Mellor、Wirfs-Brock责任驱动设计、Coad/Yourdon、Rumbaugh OMT和Jacobson OOSE。其中Jacobson的方法学添加了用例、业务工人、业务实体等概念为OOAD方法学扩展了业务建模和需求部分。
这种百花齐放的局面带来了一个问题各个方法学有自己的一套概念、定义和标记符号。
例如现在UML中的操作Operation在不同方法学各有叫法这些叫法有责任Responsibility、服务Service、方法Method、成员函数Member Function……
同一个类图不同方法学也有各自的符号表示如图1-7所示。在图中我们可以看到同样一个三角形符号在OMT方法学中表示泛化在Coad/Yourdon方法学中却表示关联Coad/Yourdon方法学中泛化用的是类似铃铛的形状。
类似这样的差异造成了混乱使开发人员无从选择也妨碍了方法学的推广。 图1-7 不同方法学图形比较
1994年Rational公司的James Rumbaugh和Grady Booch开始合并OMT和Booch方法。随后Ivar Jacobson带着他的OOSE方法学加入了Rational公司一同参与合并工作。这项工作造成了很大的冲击因为在此之前各种方法学的拥护者觉得没有必要放弃自己已经采用的表示法来接受统一的表示法。
Rational公司的这三位方法学家被大家称为“三友”three amigo。1996年三友开始与James Odell、Peter Coad、David Harel等来自其他公司的方法学家合作吸纳他们的成果精华。1997年9月所有建议被合并成一套建议书提交给OMG。1997年11月OMG全体成员一致通过UML并接纳为标准。
从2005年起UML被ISO接纳为标准。ISO/IEC 19501相当于UML 1.4.2ISO/IEC 19505相当于UML 2.1.2。2012年ISO继续接纳UML 2.4.1为ISO/IEC 19505-1:2012 和ISO/IEC 19505-2:2012接纳OCL 2.3.1为ISO/IEC 19507:2012。
2011年中华人民共和国也发布了统一建模语言国家标准GB/T28174。
UML的最新版本是OMG于2017年12月通过的UML 2.5.1相关网址https://www.omg.org/spec/UML/。
OMG还和各种行业标准组织如DMTF、HL7等结盟用UML表达行业标准。
UML诞生已经超过25年在软件开发表示法标准上已经获得了胜利。随便打开一本现在出版的软件开发书里面如果提到建模使用的标准符号基本都是UML。
另外以UML为契机掀起了一股普及软件工程的热潮在UML出现后的几年不但有关建模的新书数量暴增包括CMM/CMMI、敏捷过程等软件过程改进书籍数量也出现了大幅度增长。制定UML标准的角色OMG、根据标准制作建模工具的角色UML工具厂商、使用UML工具开发软件的角色开发人员这三种角色的剥离也导致建模工具的数量和种类出现了爆炸性的增长。而之前的数据流等方法从来没有像面向对象分析设计方法一样出现UML这样的统一表示法从而带动大量书籍和工具的产生。
最开始一批UML书籍基本上由方法学家所写。最近几年以“UML”为题的新书大多为高校教材或普及性教材。这并不是说UML已经不重要而是没有必要再去强调焦点不再是“要不要UML”而是要不要建模、如何建模。
根据UMLChina的统计UML相关工具最多时达168种。经过市场的洗礼现在还在更新的还有几十种有商业工具也有免费或开源工具。隔一段时间UMLChina会整理最近的UML工具更新情况发布在http://www.umlchina.com/url/tools.html。