1. UML
- 统一建模语言(Unified Modeling Language,UML)
1.1 UML概念模型
image.png2. UML中的四种事物
- 事物是对模型中最具有代表性的成分的抽象,可分为结构事物、行为事物、分组事物和注释事物
2.1 结构事物
- 类 (Class)
- 接口 (Interface)
- 用例 (Use Case)
- 协作 (Collaboration)
- 活动类 (Active Class)
- 构件 (Component)
- 节点 (Node)
2.2 行为事物
- 交互(interaction)
- 状态机(state machine)
- 活动(activity)
2.3 分组事物
- 包(Package)
2.4 注释事物
- 注解(Note)
3. 事物间的六种关系
image.png3.1 泛化(Generalization)
- 泛化,也叫继承,描述父类与子类之间的关系,父类又称为基类或超类,子类又称作派生类
- 图例:带空心三角的直线
3.2 实现(Realization)
- 实现是两个事物之间的一种契约关系,其中的一个事物(箭头指向的事物)描述了另一个事物必须实现的契约
- 图例:带空心三角的虚线
3.3 组合(Combination)
- 组合表示部分与整体的关系,一旦整体对象不存在,部分对象也将不存在,整体和部分是同生共死的关系(整体与部分有一致的生存期)
- 图例:带实心菱形的直线
示例:人由头部和身体组成,两者不可分割,共同存在
Combination3.4 聚合(Aggregate)
- 聚合表示部分与整体的关系,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在
- 图例:带空心菱形的虚线
示例:公交车司机和工作服、工作帽是整体与部分的关系,但是可以分开,没有共同的生命周期。工作服、工作帽可以穿、戴在别的司机身上,公交车司机也可以换别人的工作服、工作帽
Aggregate3.5 关联(Association)
- 当一个类'知道'另一个类时,可以用关联
- 图例:实线箭头
示例:某个类作为一个另一个类的属性
Associationpublic class Context {
// 属性
private IStrategy strategy;
public Context(IStrategy strategy) {
this.strategy = strategy;
}
}
3.6 依赖(Dependency)
- 依赖是一种“使用”关系,依赖可以表示一个事物使用另一个事物
- 图例:虚线箭头
示例: 某个类作为一个另一个类的方法的参数或返回值
Dependencypublic class OperationFactory {
public static Operation createOperation(String operator) {
Operation operation = null;
// do something
return operation;
}
}
4. 图
4.1 结构图(Structure Diagrams)
UML结构图一般用于表达软件框架或架构,包括:
- 类图(Class Diagram)
- 对象图(Object Diagram)
- 包图(Package Diagram)
- 部署图(Deployment Diagram)
4.2 行为图(Behavior Diagrams)
UML行为图一般用于可视化目标软件的行为或服务模型,包括
- 用例图(Use Case Diagram)
- 活动图(Activity Diagram)
- 状态机图(State Machine Diagram)
4.3 交互图(Interaction Diagram)
UML交互图一般用来展示软件内部控制流或数据流模型,包括
- 时序图(Sequence Diagram)
- 通信图(Communication Diagram)
网友评论