《软件详细设计教程第3章统一建模语言UML基础》由会员分享,可在线阅读,更多相关《软件详细设计教程第3章统一建模语言UML基础(153页珍藏版)》请在金锄头文库上搜索。
1、第3章 统一建模语言UML基础 第3章 统一建模语言UML基础 3.1 UML概述概述3.2 通用模型元素通用模型元素3.3 用例模型用例模型3.4 静态模型静态模型3.5 动态模型动态模型3.6 实现模型实现模型3.7 从从UML 1.x到到UML3.8 小结小结第3章 统一建模语言UML基础 3.1 UML 概概 述述3.1.1 UML的发展历程的发展历程面向对象的方法论自1986年由Booch率先提出后,面向对象的建模语言迅速增加到50多种,于是爆发了一场语言大战。在众多的建模语言中,每种语言都有自己的符号表示方法、过程和CASE工具,甚至各种语言所用的术语也不尽相同,各有自己的特点。软
2、件开发人员经常为了选择何种面向对象建模语言而争论不休,很难找到一个最佳答案,这极大地妨碍了用户之间的交流。于是整合这些面向对象方法论的要求越来越迫切。为此,Grady Booch、James Rumbaugh和Ivar Jacobson三人提出了统一建模语言。第3章 统一建模语言UML基础 1994年10月,Booch和Rumbaugh开始着手建立统一建模语言的工作。他们首先将Booch93和OMT2统一起来,并于1995年10月发布了第一个公开版本,称为统一方法(Unified Method)UM 0.8。1995年秋,OOSE方法的创始人Jacobson加入了他们的工作,经过共同努力,他们
3、于1996年6月和10月分别发布了两个新的版本,即UML 0.9和UML 0.91,并重新将Unified Method(UM)命名为Unified Modeling Language(UML)。UML在美国得到工业界、科技界和应用界的广泛支持,有700多家公司采用了该语言。同时,这三位杰出的方法学家被称为“三友(Three Amigos)”。第3章 统一建模语言UML基础 1996年,一些机构将UML作为其商业策略的趋势已日趋明显,UML的开发者得到来自公众的正面反应,并倡导成立了UML成员协会,一个由建模专家组成的国际性队伍“UML伙伴组织”开始同“三友”一起工作,以完善、加强和促进UML
4、的定义工作。1997年1月,UML 1.0正式公布,并提交给OMG(对象管理组织),作为软件建模语言标准候选。其后的半年多时间里,一些重要的软件开发商和系统集成商都成为“UML伙伴”,如IBM、Microsoft、HP等。1997年7月,在征求了合作伙伴的意见之后,“UML伙伴”公布了UML 1.1版本。自此,UML已经基本上完成了标准化的工作。第3章 统一建模语言UML基础 1997年11月,OMG采纳UML 1.1作为面向对象技术的标准建模语言,并视其为可视化建模语言事实上的工业标准。此时UML已稳占面向对象技术市场85%的份额。此后,OMG平台技术委员会批准成立UML修订任务组(Revi
5、sion Task Forces)。UML RTF通过收集评论,提出修改建议,形成了UML 1.2和UML 1.3,2001年2月形成了UML 1.4,后来的UML 1.5对UML 1.4做了些微小的改进。1999年起,OMG就开始酝酿UML的重大修订UML 2.0,并发布了反馈征集书(RFI),又于2000年9月颁布了UML 2.0的建议征集书(RFP)。经过多次的反复修订,目前UML 2.0已被OMG采纳。第3章 统一建模语言UML基础 3.1.2 UML的内容的内容UML融合了Booch、OMT和OOSE方法中的基本概念,而且这些基本概念与其他面向对象技术中的基本概念大多相同,集众家之长
6、,几经修改而完成。UML扩展了现有方法的应用范围。作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。(1)UML语义:描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。第3章 统一建模语言UML基础(2)UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上是UML元模型的实例。标准建模语言UML的重要内容可以由下列五
7、类图来定义:第一类是用例图(Use Case Diagram),从用户角度描述系统功能,并指出各功能的操作者。第3章 统一建模语言UML基础 第二类是静态图(Static Diagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构,它不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。它们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。包
8、由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。第3章 统一建模语言UML基础 第三类是行为图(Behavior Diagram),描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实际应用中并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。第3章 统一建模语言UML基础 第四类是交互图(Interactive Diagram),描述对象间的交互关系,
9、包括顺序图和合作图。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。第3章 统一建模语言UML基础 第五类是实现图(Implementation Diagram),包括构件图和配置图。其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件,它包含逻辑类或实现类的有关信息。构
10、件图有助于分析和理解部件之间的相互影响程度。配置图定义系统中软硬件的物理体系结构,它可以显示实际的计算机和设备(用结点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在结点内部,放置可执行部件和对象以显示结点跟可执行软件单元的对应关系。第3章 统一建模语言UML基础 3.1.3 UML的特点的特点UML具有如下一些特点:(1)统一了面向对象方法的基本概念。UML统一了Booch、OMT和OOSE等方法中的基本概念,是这些方法和概念的延续和发展,它消除了不同方法在表示法和术语上的差异,避免了符号表示和理解上的不必要的混乱。UML已被OMG 接受为标准的建模语言,赿来越多的开发
11、人员开始使用UML进行开发,越来越多的开发厂商开始支持UML。第3章 统一建模语言UML基础(2)建模能力更强。UML除了吸取面向对象技术领域中其他流派的长处外,也溶入了其他非面向对象方法的可取之处。因此,在UML中汇入了面向对象领域中很多人的思想。这些思想并不是UML的开发者们发明的,而是开发者们依据最优秀的面向对象方法和丰富的计算机科学实践经验综合提炼而成的,它有了更强大的表达能力和建模能力。(3)独立于开发过程。UML只是一种建模语言,与具体软件开发过程无关,因此独立于特定的软件开发过程。但是,UML可以应用于软件的开发过程中,可以支持从用户需求到测试的各个开发阶段。第3章 统一建模语言
12、UML基础(4)UML在演变过程中提出了许多新的概念。在UML标准中新加了模板(Stereotypes)、职责(Responsibilities)、扩展机制(Extensibility Mechanisms)、线程(Threads)、过程(Processes)、分布式(Distribution)、并发(Concurrency)、模式(Patterns)、合作(Collaborations)、活动图(Activity Diagram)等新概念,并清晰地区分了类型(Type)、类(Class)和实例(Instance)、细化(Refinement)、接口(Interfaces)和组件(Compon
13、ents)等概念。(5)建模表示法简洁,图形结构清晰,容易掌握和使用。第3章 统一建模语言UML基础 3.1.4 UML的应用领域的应用领域UML已经成为软件建模领域事实上的标准,它被成功地应用于许多领域,表达了众多不同的概念,例如程序语言实现的可视化表示、直接可执行的模型(如xUML)、与实现语言无关的软件规格说明、高层架构和框架描述、过程工程和重组、网站结构、工作流详述、业务建模等。UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有
14、实时要求的工业系统或工业过程等。UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。第3章 统一建模语言UML基础 此外,UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。在需求分析阶段,可以用用例来捕获用户需求,通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。为实现用例,类之间需要协作,这可以用UML动态模型来描述。在分析阶段,只对问题域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如
15、处理用户接口、数据库、通信和并行性等问题的类)。这些技术细节将在设计阶段引入,因此,设计阶段为构造阶段提供了更详细的规格说明。第3章 统一建模语言UML基础 编程(构造)是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。在用UML建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的编程语言。因为在早期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问题十分不利于建立简单正确的模型。UML模型还可作为测试阶段的依据。系统通常需要经过单元测试、集成测试、系统测试和验收测试。不同的测试小组使用不同的UML图作为测试依据:单元测试使用类图和类规格说明;集成测试
16、使用部件图和合作图;系统测试使用用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。第3章 统一建模语言UML基础 总之,标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。第3章 统一建模语言UML基础 3.2 通用模型元素通用模型元素3.2.1 模型元素模型元素1基元素基元素基元素是指UML已存在或已定义的模型元素,如类、结点、构件、注释、关联、依赖和泛化等。2构造型元素构造型元素构造型元素是在基元素的基础上构造的一种新的模型元素,它是UML的一种扩展机制。一个构造型元素与它的基元素并无不同,只是增加了某种新的语义。基元素能够使用的地方,它的构造型元素也能够使用。构造型元素也简称为构造型。第3章 统一建模语言UML基础 3构造型元素的表示构造型元素的表示构造型元素用带有一对尖括号的词组来表示,如、是泛化关系的构造型元素。UML提供了40多个预定义的构造型元素,如、是包的预定义构造型元素。第3章 统一建模语言UML基础 4如何创建构造型元素如何创建构造型元素构造型