目录:
1、什么是交互图 2、序列图(sequence diagram)/协作图(collaboration diagram) 3、序列图/协作图的构成 4、序列图/协作图实例--汽车租赁 5、序列图--机房收费系统 6、协作图--机房收费系统 7、小结1、什么是交互图
交互图是描绘对象之间的关系以及对象之间的信息传递的图
交互图分为序列图(Sequence Diagram)和协作图(Collaboration Diagram)
2、序列图(Sequence Diagram)/协作图(Collaboration Diagram)
序列图用来描述对象之间消息发送的先后次序,阐明对象之间的交互过程以及在系统执行过程中的某一具体时刻将会发生什么事件。
序列图是一种强调时间顺序的交互图,序列图提供了随着时间推移的、清晰的、可视化的轨迹
协作图显示对象之间如何为了由一个用例描述的一个系统事件而与另一组对象进行协作的交互图。使用协作图可以显示对象角色之间的关系,如为实现某个操作或达到某种结果而在对象间交换的一组消息
协作图强调收发消息的对象的组织结构,显示了对象之间的关系
3、序列图/协作图的构成
序列图:
(1)object(对象)
类的实例,具有特定的属性和操作。在交互图中,属性展示了对象的信息和状态,操作展示了对象的行为和功能
(2)lifeline(生命线)
对象下面那条虚线即为该对象的生命线,表示该对象的生命周期,即存在的时间
“X”标记表明生命的结束
虚线上的窄条表示该对象正在执行的操作,长度即表示该操作的时间
(3)message(消息)
表示一个对象到另一个对象的信息传递或者多个对象的信息传递,即对象之间、参与者之间、对象与参与者之间的通信方式,可以是信息的传递,也可以是协调作用,分为两种,可以使发送者向接收者发送消息,也可以使调用者向被调用者用协作
表示方法:
协作图:
(1)object(对象)
类的实例,具有特定的属性和操作。在交互图中,属性展示了对象的信息和状态,操作展示了对象的行为和功能
(2)message(消息)
表示一个对象到另一个对象的信息传递或者多个对象的信息传递,即对象之间、参与者之间、对象与参与者之间的通信方式,可以是信息的传递,也可以是协调作用,分为两种,可以使发送者向接收者发送消息,也可以使调用者向被调用者用协作
(3)link(链)
链是关联的实例,当一个类与另一个类之间有关联时,这两个类的实例之间就有链,一个对象就能向另一个对象发送消息,所以链是对象间的发送消息的路径
表示方法:
4、序列图/协作图实例--汽车租赁
使用场景:汽车租赁公司
使用对象:Customer (客户), Worker (工作人员), Order (请求), Record (记录), Car (汽车)
工作流程:① 客户 向 工人 提出租车要求, ② 工人 检查 请求, ③ 客户 付款, ④ 工人 填写 记录, ⑤ 工人 取车
序列图:
协作图:
5、序列图--机房收费系统
主要从一般用户上机和操作员注册两方面画了一下序列图,序列图主要是从时间顺序方面描述的,具体的我就不解释了,上面解释的都很清楚了,下面是我画的图
一般用户上机
操作员注册
6、协作图--机房收费系统
协作图主要是从收发消息的对象的组织结构方面描述的,我主要从一般用户上机和操作员注册两方面画的,虽然可以直接转换过去,但是还是自己画了画,下面是我画的两个图
一般用户上机
操作员注册
7、小结
序列图和协作图都是交互图的一种,所以对比着总结的,这样理解的比较清晰一些。序列图和协作图虽然都是交互图,但是他们侧重强调的方面不一样,抓住重点很重要,再就是结合一些比较贴合生活的实例去理解,这样印象会更深刻一些
以上仅为个人理解和认识,如有不同见解,欢迎指教