《第2章UML系统建模与分析设计统一建模语言UML36.ppt》由会员分享,可在线阅读,更多相关《第2章UML系统建模与分析设计统一建模语言UML36.ppt(93页珍藏版)》请在优知文库上搜索。
1、2023-11-141第二章第二章 统一建模语言统一建模语言UMLUML本章目的本章目的:l 掌握掌握UMLUML特点和特点和基本图标元素的表示符基本图标元素的表示符l 掌握掌握UMLUML软件系统体系结构的五种视图和九软件系统体系结构的五种视图和九种基本图种基本图l 了解了解UMLUML的用例模型、静态模型、动态模型的用例模型、静态模型、动态模型的简单建模方法的简单建模方法l 了解了解UMLUML的系统体系结构模型的系统体系结构模型l 掌握掌握UMLUML与与软件开发统一过程软件开发统一过程2023-11-1422.1 UML模型系统体系结构模型系统体系结构2.1.1 UML2.1.1 UM
2、L的诞生与发展的诞生与发展2.1.2 UML2.1.2 UML的主要特点的主要特点2.1.3 2.1.3 软件系统体系结构软件系统体系结构的描述的描述2.1.4 UML2.1.4 UML模型元素模型元素2023-11-1432.1.1 UML2.1.1 UML的诞生与发展的诞生与发展20世纪世纪70年代出现了面向对象的程序设计语言。年代出现了面向对象的程序设计语言。20世纪世纪80年代,出现了面向对象的建模语言。年代,出现了面向对象的建模语言。在在1989年到年到1994年期间年期间,面向对象的方法从不到十种增加面向对象的方法从不到十种增加到了五十多种到了五十多种;一些方法脱颖而出,包括;一些
3、方法脱颖而出,包括Booch方法、方法、OMT和和OOSE等方法;等方法;其他的方法还有其他的方法还有Fusion方法、方法、Shlaer-Mellor 方法和方法和Coad-Yourdon方法方法经过经过Booch、Rumbaugh和和Jacobson三人的共同努力三人的共同努力,于于1996年发布了年发布了UML(Unified Modeling Language)。2023-11-144UMLUML的标准化的标准化1997年年11月月14日,日,UML1.1版本被版本被OMG(对象管理组织)(对象管理组织)采纳为标准,并陆续修订颁布了采纳为标准,并陆续修订颁布了1.3、1.4和和1.5等
4、版本。等版本。2000年年-2003年,年,UML2.0版本问世。版本问世。2005年,年,UML2.0标准版本被标准版本被OMG采纳。采纳。Booch Rumbaugh Jacobson2023-11-145UML UML 的形成过程的形成过程2023-11-1462.1.2 UML2.1.2 UML的主要特点的主要特点统一的标准统一的标准UML是被是被OMG接受为标准,越来越多的开发人员使接受为标准,越来越多的开发人员使用用UML进行软件开发,越来越多的厂商支持进行软件开发,越来越多的厂商支持UML。面向对象面向对象是支持是支持OO软件开发的建模语言。软件开发的建模语言。可视化、表达能力强
5、可视化、表达能力强(概念明确概念明确)建模表示法简洁,图形结构清晰,可视化、表示能力建模表示法简洁,图形结构清晰,可视化、表示能力强大,容易掌握和使用。强大,容易掌握和使用。独立于过程独立于过程UML不依赖于特定的软件开发过程。不依赖于特定的软件开发过程。2023-11-147可视化可视化UMLUML通过它的元模型和表示法,把那些通过文字或通过它的元模型和表示法,把那些通过文字或其他表达方法很难表达清楚的、隐晦的潜台词用其他表达方法很难表达清楚的、隐晦的潜台词用简单直观的图形表达和暴露出来,准确而直观地简单直观的图形表达和暴露出来,准确而直观地描述其复杂的含义。描述其复杂的含义。例如:造一辆车
6、身是红色金属漆的小轿车,装备例如:造一辆车身是红色金属漆的小轿车,装备四个普利司通牌子的轮胎,它是一辆四门车,车四个普利司通牌子的轮胎,它是一辆四门车,车门时加厚的,并且前后门玻璃上贴黑色的膜。前门时加厚的,并且前后门玻璃上贴黑色的膜。前后挡风玻璃里都装有电热丝,后视镜是电动可调后挡风玻璃里都装有电热丝,后视镜是电动可调的。的。2023-11-1482023-11-149UML模型系统体系结构模型系统体系结构模型元素模型元素UML通用机制通用机制视图视图UMLUML构成构成2023-11-1410事物事物关系关系结构结构事物事物行为行为事物事物分组分组事物事物辅助辅助事物事物关联关联关系关系依
7、赖依赖关系关系泛化泛化关系关系实现实现关系关系用用例例类类接接口口协协作作主主动动类类组组件件节节点点状态机状态机交互机交互机包包注释注释模型元素模型元素UML聚合聚合关系关系通用机制通用机制视图视图2023-11-1411模型元素模型元素用用例例视视图图逻逻辑辑视视图图进进程程视视图图构构件件视视图图配配置置视视图图时时序序图图协协作作图图状状态态图图活活动动图图UML用用例例图图类类图图对对象象图图构构件件图图配配置置图图通用机制通用机制视图视图2023-11-1412模型元素模型元素UML通用机制通用机制视图视图修修饰饰注注解解规格规格说明说明通用通用划分划分扩展扩展机制机制2023-1
8、1-1413v描述系统的功能需求,找出用例和执行者;描述系统的功能需求,找出用例和执行者;v客户客户、分析者分析者、设计者设计者、开发者开发者和和测试者测试者;v描述用图:描述用图:用例图用例图和和活动图活动图;v重要性:系统的中心,它决定了其他视图的重要性:系统的中心,它决定了其他视图的开发,用于确认和最终验证系统。开发,用于确认和最终验证系统。1 1用例视图用例视图2.1.3 软件系统体系结构的描述软件系统体系结构的描述2023-11-14142 2逻辑视图逻辑视图v描述如何实现系统内部的功能描述如何实现系统内部的功能;v分析者分析者、设计者设计者、开发者开发者;v类图和对象图、状态图、顺
9、序图、合作图类图和对象图、状态图、顺序图、合作图和活动图和活动图;v重要性:描述了系统的静态结构和因发送重要性:描述了系统的静态结构和因发送消息而出现的动态协作关系消息而出现的动态协作关系。静态结构静态结构:类图、对象图类图、对象图动态行为:动态行为:状态图、活动图、时序图、协作图状态图、活动图、时序图、协作图 2023-11-1415v描述系统代码构件组织和实现模块,及描述系统代码构件组织和实现模块,及它们之间的依赖关系它们之间的依赖关系;v设计者设计者、开发者开发者;v构件图构件图;v描述系统如何划分软件构件,如何进行描述系统如何划分软件构件,如何进行编程编程。3 3构件视图构件视图 20
10、23-11-1416v描述系统的并发性,并处理这些线程间描述系统的并发性,并处理这些线程间的通信和同步的通信和同步;v开发者开发者和和系统集成者系统集成者;v状态图、顺序图、合作图、活动图、构状态图、顺序图、合作图、活动图、构件图和配置图件图和配置图;v将系统分割成并发执行的控制线程及处将系统分割成并发执行的控制线程及处理这些线程的通信和同步理这些线程的通信和同步。4 4进程视图进程视图2023-11-1417v描述系统的物理设备配置;描述系统的物理设备配置;v开发者开发者、系统集成者系统集成者和和测试者测试者;v配置图配置图;v描述硬件设备的连接和哪个程序或对象描述硬件设备的连接和哪个程序或
11、对象驻留在哪台计算机上执行驻留在哪台计算机上执行。5 5配置视图配置视图2023-11-1418逻辑视图逻辑视图构件视图构件视图部署视图部署视图进程视图进程视图Use caseUse case视图视图2023-11-1419高级语言程序设计2.1.4 UML模型元素模型元素2023-11-1420事物事物关系关系结构结构事物事物行为行为事物事物分组分组事物事物辅助辅助事物事物关联关联关系关系依赖依赖关系关系泛化泛化关系关系实现实现关系关系用用例例类类接接口口协协作作主主动动类类组组件件节节点点状态机状态机交互机交互机包包注释注释模型元素模型元素UML聚合聚合关系关系通用机制通用机制视图视图20
12、23-11-1421v 1 构件事物构件事物:UML模型的静态部分,描述概念或物理元素v 它包括以下几种:类类:具有相同属性相同操作 相同关系相同语义的对象的描述接口接口:描述元素的外部可见行为,即服务集合的定义说明协作协作:描述了一组事物间的相互作用的集合用例用例:代表一个系统或系统的一部分行为,是一组动作序列的集合构件构件:系统中物理存在,可替换的部件节点节点:运行时存在的物理元素v 另外,参与者、信号应用、文档库、页表等都是上述基本事物的变体v 2 行为事物行为事物:UML模型图的动态部分,描述跨越空间和时间的行为交互交互:实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链
13、接状态机状态机:描述事物或交互在生命周期内响应事件所经历的状态序列v 3 分组事物分组事物:UML模型图的组织部分,描述事物的组织结构包包:把元素组织成组的机制v 4 注释事物注释事物:UML模型的解释部分,用来对模型中的元素进行说明,解释注解注解:对元素进行约束或解释的简单符号2023-11-1422l 关联:连接(connect)模型元素及链接(link)实例。l 依赖:表示一个元素以某种方式依赖于另一种元素。l 泛化:表示一般与特殊的关系,即“一般”元素是“特殊”关系的泛化。l 聚合:表示整体与部分的关系。2023-11-1423关系(关系(RelationshipsRelationsh
14、ips)关系是将事物联系在一起的方式,UML中定义了四种关系:2023-11-1424类之间的关系类之间的关系-泛化关系泛化关系在 UML 中,泛化关系泛化关系用来表示类与类,接口与接口之间的继承关系继承关系.泛化关系有时也称为”is a kind of”关系在 UML 中泛化关系用一条实线空心箭头有子类指向父类2023-11-1425类之间的关系类之间的关系-实现关系实现关系在 UML 中,实现关系用来表示类与接口之间的实现关类与接口之间的实现关系系.在 UML 中实现关系用一条虚线空心箭头由子类指向父类2023-11-1426类之间的关系类之间的关系-依赖关系依赖关系对于两个对于两个相对独
15、立相对独立的系统,当一个系统负责构造另一个系统的的系统,当一个系统负责构造另一个系统的实例,或者依赖另一个系统的服务时,这两个系统之间体现为实例,或者依赖另一个系统的服务时,这两个系统之间体现为依赖关系依赖关系.例如生产零件的机器和零件,机器负责构造零件对象;充电电池和充电器,充电电池通过充电器来充电;自行车Bicycle和打气筒Pump,自行车通过打气筒来充气在现时生活中,通常不会为某一辆自行车配备专门的打气筒,而是在需要充气的时候,从附近某个修车棚里借个打气筒打气。在程序代码中,表现为Bicycle类的expand()方法有个Pump类型的参数。以下程序代码表示某辆自行车先后到两个修车棚里
16、充气:2023-11-1427类之间的关系类之间的关系-关联关系关联关系对于两个相对独立的系统,当一个系统的实例与另一个对于两个相对独立的系统,当一个系统的实例与另一个系统的一些特定实例存在系统的一些特定实例存在固定的对应关系固定的对应关系时,这两个系时,这两个系统之间为关联关系统之间为关联关系。例如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司;自行车和主人,每辆自行车属于特定的主人,每个主人有特定的自行车。而充电电池和充电器之间就不存在固定的对应关系,同样自行车和打气筒之间也不存在固定的对应关系。Person 类与 Bicycle 类之间存在关联关系,这意味着在 Person 类中需要定义一个需要定义一个 Bicycle Bicycle 类型的成员变量类型的成员变量2023-11-1428类之间的关系类之间的关系-关联关系关联关系在现时生活中,当骑在现时生活中,当骑自行车去上班时,只自行车去上班时,只要从家里推出自己的要从家里推出自己的自行车就能上路了,自行车就能上路了,不象给自行车打气那不象给自行车