静态结构模型
1. 从用例模型入手,识别分析类
2. 描述各个类的属性
3. 定义各个类的操作
4. 定义状态
5. 建立类之间的关系
6. 绘制类图
分析类是概念层次上的内容,用于描述系统中较高层次的对象,分析类直接与应用逻辑相关,而不关注于技术实现的问题。包括实体类,边界类,控制类。
两种类图:
1. 领域类图:是从面向对象的视角看待现实世界的结果,通过类图来描述现实世界中各种事物的关系,偏重对业务领域的分析。可以不包含边界类与控制类,侧重描述各实体类之间的五种关系,需要给出详细的属性和操作集合。
2. 分析类图:是针对软件系统的分析,描述各边界类、实体类、控制类之间的关联关系,往往无需刻画属性与操作集;
动态行为模型
1. 状态图:描述了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。
2. 时序图:强调消息时间顺序的交互图,描述了对象之间传送消息的时间顺序,表示用例中的行为顺序。
3. 协作图:表达对象间的交互过程及对象间的关联关系。
状态图的基本概念:
- STATE(状态)
- EVENT(事件)
- TRANSITION(转移)
- ACTION(动作)
状态:一个对象在生命周期中满足某些条件,执行一些行为或者等待一个事件时的存在条件。
状态图中定义的状态:每个对象的初始状态和终止状态,而终态可以有多个,中间状态采用圆角矩形表示。
中间状态包括两个区域:名字域和内部转移域。
转换/转移/迁移(TRANSITION):
- 转换是状态图的一个组成部分,表示一个状态到另一个状态的移动。
- 状态之间的转换通常是由时间触发的,应在转移上标出触发转移的事件表达式,如果转移上没有标明,则表示在原状态的内部活动执行完毕后自动触发。
事件(EVENT):
UML中事件分为四类:
- Call Event
- Change Event
- Signal Evnet
- Time Event
时序图:
- 对象(OBJECT)
- 生命线(LIFELINE)
- 消息(MESSAGE)
- 激活(ACTIVATION)
协作图也是一种交互图,但是主要用来表达对象间的交互过程及对象间的关联关系,而不像时序图是强调消息时间顺序。