统一的建模语言

这统一的建模语言(嗯)是通用的发展建模语言在...方面软件工程这旨在提供一种可视化系统设计的标准方法。[1]
UML的创建最初是出于标准化不同符号系统和软件设计方法的愿望而激发的。它是在理性软件在1994年至1995年,直到1996年,他们的进一步发展领导。[1]
1997年,UML被作为标准对像管理组(OMG),从那以后一直由该组织管理。2005年,UML也由国际标准化组织(ISO)作为批准的ISO标准。[2]从那时起,该标准进行了定期修订,以涵盖UML的最新修订。[3]在软件工程中,大多数从业人员不使用UML,而是制作非正式的手绘图。但是,这些图通常包括UML的元素。[4]:536
历史

在UML 1.0之前
自1990年代下半年以来,UML一直在发展面向对象的编程方法于1980年代末和1990年代初开发。时间轴(参见图像)显示了面向对象的建模方法和符号的历史记录的亮点。
它最初是基于布希方法, 这对象建模技术(OMT)和面向对象的软件工程(OOSE),已将其集成到单一语言中。[5]
理性软件公司雇用詹姆斯·伦贝从通用电气在1994年,此后,该公司成为了当天最受欢迎的两种最受欢迎的面向对象建模方法的来源:[6]伦贝的对象建模技术(OMT)和Grady Booch的方法。他们很快得到了他们的努力伊瓦尔·雅各布森,创造者面向对象的软件工程(OOSE)方法,他于1995年加入理性。[1]
UML 1.x
在这三个的技术领导下(Rumbaugh,Jacobson和Booch),该财团称为UML合作伙伴成立于1996年以完成统一建模语言(UML)规范,并将其提交给对像管理组(OMG)进行标准化。该合作伙伴关系还包含其他有关方面(例如生命值,十二月,IBM和微软)。联盟于1997年1月向OMG提出了UML Partners的UML 1.0草案。在同月,UML合作伙伴组成了一个小组,旨在定义语言构造的确切含义,由克里斯·科布林(Cris Kobryn)并由Ed Eykholt管理,以最终确定规范并将其与其他标准化工作集成在一起。这项工作的结果是UML 1.1,于1997年8月提交了OMG,并于1997年11月被OMG通过。[1][7]
首次发行后,组建了一个工作队[1]为了改善语言,该语言发布了几次次要修订,即1.3、1.4和1.5。[8]
它产生的标准(以及原始标准)被认为是模棱两可和不一致的。[9]
基数符号
与数据库Chen,Bachman和ISO一样ER图,指定类模型使用“ Look-across”红衣主教,即使有几位作者(梅里斯,[10]Elmasri&Navathe[11]在其他人中[12])更喜欢相同的角色以及最小和最大红衣主教。最近的研究人员(Feinerer,[13]Dulleea等。[14])表明,UML和ER图使用的“外观”技术在应用于n - 严格大于2的秩序关系。
费纳雷说:“如果我们在UML协会的Look-across语义下进行操作,就会出现问题。Hartmann[15]调查了这种情况,并显示了如何以及为什么不同的转换失败。n - ARY协会。”
UML 2
UML 2.0主要修订替换了2005年的1.5版,该版本是通过扩大财团开发的,以进一步改善该语言,以反映其功能使用的新体验。[16]
尽管UML 2.1从未作为正式规范发布,但版本2.1.1和2.1.2出现在2007年,其次是2009年2月2.2日。UML2.3于2010年5月正式发布。[17]UML 2.4.1于2011年8月正式发布。[17]UML 2.5于2012年10月作为“进度”版本发布,并于2015年6月正式发布。[17]正式版本2.5.1于2017年12月采用。[18]
UML 2.x规格有四个部分:
- 定义图表符号和语义的上层结构及其模型元素
- 定义上层结构的核心元模型的基础架构
- 这对象约束语言(OCL)定义模型元素规则
- UML图互换定义了如何交换UML 2图布局
在UML 2.4.1之前,这些标准的最新版本是:[19]
- UML上层建筑2.4.1版本
- UML基础架构版本2.4.1
- OCL版本2.3.1
- UML图Interchange版本1.0。
自2.5版以来,UML规范已被简化(没有上层结构和基础架构),并且这些标准的最新版本现在为:[20]
- UML规范2.5.1
- OCL版本2.4
修订工作组将继续更新和改进,他们解决了该语言的任何问题。[21]
设计
UML提供了一种在图中可视化系统架构蓝图的方法,包括:[5]
尽管最初用于面向对象的设计文档,但UML已扩展到较大的设计文档集(如上所述),[22]并被发现在许多情况下有用。[23]
软件开发方法
UML本身不是开发方法。[24]但是,它旨在与以对象为导向的软件开发方法兼容,例如OMT,布希方法,对象特别是鲁普它最初是为了在理性软件开始工作时与之使用。
造型
区分系统模型和系统图集很重要。图是系统模型的部分图形表示。一组图不需要完全覆盖模型并删除图不会改变模型。该模型还可能包含驱动模型元素和图表的文档(例如书面用例)。
UML图代表系统模型的两个不同视图:[25]
- 静态(或结构)视图:使用对象,属性,操作和关系强调系统的静态结构。这包括班级图和复合结构图.
- 动态(或行为的)视图:通过显示对象之间的协作以及对象内部状态的更改来强调系统的动态行为。此视图包括序列图,活动图和状态机图.
UML模型可以在UML工具通过使用XML元数据互换(XMI)格式。
在UML中,行为建模的关键工具之一是用用例模型Oose。用例是指定系统所需用法的一种方式。通常,它们用于捕获系统的要求,即系统应该做什么。[26]
图
UML 2具有多种类型的图表,分为两类。[5]某些类型代表结构信息,其余的代表一般类型行为,包括一些代表不同方面的互动。这些图可以在层次上分类,如以下类图所示:[5]

这些图可能包含注释或注释,以说明用法,约束或意图。
结构图
结构图代表系统的静态方面。它强调了要建模的系统中必须存在的事物。由于结构图代表结构,因此它们广泛用于记录软件体系结构软件系统。例如,组件图描述如何将软件系统分为组件,并显示这些组件之间的依赖性。
行为图
行为图代表系统的动态方面。它强调正在建模的系统中必须发生什么。由于行为图说明了系统的行为,因此它们被广泛用于描述软件系统的功能。例如,活动图描述系统中组件的业务和运营分步活动。
交互图
互动图,行为图的子集,强调控制流以及正在建模的系统中的事物中的数据。例如,序列图显示对像如何相互通信有关一系列消息的序列。
元模型

对像管理小组(OMG)开发了元模型定义UML的架构,称为元对象设施.[27]MOF被设计为四层架构,如右图所示。它在顶部提供了一个称为M3层的元模型。该M3模型是Meta-Object设施使用的语言来构建称为M2模型的元模型。
第2层元对象设施模型的最突出的例子是UML元模型,它描述了UML本身。这些M2模型描述了M1层的元素,因此描述了M1模型。例如,这些是用UML编写的模型。最后一层是M0层或数据层。它用于描述系统的运行时实例。[28]
可以使用称为称为的机制扩展元模型刻板印象。这被批评为不足/站不住脚布莱恩·亨德森(Brian Henderson Sellers)和塞萨尔·冈萨雷斯·佩雷斯(Cesar Gonzalez-Perez)在“ UML 1.x和2.0中的刻板印像机构的使用和滥用”中。[29]
采用
它有时被视为设计银色子弹,这导致问题。UML滥用包括过度使用(使用该系统的每个部分设计,这是不必要的),并假设新手可以使用它来设计。[31]
它被认为是一种大语言,有很多结构体。有些人(包括雅各布森)感觉UML的尺寸阻碍了学习(因此,使用它)。[32]
也可以看看
- UML的申请
- 业务流程模型和符号(BPMN)
- C4型号
- 基于模型的测试
- 模型驱动的工程
- 面向对象的角色分析和建模
- 系统建模语言(SYSML)
- 统一建模语言工具列表
- 国防部建筑框架
- Modaf
- 点(图形描述语言)
- 流程规范语言
参考
- ^一个bcde统一建模语言用户指南,(2 ed。)。 Addison-Wesley。 2005年。 496。ISBN 0321267974.,查看示例内容,寻找历史记录
- ^“ ISO/IEC 19501:2005-信息技术 - 开放分布式处理 - 统一建模语言(UML)版本1.4.3”。 iso.org。 2005年4月1日。检索5月7日2015.
- ^“ ISO/IEC 19505-1:2012-信息技术 - 对像管理组统一建模语言(OMG UML) - 第1部分:基础架构”。 iso.org。 2012年4月20日。检索4月10日2014.
- ^贝尔特斯,塞巴斯蒂安;Diehl,Stephan(2014年11月11日)。“实践中的草图和图表”.第22届ACM Sigsoft国际软件工程基础研讨会论文集。FSE2014。香港,中国:计算机协会:530–541。arxiv:1706.09172.doi:10.1145/2635868.2635891.ISBN 978-1-4503-3056-5.S2CID 2436333.
- ^一个bcd“ OMG统一建模语言(OMG UML),上层建筑。版本2.4.1”。对像管理组。检索4月9日2014.
- ^Andreas Zendler(1997)高级概念,生命周期模型和针对OBJECKT的软件开发的工具。 p。 122
- ^“ UML规范版本1.1(OMG文档AD/97-08-11)”。 omg.org。检索9月22日2011.
- ^“ uml”。 omg.org。检索4月10日2014.
- ^Génova等人2004年“工业用例建模中的开放问题”
- ^Hubert Tardieu,Arnold Rochfeld和RenéCollettiLa Merise Merise:Principes et Outils(平装书 - 1983年)
- ^Elmasri,Ramez,B。Shamkant,Navathe,数据库系统基础,第三版,艾迪生 - 韦斯利,美国加利福尼亚州门洛公园,美国,2000年。
- ^ER 2004:2004年11月8日至12日,中国上海第23届国际概念建模会议存档2013年5月27日在Wayback Machine
- ^“对UML类图的正式处理是一种配置管理2007的有效方法”(PDF)。检索9月22日2011.
- ^“詹姆斯·杜莱(James Dulleea),Il-yeol歌曲,ioanna lamprou-对实体关系建模2002的结构有效性的分析”(PDF)。检索9月22日2011.
- ^"“有关参与约束和陈的限制的推理” S Hartmann -2003”(PDF)。检索8月17日2013.
- ^“ UML 2.0”。 omg.org。检索9月22日2011.
- ^一个bc“ uml”。 omg.org。检索9月22日2011.
- ^“ UML 2.5.1规格”。 omg.org。检索10月24日2018.
- ^我的天啊。“ OMG形式规格(建模和元数据段)”。检索2月12日2016.
- ^我的天啊。“关于统一的建模语言规范”。检索2月22日2020.
- ^“ UML 2.6修订工作组邮寄列表的问题”。 omg.org。检索4月10日2014.
- ^Satish Mishra(1997)。“视觉建模和统一建模语言(UML):UML简介”。理性软件公司。访问2008年11月9日。
- ^一个b“嗯,成功的故事”。检索4月9日2014.
- ^约翰·亨特(John Hunt)(2000)。从业者的统一过程:面向对象的设计,UML和Java。施普林格,2000年。ISBN1-85233-275-1。 p。 5.室
- ^乔恩·霍尔特电气工程师学会(2004)。用于系统工程的UML:观看车轮IET,2004年,ISBN0-86341-354-4。 p。 58
- ^Manuel Almendros-Jiménez,Jesús和Iribarne,路易斯。(2007)。描述与序列图的用例关系。计算。J .. 50. 116-128。10.1093/comjnl/bxl053。
- ^Iman Poernomo(2006)”元对象设施键入“ 在:推进SAC '06 2006 ACM ACM研讨会上应用计算会议论文集。 pp。1845–1849
- ^“ UML 2.4.1基础架构”。 omg.org。 2011年8月5日。检索4月10日2014.
- ^B. Henderson Sellers;C. Gonzalez-Perez(2006)。“ UML 1.x和2.0中的刻板印像机制的使用和滥用”。在:模型驱动的工程语言和系统。施普林格柏林 /海德堡。
- ^“ UML 2.5:你甚至在乎吗?”.“ uml确实无处不在”
- ^“因UML发烧而死亡”.
- ^“伊瓦尔·雅各布森(Ivar Jacobson)在UML,MDA和方法论的未来”.
进一步阅读
- Ambler,Scott William(2004)。对象底漆:UML 2的敏捷模型驱动开发。剑桥大学出版社。ISBN 0-521-54018-6.
- Chonoles,Michael Jesse;James A. Schardt(2003)。uml 2 for假人。 Wiley Publishing。ISBN 0-7645-2614-6.
- 福勒,马丁(2004)。UML蒸馏:标准对象建模语言的简短指南(第三版)。 Addison-Wesley。ISBN 0-321-19368-7.
- 雅各布森,伊瓦; Grady Booch;詹姆斯·伦贝(James Rumbaugh)(1998)。统一软件开发过程。 Addison Wesley Longman。ISBN 0-201-57169-2.
- 马丁,罗伯特·塞西尔(2003)。uml for Java程序员。 Prentice Hall。ISBN 0-13-142848-9.
- 诺兰(Ovidiu S.)“业务建模:UML与IDEF”(PDF)。检索11月14日2022.
- 霍斯特·卡尔格(Horst Kargl)。“交互式UML元模型,还有其他示例”.
- Penker,Magnus;汉斯 - 埃里克·埃里克森(Hans-Erik Eriksson)(2000)。使用UML的业务建模。约翰·威利(John Wiley&Sons)。ISBN 0-471-29551-5.
- 道格拉斯,布鲁斯·鲍尔。“布鲁斯·道格拉斯:实时敏捷系统和软件开发”(网络)。检索1月1日2019.
- 道格拉斯,布鲁斯(2014)。实时UML研讨会第二版。纽恩斯。ISBN 978-0-471-29551-8.
- 道格拉斯,布鲁斯(2004)。实时UML第三版。纽恩斯。ISBN 978-0321160768.
- 道格拉斯,布鲁斯(2002)。实时设计模式。 Addison-Wesley专业人士。ISBN 978-0201699562.
- 道格拉斯,布鲁斯(2009)。实时敏捷性。 Addison-Wesley专业人士。ISBN 978-0321545497.
- 道格拉斯,布鲁斯(2010)。C中嵌入式系统的设计模式。纽恩斯。ISBN 978-1856177078.