UML各种图详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UML用例图
用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块。展示了一个外部用户能够观察到的系统功能模型图。
用例图中涉及的关系:
1》泛化(Inheritance)
就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用
例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。
2》包含(Include)
包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。
3》扩展(Extend)
扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。
包含(include)、扩展(extend)、泛化(Inheritance)的区别:
条件性:泛化中的子用例和include中的被包含的用例会无条件发生,而extend中的延伸用例的发生是有条件的;
直接性:泛化中的子用例和extend中的延伸用例为参与者提供直接服务,而include 中被包含的用例为参与者提供间接服务。
对extend而言,延伸用例并不包含基础用例的内容,基础用例也不包含延伸用例的内
容。
对Inheritance而言,子用例包含基础用例的所有内容及其和其他用例或参与者之间的
关系;
UML类图
类名:如果是抽象类,则采用斜体(继承用实线)
'. 1》接口的表示:
一个类和一个接口不同:一个类可以有它形态的真实实例,然而一个接口必须至少有一
个类来实现它。在 UML 2 中,一个接口被认为是类建模元素的特殊化。因此,接口就象类
那样绘制,但是长方形的顶部区域也有文本“interface”。
2》UML 支持的可见性类型的标志
标志可见性类型
+Public
#proteted
-private
~package
3》多重值和它们的表示
可能的多重值描述
表示含义
0..1 0个或1个
1只能1个
0..*0个或多个
* 0个或多个
1..*1个或多个
3只能3个
0..50到5个
5..15 5到15个
4》类图之间的关系有:泛化(继承),依赖,关联,聚合/组合。
1.聚合/组合
聚合是一种特别类型的关联,用于描述“总体到局部”的关系。在基本的聚合关系中,
部分类的生命周期独立于整体类的生命周期。
举例来说,我们可以想象,车是一个整体实体,而车轮轮胎是整辆车的一部分。轮胎可以在安置到车时的前几个星期被制造,并放置于仓库中。在这个实例中,Wheel类实例清楚地独立地Car类实例而存在。然而,有些情况下,部分类的生命周期并不独立于整体类的生命周期-- 这称为合成聚合。举例来说,考虑公司与部门的关系。公司和部门都建模成类,在公司存在之前,部门不能存在。这里Department类的实例依赖于Company类的实例而存在。
·基本聚合(聚合)
有聚合关系的关联指出,某个类是另外某个类的一部分。在一个聚合关系中,子类实例可以比父类存在更长的时间。为了表现一个聚合关系,你画一条从父类到部分类的实线,并在父类的关联末端画一个未填充棱形。
图中清楚的表明了类Car对象包含了另一类Wheel的4个实例,这两者在概念上是密不可分的,
其中的一个类是另一个类的构成成分。菱形表示“包含”,箭头表示被包含的对象,数字4表示包含的数目。
·组合聚合(组合)
组合聚合关系是聚合关系的另一种形式,但是子类实例的生命周期依赖于父类实例的生命周期。
注意:组合关系如聚合关系一样绘制,不过这次菱形是被填充的。
2.依赖
依赖可以说是要完成C5里的所有功能,一定要有C6的方法协助才行
3.关联
可以分为单向关联,双向关联
双向关联:
C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。
单向关联:
C3->C4:表示相识关系,指C3知道C4,C3可以调用C4的公共属性和方法。没有生命期的依赖。一般是表示为一种引用。
UML序列图
序列图的主要目的是定义事件序列,产生一些希望的输出。重点不是消息本身,而是消息产生的顺序;不过,大多数序列图会表示一个系统的对象之间传递的什么消息,以及它们发生的顺序。
1》生命线:
生命线名称可带下划线。当使用下划线时,意味着序列图中的生命线代表一个类的特定实例。序列图的实例名称有下划线,而角色名称没有。
2》注释
3》约束
约束的符号很简单;格式是: [Boolean Test]
4》抉择(Alt)
抉择用来指明在两个或更多的消息序列之间的互斥的选择,相当于经典的if..else..。
5》选项(Opt)
包含一个可能发生或不发生的序列
6》循环(Loop)
片段重复一定次数。可以在临界中指示片段重复的条件。