《UML基础教程(内部使用教程)》由会员分享,可在线阅读,更多相关《UML基础教程(内部使用教程)(63页珍藏版)》请在金锄头文库上搜索。
1、UML 基础教程,目录,1. 前言 1.1前言 1.2UML概述 1.3UML事物 1.4UML关系 1.5各UML图及特征 1.6各UML图的关系 1.7UML语法 1.8习题 2. 用例图 2.1用例图概要 2.2用例图中的事物及解释 2.3用例图中的关系及解释 2.4例子 2.5习题 3. 类图 3.1类图概要 3.2类图中的事物及解释 3.3类图中的关系及解释 3.4类图与代码的映射 3.5类图例子 3.6习题 4. 顺序图 4.1概要 4.2顺序图中的事物及解释 4.3顺序图与用例图和类图的关系 4.4顺序图例子 4.5 练习题 5. 协作图 5.1概要 5.2协作图中的事物及解释
2、5.3协作图中的关系及解释,目录,5.4对消息标签的详细讲解 5.5协作图例子 5.6协作图与顺序图的区别和联系 5.7练习题 6. 状态图 6.1状态图概要 6.2状态图的组成 6.3状态图中的事物及解释 6.4状态的可选活动表 6.5简单的例子:对象的状态图 6.6复杂的例子:网上银行登陆系统 6.7练习 7. 活动图 7.1活动图概要 7.2活动图事物 7.3活动图关系 7.4活动图实例 7.5活动图练习 8. 构件图 8.1构件图概要 8.2构件图中的事物及解释 8.3构件图中的关系及解释 8.4构件图的例子 8.5习题 9. 部署图 9.1部署图概要 9.2部署图中的事物及解释 9.
3、3部署图中的关系及解释 9.4部署图的例子 9.5关于部署图与构件图 9.6习题附录,1. 前言,1.1 前言本资料对UML1.5各种模型图的构成和功能进行说明,通过本资料的学习达到可以读懂UML模型图的目的。本资料不涉及模型图作成的要点等相关知识。 1.2 UML概述 1.2.1 UML简介UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。UML的定义包括UML语义和UML表示法两个部分。 (1) UML语义:UML对语义的描述使开发者能在语义上取得一致认识,消除了
4、因人而异的表达方法所造成的影响。 (2) UML表示法:UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。 1.2.2 UML模型图的构成事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象关系(Relationships):关系把事物紧密联系在一起图(Diagrams ):图是事物和关系的可视化表示,1. 前言,1.3 UML事物UML包含4种事物:构件事物 行为事物 分组事物 注释事物 1.3.1 构件事物: UML模型的静态部分,描述概念或物理元素它包括以下几种: 类:具有相同属性相同操作 相同关系相同语义的对象
5、的描述 接口:描述元素的外部可见行为,即服务集合的定义说明 协作:描述了一组事物间的相互作用的集合 用例:代表一个系统或系统的一部分行为,是一组动作序列的集合 构件:系统中物理存在,可替换的部件 节点:运行时存在的物理元素另外,参与者、信号应用、文档库、页表等都是上述基本事物的变体 1.3.2 行为事物:UML模型图的动态部分,描述跨越空间和时间的行为 交互:实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接 状态机:描述事物或交互在生命周期内响应事件所经历的状态序列 1.3.3 分组事物: UML模型图的组织部分,描述事物的组织结构 包:把元素组织成组的机制 1.3.4 注释
6、事物: UML模型的解释部分,用来对模型中的元素进行说明,解释 注解:对元素进行约束或解释的简单符号,1. 前言,1.4 UML关系 1.4.1依赖依赖(dependency)是两个事物之间的语义关系,其中一个事物(独立事物)发生变化,会影响到另一个事物(依赖事物)的语义 1.4.2关联关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系 1.4.3泛化泛化(generalization)是一种特殊/一般的关系。也可以看作是常说的继承关系 1.4.4实现实现(realization)是类元之间的语义关系,其中的一个类元指定了由另一个类元保 证执行的契约,
7、1. 前言,1.5 各UML图及特征 1.5.1 用例图( Use Case Diagram ),用例图是从用户角度描述系统功能, 是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元,类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联,1.5.2 类图(Class Diagram),1. 前言,1.5 各UML图及特征 1.5.3 对象图( Object Diagram ),对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图
8、显示类的多个对象实例,而不是实际的类,1.5.4 顺序图(Sequence Diagram),顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互 顺序图的一个用途是用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件,1. 前言,1.5 各UML图及特征 1.5.5 协作图(Collaboration Diagram),协作图描述对象间的协作关系,协作图跟顺序图 相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系. 协作图的一个用途是表示一个类操作的实现,1.5.6 状态
9、图(State Chart Diagram),状态图是一个类对象所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成,1. 前言,1.5 各UML图及特征 1.5.7 活动图(Activity Diagram),活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动 活动图描述了一组顺序的或并发的活动,1.5.8 构件图(Component Diagram),构件图为系统的构件建模型构件即构造应用的软件单元还包括各构件之间的依赖关系,以便通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响,1. 前言,1.5 各UML图及特征 1.5.9 部署图(Dep
10、loyment Diagram),部署视图描述位于节点实例上的运行构件实例的安排。节点是一组运行资源,如计算机、设备或存储器。这个视图允许评估分配结果和资源分配,1.6 各UML图的关系,1. 前言,1.7 UML语法描述,1. 前言,1.8习题判断题 1、UML中一共有九种图:它们是用例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图、部署图 2、用例图是从程序员角度来描述系统的功能 3、类图是描述系统中类的静态结构,对象图是描述系统中类的动态结构 4、活动图和状态图用来描述系统的动态行为 5、协作图的一个用途是表示一个类操作的实现选择题 6、请在下面选项目中选出两种可以互相转换的图
11、(a) 顺序图 (b)协作图 (c) 活动图 (d) 状态图 7、下面哪些图可用于BD阶段(a)用例图 (b)构件图 (c)类图 (d)顺序图答案:1.正确 2.错误 3.错误 4.正确 5.正确 6. (a)(b) 7.(a)(c)(d),2.1 用例图概要,2. 用例图,2.2 用例图中的事物及解释,用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。 (UML参考手册) 用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行(或称为发起了哪个用例)。 用例图多用于静态建模阶段(主要是业务建模和需求建模)。,2. 用例图,extend,2.3 用例图中的关系及
12、解释,2. 用例图,实例1 参与者之间的泛化关系参与者:经理,安全主管,保安用例:管理人事,批准预算,批准安全证书,监视周边在参与者之间不存在泛化关系的情况下,各个参与者参与 用例的情况分别是:经理参与用例管理人事和批准预算;安全主管参与用例批准安全证书;保安参与用例监视周边。由于安全主管与经理,安全主管与保安之间泛化关系的存在,意味着安全主管可以担任经理和保安的角色,就能够参与经理和保安参与的用例。这样,安全主管就可以参与全部4个用例。但经理或者保安却不能担任安全主管的角色,也就不能参与用例批准安全证书。,实例2 用例之间扩展和包含关系用例的上下文是:短途旅行但汽车的油不足以应付全部路程。那
13、么为汽车加油的动作在旅行的每个场景(事件流)中都会出现,不加油就不会完成旅行。吃饭则可以由司机决定是否进行,不吃饭不会影响旅行的完成。,2.4 例子,2. 用例图,实例3. 航空售票的用例图 参与者(actor):clerk,监督员,信用卡服务商,信息亭 用例(use case): Buy tickets, Buy Subscription, Make charges, Survey sales 参与者Clerk参与(或称发起)Buy tickets和Buy Subscription 两个用例(关联关系)。这两个用例的事件流都包含Make charges用例(包含关系)。 系统由:Buy ti
14、ckets, Buy Subscription, Make charges, Survey sales组成。 该系统主要包含:Buy tickets, Buy Subscription, Make charges, Survey sales这几个功能。 该系统主要面向的用户(参与者):clerk,监督员,信用卡服务商,信息亭。,2. 用例图,右图中的参与者有?(a) 1 (b) 2(c) 3 (d) 4 右图中的用例有?(a) 1 (b) 2(c) 3 (d) 4 2和3之间是什么关系?5和6呢?(a) 扩展,包含 (b) 包含,扩展 5缺少了3仍然是个完整的用例?(a) 是的 (b) 不是
15、4能够参与2吗?1能够参与5吗?(a) 可以,不可以 (b) 不可以,可以,习题答案: 1、(a)(d) 2、(b)(c) 3、(b) 4、(b) 5、(b),2.5 习题,3. 类图,3.2 类图中的事物及解释 3.2.1 类 从上到下分为三部分,分别是类名、属性和操作。类名是必须有的 类如果有属性,则每一个属性都必须有一个名字,另外还可以有其它的描述信息,如可见性、数据类型、缺省值等 类如果有操作,则每一个操作也都有一个名字,其它可选的信息包括可见性、参数的名字、参数类型、参数缺省值和操作的返回值的类型等,3.1 类图概要 类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了
16、软件系统的结构,是一种静态建模方法 类图中的“类”与面向对象语言中的“类”的概念是对应的,是对现实世界中的事物的抽象,3. 类图,抽象类,3.2 类图中的事物及解释 3.2.2 接口 一组操作的集合,只有操作的声明而没有实现3.2.3 抽象类 不能被实例化的类,一般至少包含一个抽象操作3.2.4 模版类 一种参数化的类,在编译时把模版参数绑定到不同的数据类型,从而产生不同的类,3. 类图,聚合关系 特殊关联关系,指明一个聚集(整体)和组成部分之间的关系组合关系 语义更强的聚合,部分和整体具有相同的生命周期,3.3 类图中的关系及解释 3.3.1 关联关系 描述了类的结构之间的关系。具有方向、名字、角色和多重性等信息。一般的关 联关系语义较弱。也有两种语义较强,分别是聚合与组合,3. 类图,3.3.3 实现关系 对应于类和接口之间的关系,