- User case diagram
- Class model diagram
- Sequence diagram
User case diagram
Component:
Actor: 外部用户(参与者),使用系统或与系统有接触。用简笔画人物和名称来表示。
Use case: Actor想要系统做的事。用椭圆和名称来表示。
System boundary: 系统边界是用来表示正在建模系统的边界。边界内表示系统的组成部分,边界外表示系统外部。用方框来表示,参与者在边界外面,用例在边界里面。
箭头用来表示关系,尾部表示启动交互的一方。
Relationships:
Include:“has a” 的关系。
Extend:“is a”,强调扩展了功能。
Generation:“is a”,强调继承(泛化与继承的区别有两种说法,暂时没有找到权威解释)。
Class model diagram
类图的模型:
+:public
- :private
#:protected
Relationship between classes:
-
Dependency: 依赖,class A 的method中用到了 class B 的对象,且这个对象没有在class A 的field声明。
-
Association: 关联,class A 的field中包含 class B的实例。分为单向和双向。
-
Aggregation: 聚合,特征如下
- class A 的field包含 class B 的实例。
- 描述 “has a” 的关系,如图书馆有一本书。
- class B 的存在不依赖于 class A,A被破坏B不受影响。
-
Composition: 组合,特征如下
- class A 的field包含 class B 的实例。
- 描述 “part of” 的关系,心脏是身体的一部分。
- class B 的存在依赖于 class A,A不存在则B也不存在。
- 通常描述内部类。
-
Inheritance and Generalization: 继承
-
Realization: 实现,接口