《软件方法》第1章2023版连载(07)UML的历史和现状

这篇具有很好参考价值的文章主要介绍了《软件方法》第1章2023版连载(07)UML的历史和现状。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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章2023版连载(07)UML的历史和现状,软件方法书,uml,软件工程,系统工程

图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.2,ISO/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。文章来源地址https://www.toymoban.com/news/detail-723233.html

到了这里,关于《软件方法》第1章2023版连载(07)UML的历史和现状的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【精】UML及软件管理工具汇总

    2023年11月05日
    浏览(48)
  • [软考中级]软件设计师-uml

    uml中有4中事物,结构事物,行为事物,分组事物和注释事物 结构事物是uml模型中的名词,通常是模型的静态部分,描述概念或物理元素 行为事物是uml的动态部分,是模型中的动词,描述了跨越时间和空间的行为 分组事物是uml模型中的组织部分,是一些由模型分解成的盒子,

    2024年02月07日
    浏览(60)
  • 采用 UML 对软件系统进行建模的基本框架

    UML 包括一些可以相互组合为图标的图形元素, 通过提供不同形式的图形来 表述从软件分析开始的软件开发全过程的描述,一个图就是系统架构在某个侧面的 表示,所有的图组成了系统的完整视图。UML 主要提供了以下五类图: ( 1)第一类是用例图(Use Case Diagram),从用户

    2024年02月11日
    浏览(43)
  • 软件工程开发文档写作教程(07)—招投标文件写作规范

    本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 本文参考资料:电子工业出版社《软件文档写作教程》 马平,黄冬梅编著 国内的软件项目招投标文件的写作规则并不存在行业标准。许多大型企业的信息化主管在他们的工作中,总是相互传递着一种或多种招标

    2024年02月03日
    浏览(70)
  • 什么是统一建模语言(UML)UML与UML类图的基本概念

    UML(统一建模语言)是一种通用的建模语言,用于描述软件系统的结构、行为和交互。它提供了一组符号和规则,用于创建可视化的图形模型,帮助开发人员、设计师和利益相关者之间进行沟通和理解。 UML起源于20世纪90年代初,由James Rumbaugh、Grady Booch和Ivar Jacobson等知名软件

    2024年02月16日
    浏览(60)
  • UML箭头汇总+IDEA绘制UML类图详细教程+chatGPT辅助生成UML类图教程

    参考:http://www.cnblogs.com/damsoft/archive/2016/10/24/5993602.html 1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言。 各个箭头的含义: 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是他们的主要用途简介: 1.用例图:对系统的使

    2024年02月03日
    浏览(44)
  • 【UML】浅谈为什么要有UML?

    上高中的时候,经常使用一些软件,觉得这些软件挺有意思的,就一直很好奇系统这个东西是怎么构建出来的。直到后来,大学的时候上了一门叫做系统分析与设计的课程,从UML开始再到用Spring Boot和Vue写一个系统,慢慢的有一点点的概念,但是还是感觉迷迷糊糊。研究生的

    2024年02月05日
    浏览(59)
  • 快速读懂UML类图,搞懂类之间的6大关系,轻松绘制UML类图

    一个合格的程序员,要想成长为一个高级工程师,不仅仅需要大量代码的编写,更需要对设计模式具有深入的了解和灵活的应用。从本篇文章开始,我将通过对【尚硅谷设计模式】视频课程的学习总结,尝试以最简单,最通俗易懂的方式完成对设计模式的讲解。 学习设计模式

    2024年02月07日
    浏览(84)
  • 2023哈工大软件工程考研 | 395+251 | 个人经验分享

    初试成绩 :395 政治 英语一 数学一 专业课 总分 71 76 130 118 395 复试成绩 :251(综合测试118 + 面试133) 排名 :软专1/12,本部7/83,一校三区33/262 一切都拉下帷幕了,从去年二月到今年三月,已经一年多了;中间有大起大落,有艰难曲折,但最终还算有个不错的结果。 没有感

    2023年04月09日
    浏览(45)
  • UML-构件图

    目录 1.概述 2.构件的类型 3.构件和类 4.构件图   构件图主要用于描述各种软件之间的依赖关系,例如,可执行文件和源文件之间的依赖关系,所设计的系统中的构件的表示法及这些构件之间的关系构成了构件图       ·构件图从软件架构的角度来描述一个系统的主要功能

    2024年02月13日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包