类 型 |
图 名 |
功能 |
示例 |
静
态 |
类 图 |
描述类、类的特性以及类之间的关系 |
请点击!
|
对象图 |
描述一个时间点中各个对象的一个快照 |
||
构件图 |
描述构件的结构与连接 |
||
部署图 |
描述在各个节点上的部署 |
||
用例图 |
描述用户与系统如何交互 |
||
动
态 |
活动图 |
描述过程行为与并行行为 |
|
状态图 |
描述一个特定对象的所有可能状态及其引起状态转移的事件 |
||
协作图 (通信图) |
描述对象之间的交互,重点在于连接 |
||
时序图 |
描述对象之间的交互,重点在于强调顺序 |
a、先完成有明显关系(继承、聚合、组合)的类(或用例),再看得到或出去线最多的类(或用例);
b、找关键词<<include>>、<<extend>>
1)<<include>>、<<extend>>
a、包含关系:从两个或两个以上的原始用例中提取公共行为,或发现能够使用一个构件来实现某一用例的部分功能。换言之,包含关系是指多个用例中存在相同事件流时,可以将这些公共的事件流抽象成为公共用例,这个公共用例被称为抽象用例,而原始用例称为基础用例。
b、扩展关系是将较复杂的步骤提取成专门的用例,以便简化原始用例并扩展其功能的行为。如果一个用例明显地混合了两种或两种以上的不同场景,则可以将这个用例分解为一个基础用例和多个扩展用例。
c、包含关系和扩展关系的区别在于,抽象用例中的事件流一定要插入到基础用例中去,并且插入点只有一个,通常抽象用例不能脱离基础用例而独立存在。扩展用例的事件流往往可以抽象为基础用例的备选事件流,在扩展关系中,可以根据一定的条件来决定是否将扩展用例的事件流插入到基础用例的事件流中,并且插入点可以有多个。
示例:
2)模式的定义
3)组合和聚合
聚合:表示两个对象之间是整体和部分的弱关系,部分的生命周期可以超越整体。如雁群和大雁,就可以用一下图形表示:
组合:表示两个对象之间是整体和部分的强关系,部分的生命周期不能超越整体,或者说不能脱离整体而存在。组合关系的“部分”,是不能在整体之间进行共享的。如大雁和翅膀的关系:
4)多重度
0…*表示一个集合中的一个对象对应另一个集合中的0个或多个对象。(可以不对应)
1…*表示一个集合中的一个对象对应另一个集合中的一个或多个对象。(至少对应一个)
*表示一个集合中的一个对象对应另一个集合中的多个的对象。
可能的多重度表示 |
|
表示 |
含义 |
0…1 |
0个或1个 |
1 |
只能1个 |
0…* |
0个或多个 |
* |
0个或多个 |
1…* |
1个或多个 |
注:0..*与*表达的意思一样