统一建模语言UML 出现+概述+扩展机制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38262266/article/details/86640096
 UML的出现和发展
 UML概述
 UML中的扩展机制
 UML中的图
 基于UML的面向对象软件开发过程
UML的出现和发展

统一建模语言UML(Unified Modeling Language)是由Grady Booch、Ivar Jacobson和James Rumbaugh发起,在Booch方法、OOSE方法和OMT方法基础上,广泛征求意见,集众家之长,几经修改而成的一个面向对象分析与设计建模语言。

这种建模语言得到了“UML 伙伴联盟”的应用与反馈,并得到工业界的广泛支持,由OMG 组织(Object Management Group )采纳作为业界标准,这是软件界第一个统一的建模语言。 

UML发展的四个阶段:
各自为政:上世纪80年代到1993年期间,面向对象方法出现了百家争鸣的局面, 但是不同方法的模型间相互转换 ;
统一阶段:1994年10月开始,Rational 公司的Booch、Rumbaugh和Jacobson  在Booch、OMT和OOSE方法的基础上进行研究,于1996年发布了统一建模语言UML(Unified Modeling Language) ;
标准化阶段:对象管理组织(OMG)为了使UML标准更加完善,发布了征求建议书(RFP),随后,Rational软件有限公司建立了UML Partners联盟,各软件开发商和系统集成商共同努力,1997年制定出UML1.1标准,被OMG采纳 ;
工业界应用:1998年OMG接管了UML标准的维护工作,其后推出UML2.0,目前UML已成为软件工业界事实上的标准。 
UML概述

UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。

它不是一种可视化的程序设计语言,而是一种可视化的建模语言;
不是工具或知识库的规格说明,而是一种建模语言规格说明,是一种表示的标准;
不是过程,也不是方法,但允许任何一种过程和方法使用它。

UML的目标

为建模者提供现成的、易用的、表达能力强的可视化建模语言,以开发和交换有意义的模型;
提供可扩展性和特殊化机制以延伸核心概念;
与具体的实现无关,可应用于任何语言平台和工具平台;
与具体的过程无关,可应用于任何软件开发的过程;
支持更高级的开发概念,例如构件、协作、框架和模式,强调在软件开发中对架构、框架、模式和构件的重用(UML 1.4规范);
与最好的软件工程实践经验集成;
可升级,具有广阔的适用性和可用性;
推动对象工具市场的成长。

UML的组成

UML 用模型来描述系统的结构(静态特征)以及行为(动态特征)。从不同的视角为系统的架构建模,形成系统的不同视图(view), 包括:

用例视图(use case view),强调从用户的角度看到的或需要的系统功能,这种视图也叫做用户模型视图(user model view) 或场景视图(scenario view);

逻辑视图(logical view), 展现系统的静态或结构组成及特征,也称为结构模型视图(structural model view) 或静态视图(static view);

并发视图(concurrent view),描述设计的并发和同步等特性,关注系统非功能性需求,也称为行为模型视图(behavioral model view)、过程视图(process view)、 协作视图(collaborative view)和动态视图(dynamic view);

构件视图(component view),关注软件代码的静态组织与管理,也称为实现模型视图(implementation model view )和开发视图(development view);

部署视图(deployment view),描述硬件的拓扑结构以及软件和硬件的映射问题,关注系统非功能性需求(性能、可靠性等),也称为环境模型视图或物理视图(physical view);
每种UML视图都是由一个或多个图(diagram) 组成的,一个图就是系统架构在某个侧面的表示,所有图一起组成了系统的完整视图。 

UML1.4中规定的9种图包括:
(1)用例图(Use case diagram):描述系统的功能;
(2)类图(Class diagram):描述系统的静态结构(类及其相互关系);
(3)对象图(Object diagram): 描述系统在某个时刻的静态结构(对象及其相互关系);
(4)顺序图(Sequence diagram):按时间顺序描述系统元素间的交互;
(5)协作图(Collaboration diagram):按照时间和空间的顺序描述系统元素间的交互和它们之间的关系;
(6)状态图(State diagram):描述了系统元素的状态条件和响应;
(7)活动图(Activity diagram):描述了系统元素的活动;
(8)构件图(Component diagram):描述了实现系统的元素的组织;
(9)部署图(Deployment diagram):描述了环境元素的配置并把实现系统的元素映射到配置上。 


视图和组成视图的图之间的对应关系:
用例视图:使用用例图和活动图;
逻辑视图和并发视图:使用类图、对象图,顺序图,协作图,状态图和活动图;
构件视图:使用构件图;
部署视图:使用部署图。
 UML中的扩展机制
版型:
版型是延伸自元模型语义的新类型的模型元素,它必须基于元模型里已经存在的类型。
版型的表示方法是双尖括号内的文字字符串。

标记值:
标记值由名(标记)和值(某种类型)组成,赋予模型元素在元模型中没有定义的新的特征。
使得开发人员可以对某个模型元素进行增强。
标记值使用“名称=值”的方式表达,例如,author=“TOM”,project_phase=2或者last_update=“1-07-02”。在某些图中,会将它们用大括号扩起来,如{ author=“TOM” last_update=“1-07-02”}。 

约束:
约束是用文字表达式表示的语义限制,定义了保证系统完整性的不变量。 
约束的表示方法是放在大括号里的文字表达式,例如:
Name {最多15个汉字}
约束通常应用于属性和关联,但也可以应用于版型、消息以及动作等。

猜你喜欢

转载自blog.csdn.net/qq_38262266/article/details/86640096
今日推荐