一、用例图
它从外部角色的视角来展示系统的功能,用例视图是系统中与实现无关的视图。
元素:
1、参与者:是指存在于系统外部并直接与系统进行交互的人、系统、子系统或类的外部实体的抽象。
2、参与者间的的关系:由于参与者实质上也是类,所以它拥有与类相同的关系描述,即参与者与参与者之间主要是泛化关系(或称为“继承”关系)。
3、 系统边界:系统是相对的,一个系统本身又可以是另一个更大系统的组成部分,因此,系统与系统之间需要使用系统边界进行区分开来。
用例之间的关系:
1、包含:含关系指用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。
2、扩展:在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做扩展用例(Extension),原有的用例叫做基础用例(Base),从扩展用例到基础用例的关系就是扩展关系。
3、泛化:用例的泛化指的是一个父用例可以被特化形成多个子用例,而父用例和子用例之间的关系就是泛化关系。
二、类图
关系:
1、泛化关系:继承关系
2、实现关系
3、聚合关系
4、组合关系
5、依赖关系
三、状态图
状态图用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移,方框是状态,箭头为事件。
四、活动图
常被用来建立算法模型,使用流程图可以表示一个算法的执行序列、过程、判定点、分支和循环
1、活动状态图(Activity)——活动状态用于表达状态机中的非原子的运行
2、动作状态(Actions)—— 动作状态是指原子的,不可中断的动作,并在此动作完成后通过完成转换转向另一个状态。
3、动作状态约束(Action Constraints)——动作状态约束:用来约束动作状态。
4、动作流(Control Flow)——动作之间的转换称之为动作流活动图的转换
5、开始节点(Initial Node)——活动开始节点
6、终止节点(Final Node)——分为活动终止节点(activity final nodes)和流程终止节点(flow final nodes)
7、对象(Objects)
8、数据存储对象(DataStore) ——使用关键字«datastore»
9、对象流(Object Flows)——对象流是动作状态或者活动状态与对象之间的依赖关系,表示动作使用对象或动作对对象的影响。
10、分支与合并(Decision and Merge Nodes)——选择分支
11、分叉与汇合(Fork and Join Nodes)——分叉用于将动作流分为两个或多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。
12、时间信号
13、发送信号
14、接收信号
15、泳道(Partition)——泳道将活动图中的活动划分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。
五、时序图
时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
时序图的元素:
1、角色(Actor):系统角色,可以是人或者其他系统,子系统。以一个小人图标表示。
2、对象(Object):
对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:
(1)对象名和类名。
(2)只显示类名,不显示对象,即为一个匿名类。
(3)只显示对象名,不显示类名。
3、生命线(LifeLine):时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表。
4、控制焦点(Activation):控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示。
5、消息(Message):
表现代表对象之间发送的信息。消息分为三种类型:
(1)同步消息(Synchronous Message):消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线+实心箭头表示。
(2)异步消息(Asynchronous Message):消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。以一条实线+大于号表示。
(3)返回消息(Return Message):返回消息表示从过程调用返回。以小于号+虚线表示。
6、自关联消息:表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。以一个半闭合的长方形+下方实心剪头表示。