1、实验五 建立通信图和活动图一、实验目的1、掌握通信图和活动图的含义及作用2、掌握通信图和活动图的三个组成要素3、熟悉如何建立通信图和活动图二、预备知识通信(协作图)collaboration diagram通信图的创建,以及在通信图中放置参与者和对象和顺序图类似。只不过对象之间的链接有所不同。增加对象链接(图 5-1)(1) 选择 Object Link 工具栏按钮。(2) 单击要链接的参与者或对象。(3) 将对象链接拖动到要链接的参与者或对象。图 5-1:增加对象链接加进消息(图 5-2)(1) 选择 Link Message 或 Reverse Link Message 工具栏按钮。(2)
2、 单击要放消息的对象链接。(3) 双击消息,可以在弹出的对话框里为消息命名。如图 5-2-1。(4) 同一个方向,一般只允许出现一个箭头,但是消息可以有多个。具体操作方法如图 5-2-2 所示。先双击消息的箭线,单击窗口右下角的【browse】按钮,选择【browse parent】,出来的对话框中,选择【messages】选项卡,按照下图示的方法添加消息。图 5-2-1:加进消息图 5-2-2:为一个箭头添加多个消息自反链接(图 5-3)(1) 选择 Link to Self 工具栏按钮。(2) 单击要链接的对象,会增加一个消息的箭头。(3) 双击消息,命名自反链接。图 5-3:建立自反链接
3、建立活动图 activity diagram活动图显示了从活动到活动的流。活动图可以在分析系统业务时用来演示业务流,也可以在收集系统需求的时候显示一个用例中的事件流。活动图显示了系统中某个业务或者某个用例中,要经历哪些活动,这些活动按什么顺序发生。 创建活动图(图 6-1)(1) 用于分析系统业务:在浏览器中右击 Use Case 视图,选择 newactivity diagram。 (2) 用于显示用例中的事件流:在浏览器中选中某个用例,然后右击这个用例,选择 newactivity diagram。图 5-4:创建活动图 增加泳道 (图 5-5)泳道是框图里的竖段,包含特定人员或组织要进行
4、的所有活动。可以把框图分为多个泳道,每个泳道对应每个人员或组织。在工具栏选择 swimlane 按钮,然后单击框图增加泳道,最后用人员或组织给泳道命名。图 5-5:增加泳道 增加活动并设置活动的顺序(图 5-6)(2) 在工具栏中选择 Activity 按钮,单击活动图增加活动,命名活动。(3) 在工具栏中选择 Transition 按钮,把箭头从一个活动拖向另一个活动。图 5-6:增加活动 增加同步/分岔(图 5-7)(1)选择 synchronization 工具栏按钮,单击框图来增加同步棒。(2)画出从活动到同步棒的交接箭头,表示在这个活动之后开始并行处理。(4)画出从同步棒到可以并行发
5、生的活动之间的交接箭头。(5)创建另一同步棒,表示并行处理结束。(6)画出从同步活动到最后同步棒之间的交接箭头,表示完成所有这些活动之后,停止并行处理。图 5-7:增加同步 增加决策点(图 5-85)决策点表示可以采取两个或多个不同的路径。从决策到活动的交接箭头要给出保证条件,控制在决策之后采取什么路径。保证条件应该是互斥的。(1)选择 decision 工具栏按钮,单击框图增加决策点。(2)拖动从决策到决策之后可能发生的活动之间的交接,双击交接,打开“detail”选项卡,在 Guard Condition 字段中写入保证条件。图 5-8:增加决策点三、实验内容题目一、图书管理员添加新书入库
6、,建立通信图需求描述:图书管理员向系统(主窗口的【新增书籍信息】按钮)发出“新增书籍信息“请求;系统要求图书管理员选择要新增的书籍是计算机类还是非计算机类,通过【书籍类别列表框】完成选择;图书管理员做出选择后,显示相应的新书录入界面,让图书管理员输入信息,并自动根据书号规则生成书号,完成输入后,点击提交按钮,如果数据库书籍表中已经存在这本书,则返回“已经存在”消息,如果不存在,则将书籍信息保存到数据库书籍表中。要求:仔细阅读需求,识别出交互的对象,并为它们组织交互。题目二:画某客户 Joe 从 ATM 机取 20 美元的通信图需求描述:取款这个用例从客户把卡插入读卡机开始,然后读卡机读卡号,初
7、始化 ATM屏幕,并打开 Joe 的账目对象。屏幕提示输入 PIN, Joe 输入 PIN(1234),然后屏幕验证 PIN 与账目对象,发出相符的信息。屏幕向 Joe 提供选项,Joe 选择取钱,然后屏幕提示 Joe 输入金额,它选择 20 美元。然后屏幕从账目中取钱,启动一系列账目对象要完成的过程。首先,验证 Joe 账目中至少有 20 美元;然后,它从中扣掉 20 美元,再让取钱机提供 20 美元的现金。Joe 的账目还让取钱机提供收据,最后它让读卡机退卡。备注:通信图显示的信息和顺序图是相同的,只是通信图用不同的方式显示而已。顺序图显示的是对象和参与者随时间变化的交互,而通信图则不参照
8、时间而显示对象与参与者的交互。例如,Joe 取 20 美元的协作图中我们可以看到,读卡机和 Joe 的账目两个对象之间的交互:读卡机指示 Joe 的账目打开,Joe 的账目让读卡机退卡。直接相互通信的对象之间有一条直线,例如 ATM 屏幕和读卡机直接相互通信,则其间画一条直线。没有画直线的对象之间不直接通信。题目三:画出图书管理系统中借阅者的活动图主要的活动如下:借阅者打开图书馆负责自助服务的计算机(self-help service) ;查询需要的书籍(search for books) ;登录系统(login) ;浏览书籍信息(view book information) ;预定书籍(reserve the book) ;退出系统(exit system) ;离开自助服务的计算机(leave computer ) 。要求:充分理解每个活动什么时候被执行,以及各个活动之间的关系(并发或是条件) ,例如, “search for books”这个活动执行完,如果需要,则可以“预定书籍” ,执行该活动时,需要判断借阅者有没有登录系统,如果没有,则需要执行“登录系统”这个活动。