第2章 UML系统建模与分析设计-统一建模语言UML-36.ppt
《第2章 UML系统建模与分析设计-统一建模语言UML-36.ppt》由会员分享,可在线阅读,更多相关《第2章 UML系统建模与分析设计-统一建模语言UML-36.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 UML系统建模系统建模与分析设计与分析设计-统一建模统一建模语言语言UML-362.1 UML模型系统体系结构模型系统体系结构2.1.1 UML2.1.1 UML的诞生与发展的诞生与发展2.1.2 UML2.1.2 UML的主要特点的主要特点2.1.3 2.1.3 软件系统体系结构软件系统体系结构的描述的描述2.1.4 UML2.1.4 UML模型元素模型元素2022/11/522.1.1 UML2.1.1 UML的诞生与发展的诞生与发展20世纪世纪70年代出现了面向对象的程序设计语言。年代出现了面向对象的程序设计语言。20世纪世纪80年代,出现了面向对象的建模语言。年代,出现了面
2、向对象的建模语言。在在1989年到年到1994年期间年期间,面向对象的方法从不到十种增加面向对象的方法从不到十种增加到了五十多种到了五十多种;一些方法脱颖而出,包括;一些方法脱颖而出,包括Booch方法、方法、OMT和和OOSE等方法;等方法;其他的方法还有其他的方法还有Fusion方法、方法、Shlaer-Mellor 方法和方法和Coad-Yourdon方法方法经过经过Booch、Rumbaugh和和Jacobson三人的共同努力三人的共同努力,于于1996年发布了年发布了UML(Unified Modeling Language)。2022/11/53UMLUML的标准化的标准化1997
3、年年11月月14日,日,UML1.1版本被版本被OMG(对象管理组织)(对象管理组织)采纳为标准,并陆续修订颁布了采纳为标准,并陆续修订颁布了1.3、1.4和和1.5等版本。等版本。2000年年-2003年,年,UML2.0版本问世。版本问世。2005年,年,UML2.0标准版本被标准版本被OMG采纳。采纳。Booch Rumbaugh JacobsonBooch Rumbaugh Jacobson2022/11/54UML UML 的形成过程的形成过程2022/11/552.1.2 UML2.1.2 UML的主要特点的主要特点统一的标准统一的标准UML是被是被OMG接受为标准,越来越多的开发
4、人员使接受为标准,越来越多的开发人员使用用UML进行软件开发,越来越多的厂商支持进行软件开发,越来越多的厂商支持UML。面向对象面向对象是支持是支持OO软件开发的建模语言。软件开发的建模语言。可视化、表达能力强可视化、表达能力强(概念明确概念明确)建模表示法简洁,图形结构清晰,可视化、表示能力建模表示法简洁,图形结构清晰,可视化、表示能力强大,容易掌握和使用。强大,容易掌握和使用。独立于过程独立于过程UML不依赖于特定的软件开发过程。不依赖于特定的软件开发过程。2022/11/56可视化可视化UMLUML通过它的元模型和表示法,把那些通过文字或通过它的元模型和表示法,把那些通过文字或其他表达方
5、法很难表达清楚的、隐晦的潜台词用其他表达方法很难表达清楚的、隐晦的潜台词用简单直观的图形表达和暴露出来,准确而直观地简单直观的图形表达和暴露出来,准确而直观地描述其复杂的含义。描述其复杂的含义。例如:造一辆车身是红色金属漆的小轿车,装备例如:造一辆车身是红色金属漆的小轿车,装备四个普利司通牌子的轮胎,它是一辆四门车,车四个普利司通牌子的轮胎,它是一辆四门车,车门时加厚的,并且前后门玻璃上贴黑色的膜。前门时加厚的,并且前后门玻璃上贴黑色的膜。前后挡风玻璃里都装有电热丝,后视镜是电动可调后挡风玻璃里都装有电热丝,后视镜是电动可调的。的。2022/11/572022/11/58UML模型系统体系结构
6、模型系统体系结构模型元素模型元素UML通用机制通用机制视图视图UMLUML构成构成2022/11/59事物事物关系关系结构结构事物事物行为行为事物事物分组分组事物事物辅助辅助事物事物关联关联关系关系依赖依赖关系关系泛化泛化关系关系实现实现关系关系用用例例类类接接口口协协作作主主动动类类组组件件节节点点状状态态机机交交互互机机包包注注释释模型元素模型元素UML聚合聚合关系关系通用机制通用机制视图视图2022/11/510模型元素模型元素用用例例视视图图逻逻辑辑视视图图进进程程视视图图构构件件视视图图配配置置视视图图时时序序图图协协作作图图状状态态图图活活动动图图UML用用例例图图类类图图对对象象
7、图图构构件件图图配配置置图图通用机制通用机制视图视图2022/11/511模型元素模型元素UML通用机制通用机制视图视图修修饰饰注注解解规格规格说明说明通用通用划分划分扩展扩展机制机制2022/11/512v描述系统的功能需求,找出用例和执行者;描述系统的功能需求,找出用例和执行者;v客户客户、分析者分析者、设计者设计者、开发者开发者和和测试者测试者;v描述用图:描述用图:用例图用例图和和活动图活动图;v重要性:系统的中心,它决定了其他视图的重要性:系统的中心,它决定了其他视图的开发,用于确认和最终验证系统。开发,用于确认和最终验证系统。1 1用例视图用例视图2.1.3 软件系统体系结构的描述
8、软件系统体系结构的描述2022/11/5132 2逻辑视图逻辑视图v描述如何实现系统内部的功能描述如何实现系统内部的功能;v分析者分析者、设计者设计者、开发者开发者;v类图和对象图、状态图、顺序图、合作图类图和对象图、状态图、顺序图、合作图和活动图和活动图;v重要性:描述了系统的静态结构和因发送重要性:描述了系统的静态结构和因发送消息而出现的动态协作关系消息而出现的动态协作关系。静态结构静态结构:类图、对象图类图、对象图动态行为:动态行为:状态图、活动图、时序图、协作图状态图、活动图、时序图、协作图 2022/11/514v描述系统代码构件组织和实现模块,及描述系统代码构件组织和实现模块,及它
9、们之间的依赖关系它们之间的依赖关系;v设计者设计者、开发者开发者;v构件图构件图;v描述系统如何划分软件构件,如何进行描述系统如何划分软件构件,如何进行编程编程。3 3构件视图构件视图 2022/11/515v描述系统的并发性,并处理这些线程间描述系统的并发性,并处理这些线程间的通信和同步的通信和同步;v开发者开发者和和系统集成者系统集成者;v状态图、顺序图、合作图、活动图、构状态图、顺序图、合作图、活动图、构件图和配置图件图和配置图;v将系统分割成并发执行的控制线程及处将系统分割成并发执行的控制线程及处理这些线程的通信和同步理这些线程的通信和同步。4 4进程视图进程视图2022/11/516
10、v描述系统的物理设备配置;描述系统的物理设备配置;v开发者开发者、系统集成者系统集成者和和测试者测试者;v配置图配置图;v描述硬件设备的连接和哪个程序或对象描述硬件设备的连接和哪个程序或对象驻留在哪台计算机上执行驻留在哪台计算机上执行。5 5配置视图配置视图2022/11/517逻辑视图逻辑视图构件视图构件视图部署视图部署视图进程视图进程视图Use caseUse case视图视图2022/11/518高级语言程序设计2.1.4 UML模型元素模型元素2022/11/519事物事物关系关系结构结构事物事物行为行为事物事物分组分组事物事物辅助辅助事物事物关联关联关系关系依赖依赖关系关系泛化泛化关
11、系关系实现实现关系关系用用例例类类接接口口协协作作主主动动类类组组件件节节点点状状态态机机交交互互机机包包注注释释模型元素模型元素UML聚合聚合关系关系通用机制通用机制视图视图2022/11/520v1 构件事物构件事物:UML模型的静态部分,描述概念或物理元素v 它包括以下几种:类类:具有相同属性相同操作 相同关系相同语义的对象的描述接口接口:描述元素的外部可见行为,即服务集合的定义说明协作协作:描述了一组事物间的相互作用的集合用例用例:代表一个系统或系统的一部分行为,是一组动作序列的集合构件构件:系统中物理存在,可替换的部件节点节点:运行时存在的物理元素v 另外,参与者、信号应用、文档库、
12、页表等都是上述基本事物的变体v2 行为事物行为事物:UML模型图的动态部分,描述跨越空间和时间的行为交互交互:实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接状态机状态机:描述事物或交互在生命周期内响应事件所经历的状态序列v3 分组事物分组事物:UML模型图的组织部分,描述事物的组织结构包包:把元素组织成组的机制v4 注释事物注释事物:UML模型的解释部分,用来对模型中的元素进行说明,解释注解注解:对元素进行约束或解释的简单符号2022/11/521l关联:连接(connect)模型元素及链接(link)实例。l依赖:表示一个元素以某种方式依赖于另一种元素。l泛化:表示一般与
13、特殊的关系,即“一般”元素是“特殊”关系的泛化。l聚合:表示整体与部分的关系。2022/11/522关系(关系(RelationshipsRelationships)关系是将事物联系在一起的方式,UML中定义了四种关系:2022/11/523类之间的关系类之间的关系-泛化关系泛化关系在 UML 中,泛化关系泛化关系用来表示类与类,接口与接口之间的继承关系继承关系.泛化关系有时也称为”is a kind of”关系在 UML 中泛化关系用一条实线空心箭头有子类指向父类2022/11/524类之间的关系类之间的关系-实现关系实现关系在 UML 中,实现关系用来表示类与接口之间的实现关类与接口之间的
14、实现关系系.在 UML 中实现关系用一条虚线空心箭头由子类指向父类2022/11/525类之间的关系类之间的关系-依赖关系依赖关系对于两个对于两个相对独立相对独立的系统,当一个系统负责构造另一个系统的的系统,当一个系统负责构造另一个系统的实例,或者依赖另一个系统的服务时,这两个系统之间体现为实例,或者依赖另一个系统的服务时,这两个系统之间体现为依赖关系依赖关系.例如生产零件的机器和零件,机器负责构造零件对象;充电电池和充电器,充电电池通过充电器来充电;自行车Bicycle和打气筒Pump,自行车通过打气筒来充气在现时生活中,通常不会为某一辆自行车配备专门的打气筒,而是在需要充气的时候,从附近某
15、个修车棚里借个打气筒打气。在程序代码中,表现为Bicycle类的expand()方法有个Pump类型的参数。以下程序代码表示某辆自行车先后到两个修车棚里充气:2022/11/526类之间的关系类之间的关系-关联关系关联关系对于两个相对独立的系统,当一个系统的实例与另一个对于两个相对独立的系统,当一个系统的实例与另一个系统的一些特定实例存在系统的一些特定实例存在固定的对应关系固定的对应关系时,这两个系时,这两个系统之间为关联关系统之间为关联关系。例如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司;自行车和主人,每辆
16、自行车属于特定的主人,每个主人有特定的自行车。而充电电池和充电器之间就不存在固定的对应关系,同样自行车和打气筒之间也不存在固定的对应关系。Person 类与 Bicycle 类之间存在关联关系,这意味着在 Person 类中需要定义一个需要定义一个 Bicycle Bicycle 类型的成员变量类型的成员变量2022/11/527类之间的关系类之间的关系-关联关系关联关系在现时生活中,当骑在现时生活中,当骑自行车去上班时,只自行车去上班时,只要从家里推出自己的要从家里推出自己的自行车就能上路了,自行车就能上路了,不象给自行车打气那不象给自行车打气那样,在需要打气时,样,在需要打气时,还要四处去
17、找修车棚。还要四处去找修车棚。因此,在因此,在PersonPerson类的类的goToWorkgoToWork()()方法中,调用自身方法中,调用自身的的bicyclebicycle对象的对象的runrun()()方法。方法。假如假如goToWork()goToWork()方法方法采用以下的定义方式:采用以下的定义方式:那就好比去上班前,还要先四处去借一辆自行车,然后才能去上班。那就好比去上班前,还要先四处去借一辆自行车,然后才能去上班。依赖依赖2022/11/528关联关系的名称关联关系的名称关联关系的名称关联关系的名称:关联关系可以有一个名称关联关系可以有一个名称,用于描述该用于描述该关系
18、的性质关系的性质.此关联名称应该是此关联名称应该是动词短语动词短语,因为它表明因为它表明源对象正在目标对象上执行动作源对象正在目标对象上执行动作.2022/11/529关联关系的角色关联关系的角色当一个类处于关联的某一端时当一个类处于关联的某一端时,该类就在这个关系中扮该类就在这个关系中扮演一个特定的角色演一个特定的角色.具体来说具体来说,角色就是关联关系中一角色就是关联关系中一个类对另一个类所表现的职责个类对另一个类所表现的职责.角色名称是角色名称是名词名词或名或名称短语称短语.2022/11/530关联关系的多重性关联关系的多重性关联关系的多重性是指有多少对象可以参与该关联关联关系的多重性
19、是指有多少对象可以参与该关联,多多重性可以用来表达一个取值范围重性可以用来表达一个取值范围,特定值特定值,无限定的范无限定的范围围.2022/11/531关联关系关联关系-聚合关系聚合关系聚合关联是一种特殊的关联聚合关联是一种特殊的关联.它表示类间的关系是整体它表示类间的关系是整体与部分的关系与部分的关系.简言之简言之:关联关系中的一个类描述了一关联关系中的一个类描述了一个较大的事物个较大的事物,它由较小的事物组成它由较小的事物组成.聚合关系描述了聚合关系描述了“has a”的关系的关系,即整体对象拥有部即整体对象拥有部分对象分对象整体和部分之间用整体和部分之间用空心菱形箭头空心菱形箭头的连线
20、连接的连线连接,箭头指向箭头指向整体整体2022/11/532关联关系关联关系-组成关系组成关系组合组合关系是更强形式的聚合关系是更强形式的聚合.组合组合关系中关系中,整件拥有部件的生命周期整件拥有部件的生命周期,所以整件删除所以整件删除时时,部件一定会跟着删除部件一定会跟着删除.而且而且,多个整件不可以同时多个整件不可以同时共享同一个部件。共享同一个部件。聚合聚合关系中关系中,整件不会拥有部件的生命周期整件不会拥有部件的生命周期,所以整件所以整件删除时删除时,部件不会被删除部件不会被删除.再者再者,多个整件可以共享同多个整件可以共享同一个部件一个部件.UML 中组成关系用中组成关系用实心的菱
21、形实线实心的菱形实线表示表示2022/11/533关联关系关联关系-导航性导航性导航性表示可从源类的任何对象到目标类的一个或多导航性表示可从源类的任何对象到目标类的一个或多个对象遍历个对象遍历.即即:给定源类的一个对象给定源类的一个对象,可以得到目标可以得到目标类的所有对象类的所有对象.可以在关联关系上加上箭头表示导航可以在关联关系上加上箭头表示导航方向方向.只在一个方向上可以导航的关联称为只在一个方向上可以导航的关联称为单向关联单向关联,用一个用一个带箭头的方向表示带箭头的方向表示;在两个方向上都可以导航的关联在两个方向上都可以导航的关联称为称为双向关联双向关联,用一条没有箭头的实线表示用一
22、条没有箭头的实线表示.2022/11/5342.2 UML系统模型与建模系统模型与建模2.2.1 2.2.1 用例模型用例模型及组成成分及组成成分2.2.2 2.2.2 静态模型静态模型与与系统体系结构建模系统体系结构建模2.2.3 2.2.3 动态模型动态模型与与行为控制流建模行为控制流建模2022/11/5352.2 UML2.2 UML系统模型与建模系统模型与建模三大类九种图表示三大类九种图表示v用例模型图用例模型图:由用例图组成。v静态模型图静态模型图:由类图、对象图、包图、构件图和配置图组成。v动态模型图动态模型图:由活动图、顺序图、状态图和合作图组成。2022/11/5362.2.
23、1 2.2.1 用例模型及组成成分用例模型及组成成分z用例模型用例模型描述的时外部执行者所理解的系统功能描述的时外部执行者所理解的系统功能。z用例模型有若干用例图组成。用例模型有若干用例图组成。z用例图从用户的角度出发描述系统的用例图从用户的角度出发描述系统的功能需求功能需求,展,展示系统外部的各类角色与系统内部的各种用例之间示系统外部的各类角色与系统内部的各种用例之间的的关系。关系。z用例模型驱动需求分析之后各阶段的开发。用例模型驱动需求分析之后各阶段的开发。2022/11/537静态模型:静态模型:指对系统中对象之间相互进行的联系指对系统中对象之间相互进行的联系构建模型,这些关系不随时间发
24、生变化。构建模型,这些关系不随时间发生变化。UMLUML系统建模用于描述系统体系机构。系统建模用于描述系统体系机构。1 1类图类图(Class diagram)v类图描述系统所包含的类、类的内部结构及类图描述系统所包含的类、类的内部结构及类之间的关系类之间的关系类图是逻辑视图的重要组成部分,用于对系统的静态结构建模。2.2.22.2.2静态模型与系统体系结构建模静态模型与系统体系结构建模2022/11/538类的图符分为长式和短式。如图2.5长式由类名、属性和操作三部分组成。类及类型名均用英文大写字母开头;属性和操作名为小写字母开头。2022/11/5392 2对象图对象图diagramdia
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 UML系统建模与分析设计-统一建模语言UML-36 UML 系统 建模 分析 设计 统一 语言 36
限制150内