引用于 http://blog.csdn.net/chenyujing1234

欢迎大家拍砖

一、

1. 序列图的定义

在UML的表示中,序列图将交互关系表示为一个二维图。其中,纵向是时间轴,时间沿竖线向下延伸。横向代表了在协作中各独立对象的角色。角色使用生命线进行表示,当对象存在时,生命线用一条虚线表示,此时对象不处于激活状态,当对象的过程处于激活状态时,生命线是一个双道线。序列图中的消息使用从一个对象的生命线到另一个对象生命线的箭头表示,箭头以时间顺序在图中从上到下排列。

2. 序列图在项目开发里的作用

序列图作为一种描述在给定语境中消息是如何在对象间传递的图形化方式,在使用其进行建模时,主要可以将其用途分为以下三个方面:

(1)确认和丰富一个使用语境的逻辑表达。一个系统的使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。一个使用情境的逻辑可能是一个用例的一部分,或是一条控制流。

(2)细化用例的表达。我们前面已经提到,序列图的主要用途之一,就是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。

(3)有效地描述如何分配各个类的职责以及各类具有相应职责的原因。我们可以根据对象之间的交互关系来定义类的职责,各个类之间的交互关系构成一个特定的用例。例如,“Customer对象向Address对象请求其街道名称”指出Customer对象应该具有“知道其街道名”这个职责。

二、序列图的组成

1. 对象

•序列图中的对象可以是系统的参与者或者任何有效的系统对象。对象的表示形式也和对象图中的对象的表示方式一样,使用包围名称的矩形框来标记,所显示的对象及其类的名称带有下划线,二者用冒号隔开,使用“对象名:类名”的形式,对象的下部有一条被成为“生命线”的垂直虚线。

2. 生命线

生命线(Lifeline)是一条垂直的虚线,用来表示序列图中的对象在一段时间内的存在。
每个对象的底部中心的位置都带有生命线。生命线是一个时间线,从序列图的顶部一直延伸到底部,所用时间取决于交互持续的时间,也就是说生命线表现了对象存在的时段。
对象与生命线结合在一起称为对象的生命线。对象的对象存在的时段包括对象在拥有控制线程时或被动对象在控制线程通过时存在。当对象在拥有控制线程时,对象被激活,作为线程的根。

3. 激活

序列图可以描述对象的激活(Activation),激活是对象操作的执行,它表示一个对象直接地或通过从属操作完成操作的过程。它对执行的持续时间和执行与其调用者之间的控制关系进行建模。
激活在序列图中用一个细长的矩形框表示,它的顶端与激活时间对齐而底端与完成时间对齐。被执行的操作根椐不同风格表示成一个附在激活符号旁或在左边空白处的文字标号。

4. 消息

消息(Messages)是从一个对象(发送者)向另一个或几个其他对象(接收者)发送信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作。
它可以有不同的实现方式,比如过程调用、活动线程间的内部通讯、事件的发生等。

三、序列图中的项目相关概念

1. 创建与销毁对象

创建一个对象指的是发送者发送一个实例化消息后实例化对象的结果。
销毁对象指的是将对象销毁并回收其拥有的资源,它通常是一个明确的动作,也可以是其它动作、约束或垃圾回收机制的结果。
在序列图中,创建对象操作的执行使用消息的箭头表示,箭头指向被创建对象的框。
在序列图中,对象被销毁是使用在对象的生命线上画大×表示,在销毁新创建的对象,或者序列图中的任何其他对象时,都可以使用。它的位置是在导致对象被销毁的信息上,或者在对象自我终结的地方。

2. 分支与从属流

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

四、使用Rose创建序列图

1. 创建对象

创建一个新的类图,可以通过以下方式进行。

(1)右键单击浏览器中的Use Case View(用例视图)、Logical View(逻辑视图)或者位于这两种视图下的包。

(2)在弹出的菜单中,选中“New”(新建)下的“Sequence Diagram”(序列图)选项。

(3)输入新的序列名称。

(4)双击打开浏览器中的序列图。

2. 创建生命线

当对象被创建后,生命线便存在。当对象被激活后,生命线的一部分虚线变成细长的矩形框。
在Rational Rose 2003中,是否将虚线变成矩形框是可选的,我们可以通过菜单栏设置是否显示对象生命线被激活时的矩形框。
设置是否显示对象生命线被激活的矩形框步骤为:在菜单栏中选择“Tools”(工具)下的“Options”(选项)选项,在弹出的对话框中选择“Diagram”(图)选项卡,选择或取消“Focus of control”选项。

3. 创建消息

在序列图中添加对象与对象之间的简单消息的步骤如下:

(1)选择序列图的图形编辑工具栏中的图标,或者选择菜单栏“Tools”(工具)中“Create”(新建)下的“Object Message”选项,此时的光标变为“↑”符号。

(2)单击需要发送消息的对象。

(3)将消息的线段拖动到接收消息的对象中。

(4)在线段中输入消息的文本内容。

(5)双击消息的线段,弹出设置消息规范的对话框,在弹出的对话框中,在“General”选项卡中可以设置消息的名称或等,消息的名称也可以是消息接收对象的一个执行操作,我们在名称的下列菜单中选择一个或从新创建一个即可,我们称之为消息的绑定操作。

(6)如果需要设置消息的同步信息,也就是说设置消息成为简单消息、同步消息、异步消息、返回消息、过程调用、阻止消息和超时消息等,可以在“Detail”选项卡中进行设置,还可以设置以消息的频率。

4. 创建对象与销毁对象

由于创建对象操作也是消息的一种,我们仍然可以通过发送消息的方式创建对象。在序列图的图形表示中,和其它对象不一样的是,其它对象通常唯一图的顶部,被创建的对象通常位于图的中间部位

销毁对象表示对象生命线的结束,在对象生命线中使用一个“X”来进行标识。给对象生命线中添加销毁标记的步骤如下:

(1)在序列图的图形编辑工具栏中选择   按钮,此时的光标变为“+”符号。

(2)单击欲销毁对象的生命线,此时该标记在对象生命线中标识。该对象生命线自销毁标记以下的部分消失。

五、使用Rose创建序列图案例分析

1. 需求分析

我们可以通过更加具体的描述来确定工作流程,基本工作流程如下:

(1)李老师希望通过系统查询某名学生的学科成绩。

(2)李老师通过用户界面录入学生的学号以及学科科目请求学生信息。

(3)用户界面根据学生的学号向数据库访问层请求学生信息。

(4)数据库访问层根据学生的学号加载学生信息。

(5)数据库访问层根据学生信息和学科科目获取该名学生的分数信息。

(6)数据库访问层将学生信息和分数信息提供给用户界面。

(7)用户界面将学生信息和分数信息显示出来。

2. 确定序列对象

建模序列图的下一步是从左到右布置在该工作流程中所有的参与者和对象,同时也包含要添加消息的对象生命线。

3. 创建序列图

以“远程网络教学系统”为例,在该系统中,系统管理员需要登录系统才能进行系统维护工作,如添加教师信息、删除教师信息等。根据系统管理员添加教师信息用例,创建相关序列图。

rose画图实践---BBS申请版主

参考文章:http://blog.csdn.net/lsh6688/article/details/5946758

最近一直在一个论坛上发帖,感觉很有意思,经过一番的努力,我申请当了这个论坛的英语部落的版主,

自己感觉是一件非常好的事情,能和大家在论坛上交流英语,虽然不多,但是做为版主,

每天都要发一些新的内容。

还要看懂别人的发帖,对帖子进行处理,评价帖子。这样也能提高自己的英语水平。
正好学习了rose ,我就用rose来画出论坛申请版主模块的时序图,和协作图。
 论坛名称:木蚂蚁
时序图:

协作图:

Rational Rose时序图组成与对象的生命线设置相关推荐

  1. Uml 与 Rational Rose( 类图 )

    Uml 与 Rational Rose( 类图 ) 分类: UML  2005-12-04 16:09 类之间的关系可以分为四种: 关联关系( Association ) 依赖关系( Dependan ...

  2. rational rose 绘制时序图

    rational rose 绘制时序图 动态图概念 : 从静态图中抽取瞬间值的变化描述系统随时间变化的行为, 动态图包括交互图活动图状态图, 这篇博客研究交互图 包括时序图和协作图; -- 时序图 : ...

  3. 【UML 建模】UML入门 之 交互图 -- 时序图 协作图详解

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/17927131 . 动态图概念 : 从静态图中抽取瞬间值 ...

  4. UML建模之交互图——时序图、协作图

    UML建模之交互图--时序图.协作图 一. 时序图 (Sequence Diagram) 1.时序图的概念 2. 时序图组成 二. 协作图 (Collaboration Diagram) 动态图概念 ...

  5. UML交互图 -- 时序图 协作图详解

    作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/17927131 . 动态图概念 : 从静态图中抽取瞬间值的变 ...

  6. 【转】UML之时序图详解

    作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/17927131 动态图概念 : 从静态图中抽取瞬间值的变化描 ...

  7. UML总结(对九种图的认识和如何使用Rational Rose 画图)

    UML是一种建模语言,是系统建模的标准.我们之所以建模是因为大规模的系统设计时相当复杂的,当系统比较复杂时就会涉及到以下这几个问题: 开发人员如何与用户进行沟通来了解系统的需求? 开发人员之间如何沟通 ...

  8. UML 时序图与协作图

    今天小编终于把所有的图都画完啦,在建好系统用例图以及类图基础上分析和设计系统的动态图(结构行为图)并且建立相应的动态模型. 动态模型:描述了系统随时间变化的行为,这些行为是用从静态视图中抽取的系统的瞬 ...

  9. [UML]UML系列——时序图(顺序图)sequence diagram

    原文:[UML]UML系列--时序图(顺序图)sequence diagram 系列文章 [UML]UML系列--用例图Use Case [UML]UML系列--用例图中的各种关系(include.e ...

最新文章

  1. PyObject_CallMethod
  2. python3.3中print换行
  3. 【控制】《鲁棒控制-线性矩阵不等式处理方法》-俞立老师-第5章-不确定系统的分析与综合
  4. 双重ScrollView,RecyclerView联动实例
  5. oracle逻辑备份和物理备份,oracle数据库物理备份和逻辑备份区别
  6. backlight misc驱动范例 及应用程序范例
  7. [转] Agile Software Development 敏捷软件开发
  8. illegal text-relocation
  9. BZOJ 1492 货币兑换Cash
  10. matlab虚拟现实之在V-Realm Builder2中建立父子关系
  11. python怎么读取txt文件-python怎么读取txt文件内容
  12. 《linux核心应用命令速查》连载七:bg:后台运行命令
  13. 【图像隐写】基于matlab LSB算法图像隐写提取【含Matlab源码 366期】
  14. 计算机科学导论第四版ppt,计算机科学导论课件.ppt
  15. nexus3 测试操作
  16. 2021全网影视APP搭建教程全套完整版
  17. 计算机视觉文献综述选题,综述论文2021-计算机视觉十大领域最新综述文章分类大盘点...
  18. 手绘几何图形识别(下)
  19. 转载-GNS3安装和使用教程(超详细)
  20. tesseract的使用

热门文章

  1. 京东售后服务认证考试
  2. smb协议只能在同一网段吗_跨网段使用SMB共享服务
  3. Android的虹软人脸识别和活体检测(附含10000个人脸图片和特征zip下载)
  4. Eclipse突然崩溃或电脑突然断电后,代码丢失找回
  5. linux 网络逻辑闪断测试脚本
  6. make patsubst
  7. 用u盘刻录装服务器系统盘,win7电脑如何刻录系统盘,win7电脑刻录系统盘操作方法...
  8. 简述servlet生命周期
  9. unity如何解决协程开启频繁导致的程序卡顿
  10. oracle中转服务器搭建,云服务器搭建环境小计—安装oracle数据库