UML各种图详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

片段重复一定次数。可以在临界中指示片段重复的条件。

相关文档
最新文档