软件工程酒店管理系统时序图协作图

合集下载

软件工程---交互建模之交互图,顺序图与协作图

软件工程---交互建模之交互图,顺序图与协作图

2.5 消息
格式
[前缀][守卫条件][顺序表达式][返回值:=]消息名([参数列表])
例:
2: display ()
简单消息
1.3.1: p:=find()
带返回值的嵌套消息
[x<0] 4: invert(x, color) 条件消息
3.1 *[x = 1..10] : update() 循环消息
[ 条件子句 ] 条件子句一般用来表示分枝而不是用作守卫条件[x<0]是两个可
以用来分枝的条件子句这两个条件只能有一个为真因而只有一 个分枝被执行(即发送与分枝有关的消息) 条件子句和循环子句都可以用伪代码或真正的编程语言来表示 序列表达式用冒号结束
返回值、消息名和参数表
返回值表示一个操作调用(即一个消息)的结 果
顺序图中消息编号可显示,也可不显示。 协作图中必须显示Procedure Call) 异步(Asynchronous) 返回(Return) 自关联消息(Self Message)
2.5 消息
UML三种消息:
调用(Procedure Call) 发送者把消息发送后,等待直到接收者返回控制, 可以表示同步(synchronous message); 实心箭头符号
包括对象名和类名 类名(匿名对象) 对象名(不关心类)
2.3 生命线
生命线(Lifeline):
每个对象都有自己的生命线,用来表示在该用例中一个对象在一段时 间内的存在
垂直的虚线 如果对象生命期结束, 则用注销符号表示 对象默认的位置在图 顶部,表示对象在交互 之前已经存在 如果是在交互过程中 由另外的对象所创建, 则位于图的中间某处。
顺序图
面向时间描述对象交互的图
协作图

系统分析设计实验05交互图(时序图协作图)_May5

系统分析设计实验05交互图(时序图协作图)_May5
交互图及其应用
交互图建模
内 容
基本概念 时序图 协作图 时序图和协作图共有的元素 对象规范与应用 消息规范与应用 消息编号 协作图特有的要素——链 时序图所特有的元素——控制焦点 时序图与协作图之间的转换


交互图可以用于对一个用例的事件流程进行 建模,也可以单独使用,用于可视化、详述、构造 和文档化一个特定对象群体的动态方面。交互图显 示一个交互,由一组对象和它们之间的关系构成, 其中包括:需要什么对象、对象相互发送什么消息、 什么角色启动消息以及消息按什么顺序发送。
一个例子
1 基本概念
1.1 交互图
分类
交互图分为两种:时序图和协作图
时序图强调消息发送的时间顺序 协作图则强调接收和发送消息的对象的组织结构
时序图和协作图语义等价
时序图和协作图在语义上是等价的,共享相同的基本 模型 两个图都可以表示另一个图所不能表示的某些东西 时序图和协作图可以实现两者之间的等价转换,而不 丢失任何信息
撤销方法
选择脚本和消息中的任意一项; 选择Edit > Detach Script。
2 时序图
2.4 时序图的删除
方法步骤
右键单击浏览器中的顺序框图名; 在快捷菜单中选择“Delete”。
2 时序图
2.5 时序图工具箱
12种常见工具按钮 可以定制
时序图注意事项
2 时序图
2.1 时序图中的要素
时序图包含的内容 1)对象 2)对象生命线 3)消息 4)控制焦点 对象、对象生命线和控制焦点 表示方法
对象向下方垂直伸展的虚线称为该对象 的生命线 ,表示该对象存在的时间长度 大“X”标记表明生命的结束 在生命线上的窄矩形条称为控制焦点, 控制焦点表示该对象正在执行某个操作。 窄矩形的长度表示操作的持续时间。

时序图、活动图、状态图、协作图的区别

时序图、活动图、状态图、协作图的区别

时序图、活动图、状态图、协作图的区别时序图时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序.当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件.在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列.ATM 用户成功登陆的时序图时序图中的基本概念对象: 时序图中对象使用矩形表示, 并且对象名称下有下划线. 将对象置于时序图的顶部说明在交互开始时对象就已经存在了. 如果对象的位置不在顶部, 表示对象是在交互的过程中被创建的.生命线: 生命线是一条垂直的虚线. 表示时序图中的对象在一段生命周期内存在. 每个对象底部中心的位置都带有生命线.消息: 两个对象之间的单路通信. 从发送方指向接收方. 在时序图中很少使用返回消息.激活: 时序图可以描述对象的激活和钝化. 激活表示该对象被占用以完成某个任务. 钝化指对象处于空闲状态, 等待消息. 在 UML 中, 对象激活时将对象的生命线拓宽为矩形来表示的. 矩形称为计划条或控制期. 对象就是在激活条的顶部被激活的. 对象在完成自己的工作后被钝化.对象的创建和销毁: 在时序图中, 对象的默认位置是在图的顶部. 这说明对象在交互开始之前就已经存在了. 如果对象是在交互过程中创建的, 那么就应该将对象放到中间部分. 如果要撤销一个对象, 在其生命线终止点处放置 “ X” 符号.练习:孙中山的……活动图在 UML 中, 活动图本质上就是流程图. 它用于描述系统的活动, 判定点和分支等.活动图中的基本概念动作状态: 原子的, 不可中断的动作, 并在此动作完成之后向另一个动作转变. 在 UML 中动作状态用圆角矩形 表示, 动作状态所表示的动作写在圆角矩形内部.分支与合并: 分支在软件系统中很常见. 一般用于表示对象类所具有的条件行为. 用一个布尔型表达式的真假来判定动作的流向. 条件行为用分支和合并表达.在活动图中, 分支用空心小菱形 表示. 分支包括一个入转换和两个带条件的出转换, 出转换的条件应该是互斥的, 须保证只有一条出转换能够被触发. 合并包含两个带条件的入转换和一个出转换.状态图状态图: 通过建立对象的生存周期模型来描述对象随时间变化的动态行为.状态图中的基本概念状态: 用圆角矩形表示. 状态名称表示状态的名字, 通常用字符串表示. 一个状态的名称在状态图所在的上下文中应该是唯一的.转换: 用带箭头的直线表示. 一端连着源状态, 一端连着目标状态.初始状态: 每个状态图都有一个初始状态. 此状态代表状态图的起始位置. 初始状态只能作为转换的源, 不能作为转换的目标, 并且在状态图中只能有一个. 初始状态用一个实心圆表示.终止状态: 模型元素的最后状态, 是一个状态图的终止点. 终止状态在一个状态图中可以有多个.协作图协作图(也叫合作图)是一种交互图.时序图主要侧重于对象间消息传递在时间上的先后关系, 而协作图表达对象间的交互过程及对象间的关联关系。

时序图-协作图-详解

时序图-协作图-详解

动态图概念 : 从静态图中抽取瞬间值的变化描述系统随时间变化的行为, 动态图包括交互图活动图状态图, 这篇博客研究交互图包括时序图和协作图;-- 时序图 : 显示对象之间的关系, 强调对象之间消息的时间顺序, 显示对象之间的交互;-- 协作图 : 描述对象之间的交互关系;一.时序图 (Sequence Diagram)1.时序图的概念时序图定义 : 描述了对象之间传递消息的时间顺序, 用来表示用例中的行为顺序, 是强调消息时间顺序的交互图;时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图描述了类以及类之间的交换以完成的期望行为的消息, 时序图中每条消息都代表了类的一个操作或者引起状态机改变的触发事件;时序图表示 : 参与交互的对象在时序图顶端水平排列, 每个对象的底端绘制了一条垂直虚线, 对象A像对象B发送消息, 用一条带箭头的实线表示, 该实线起始于对象A底部的虚线, 终止于对象B底部的虚线; 实线箭头水平放置, 越靠近顶端越早被发送.时序图轨迹 : 时序图提供了随时间推移的, 清晰的可视化的轨迹;2. 时序图组成时序图组成 : 时序图包括四个元素对象(Object), 生命线(Lifeline), 激活(Activation), 消息(Message);(1) 对象(Object)对象: 时序图中的对象在交互中扮演的角色就是对象;对象的符号 : 时序图中的对象与对象图中的表示方法一样, 使用矩形将对象名称包含起来, 并且对象名称下有下划线;对象创建时机 : 对象可以在交互开始的时候创建, 也可以在交互过程中进行创建;-- 处于顶部 : 如果对象的位置在时序图顶部, 说明在交互开始的时候对象就已经存在了;-- 不在顶部: 如果对象的位置不在顶部, 那么对象在交互过程中创建的;(2)生命线(Lifeline)(3)生命线 : 生命线是一条垂直的虚线, 这条虚线表示对象的存在, 在时序图中, 每个对象的底部都有生命线;生命线作用 : 生命线是一个时间线, 从时序图顶部一直到底部都存在, 其长度取决于交互的时间;对象的生命线 : 对象与生命线结合在一起就是对象的生命线, 这个概念包含对象图标以及对象下面的生命线图标如上图;(3) 激活(Activation)激活(Activation): 代表时序图中对象执行一项操作的时期, 激活期可以理解为语义中 {} 中的内容, 表示该对象被占用以完成某个任务;去激活(Deactivation) : 指对象处于空闲状态, 在等待消息激活这个对象;激活的表示 : 当对象处于激活时期, 生命线可以拓宽为矩形, 这个矩形条成为激活条;激活去激活的时机 :-- 激活 : 对象激活是在激活条的顶部激活;-- 去激活 : 激活条的底部去激活, 通常发生在一个消息离开对象生命线;(4) 消息消息概念 : 定义交互和协作中交换信息的类, 对对象之间的通信内容建模;消息动作 :--动作种类: 消息允许在实体间传递信息 (传递参数), 允许实体请求其它服务, 对象之间通过发送和接收消息进行通信;--产生结果: 消息可以触发操作, 唤起信号, 或使目标对象创建或销毁;消息的异步和同步通信 :-- 异步通信 : 消息是信号的时候, 发送信号之后, 等待对方触发相应方法, 这是明确的命名的对象间的异步通信;-- 同步通信 : 直接调用对象的方法, 执行方法返回结果, 这种具有返回控制机制的操作是同步通信;时序图和协作图中消息的区别 : 时序图中的消息强调顺序, 协作图中的消息强调交换消息的对象间的关系;消息类型 :-- : 两个对象间绘制消息;-- : 两个对象之间的过程调用;-- : 两个对象之间的异步消息;-- : 过程调用中返回的消息;-- : 绘制反身消息;3. 时序图示例示例简介 :-- 使用场景: 汽车租赁公司;-- 使用的对象 : Customer (客户), Worker (工作人员), Order (请求), Record (记录), Car (汽车);-- 工作流程 : ①客户向工人提出租车要求, ②工人检查请求, ③客户付款, ④工人填写记录, ⑤工人取车;时序图 :4. 对象的创建和撤销对象位置:-- 顶部 : 时序图中对象的默认位置是在时序图顶部, 这表明对象在交互开始之间就已经存在;-- 中间 : 如果对象在时序图中间部分, 说明对象时在交互过程中创建的;交互过程中创建对象的方法 :--消息指向对象 : 消息是构造方法, 箭头指向对象所代表的的矩形;-- 消息指向激活条 : 消息是构造方法, 箭头指向对象下面的激活条;撤销对象 : 如果想要在时序图中撤销一个对象, 因为如果同时有几个对象, 如果不进行特殊操作其生命周期将会一样长; -- 效果图 : 下图中将 Customer 和 Order 对象撤消了, 因为它们基本没有参与后期的交互;5. 时序图建模技术时序图使用时机 : 对动态行为建模, 强调时间展开信息的次序的时候, 使用时序图;时序图管理策略 :-- 单一控制流 : 一个单独的时序图只能显示一个控制流;-- 多个时序图 : 完整的控制流很复杂, 可以绘制多个时序图, 一个主干时序图, 多个分支时序图, 使用包对这些时序图进行管理;时序图建模策略 :-- 设置交互语境 : 交互所在的环境, 包括哪些对象, 属于什么系统, 子系统, 相关的操作类用例等;-- 对象排列顺序 : 根据对象重要性, 从左到右排列在时序图中;-- 对象生命线 : 对象通常存在于交互的整个过程, 也可以在交互过程中被创建和撤销;-- 消息排列 : 引发交互信息之后, 消息按照时间顺序从上向下画出, 先发出的消息在后发出的消息上面;-- 激活期设置 : 可以将实际操作发生的时间点消息明确的显示出来;-- 时间空间约束: 每个消息都可以附加合适的时间和空间约束;-- 前置后置条件: 每条消息可以附加前置或后置条件;6. Rational Rose 时序图操作(1) 创建时序图新建时序图 : 在视图浏览器中右键点击Logical View (逻辑视图), 选择New(新建) -> Sequence Diagram(时序图);(2) 添加对象添加对象 : 时序图中有两种对象, 一种是参与者Actor, 一种是普通的对象;-- 参与者对象 : 在类图中创建一个对象, 将其 Stereotype 修改为 Actor, 就变成了参与者, 然后在视图浏览器中将这个元素拖到时序图中即可;-- 普通对象 : 直接在时序图中点击按钮, 在界面中创建对象; -- 两种对象效果 :设置对象属性 : 双击对象, 在弹出的 General 对话框中修改对象属性;-- Name: 对象名称, 不输入也可以;-- Document : 描述对象的文档;设置对象持续性 :-- 持续 (Persistent) : 对象保存在数据库或其它形式的永久存储体中;-- 静态 (Static) : 对象保存在内存中知道程序终止;-- 临时 (Transient) : 短时间内保存在内存中;(3) 添加消息消息作用 : 消息用两个对象生命线之间的箭头表示, 一个对象可以通过消息请求另一个对象执行某个操作;增加消息 :-- 发送消息 : 将从发送消息对象的生命线拖到接收消息对象的生命线上;-- 显示取消编号和激活条 : 菜单栏 Tools -> Options -> Diagram 选项卡, Sequence numbering 是消消息编号 , Focus of control 显示激活条;二. 协作图 (Collaboration Diagram)1. 协作图概念协作图: 协作图是一种类图, 包含类元角色和关联角色,不仅仅是类元和关联;-- 强调 : 强调参与交互的各个对象的结构信息和组织;协作图建模对象 : 对有交互的对象和这些对象之间的关系建模, 不参与交互的对象及它们的关系忽略;协作图内容: 协作图中表现了类操作中用到的参数, 布局变量, 操作中的永久链;对象图扩展 : 协作图可以看做对象图的扩展, 该图展示了对象之间的关联, 显示出了对象间的消息传递;2. 协作图内容(1) 对象(Object)对象 : 代表协作图交互中的主体, 和时序图中对象的概念类似;协作图和时序图中对象区别 : 协作图中对象无法创建和撤销, 因此对象在协作图的位置没有限制;(2) 链(Link)链的表示 : 链的符号和对象图中链所用的符号是一样的, 用来连接两个类角色的实线;-- : 创建对象之间的通信路径;-- : 显示对象可以调用自己的属性;-- : 在两个对象之间或一个对象本身增加消息;-- : 在两个对象之间或一个对象本身从反方向增加消息;-- : 显示两个对象之间的信息流;-- : 在反方向显示两个对象之间的信息流;路径构造性 : 对象之间的连接可以由链末尾附加的路径构造型表示;-- 添加方式 : 双击链, 选择 visibility属性即可;(3) 消息 (Message)消息概念 : 对象间通过链接发送的就是消息;--消息传递方向 : 对象之间的箭头表明对象间交换的消息流, 一个对象发出消息, 链指向的对象接收消息, 链用于实现消息传输;-- 消息标识 : 消息流标有消息的序列号和对象间发送的消息名称;-- 消息结果 : 每条消息否会触发接收对象的一系列操作;消息序号 : 协作图与时序图中的消息类型是一样的, 为了表明消息顺序, 需要为消息添加序号;3. 协作图示例示例简介 : 汽车租赁流程;-- 涉及到的对象 : Customer (客户), Order (订单), Worker (工人), Record (记录), Car (汽车);-- 流程简介 : 客户写好订单, 工人核对订单, 核对后订单存在, 允许客户取车, 工人填写记录, 并将车取出;4. 协作图建模策略协作图使用场景 : 对系统动态行为建模, 按组织对控制流建模使用协作图;协作图管理策略 :-- 单个协作图: 单个协作图只能显示一个控制流;--多个协作图 : 描述复杂系统的时候, 需要许多协作图共同描述, 一些图是主干协作图, 还有许多分支路径的控制流的协作图, 使用包管理这些协作图;协作图的建模策略 :-- 设置语境 : 设置协作图所在的环境 , 如系统, 子系统, 类, 操作, 用例或用例脚本;-- 对象顶点 : 识别对象在协作图中扮演的角色, 协作图中, 对象是图的顶点;-- 变化修改 : 每个对象最初都会设置初始值, 如果期间对象发生了变化, 修改的方式是 : 协作图中放置一个复制对象, 更新复制对象, 同过后造型 become copy 连接二者;-- 确定链接顺序 : 先确定关联链接,哪些对象相互链接; 在确定消息链接, 路径构造型等表示对象间如何连接;-- 消息顺序 : 从引起交互的消息开始编号, 将编号信息和描述信息附到链接上, 描述了对象之间的传递次序;-- 时间空间约束 : 可以为每个消息附加时间和空间上的约束;-- 前置后置条件 : 可以为每个消息附加前置和后置条件;5. Rational Rose 绘制协作图(1) 创建协作图创建流程 : 视图浏览器 -> Logical View (逻辑视图) -> New (新建) -> Collaboration Diagram (协作图);(2) 添加对象协作图中添加对象 : 与时序图基本类似;-- 添加参与者对象 : 在类图中创建好类, 然后将类型设置为Actor, 然后在视图浏览器中将Actor拖到协作图中;-- 添加普通对象 : 直接点击工具栏中的图标设置即可;(3) 添加消息添加对象间消息 : 在两个对象之间添加消息;-- 建立通信路径 : 使用连接两个对象, 建立两个对象间的通信路径;-- 添加消息 : 使用或在通信路径上添加消息;-- 设置消息名称 : 双击消息箭头, 可以在弹出的对话框中修改消息名称;添加反身消息 : 选择点击对象, 就会出现指向对象本身的路径, 选择点击这个指向本身的路径, 可以为该对象添加消息;(4) 添加数据流数据流概念 : 数据流是一个对象向另一个对象发送消息返回的消息;-- 使用场景 : 没必要在每个消息上都加上数据流, 只要在中药消息上附加数据流即可;数据流添加方法 : 选择或按钮, 单击要返回的数据消息, 数据流箭头就会被添加到这个消息上;.6. 时序图与协作图转换各自侧重点 : 时序图和协作图是等价的, 可以任意转换, 而不丢失信息;--时序图: 描述交互过程中的时间顺序, 没有明确表达对象间关系;--协作图: 描述了对象间的关系, 但是时间顺序必须从消息的序号中获取;转换示例 :-- 场景介绍 : 学生毕业管理;-- 对象介绍 : 教务人员, 学位评价, 成绩管理, 奖惩管理, 信息打印;-- 控制流介绍 : ①教务人员输入学号进入学位评价模块, ②学位评价模块会向成绩管理模块查询成绩, ③向奖惩管理模块查询奖惩记录, ④学位评价模块会将结果打印到信息打印模块, ⑤信息打印模块将结果返回给教务人员;时序图:协作图 :7. 时序图和协作图对比时序图和协作图共同点 : 都是有消息和类角色组成;-- 规定责任 : 时序图和协作图都规定了消息发送对象和消息接收对象的责任, 每个接收对象都有消息对应的接口, 这个接口方法由消息发送对象触发;-- 支持消息 : 时序图和协作图都支持消息;-- 衡量工具 : 时序图和协作图可以作为衡量系统耦合性的工具, 耦合性就是系统中模型之间的依赖性, 两个模型之间的依赖关系通过查看两个模型之间的消息数量和类型就可以看出, 消息交互少的耦合性高;时序图和协作不同点 :-- 对象创建撤销侧重点 : 时序图侧重描述对象的创建和撤销, 新创建的对象放在对象生命线上对应的时间点, 撤销的对象在结束的地方放一个 X 表示该对象不能再继续使用;协作图中创建撤销的概念不存在, 对象时始终存在的, 只能通过消息描述或约束来说明对象的创建和撤销;-- 链接侧重点 : 时序图中的链没有表示出来, 可以随意绘制消息, 有些逻辑交互可能不会发生; 协作图的消息是映射在链上的, 消息和链平行放置, 如果想要通过消息查看对象之间的关联使用协作图最好;-- 激活和去激活 : 时序图表现有激活和去激活, 协作图上没有时间概念的描述, 无法清晰地表示对象的激活和去激活;三. 实例 - 图书管理系统1. 管理员为图书添加类别控制流说明 :-- 涉及到的对象 : Admin (管理员), BookInfoWindow (图书信息窗口), Tittle (图书类别), Item (图书条目);-- 流程 : 管理员查询图书信息窗口, 查看有没有相应的图书类别, 如果有插入该图书条目;时序图 :\协作图 :2. 管理员删除图书控制流说明 :-- 涉及到的对象 : Admin (管理员), BookInfoWindow (图书信息窗口), Tittle (图书类别), Item(图书条目);-- 控制流程 : 管理员登陆图书信息窗口删除图书, 查表图书类别是否存在, 查找图书是否存在, 如果都返回true, 删除图书条目;时序图 :协作图 :3. 管理员借书时序图控制流说明 :-- 参与的对象 : Admin (管理员), BookInfoWindow (图书信息窗口), Tittle (图书类别), Borrower (借阅者), Loan (借书记录), item (图书条目);-- 流程 : 管理员登陆图书信息窗口, 查询图书类别是否存在, 查询图书条目是否存在, 查询借阅者是否存在, 创建借书记录;时序图 :协作图 :21。

时序图和协作图

时序图和协作图

时序图的最大特点是:它以二维的平面上 的一维来表示时间进度,在时间维上定义 各个对象所执行的操作以及它们之间所传 送的消息。从而能够在逻辑上清晰的刻画 这些操作和消息的时序关系乃至因果关系。
简单时序图
7.2 时序图元素及表示法
在UML中,时序图用一个二维图描述系统 中各个对象之间的交互关系。其中,纵轴 是时间轴,时间沿竖线向下延伸,由上至 下表示时间的先后顺序。横轴代表了参与 相互作用的对象。 当对象存在时,生命线由一条虚线表示; 当对象的过程处于激活状态时,生命线上 用一个激活条表示。消息用从一个对象到 另一个对象生命线的箭头表示,箭头以时 间顺序从上到下排列。

时序图(Sequence Diagram)也被称为 顺序图,是一种详细地表示对象之间行为 交互关系的图,主要用来描述对象之间信 息交换时的时间顺序。因此可以清晰而直 观的表示对象之间的行为交互关系以及操 作和消息的时序关系。
时序图的主要用途把用例表达的要求转化 为更进一步的精细表达。它还能用来记录 一个存在系统的对象现在如何交互。 用例常常可被细化为一个或多个时序图。

7.2 时序图元素及表示法
时序图有4种基本图形元素,包括:
对象(object) 生命线(lifeline) 激活(activation) 消息(message)
1. 对象
时序图中的对象在概念上和它在对象图中 的定义是一致的,其图形表示也相同。 每个对象显示在单独的列里,用一个矩形 框代表一个对象,框内填写对象名和它所 属的类名,中间用一个冒号隔开。

2.链接
链接是两个对象间的连接。 它的图形符号也是用一条连接在两个对象间 的实线表示。在连接线上可以标明对象名。

3.消息

UML-09-交互图-协作图和时序图

UML-09-交互图-协作图和时序图

3. 消息 ③返回消息( Return ) 返回消息 返回消息表示从消息接受对象返回信息。 返回消息表示从消息接受对象返回信息。 表示从消息接受对象返回信息
返回消息
3. 消息 ④阻止消息 阻止消息指消息发送者发出消息给接收者, 阻止消息指消息发送者发出消息给接收者,如果接 消息指消息发送者发出消息给接收者 收者无法立即接收这个消息,则发送者放弃这个消息。 收者无法立即接收这个消息,则发送者放弃这个消息。
其中: 其中: Simple和Asynchronous(异步)同义 Synchronous (同步)和Procedure Call同义 Return 不变 新增: 新增: 阻止(Balking) 阻止( )
接受者如果无法立即接收,则发送者放弃消息;
超时( 超时(Timeout): ):
如果接受者无法在指定时间内接收,则发送者放弃 消息。
6.1.1 交互图的概念
1. 交互图的概念 交互图(interaction): 用来描述对象之间、对象与参与 用来描述对象之间、 交互图 者之间的动态协作关系, 者之间的动态协作关系,以及协作过程中行为次序的图 形。 2.交互图的类型 2.交互图的类型 顺序图( 顺序图( Sequence diagram ) 协作图( 协作图( Collaboration diagram )
消息 对象
生命线
控制焦点
2. 顺序图样式和组成

① 对象的命名
:类名 :对象名
对象名: 对象名:类名
匿名对象
2. 顺序图样式和组成 ① 对象的命名

② 生命线 表示对象存在的时间,对象下面一条虚线表示。 表示对象存在的时间,对象下面一条虚线表示。
对象生命线
×

软件工程10-协作图

软件工程10-协作图

协作图的定义协作图描述对象之间的关联及其它们彼此之间的消息通信。

要想使由类构成的系统具有功能,这些类的实例(对象)需要彼此通信和交互。

协作图除了展示出对象之间的关联,还显示出对象之间的消息传递。

协作图和顺序图的区别顺序图和协作图都可以表示对象间的交互关系,但它们的侧重点不同。

顺序图强调的是交互的时间顺序,协作图强调的是交互的语境和参与交互的对象的整体组织。

还可以从另一个角度来看两种图的定义:顺序图按照时间顺序布图,而协作图按照空间组织布图。

协作图的符号练习: 比较顺序图与协作图在这个练习中,将通过对ATM机取款用例的行为描述,比较顺序图与协作图。

例如,客户Joe从ATM机提取20美金的场景。

协作图的建模方法协作图的建模有3个基本的步骤: 1)确定属于协作图的元素。

2)建模这些元素之间的结构关系。

3)建模实例层的协作图。

建模分数记录系统的协作图。

具体用例是Teacher使用 Website登录并且查看学生的分数。

1.确定协作图的元素首先,确定协作图中将会包含的元素或者类。

从已经描述的用例中可以确定需要Teacher、Student和Grade 类,其他类是否需要不太清楚。

对于分数记录系统,我们需要一个Website 类来提供进行交互的场所。

还需要一个Database 类来提供为学生检索信息的功能。

最后,还需要一个Security类提供让Teacher登录系统的手段,如下图所示。

2.建模类之间关系下一步就是确定这些类之间的关系。

在这一步中,着手建模早期阶段的协作图,在类角色之间添加链接和关联角色,如下图所示。

3.建模实例层协作图最后一步就是在实例层建模协作图。

这意味着需要把类角色修改为对象实例,并且指定执行用例的消息序列。

这一步需要用到描述对象之间链接的消息标记符,包括控制点、迭代、创建实例,以及特定消息类型的规范。

练习:建模储户在ATM机上存钱操作的协作图。

图书馆管理系统的协作图 1. 系统管理员添加书籍的协作图 2. 图书管理员处理借书的协作图 3. 图书管理员处理还书的协作图 4. 系统管理员删除书籍的协作图 5. 借阅者预留书籍的协作图 1. 系统管理员添加书籍的协作图 2. 图书管理员处理借书的协作图 3. 图书管理员处理还书的协作图 4. 系统管理员删除书籍的协作图 5. 借阅者预留书籍的协作图 Linker是一种翻译器的类型。

软件工程酒店管理系统时序图协作图

软件工程酒店管理系统时序图协作图

软件工程酒店管理系统时序图协作图软件工程实验二:系统架构分析与设计院系:软件学院专业:软件工程II班级:软工11级.net1班梅荣霞(组名姓:长)、尹德金、刘强、李国峰、王钢1115115373长号(组):学:教指导师王娟项目名称:宾馆管理系统一、识别分析类宾馆管理系统的边界类边界类职责边界类名称登陆后检验用户身份,允许用户输入有效的用户名和密码,用户登录界面才能进行自己权限内的项目进行操允许(有此权限的)人员进入进行添加操添加入住信息界修改入住信息界允许(有此权限的)人员进入进行修改操删除入住信息界允许(有此权限的)人员进入进行删除操用户查询界允许用户进行查询操用户结账界用户进行结账操作宾馆管理系统的实体类实体类职责实体类名称人员信息姓名、密码、职工编号、职务、用户类别房间类型、房牌号、单价房间信息客户名称、入住时间、预交定金入住信息宾馆管理系统的控制类控制类职责控制类名称用户登录根据不同的用户和不同的登录信息转到不同的界面添加信息到数据库添加信息修改信息修改信息到数据库删除信息删除信息到数据库用户查询对用户提交的查看请求进行处理结账信息用户对宾馆的服务进行处理2二、时序图(至少个)用户登录酒店管验证服务数据库验证理系统输入用户1.发出验2.名和密码证请求3.进行查询4.用户存在5.验证成功成功登录6.图1:用户登录系统时序图图2:添加客房基本信息时序图顾客前台系统管理员银联1.刷卡2.问口令3.输口令4.口令验证5.检查顾客资6口令正7口令正8输入金9进行处10银行处11完处理完1213打印清单:用客结账时序图图3三、协作图6: 1:登录酒店管理用户系统5:2:3:数据库验验证服证务4::用户登录系统协作图4图【用户登录系统协作图说明】:1)输入用户名密码2)发送验证请求3)进行查询4)用户存在5)验证成功6)成功登录1:3:顾前2:8:13:7:12:4:9:5:10:系统管银员6:11:图5:顾客用信用卡结账协作图【顾客用信用卡结账协作图说明】:1)刷卡2)问口令3)输口令4)口令验证5)检查客户资料6)口令正确7)口令正确8)输入金额9)进行处理10)银行处理11)完成12)处理完成13)打印清单四、包图宾馆管理系统主要分为两层:界面层和实体层。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程
实验二:系统架构分析与设计
院系:软件学院
专业:软件工程II
班级:软工11级.net1班
梅荣霞(组名姓:长)、尹德金、刘强、李国峰、王钢1115115373
长号(组):学:教指导师王娟
项目名称:宾馆管理系统
一、识别分析类
宾馆管理系统的边界类
边界类职责边界类名称
登陆后检验用户身份,允许用户输入有效的用户名和密码,用户登录界面
才能进行自己权限内的项目进行操允许(有此权限的)人员进入进行添加操添加入住信息界修改入住信息界允许(有此权限的)人员进入进行修改操删除入住信息界允许(有此权限的)人员进入进行删除操用户查询界允许用户进行查询操用户结账界用户进行结账操作
宾馆管理系统的实体类
实体类职责实体类名称人员信息姓名、密码、职工编号、职务、用户类别房间类型、房牌号、单价房间信息
客户名称、入住时间、预交定金入住信息
宾馆管理系统的控制类
控制类职责控制类名称
用户登录根据不同的用户和不同的登录信息转到不同的界面添加信息到数据库添加信息修改信息修改信息到数据库删除信息删除信息到数据库用户查询对用户提交的查看请求进行处理结账信息用户对宾馆的服务进行处理
2二、时序图(至少个)
用户登录酒店管验证服务数据库验证理系统输入用户1.发出验2.名和密码证请求3.进行查询4.用户存在5.验证成功成功登录6.
图1:用户登录系统时序图
图2:添加客房基本信息时序图
顾客前台系统管理员银联1.刷卡2.问口令3.输口令4.口令验证5.检查顾客资6口令正7口令正8输入金9进行处10银行处11完处理完1213打印清单
:用客结账时序图图3
三、协作图
6: 1:
登录酒店管理用户系统5:
2:
3:
数据库验验证服证务4:
:用户登录系统协作图4图
【用户登录系统协作图说明】:
1)输入用户名密码2)发送验证请求3)进行查询4)用户存在5)验证成功6)成功登录1:
3:
顾前2:
8:
13:
7:
12:
4:
9:
5:
10:
系统管银员6:
11:
图5:顾客用信用卡结账协作图
【顾客用信用卡结账协作图说明】:
1)刷卡2)问口令3)输口令4)口令验证5)检查客户资料6)口令正确7)口令正确8)输入金额9)进行处理10)银行处理11)完成12)处理完成13)打印清单四、包图
宾馆管理系统主要分为两层:界面层和实体层。

(如图6)
界面层的主要功能包括:
人员信息界面
用户查询界面
入住信息界面
实体层的主要功能包括:
用户登录
添加信息
修改信息
图6:系统逻辑视图(包图)
五、部署视图()不会画。

相关文档
最新文档