1.顺序图
顺序图是按时间顺序显示对象交互的图,是交互图的一种形式。
顺序图表示了系统在参与者互动执行某一个用例期间,系统内部的一群对象的协作情况。
一个用例就对应一个顺序图。
顺序图能很好地显示那些对象与其它那些对象通信,什么消息触发了这些通信,顺序图不能很好显示复杂过程的逻辑。
2.交互图
交互图描述一组对象通过消息传递而形成的协作行为。
交互图的应用:
经常用于描述单个用例的功能的实现方式。
软件系统在某种给定的使用场景下对象之间的交互协作流程。
软件系统的某个复杂操作的逻辑实现模型。
通过交互图可清晰地了解对象在软件系统中扮演的角色以及对象之间的交互协作。
分类:
交互图包括顺序图和通信图两种。
顺序图强调消息传递的时间序
通信图突出交换消息的对象之间的合作关系。
从语义上讲基本等价
3.顺序图的构成
角色:参与者。 角色是类中的用户类,可以直接拖过来用,但是这里的角色应该是脱离系统之外的一个单纯的角色。类中定义的属性和操作可以不考虑。
对象:系统内部参与用例的一群对象。 顺序图中的对象是类图中类的实例化 对象名、类名分别可省略,但不能同时省略。 当同一类有多个对象参与同一张顺序图所示的交互时,或者当对象将作为参数出现在本图中的某条消息时,对象名不能省略。
生命线:对象在某一用例中的生命周期。
消息:角色跟对象,对象和对象之间交互操作与信息传递。
- 简单消息:没有描述通信的细节。
- 同步消息:调用者发出消息后等待消息返回后再继续执行。
- 异步消息:调用者发出消息后不等待消息返回就继续执行。
- 返回消息:传递另一个消息的返回值。
- 调用消息:调用某个对象的一个操作,调用一般使用同步消息,可以忽略返回消息。
- 自消息:是指一个对象传向其自身的消息。
4.绘画顺序图
采用BCE(boundary-control-entity patterns)模式绘制顺序图。
BCE 模型中将对象分为三类:边界类,控制类,实体类。
边界类:用来隔离系统内外,通常负责接收并响应系统内外消息,参与者与系统对象进行消息传递要通过边界类来实现。
控制类:一个用例会生成一个控制类。用来控制用例执行期间的复杂运算或者业务逻辑。
实体类:系统内部的对象。
步骤:
1、找出参与者和添加用例控制类。
2、然后根据用例流程不断对边界类和实体类进行填充。
4.不同阶段的顺序图
需求分析阶段的顺序图:主要用于描述用例中对象之间的交互,可以使用自然语言来绘制,用于细化需求。从业务的角度进行建模,用描述性的文字叙述消息的内容。
系统设计阶段的顺序图:确切表示系统设计中对象之间的交互,考虑到具体的系统实现,对象之间通过方法调用传递消息。