实验5交互图上机实践.docx
- 文档编号:29363972
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:21
- 大小:1.80MB
实验5交互图上机实践.docx
《实验5交互图上机实践.docx》由会员分享,可在线阅读,更多相关《实验5交互图上机实践.docx(21页珍藏版)》请在冰豆网上搜索。
实验5交互图上机实践
实验五交互图上机实践
一、实验目的
掌握交互图的涵义和内容
熟悉交互图的基本功能和使用方法
掌握如何使用建模工具绘制交互图的方法,并绘制交互图
二、实验学时:
2学时
三、实验类型:
设计型
四、实验平台及实验准备
计算机一台;面向对象可视化建模工具RationalRose2003或者IBMRationalRose都可以
五、实验内容及步骤
实验内容
(1)根据之前实验中绘制出的用例图,选取其中任何一个用例绘制顺序图,无需转化成协作图。
(2)根据咖啡机煮咖啡过程的说明绘制出顺序图后,将其转化成协作图。
实验步骤
Sequence框图
下面首先介绍Sequence框图。
Sequence框图是按时间排序的Interaction框图,从上往下阅读框图。
前面曾介绍过,每个使用案例有几个流程。
每个Sequence框图表示使用案例的一个流程。
例如,图5.3是JohnDoe购买1020次航班机票时的Sequence框图。
Sequence框图工具栏
打开Sequence框图时,框图工具栏变成可以向框图中增加对象、消息和其他项目。
和Sequence框图一样,Collaboration框图也显示使用案例中特定情形的流程。
Sequence框图按时间排序,而Collaboration框图则着重于对象之间的关系。
可以看出,Collaboration框图与Sequence框图中的信息相同,但Collaboration框图显示了不同的流视图。
在这个框图中,更容易看出对象之间的关系,但对象顺序信息则不够明显。
为此,可以对一个情景同时创建Sequence框图和Collaboration框图。
尽管它们作用相同,包含相同信息,但视图有所不同。
在Rose中,可以按F5或选择Browse>Creae(Sequence/Collaboration)Diagram在Collaboration框图与Sequence框图之间进行转换。
Collaboration框图工具栏
Collaboration框图工具栏与Sequence框图工具栏非常相似,但有几个Sequence框图没有的选项,如对象链接和数据流。
下面几节介绍如何用这些工具栏按钮将项目加进框图中。
表5.2列出了Collaboration框图工具栏中的按钮。
建立Sequence框图。
(1)在浏览器中选择UseCaseView,单击鼠标右键,弹出快捷菜单;
(2)选择New>SequenceDiagram,创建一个Sequence图;
(3)选择新的时序图,键入名字。
使用Interaction框图中的角色
每个Sequence框图和Collaboration框图都应有角色对象。
角色对象是外部刺激,让系统运行某个功能。
Interaction框图中的角色对象包括与UseCase框图上的使用案例交互的角色。
要创建Interaction框图中的角色对象:
1.打开Interaction框图。
2.在浏览器中选择角色。
3.将角色从浏览器中拖动到打开的框图中。
要删除Interaction框图中的角色对象:
1.选择Interaction框图中的角色。
2.选择Edit>DeletefromModel或按Ctrl+D。
使用对象
Sequence框图和Collaboration框图显示参与特定使用案例的某个流程的对象。
一旦角色对象加进框图后,下一步要加进其他对象。
前面曾介绍过,可以通过检查事件流和情境文档中的名词而找到参与特定Sequence框图和Collaboration框图的对象。
完成这个步骤后,就要在对象之间增加消息。
将对象加进Interaction框图
可以通过检查事件流和情境文档中的名词而找到参与对象。
要将对象加进Interaction框图
1.选择Object工具栏按钮。
2.单击框图中要放对象的位置。
在Sequence框图中,对象在顶上排成行。
3.输入新对象名。
4.加进对象后,可以拖放对象进行重排。
也可以在两个对象之间插入对象,只要在第二步单击两个对象之间即可。
要将对象加进Collaboration框图:
1.选择Object工具栏按钮。
2.单击框图中要放对象的位置。
在Collaboration框图中,对象位置随意。
3.输入新对象名。
从Interaction框图删除对象
建立Interaction框图时,可能要删除一些对象。
从框图中删除对象时,Rose自动删除以该对象开头或结尾的消息,并且自动重新编号所有其余消息。
从Sequence框图中删除对象时,Rose自动删除对应Collaboration框图中的对象,但不从模型中删除对应的类。
同样,从Collaboration框图中删除对象时,Rose自动删除对应Sequence框图中的对象。
如果改变主意,可以用Edit菜单的Undo选项。
要从Collaboration框图或Sequence框图删除对象:
1.选择Collaboration框图或Sequence框图中的对象。
2.选择Edit>DeletefromModel或按Ctrl+D。
如果一个框图中有对象的多个拷贝,所有拷贝同名同类,则可以按Delete删除对象的一个拷贝,而选择DeletefromModel或按Ctrl+D则删除对象的所有拷贝。
设置对象规范
Rose提供了多个不同字段,可以给框图中的对象增加细节。
例如,可以设置对象名、它的类、持续性、对象是否有多个实例。
还可以在对象规范窗口中增加对象文档,如图5.5。
在对象中增加文档并不在类中增加文档;在一个对象中增加文档并不在其他框图上的对象中文档。
要打开对象规范窗口:
1.右键单击Collaboration框图或Sequence框图中的对象。
2.从弹出菜单选择OpenSpecification
或
1、选择Collaboration框图或Sequence框图中的对象。
2、选择Browse>Specification或按Ctrl+B。
命名对象
每个Collaboration框图或Sequence框图中的对象都应有惟一名称。
但是,为了阅读方便框图中的一个对象可以被复制多次,在这种情况下复制的对象名称相同。
尽管类名是一般性的(如Employee和Company),但对象名是很具体的(JohnDoe和RationalSoftwareCorporation)。
在Interaction框图中,两个对象可能是同一个类的实例。
例如,在库存系统中,Part类可能有一个实例Engine,与Part的另一实例Carburetor通信。
可以在对象规范窗口中输人框图中每个对象的名称,也可以在框图中直接输人。
要命名对象:
l.右单击Collaboration框图或Sequence框图中的对象。
2.从弹出菜单选择OpenSpecification。
3.在Name字段中输入对象名。
后面也可以用这个字段改变对象名。
或
1.选择Collaboration框图或Sequence框图中的对象。
2.右单击,使对象中显示光标。
3.输入对象名。
要将文档加进对象:
1.右单击Collaboration框图或Sequence框图中的对象。
2.从弹出菜单选择OpenSpecification。
3.在Documentation字段中输人对象文档。
或
l.选择Collaboration框图或Sequence框图中的对象。
2.在文档窗口输人对象文档。
将对象映射类
每个Collaboration框图或Sequence框图中的对象都可以映射类。
例如,1020次航班可以映射Flight类。
在对象规范窗口中,可以用Class字段设置对象的类。
默认情况下,类设置为Unspecified。
选择对象的类时,可以用模型中现有的类,也可以对对象创建新类。
在下列过程中,我们介绍两种方法。
准备代码生成时,所有对象都应映射类。
要将对象映射现有类:
1.右单击Interaction框图中的对象。
2.从弹出菜单选择OpenSpecification。
3.在Class下拉列表框中,输人类名或从下拉清单选择类名。
4.将对象映射类后,类名出现在框图的对象名后面,用冒号分开。
可以右单击对象并选择ShowClass拨动显示类名。
(默认为显示)
或
1.选择例浏览器Logical视图中的类。
2.将类从浏览器拖动到框图中的对象上。
3.将对象映射类后,类名出现在框图的对象名后面,用冒号分开。
要删除对象的类映射:
1.右单击Collaboration框图或sequence框图中的对象。
2.从弹出菜单选择OpenSpecification。
3.在Class下拉列表框中选择Unspecified。
要对对象创建新类:
1.右单击Collaboration框图或Sequence框图中的对象。
2.从弹出菜单选择OpenSpecification。
3.在Class下拉列表框中选择<New>,Rose进入新类规范窗口。
要保证所有对象映射类:
1.选择Report>ShowUnresolvedObjects。
2.Rose列出模型中还没有映射类的所有对象。
要在框图中只显示对象名:
1.右单击Collaboration框图或Sequence框图中的对象。
2.取消ShowClass。
要在框图中同时显示对象名和类名:
1.右单击Collaboration框图或Sequence框图中的对象。
2.选择ShowClass。
要在框图中只显示类名:
l.如果要在框图中只显示类名而不显示对象名,右单击Collaboration或Sequence框图中的对象。
2.从弹出菜单选择OpenSpecification。
3.删除Name字段中的对象名。
Rose只显示对象的类名,前面加上冒号。
使用对象的多个实例
Rose中可以用一个图标同一个类的多个实例。
例如,假设要在Sequence框图或Collaboration框图中表示一列员工。
与其把每个员工显示为不同对象,不如用多个实例图标显示员工表。
多个实例的UML图注如下所示:
要使用对象的多个实例:
1.右单击Collaboration框图或Sequence框图中的对象。
2.从弹出菜单选择OpenSpecification。
3.复选或取消MultipleInstances框图。
Rose在Collaboration框图中使用相应图标(单实例或多实例)。
Rose在sequence框图中使用单实例图标。
使用消息
消息是对象间的通信,一个对象(客户)请求另一对象(供应者)做某件事。
生成代码时,消息变为函数调用。
本例中,一个窗体让另一个窗体显示自己:
将消息加进Interaction框图
将对象放进Collaboration框图或Sequence框图后,下一步要加进对象之间发送的消息。
在Sequence框图上,可以在两个对象的生命线之间画一个箭头以加进消息。
在Collaboration框图中,则要先加进两个对象间的链接,然后在其间加上消息。
将消息加进Sequence框图
在Sequence框图中,消息在两个对象的生命线之间和一个对象自己的生命线上用箭头画成。
消息在框图中从上往下按时间顺序显示。
要将消息加进Sequence框图:
1.选择工具栏中的ObjectMessage按钮。
2.将鼠标从发送消息的对象或角色生命线拖动到接收消息的对象或角色生命线,如图5.6。
3.输人消息文本。
要将反身消息加进Sequence框图:
“
1.选择工具栏中的MessagetoSelf按钮。
2.单击收发消息的对象生命线,如图5.7。
3.在新消息被选中时,输人消息文本。
从Sequence框图中删除消息
使用Sequence框图时,可能要删除一些前面绘制的消息。
如果删除消息,则Rose自动将其余消息重新编号。
要从Sequence框图中删除消息;
1.选择要删除的消息。
2.选择Edit>DeletefromModel或按Ctrl+D。
(或右击,选择Edit>DeletefromModel
重排Sequence框图中的消息
有时需要重排Sequence框图中的消息。
Rose中很容易重排消息,只要将消息拖放到所要位置即可。
消息重排时,会自动重新编号。
要重排Sequence框图中的消息(选择箭头而不是文本):
1.选择要移动的消息(选择箭头而不是文本)。
2.将消息拖放到所要位置。
消息重排时,会自动重新编号。
Sequence框图中的消息编号
尽管从上往下阅读消息,但也可以对每个消息编号,显示消息顺序,如图5.8。
消息编号在Interation框图中是可选的。
Sequence框图默认关闭编号。
要打开或关掉消息编号:
1.选择Tools>Options。
2.选择Diagram标签。
3.复选或取消Sequence框,如图5.9。
浏览Sequence框图中的控制焦点
在Sequence框图中,可以显示控制焦点。
控制焦点是个小矩形,如图5.10,可以知道某个时间具有控制权的对象。
这是Sequence框图与Collaboration框图的差别之一,控制焦点只在Sequence框图中显示。
要开/关控制焦点:
1.选择Tools>Options。
2.选择Diagram标签。
3.复选或取消FocusofCandle框,如图5.11。
将消息加进Collaboration框图
将消息加进Collaboration框图之前,要先建立对象之间的通信路径,称为链接,用ObjectLink工具栏按钮创建。
增加链接后,可以在对象之间加上消息。
。
要将消息加进Collaboration框图:
1.选择ObjectLink工具栏按钮。
2.从一个对象拖动到另一对象,创建链接。
3.选择LinkMessage或ReverseLinkMessage工具栏按钮。
4.单击两个对象间的链接。
Rose画出消息箭头,如图5.12。
5.在新消息选择时,输入消息文本。
要将反身消息加进Collaboration框图:
1.选择LinktoSelf工具栏按钮。
2.单击收发消息的对象。
Rose画一个反身链接。
在对象上方,显示为半圆。
3.选择LinkMessage工具栏按钮。
4.单击对象反身链接。
Rose增加消息箭头,如图5.13。
5.在选中新消息时,输人消息文本。
说明:
如果对Collaboration框图中的对象增加多个反身消息,则对其余消息跳过第一步和第二步。
从Collaboration框围中删除消息
和Sequence框图一样,可以从Collaboration框图中删除消息。
删除消息时,Rose自动将其余消息重新编号。
要从Collaboration框图中删除消息:
1.选择要删除的消息。
2.选择Edit>DeleteFromModel或按Ctr+D。
(或右击Edit>DeleteFromModel)
Collaboration框围中的消息编号
Sequence框图中,用户总是从上往下阅读框图,消息编号并不需要。
而Collaboration框图中如果消息不编号,则没有顺序信息。
在Rose中可以关掉Collaboration框图中的消息编号。
要打开或关掉消息编号:
1.选择ToolsOptions。
2.选择Diagram标签。
。
3.复选或关闭Collaboration和Sequence框。
将数据流加进Collaboration框图
前面曾介绍过,Collaboration框图与Sequence框图的一个差别是使用控制焦点,另一个差别是使用数据流。
Collaboration框图显示数据流,而Sequence框图不显示。
数据流显示一个对象向另一对象发出消息时返回的信息。
一般来说,不要对Collaboration框图中的每个消息加上数据流,否则框图中会堆满价值不大的信息。
如果消息只是返回“OK,消息收到,一切顺利进行”或“Oops!
运行请求功能出错”,则不值得在框图中显示。
假设消息是公司的一列员工名单,则很重要,必须在框图中显示。
最终将每个消息映射类操作时,数据流中的消息加进操作细节中。
一般来说,目前不
必花太多时间考虑数据流。
如果数据流很重要,对开发人员有帮助,则将其加进框图中,否则不要加进。
要将数据流加进Collaboration框图:
1.选择DataToken或ReverseDataToken工具栏按钮。
2.单击返回数据的消息。
Rose自动在框图中加上数据流箭头,如图5.14。
3.选择新数据流后,输人要返回的数据。
设置消息规范
在Rose中,可以设置多个不同选项,在每个消息中增加细节。
和使用案例与角色一样,可以在消息中增加名称和文档。
也可以设置同步和频率选项。
本节要介绍消息中可以设置的每个选项。
要打开消息规范:
双击框图中的消息,出现规范窗口,如图5.15。
或
1.选择框图中的消息。
2.选择Browse>Specification或按Ctrl+B。
命名消息
在消息规范窗口中,可以命名消息或改变名称、增加文档。
每个消息用一个名称表示其用途。
后面映射每个消息到操作时,消息名换成操作名。
要命名消息:
l.双击Sequence框图或Collaboration框图中的消息。
2.如果已经将接收对象映射为类,则这个类的操作出现在Name下拉列表框中。
选择表中项目或输人消息名。
或
1.选择Sequence框图或Collaboration框图中的消息。
2.输人消息名。
说明:
如果已经将接收对象映射为类,则接收类的名称出现在消息名旁边的Class字段中。
这个字段不能修改。
要改变接收类,在对象规范窗口中将对象映射到另一个类。
要将文档加进消息中:
1.双击消息打开消息规范窗口。
2.在Documentation区,输人消息说明。
例如,可以输人一些伪代码;。
描述消息的作用。
或
1.选择Sequence框图或Collaboration框图中的消息。
2.在Documentation窗口中输人说明。
将消息映射操作
生成代码之前。
应将Sequence框图和Collaboration框图中的每个消息映射为类的操作。
本例中:
消息“RquestSomeFunctionality”映射Supplier类的操作。
要将消息映射现有操作:
1.确保接收对象(供应者)映射一个类。
2.右单击Sequence框图和Collaboration框图中的消息。
3.出现一列供应者操作。
4.选择表中的操作,如图5.16。
要删除消息的操作映射:
1.双击Sequence框图和Collaboration框图中的消息。
2.在Name字段中删除操作名并输人新的消息名。
要对消息创建新操作:
确保接收对象(供应者)映射一个类。
2.右单击Sequence框图和Collaboration框图中的消息。
3.选择
4.输人新操作名和细节。
5.单击OK关闭操作规范窗口,增加新操作。
6.右单击消息。
7.从出现的表中选择新操作。
要保证每个消息映射一个操作:
1.选择Report>ShowUnresolvedMessages。
2.Rose显示所有没有映射操作的消息。
设置消息同步选项
在消息规范窗口的Detail标签中(如图5.17),可以设置消息同步选项。
将同步性设置为阻止、超时或异步时,框图上的箭头会发生变化。
设置消息频率
消息频率可以让消息按规定间隔发送。
假设消息每30秒发一次。
则可以将消息设置为定期消息。
频率选项在消息规范窗口Detail标签中,如图5.18。
频率选项有两个:
定期这个选项将消息设置为定期消息。
不定期这个选项将消息设置为不定期消息,只发送一次,或在不规则时间发送。
说明:
消息频率不改变Sequence框图或Collaboration框图的样子。
要设置消息频率:
1.双击Sequence或Collaboration框图中的消息。
2.在消息规范窗口中选择Detail标签。
3.从窗口单选钮中选择所要频率选项。
生命线结束
具体地说,可以将对象放在实例化的点上,可以增加删除标志,表示对象何时删除。
下面先看看生命线的开始。
随着情形的继续,要创建和删除对象。
在Rose200lA与2002中,可以垂直移动对象,表示其生成位置。
还可以表示对象何时从内存中删除。
这在优化设计时特别有用,因为这样可以迅速看到特定情形中何时“清理”内存。
删除标志表示生命线结束,在生命线上显示“X”字样,生命线到此为止:
要增加生命线:
1.从工具栏中选择DestructionMarker图标。
2.单击对象生命线,表示对象从内存中删除的位置。
在Sequence框图和Collaboration框图间切换
通常要对特定情形创建Sequence框图或Collaboration框图。
如果没有Rose之类的模型工具,则同时创建两种特别费时间,而两者又保存同样的信息。
但在Rose中,从Collaboration图创建Sequence框图,或从Sequence框图创建Collaboration框图非常容易。
一旦有了情形的Sequence框图和Collaboration框图后,很容易在其间切换。
要从Sequence框图创建Collaboration框图:
1.打开Sequence框图。
2.选择Browse>CreateCollaboration框图或按F5。
3.Rose创建与打开的Sequence框图同名的Collaboration框图。
要从Collaboration框图创建Sequence框图:
1.打开Collaboration框图。
2.选择Browse>Createsequence框图或按F5。
3.Rose创建与打开的Collaboration框图同名的Sequence框图。
要在Sequence框图和Collaboration框图间切换;
1.打开Sequence框图或Collaboration框图。
2.选择Browse>Goto(SequenceorCollaboration)Diagram或按F5。
3.Rose寻找与打开的框图同名的Sequence框图或Collaboration框图。
六、实验要求
1、根据实验题目要求,能够确定顺序图中的对象,消息,生命线,控制焦点以及消息传递的时间顺序等,并绘制出顺序图。
2、能够确定协作图中的对象,链,以及消息等,并绘制出协作图。
3、能够将顺序图和协作图进行互相转换。
七、实验报告内容及要求
1、实验报告内容
(1)写出实验题目和实验目的等
(2)明确实验目的的同时,根据自身情况进行案例设计
(3)完成实验总结,能够绘制出符合要求的交互图。
2、实验报告要求
(1)根据上述要求,提交上机报告,按上机报告的撰写规范完成实验报告
(2)报告不得相互抄
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 交互 上机 实践