当前位置:文档之家› 图书管理系统动态建模

图书管理系统动态建模


顺序图
任务目标 了解顺序图的基本功能和绘制方法,并绘 制图书管理系统的顺序图
顺序图
顺序图概述
描述了对象之间传送消息的时间顺序,它用来表示用例中的行为顺 序,当执行一个用例行为时,顺序图中的每条消息对应了一个类操作 中引起转换的触发事件。
顺序图
顺序图组成-对象、生命线
对象:顺序图中的对象的符号与对象图中的对象的符号是一样的,都 是使用矩形将对象名称包含起来,并且在对象名称下加下划线。 生命线:生命线是一条垂直的虚线,表示顺序图中的对象在一段时间 内的存在。每个对象的底部都带有生命线。
活动图示例
示例
图书馆管理系统中需要提供对用户信息的修改功能,请使用活动 图描述该用例。
录入读者姓名
关键字 分支
从读者名册中查 找读者信息 [else] [查找成功] 编辑读者信息 显示读者记录不 存在
监护条件
保存读者信息
分叉和汇合
分叉(fork)和汇合(join) 在UML中使用分叉和汇合表示并行发生的事件流 分叉表示把一个单独的控制流分成两个或多个并发的控制 流。一个分叉可以有一个进入转移和两个或多个输出转移, 每一个转移表示一个独立的控制流。 汇合表示两个或多个并发控制流的同步发生,一个汇合可 以有两个或多个进入转移和一个输出转移。 分叉和汇合应该是平衡的 分叉和汇合在图形上都使用同步条来表示,同步条通常用 一条粗的水平线表示
状态是对象操作的前一次活动的结果,通常情况下,状态由对象的属性值 以及指向其它对象的链来决定的。
“SQL Server 2005实例教程”(图书对象)被借出(在借状态); “软件测试实例教程”(图书对象)在图书馆里(在库状态); 小王(读者对象)在校(在校状态); 小王的借书证(借书证对象)可以用(有效状态); 小王的借书证(借书证对象)丢失(挂失状态); 小王(读者对象)已毕业(毕业状态); 小王的借书证(借书证对象)不可以用(无效状态)。
活动状态
活动状态
表示的是可以分割的动作 特点是:它可以被分解成其他子活动或动作状态,它能够被中断, 占有有限的时间。 活动状态可以理解为一个组合,它的控制流由其他活动状态或动作 状态组成。 图形表示同动作状态
活动图中的特殊状态
活动图中的特殊状态
活动图中还有一类特殊的状态,用于表示活动的开始和结束, 分别称为起始状态(start state)和终止状态(end state)。 起始状态表示一个工作流程的开始,用实心圆点来表示 终止状态表示了一个活动图的最后和终结状态,用实心圆 点外加一个小圆圈来表示
转移
转移(transition)
转移是两个状态间的一种关系,表示对象将在当前状态中 执行动作,并在某个特定事件发生或某个特定的条件满足时 进入后继状态。 在UML中用一条简单的直线表示一个转移 示例:打电话
摘机
初始状态
转换
拨号 通话
动作状态
挂机
终止状态
分支
分支(Branch) 分支用于描述基于某个条件的可选择路径。 一个分支可以有一个进入转移和两个或多个输出转移。 在每条输出转移上都有监护条件表达式保护,当且仅当监 护条件表达式为真时,该输出路径才有效。 在所有输出转移中,其监护条件不能重叠,而且它们应该 覆盖所有的可能性。 分支在图形表示上 用菱形表示
活动图的建模技术
活动图的建模技术
活动图用于对系统的动态行为建模,在对一个系统建模时,通 常有两种使用活动图的方式: 为工作流建模(动作流指所有动作状态之间的转换)

为对象的操作建模
活动图的建模步骤
使用活动图对系统建模 的步骤 ①确定活动图所关注的业务流程。 ②确定该业务流程中的业务对象。 ③确定该工作流的起始状态和终止状态。 ④从该工作流的起始状态开始,说明随着时间发生的动作和 活动,并在活动图中把它们表示成活动状态或动作状态。 ⑤将复杂的动作,或多次出现的动作集合归并到一个活动状 态,并对每个这样的活动状态提供一个可展开的单独的活动 图。 ⑥找出连接这些活动和动作状态的转移。 ⑦如果工作流中涉及重要的对象,则也把它们加入到活动图 中。
任务解决
补充:
绘制图书管理系统读者活动图
活动图 VS 流程图
流程图着重描述处理过程,它的主要控制结构是顺序、分支和循 环,各个处理过程之间有严格的顺序和时间关系;而活动图描述的 是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为, 而非系统的处理过程; 活动图能够表示并发活动的情形,而流程图不能; 活动图是面向对象的,而流程图是面向过程的。
状态图组成
状态图组成-状态
1.名称(name) 是可以把该状态和其他状态区分开的字符串;状态也可能是匿名的,即没有名称。 2.进入/退出动作(entry/exit action) 分别指进入和退出这个状态时所执行的动作。 3.内部转换(internal transition) 不会导致状态改变的转换。 4.子状态 (substate) 主要是在状态的嵌套结构中,包括不相交(顺序活动)或并发(并发活动)子状态。 5.延迟事件 (deferred event) 是指在该状态下暂不处理,但将推迟到该对象的另一个状态下排队处理的事件列表。
任务解决
•"新增读者"用例属于读者信息管理中的一个功能,主要用于 在系统中增加新的读者信息,其具体的办理流程是:
(1)"读者"填写申请表,并交给"图书管理员"; (2)"图书管理员"将申请表中的信息通过录入界面,输入 到图书管理系统; (3)系统中的"业务逻辑"组件将判断输入的信息是否合法; (4)如果不合法则转入步骤(5),否则转入步骤(6); (5)显示"添加错误信息",转到(8); (6)在数据库添加相信的用户信息; (7)显示"添加成功信息"; (8)结束。
活动图示例
示例
描述打电话活动中的并发事件
摘机
拨号
分叉


挂机
汇合
泳道
泳道(swimlane)
“泳道”技术,是将一个活动图中的活动 状态进行分组,每一组表示一个特定的类、 人或部门,他们负责完成组内的活动。
“泳道”技术来描述每个活动是由哪个对 象负责完成 UML中,每个组被称为一个泳道,用一条 垂直的实线与邻居分开 每个活动都明确属于一个泳道,不可以跨 越泳道,而转移则可以跨越泳道
状态图组成
状态图组成-事件
“事件”指的是发生的且引起某些动作执行的事情,即事件表示在 某一特定的时间或空间出现的能够引发状态改变的运动变化。
状态图组成
状态图组成-转换
转换表示当一个特定事件发生或者某些条件满足时,一个源状态下 的对象完成一定的动作后将发生状态转变,转向另一个称之为目标状 活动图的图形表示 熟悉活动图的应用 任务 根据图书管理系统开发进度,用活动图 描述系统中已知用例的业务过程: 1.描述新增读者用例 2.描述删除读者用例
任务描述:新增读者活动图
“新增读者"用例属于读者信息管理中的一个功能,主要用 于在系统中增加新的读者信息,其具体的办理流程是: (1)"读者"填写申请表,并交给"图书管理员"; (2)"图书管理员"将申请表中的信息通过录入界面,输入到 图书管理系统; (3)系统中的"业务逻辑"组件将判断输入的信息是否合法; (4)如果不合法则转入步骤(5),否则转入步骤(6); (5)显示"添加错误信息",转到(8); (6)在数据库添加相信的用户信息; (7)显示"添加成功信息"; (8)结束。
活动图的基本概念
活动图概述
活动图(Activity Diagram)显示活动动作及其结果,着重描述操作
(方法)实现中所完成的工作以及用例实例或对象中的活动。
活动图的主要目的是描述动作(执行的工作和活动)及对象状态改变 的结果。
使用活动图主要目的: 描述一个操作执行过程中(操作实现的实例化)所完成的工作(动作); 描述对象内部的工作; 显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象; 显示用例的实例是如何执行动作以及如何改变对象状态; 说明一次商务活动中的参与者、工作流、组织和对象是如何工作的。
活动图的基本要素
活动图的基本要素
状态、转移、分支、分叉和汇合、泳道、对象流等。
状态(State)
状态是指在对象的生命周期中满足某些条件、执行某些活动或等
待某些事件时的一个条件或状况。
活动图中的状态包括动作状态和活动状态。
动作状态
动作状态
对象的动作状态是活动图中最小单位的构造块,表示原子动作。 动作状态有三个特性: 原子性:是构造活动图的最小单位,不可再分; 不可中断性:一旦运行就不能中断,一直运行到结束; 瞬时性: 所占用时间极短,有时甚至可以忽略。 动作状态使用带圆端的方框表示
小结
• 活动图是UML中用于对系统的动态方面建模的五种图中的一种,一张活动图从
本质上说是一个流程图,显示从活动到活动的控制流 • 多数情况下,活动图用于对业务过程中顺序和并发的工作流程进行建模。活 动图中的基本要素包括状态、转移、分支、分叉和汇合、泳道、对象流。
• 状态是指在对象的生命周期中满足某些条件、执行某些活动或等待某些事件
绘制状态图
绘制图书管理系统图书状态图
(1)打开工程book.mdl (2)新建状态图 (3)添加状态 (4)设置状态转移事件 (5)添加活动 (6)调整大小和位置
状态图
活动图 VS 状态图
状态图描述类的对象所有可能的状态以及事件发生时状态的转移条 件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画 状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变 的类画状态图; 而活动图描述满足用例要求所要进行的活动以及活动间的约束关 系,有利于识别并行活动。
相关主题