有些鸟儿毕竟是关不住的。
一、实验目的:
1、熟悉协作图的构件事物。
2、掌握协作图的绘制方法。
二、实验环境:
window7 | 10 | 11 + EA15
三、实验内容:
下面列出了打印文件时的工作流:
用户通过计算机指定要打印的文件。(2)打印服务器根据打印时是否空闲,操作打印机打印文件。
如果打印机空闲,则带年纪打印文件。(4)如果打印机忙,则将打印消息存放在队列中等待。
经过分析人员确认,该系统有4个对象:Computer,PrintServer,Printer和Queue。请给出对应于该工作流的协作图。
四、实验步骤:
1. 首先画出参与打印操作的五个对象:User/Computer/PrintServer/Printer/Queue
2. 其次了解该操作的基本流程:
- 用户打开计算机,启动应用程序并选择文件。
- 应用程序向PrintServer发送打印请求。
- PrintServer检测打印机状态,如果空闲则打印,否则放入队列。
- 系统显示打印状态或通知用户文件已加入队列。
3. 最后找出有关的消息流:
(1)用户(Computer) -> 打印服务(PrintServer)
操作:传递文件路径请求("printRequest")
(2)打印服务 -> 打印机(Printer)
条件检查:如果打印机空闲
操作:接收文件并开始打印("printFile")
(3)打印服务 -> 队列(Queue)
如果打印机忙("isBusy()")
操作:添加打印任务到队列
检查是否有对象、消息流的遗漏
五、实验结果:
六、实验心得:
1.要绘制协作图,首先需要了解协作图的基本构件事物:
参与者:参与事件的实体
对象:用长方框形表示
连接:运用实线表示两个对象之间的连接
消息:由标记在连接上方的带有标记的箭头表示。
2.协作图阐述的是对象之间的交互,更有利于我们对于对象之间关系的理解。
3.实验表明了对象间的协作,如用户控制电脑操作,PrintServer负责调度。
4.如果PrintServer能及时响应并优化队列管理,可以提高整体打印效率。