UML (Unified Modeling Language) | 统一建模语言
图形画的语言表示
1. UML 的2种分类
- 静态模型 (Static Model)
- 创建并且记录一个系统的静态特征
- 反映一个软件系统基础/固定的框架结构
- 创建相关问题域主要元素视图
- 静态模型包括:
- 用例图 (Use Case Diagrams)
- 类图 (Class Diagrams)
- 对象图 (Object Diagrams)
- 组件图 (Component Diagrams)
- 部署图 (Deployment Diagrams)
- 动态模型 (Dynamic Model)
- 动态建模用以展示系统的行为
- 动态模型包括
- 时序图 (Sequence Diagrams)
- 协作图 (Collaboration Diagrams)
- 状态图 (State Diagrams)
- 活动图 (Activity Diagrams)
2. 其他重要UML元素
- 包 (Package)
- UML的扩展机制
-
- 注释 (Comments)
-
- 构造型 (Stereotypes)
-
- 标记值 (Tagged Values)
-
- 限制 (Constraints)
3. UML 静态模型
3.1 用例图
使用场景:展示用户(Actor)和系统核心功能的交互
tips:
- 用例用椭圆表示;
- 为简化建模过程,用例图可标注优先级
- 样例
3.2 类图
使用场景:表现类特征,类图描述多个类/接口的特征,以及对象之间的通信
tips:
- 类图由一或多个矩形区域构成,包括:
- 类型 —— 类名*
- 属性 —— 可选
- 操作 —— 可选
- 类之间有不同的连接线表示,包括但不限于继承,泛化,聚合,依赖。
- 样例
3.3 对象图
使用场景: 表现对象的特征
tips:
- 对象图展现了多个对象的特征以及通信方式
- 样例
3.4 组件图
使用场景:表现软件组件之间的关系
tips:
- 样例
3.5 部署图
使用场景:表现用于部署软件应用的物理设备信息
tips:
- 样例
4. UML 动态模型
4.1 时序图
使用场景:表现一段时间范围内多个对象之间的交互信息
tips:
- 强调交互的时间顺序
- 样例
4.2 协作图
使用场景:表现一定范围内对象之间的通信
tips:
- 强调参与通信的对象之间的组织结构
4.3 状态图
使用场景: 表现一个对象在不同时间触发时,其内部状态的转变过程
tips:
- 样例
4.4 包
使用场景: 引用一组相关实体
tips:
- 通常可用于划分类的命名空间
- 包可用于
- 命名
- 成员可见度
- 导入
- 继承
- 泛化
- 样例