您好,欢迎访问三七文档
1.对于上面的这个用例图,我们能不能从用例图了解借书这个用例的具体的操作步骤和流程?2.在详细设计阶段,借书功能需要用MVC模式实现,我们通常用什么方式来描述各个层次之间的调用关系?学习序列图的组成要素Stylishtemplatescanbeavaluableaidtocreativeprofessionals.学习序列图的基本概念Stylishtemplatescanbeavaluableaidtocreativeprofessionals.序列图的基本概念概念序列图(顺序图、时序图)是用于表现一个交互,该交互是一个协作中的各类角色间的一组消息的交换,但重于强调时间顺序。交互(Interaction)是指在具体语境中由为实现某个目标的一组对象之间进行交互的一组消息所构成的行为作用序列图作为一种描述在给定语境中消息是如何在对象间传递的图形化方式,在使用其进行建模时,可以将其用途分为以下3个方面。1确认和丰富一个使用语境的逻辑表达。2细化用例的表达。3有效地描述如何分配各个类的职责以及各类具有相应职责的原因。Stylishtemplatescanbeavaluableaidtocreativeprofessionals.序列图的组成要素对象(Object)生命线(Lifeline)激活(Activation)消息(Messages)对象消息生命线激活期概念序列图中的对象和对象图中的对象的概念一样,都是类的实例。序列图中的对象可以是系统的参与者或者任何有效的系统对象图示图示对象名:类名:类名:对象名匿名对象对象的左右排列位置对象的左右顺序并不重要,但是为了图面的清晰整洁起见,通常应遵循以下两个原则:(1)把交互频繁的对象尽可能地靠拢(2)把初始化整个交互活动的对象(有时是一个参与者)放置在最左边概念生命线(Lifeline)是一条垂直的虚线,用来表示序列图中的对象在一段时间内的存在。图示图示对象生命线×表示对象的撤销概念序列图可以描述对象的激活,激活是对象操作的执行,它表示一个对象直接或通过从属操作完成操作的过程激活期当一个对象没有被激活时,该对象处于休眠状态,什么事都不做,但它仍然存在,等待新的消息来激活它。当一条消息被传递给对象的时候,它会触发该对象的某个行为,这时就说该对象被激活了。当一个对象处于激活期时,表明该对象正在执行某个动作。图示..激活期图示概念消息(Messages)是从一个对象(发送者)向另一个或其他几个对象(接收者)发送信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作对象之间的交互是通过互发消息来实现的。一个对象可以请求(要求)另一个对象做某件事件。消息从源对象指向目标对象。消息一旦发送便将控制从源对象转移到目标对象。图示图示时序图中,消息的阅读顺序是严格自上而下的使用序列图描述进行银行取款业务时,顾客同银行业务员之间的交互过程简单消息(包括反身消息)同步消息异步消息返回消息(可选)同步和异步的实例同步:你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。异步:你叫我去吃饭,叫一声后自己就先去吃饭,我听到后可能立即走,也可能等到有空的时候去吃饭,也可能根本就没听到。结论以后你们请我吃饭的时候就要使用同步模式,我请你们吃饭的时候就用异步的模式,这样我可以省点钱。①调用消息(ProcedureCall)调用消息(也称为同步消息)的发送者把控制传递给接收者,然后停止活动,直到消息接收者放弃或返回控制。调用消息②异步消息(Asynchronous)异步消息的发送者通过消息把信号传递给接收者,然后继续自己活动,不等待接收者返回消息或控制。异步消息③返回消息(Return)返回消息表示从消息接受对象返回信息。返回消息④阻止消息阻止消息指消息发送者发出消息给接收者,如果接收者无法立即接收这个消息,则发送者放弃这个消息。阻止消息⑤超时消息超时消息指消息发送者发出消息给接收者,并按指定时间等待,如果接收者无法在指定时间内接收这个消息,则发送者放弃这个消息。超时消息SourceObjTargetObj1:2:3:4:5:6:7:Simple和Asynchronous(异步)同义Synchronous(同步)和ProcedureCall同义Return不变,新增:阻止(Balking)接受者如果无法立即接收,则发送者放弃消息;超时(Timeout):如果接受者无法在指定时间内接收,则发送者放弃消息。判断下列交互的类型a)我和小明打了一通电话b)我给小明打电话没打通c)我给小明发了一封邮件d)我用QQ和小明聊天e)我让小明回宿舍帮我拿本书,我在楼底下等他f)我把小明上次想找我借给他的书带给他g)编写一个类,调用集合对象Array的get方法,系统提示找不到相关类的错误创建对象创建一个对象指的是发送者发送一个实例化消息后实例化对象的结果销毁对象销毁对象指的是将对象销毁并回收其拥有的资源,它通常是一个明确的动作,也可以是其他动作、约束或垃圾回收机制的结果。图示在UML中存在两种方式可以来修改序列图中消息的控制流,分别是:分支和从属流。分支分支是指从同一点发出的多个消息并指向不同的对象,根据条件是否互斥,可以有条件和并行两种结构。从属流从属流指的是从同一点发出多个消息指向同一个对象的不同生命线。Stylishtemplatescanbeavaluableaidtocreativeprofessionals.序列图构建实例从用例中识别交互过程识别参与交互过程的对象为每一个对象设置生命线,并确定对象的存在期限从引发交互的初始消息开始,在对象生命线上依次画出交互的消息;如果需要,可以给消息增加时间约束,以及前置条件和后置条件用例:借书参与者:管理员,借阅者基本事件流:1.借阅者带着借书证和书来到柜台。2.管员输入借阅者的借书证编码。3.系统检查借阅者的合法性。4.系统显示借阅者的信息。5.系统检查借阅者的借阅信息。6.管员输入所借图书的条码。7.系统显示所借图书的信息,并登记图书。管员重复6~7步,直到结束。8.系统登记借阅者的本次借阅信息,并显示。用例:借书扩展事件流:3a.借阅者身份非法,则提示,本次拒借。5a.该借阅者所借图书中有超期的,则提示,本次拒借。5b.该借阅者所借图书数量超过了上限,则提示,本次拒借。识别交互过程分析事件流,找到事件流中存在哪些对象之间的交互?可见的交互部分借阅者与管理员的交互管理员与系统界面不可见的交互部分系统界面同后台业务处理程序业务处理程序与数据库识别参与交互的对象借阅者、图书管理员系统界面、业务处理程序、数据库对图书管理系统中的还书用例进行细化,使用序列图将还书的交互过程和交互细节展现出来。要求:交互过程完整,逻辑合理、图例使用正确,序列图粒度适中,注意消息类型的区分和消息分支的情况
本文标题:UML序列图详解
链接地址:https://www.777doc.com/doc-7378332 .html