UML面向对象分析与设计教程 教学课件 ppt 作者 978-7-302-28541-0 第7章 序列图

上传人:E**** 文档编号:89364067 上传时间:2019-05-24 格式:PPT 页数:19 大小:267.50KB
返回 下载 相关 举报
UML面向对象分析与设计教程 教学课件 ppt 作者  978-7-302-28541-0 第7章 序列图_第1页
第1页 / 共19页
UML面向对象分析与设计教程 教学课件 ppt 作者  978-7-302-28541-0 第7章 序列图_第2页
第2页 / 共19页
UML面向对象分析与设计教程 教学课件 ppt 作者  978-7-302-28541-0 第7章 序列图_第3页
第3页 / 共19页
UML面向对象分析与设计教程 教学课件 ppt 作者  978-7-302-28541-0 第7章 序列图_第4页
第4页 / 共19页
UML面向对象分析与设计教程 教学课件 ppt 作者  978-7-302-28541-0 第7章 序列图_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《UML面向对象分析与设计教程 教学课件 ppt 作者 978-7-302-28541-0 第7章 序列图》由会员分享,可在线阅读,更多相关《UML面向对象分析与设计教程 教学课件 ppt 作者 978-7-302-28541-0 第7章 序列图(19页珍藏版)》请在金锄头文库上搜索。

1、第7章 序列图,学习内容,序列图的基本概念 序列图的组成 序列图中的项目相关概念 创建序列图 创建序列图案例分析,序列图的基本概念,1. 序列图的定义 在UML的表示中,序列图将交互关系表示为一个二维图。其中,纵向是时间轴,时间沿竖线向下延伸。横向代表了在协作中各独立对象的角色。角色使用生命线进行表示,当对象存在时,生命线用一条虚线表示,此时对象不处于激活状态,当对象的过程处于激活状态时,生命线是一个双道线。 序列图中的消息使用从一个对象的生命线到另一个对象生命线的箭头表示,箭头以时间顺序在图中从上到下排列。,序列图的基本概念,2. 序列图在项目开发里的作用 序列图作为一种描述在给定语境中消息

2、是如何在对象间传递的图形化方式,在使用其进行建模时,主要可以将其用途分为以下三个方面: 1. 确认和丰富一个使用语境的逻辑表达。一个系统的使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。一个使用情境的逻辑可能是一个用例的一部分,或是一条控制流。 2. 细化用例的表达。序列图的主要用途之一,就是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。 3. 有效地描述如何分配各个类的职责以及各类具有相应职责的原因。我们可以根据对象之间的交互关系来定义类的职责,各个类之间的交互关系构成一个特定的用例。,序列图的组成,1. 对象 序列图中的对象可

3、以是系统的参与者或者任何有效的系统对象。对象的表示形式也和对象图中的对象的表示方式一样,使用包围名称的矩形框来标记,所显示的对象及其类的名称带有下划线,二者用冒号隔开,使用“对象名 :类名”的形式,对象的下部有一条被成为“生命线”的垂直虚线。,序列图的组成,2. 生命线 生命线(Lifeline)是一条垂直的虚线,用来表示序列图中的对象在一段时间内的存在。 每个对象的底部中心的位置都带有生命线。生命线是一个时间线,从序列图的顶部一直延伸到底部,所用时间取决于交互持续的时间,也就是说生命线表现了对象存在的时段。 对象与生命线结合在一起称为对象的生命线。对象存在的时段包括对象在拥有控制线程时或被动

4、对象在控制线程通过时存在。当对象在拥有控制线程时,对象被激活,作为线程的根。,序列图的组成,3. 激活 序列图可以描述对象的激活(Activation),激活是对象操作的执行,它表示一个对象直接地或通过从属操作完成操作的过程。它对执行的持续时间和执行与其调用者之间的控制关系进行建模。 激活在序列图中用一个细长的矩形框表示,它的顶端与激活时间对齐而底端与完成时间对齐。被执行的操作根椐不同风格表示成一个附在激活符号旁或在左边空白处的文字标号。,序列图的组成,4. 消息 消息(Messages)是从一个对象(发送者)向另一个或几个其他对象(接收者)发送信号,或由一个对象(发送者或调用者)调用另一个对

5、象(接收者)的操作。 它可以有不同的实现方式,比如过程调用、活动线程间的内部通讯、事件的发生等。,序列图中的项目相关概念,1. 创建与销毁对象 创建一个对象指的是发送者发送一个实例化消息后实例化对象的结果。 销毁对象指的是将对象销毁并回收其拥有的资源,它通常是一个明确的动作,也可以是其它动作、约束或垃圾回收机制的结果。 在序列图中,创建对象操作的执行使用消息的箭头表示,箭头指向被创建对象的框。 在序列图中,对象被销毁是使用在对象的生命线上画大表示,在销毁新创建的对象,或者序列图中的任何其他对象时,都可以使用。它的位置是在导致对象被销毁的信息上,或者在对象自我终结的地方。,序列图中的项目相关概念

6、,2. 分支与从属流 在UML中,存在两种方式可以来修改序列图中消息的控制流,分别是:分支和从属流。 分支是指的是从同一点发出多个消息的并指向不同的对象,根据条件是否互斥,可以有条件和并行两种结构。由于序列图只表示某一个活动按照时间顺序的经历过程,所以在Rational Rose 2003中,对序列图的分支画法没有明显的支持。 从属流指的是从同一点发出多个消息指向同一个对象的不同生命线。从属流在Rational Rose 2003中不支持,因为添加从属流以后会明显增加序列图的复杂度。,创建序列图,1. 创建对象 创建一个新的类图,可以通过以下方式进行。 . 右键单击浏览器中的Use Case

7、View(用例视图)、Logical View(逻辑视图)或者位于这两种视图下的包。 . 在弹出的菜单中,选中“New”(新建)下的“Sequence Diagram”(序列图)选项。 . 输入新的序列名称。 . 双击打开浏览器中的序列图。,创建序列图,2. 创建生命线 当对象被创建后,生命线便存在。当对象被激活后,生命线的一部分虚线变成细长的矩形框。 在Rational Rose 2003中,是否将虚线变成矩形框是可选的,我们可以通过菜单栏设置是否显示对象生命线被激活时的矩形框。 设置是否显示对象生命线被激活的矩形框步骤为:在菜单栏中选择“Tools”(工具)下的“Options”(选项)选

8、项,在弹出的对话框中选择“Diagram”(图)选项卡,选择或取消“Focus of control”选项。,创建序列图,3. 创建消息 在序列图中添加对象与对象之间的简单消息的步骤如下: 1. 选择序列图的图形编辑工具栏中的图标,或者选择菜单栏“Tools”(工具)中“Create”(新建)下的“Object Message”选项,此时的光标变为“”符号。 2. 单击需要发送消息的对象。 3. 将消息的线段拖动到接收消息的对象中。 4. 在线段中输入消息的文本内容。 5. 双击消息的线段,弹出设置消息规范的对话框,在弹出的对话框中,在“General”选项卡中可以设置消息的名称等属性,消息的

9、名称也可以是消息接收对象的一个执行操作,我们在名称的下列菜单中选择一个或从新创建一个即可,我们称之为消息的绑定操作。 6. 如果需要设置消息的同步信息,也就是说设置消息成为简单消息、同步消息、异步消息、返回消息、过程调用、阻止消息和超时消息等,可以在“Detail”选项卡中进行设置,还可以设置以消息的频率。,创建序列图,4. 创建对象与销毁对象 由于创建对象操作也是消息的一种,我们仍然可以通过发送消息的方式创建对象。在序列图的图形表示中,和其它对象不一样的是,其它对象通常位于图的顶部,被创建的对象通常位于图的中间部位。,创建序列图,销毁对象表示对象生命线的结束,在对象生命线中使用一个“X”来进

10、行标识。给对象生命线中添加销毁标记的步骤如下: 1. 在序列图的图形编辑工具栏中选择 按钮,此时的光标变为“+”符号。 2. 单击欲销毁对象的生命线,此时该标记在对象生命线中标识。该对象生命线自销毁标记以下的部分消失。,创建序列图案例分析,1. 需求分析 具体描述聊天系统客户端用户添加好友用例的工作流程如下: (1)用户在客户端主界面上单击新增好友按钮,客户端主界面响应单击操作,调用actionPerformed方法,创建新增好友的界面。 (2)用户在新增好友界面上输入待添加好友的编号,此处可以单击查找按钮查找用户信息,也可以单击新增按钮添加好友,此时用户单击新增按钮,调用新增好友界面类中的a

11、ctionPerformed方法响应用户单击操作。 (3)新增好友界面类调用客户端主类中的sendAddFriend方法,准备将要添加的好友信息发往服务器端,此时一方面Client类通过Socket与服务器端的侦听端口建立连接,服务器端Server类创建相应的工作线程对象Worke,Worker类调用receive方法准备接收客户端发送的Message消息对象;另一方面,Client类调用addFriend方法准备发送新增好友消息,最后通过send方法,将准备好的新增好友消息Message对象调用writeObject方法发往服务器端,同时调用receive方法接收来自服务器端工作线程类的返回

12、消息。,创建序列图案例分析,(4)服务器端的工作线程类Work通过receive方法收到客户端发来的新增好友消息对象Message,通过chatProtocol方法解析消息对象,并调用addFriend方法实现新增好友的操作。 (5)服务器端的工作线程类Work在addFriend方法中,调用服务器主类Server的addFriend方法在当前用户的好友列表UserInfo中更新好友的信息。 (6)服务器端主类Server调用saveUserDB方法将好友信息保存到文件中,并将控制权返回给服务器端的工作线程类。 (7)服务器端的工作线程类Work调用sendMessage方法将返回结果消息调用writeObject方法发往客户端,并调用closeConn方法关闭网络连接。 (8)客户端类Client通过recevice方法接收到来自服务器端的返回消息,将其返回到新增好友界面通知用户,并调用closeNet方法关闭网络连接。,创建序列图案例分析,2. 确定序列对象 建模序列图的下一步是从左到右布置在该工作流程中所有的参与者和对象,同时也包含要添加消息的对象生命线。,创建序列图案例分析,3. 创建完整的序列图,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号