为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

[复习]图书馆管理系统顺序图设计

2017-12-09 11页 doc 84KB 68阅读

用户头像

is_358746

暂无简介

举报
[复习]图书馆管理系统顺序图设计[复习]图书馆管理系统顺序图设计 实训五 图书馆管理系统顺序图设计 一、目的与要求 1(绘制图书馆管理系统的顺序图; 2(掌握确定系统顺序图的方法; 3. 掌握使用Rational Rose 2003绘制顺序图; 二、实训环境 Rational Rose 2003英文版。 三、内容和步骤 (一)概述 顺序图描述了对象之间传送消息的时间顺序,它用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。 顺序图包含了4个元素,分别是对象(Object)、生命线...
[复习]图书馆管理系统顺序图设计
[复习]图书馆管理系统顺序图设计 实训五 图书馆管理系统顺序图设计 一、目的与要求 1(绘制图书馆管理系统的顺序图; 2(掌握确定系统顺序图的方法; 3. 掌握使用Rational Rose 2003绘制顺序图; 二、实训环境 Rational Rose 2003英文版。 三、内容和步骤 (一)概述 顺序图描述了对象之间传送消息的时间顺序,它用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。 顺序图包含了4个元素,分别是对象(Object)、生命线(Lifeline)、消息(Message)和激活(Activation)。 在UML中,顺序图将交互关系表示为二维图。其中,纵轴是时间轴,时间沿竖线向下延伸。横轴代表了在协作中各个独立的对象。当对象存在时,生命线用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。 如图5-1所示,显示的是汽车租凭系统中客户取车的顺序图。顺序图涉及了5个对象:Customer(客户)、CommonWorker(工作人员)、RequestOrder(预订请求)、WorkRecord(工作记录)和Car(汽车)。取车的动作从客户向工作人员提出取车要求并出示清单开始,工作人员检查客户的预订申请,确认后客户可以付款。工作人员填写工作记录,同时登记汽车的状态,最后客户取车。 the Customer:CustomertheRequestOrder:RetheCommonWorker:CotheWorkRecord:theCar:CarquestOrdermmonWorkerWorkRecord1: show_notice() 2: check() 3: ok 4: pay()5: fillWorkRecord() 6: update_carstatus() (二)顺序图的组成 1、对象 生命线(Lifeline)是一条垂直的虚线,表示顺序图中的对象在一段时间内的存在。每个对象的底部中心的位置都带有生命线。生命线是一个时间线,从顺序图的顶部一直延伸到底部,所用的时间取决于交互持续的时间。对象与生命线结合在一起称为对象的生命线,对象的生命线包含矩形的对象图标以及图标下面的生命线。 2、消息 消息(Message)定义的是对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤销。消息序列可以用两种图来表示:顺序图和协作图。其中,顺序图强调消息的时间顺序,而协作图强调交换消息的对象间的关系。 消息是两个对象之间的单路通信,从发送方到接收方的控制信息流。消息可以用于在对象间传递参数。消息可以是信号,即明确的、命名的、对象间的异步通信;也可以是调用,即具有返回控制机制的操作的同步调用。 在UML中,消息使用箭头来表示,箭头的类型表示了消息类型,表 5-1所示列出了Rose的顺序图中常用的消息符号。 符号 含义 符号 含义 绘制两个对象之间的异步消息 显示过程调用返回的消息 在两个对象之间绘制消息 绘制两个对象之间的过程调用 绘制反身消息 the Customer:CustomertheRequestOrder:RetheCommonWorker:CotheWorkRecord:theCar:Car消息箭头所指的一方是接收方。 questOrdermmonWorkerWorkRecord1: show_notice()3、激活 2: check()顺序图可以描述对象的激活(Activation)和去激活(Deactivation)。激活表示该对象被3: ok占用以完成某个任务,去激活指的是对象处于空闲状态,在等待消息。在UML中,为了表示对象是激活的,可以将对象的生命线拓宽成为矩形,如图5-2所示。其中矩形称为激活条或控制期,对象就是在激活条的顶部被激活的。对象在完成自己的工作后被去激活,这通常4: pay()5: fillWorkRecord() 发生在一个消息箭头离开对象生命线的时候。 6: update_carstatus() (三)对象的创建和撤销 在前面介绍对象的时候,提到顺序图中对象的默认位置是在图的顶部,如果对象在这个位置上,说明对象在交互开始之前已经存在了。如果对象是在交互的过程中创建的,那么应当位于图的中间部分。如图5-3和图5-4所示显示的是在交互过程中创建对象的两种方法。 :Event 1: Performance(event):Performance 2: return :Event :Performance 1: Performance(event) 2: return 如果要撤销一个对象,只要在其生命线终止点放置一个“X”符号即可,该点通常是对删除或取消消息的回应,如图5-5所示。 :Event:Performance 1: delete() 2: return void (四)顺序图建模 一般情况下,会有很多的顺序图,其中一些是主要的,另一些用来描述可选择的路径或例外条件,可以使用包来组织这些顺序图的集合,并给每个图起一个合适的名字,以便与 其他图相区别。 按时间顺序对控制流建模,要遵循如下策略。 (1) 设置交互的语境,这些语境可以是系统、子系统、操作、类、用例或协作的脚 本。 (2) 通过识别对象在交互中扮演的角色,设置交互的场景。以从左到右的顺序将对 象放到顺序图的上方,其中较重要的放在左边,与它们相邻的对象放在右边。 (3) 为每个对象设置生命线。通常情况下,对象存在于整个交互过程中。对于那些 在交互期间创建和撤销的对象,在适当的时刻设置它们的生命线,并用适当的 构造型消息显式地说明它们的创建和撤销。 (4) 从引发某个消息的信息开始,在生命线之间画出从顶到底依次展开的消息,显 示每个消息的特性(如参数)。若有需要,解释交互的语义。 (5) 如果需要可视化消息的嵌套或实际计算发生时的时间点,可以用激活修饰每个 对象的生命期。 (6) 如果需要说明时间或空间的约束,可以用时间标记修饰每个消息,并附上合适 的时间和空间约束。 (7) 如果需要形式化地说明某控制流,可以为每个消息附上前置和后置条件。 一个单独的顺序图只能显示一个控制流,通常说来,一个完整的控制流肯定是复杂的,所以,将一个大的流分为几个部分放在不同的图中是比较合适的。 (五)图书馆管理系统的顺序图 1、使用Rose绘制时序图的步骤 (1)创建顺序图 要创建顺序图,可以在“User Case View”的图标上单击鼠标右键,在弹出的菜单中选 择【New->Sequence Diagram】,就创建了顺序图,然后右击“New Diagram”,右键单击顺序 图的图标,在弹出的菜单中选择【Rename】,可以更改创建的顺序图的名字。 建立顺序图以后,双击顺序图的图标,将出现顺序图的绘制区域。 (2)顺序图工具栏按钮简介 图标 按钮名称 作用 选择一项 Selection Tool 添加文本框 Text Box 添加注释 Note 将图中的元素与注释相连 Anchor Note to Item 添加对象 Object 在两个对象间增加消息 Object Message 添加反身消息 Message to Self 返回消息 Return Message 生命线的中止符 Destruction Marker (3)添加对象 顺序图与对象密不可分,要绘制顺序图,首先要添加对象。 1) 向顺序图增加对象。要将对象添加到顺序图,首先点击工具栏中的图标按钮 ,然后在绘制区域要放置对象的位置单击鼠标左键。 2) 设置对象属性。新创建的对象需要一个有意义的对象名字,可以修改对象的属 性信息,如名字“Name”和文档说明“Documentation”等。要修改对象属性, 可以双击相应的动作图标,在弹出的对话框“General”选项卡里修改,如图 5-6所示。 3) 设置对象持续性。可以设置每个对象的持续性,Rose中提供了3个选项。“持 续(Persistent)”对象保存到数据库或其他形式的永久存储体中,即使程序终止, 对象依然存在。“静态(Static)”对象保存在内存中直到程序终止。“临时 (transient)”对象只是在短时间内保存在内存中。要设置对象持续性,右键单 击要设置持续性的对象,从弹出菜单中选择“Open Specification”。在出现的对 话框“General”选项卡中的“Persistence”字段中选择相应的单选钮“Persistent”、 “Static”和“Transient”,如图5-7所示。 (4)添加消息 消息是对象间的通信,一个对象可以请求另一个对象做某件事。在顺序图中,消息用 两个对象生命线之间的箭头表示。 1) 增加对象间接消息,首先点击工具栏中的图标按钮,然后将鼠标从发送消 息的对象或角色的生命线手拖动到接收消息的对象或角色的生命线。消息绘制 出来 以后,还要输入消息文本。双击表示消息的箭头,在弹出的对话框的 “Name”字段里输入要添加的文本。 2) 显示或取消消息编号。消息编号在顺序图中是可选的,可以打开或关闭消息编 号。要打开消息编号,选择菜单的【Tools->Options】菜单项,在出现的对话 框中选择“Diagram”选项卡,如图5-8所示。将“Sequence numbering”复 选框勾选,就可以显示消息编号;如果不勾选,消息编号不会显示在顺序图中。 3) 显示或取消激活显示。在顺序图中,可以显示激活,也可以不显示。要显示激 活,选择菜单的【Tools->Options】菜单项,在出现的对话框中选择“Diagram” 选项卡,如图5-8所示。将“Focus of control”复选框勾选,就可以显示激 活。如果不勾选,激活不会显示在顺序图中。 2、图书馆管理系统中的顺序图 在图书馆管理系统中,每个用例都可以建立一个顺序图,将用例执行中各个参与的对 象之间的消息传递过程表现出来。下面只介绍几个重要的顺序图。 (1)系统管理员添加书籍顺序图 :Maintenance :Title:Item : AdministratorWindow 1: add item() 2: find(String) 3: return true 4: create(Integer,Title) 说明: ?add Item():添加书籍函数。 find(String):根据书籍查找相应书目的函数。 ? ?create(integer, Title):修改书籍数目的函数。 (2)图书管理员处理书籍借阅的顺序图(不包括预订书籍的情况) :Lend :Title:Borrower:LoanItem : LibrarianWindow 1: find title()2: find(String) 3: find Item()4: find on title(title)5: identify borrower() 6: find(String) 7: create(Borrower,Item) 说明: ?find(String):查找书目的函数。 ?find_item():查找所要书籍的函数。 ?find_on_title(Title):根据书目名从数据库中找到书目信息的函数。 ?identify_borrower():验证借阅者身份的函数。 ?find(String):根据借阅者的登录账号找到借阅者信息的函数。 create(Borrower, item):修改借阅信息的函数了。 ? (3)系统管理员删除书目的顺序图 :Maintenance :Title:Item : LibrarianWindow 1: remove item() 2: find(String) 3: find on title(Title) 4: destroy() 5: destroy() 说明: ?find(String):书目类的查找函数。 ?find_on_title(Title):查找此书目下书籍信息的函数。 ?destroy():删除书籍信息的函数。 ?destroy():删除书目信息的函数。 (4)借阅者预订书籍的顺序图 :Web theTitle:TitletheBorrower : ApplicationBorrower1: Login 2: find(String) 3: Return true 4: reserve 说明: ?Login:登录系统的函数。 ?find(String):查找相应书目的函数。 ?reserve():预订书籍的函数。 (六)实训内容 对图书馆管理系统的每个用例至少完成一个主要的顺序图。 四、思考题 【题1】简述顺序图的组成部分以及各部分的表示方法。 【题2】在顺序图中,如何创建和撤销一个对象。
/
本文档为【[复习]图书馆管理系统顺序图设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索