文章的简介
- UML(统一建模语言)
- 建模工具
建模工具有Rational Rose、PowerDesigner、Visio等等
UML(统一建模语言)
1、用例图:描述系统的参与者在系统中有哪些可使用的功能
2、类图:描述类与类之间的关系
关联:全局性
依赖:局部性
3、序列图:对象之间的消息在时间顺序上的交互(关键的逻辑)
- 用例图
用例图的2种元素4种关系:
参与者(Actor)
用例(Use Case)
关联关系(Association)
包含关系(Include)
扩展关系(Extend)
泛化关系(Generalization)
如图:用例图最常用来描述系统以及子系统
关联关系:表示参与者用例之间进行通信(如上图)。
泛化关系来描述多个参与者之间的公共行为
包含关系:客户用例可以简单地包含提供者用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。
扩展关系:扩展用例被定义为基础用例的增量扩展并在一定条件下发生
例子:网上商城用例图
用例图总结:
外部可见的系统功能单元(用例图可分级别)
不是需求或功能的规格说明,只展示和体现其所描述需求本身的情况
用例图最好的方法就是从分析系统的参与者开始,考虑每个参与者是如何使用系统的
给用户看的,所以在图中避免使用专业术语
- 类图
类图:用于描述系统中的类与类之间的各种关系
继承:父子类关系
实现:类与接口关系
关联(全局变量, 组合/聚合): 值、引用
依赖:局部变量(非Spring中 依赖注入)
步骤:
第一步:
例子:
继承:
实现:
关联关系:
关联关系实际上就是类与类之间的联系
关联具有导航性:即双向关系或单向关系
组合关系:
也是整体与部分的关系,但是整体与部分不可以分开;部分离开整体没有实际意义。
使用带实心菱形的实线来表示
依赖关系: A类使用到了另一个B类型
代码层面,为类B作为参数被类A在某个method方法中使用
- 时序图
步骤:
第一步:
角色(Actor)
对象(Object)
生命线(Lifeline)
消息(Message)
自关联消息(Self-Message)
例子:
用户登录时序图:
时序图总结:
时序图只描述理想的工作流程
时序图工具没有”角色”, 可以在用例图中创建
角色,然后在把项目中的角色拖入到时序图中