收藏 分享(赏)

图书管理系统动态建模.ppt

上传人:rav7596 文档编号:8254165 上传时间:2019-06-17 格式:PPT 页数:49 大小:1.66MB
下载 相关 举报
图书管理系统动态建模.ppt_第1页
第1页 / 共49页
图书管理系统动态建模.ppt_第2页
第2页 / 共49页
图书管理系统动态建模.ppt_第3页
第3页 / 共49页
图书管理系统动态建模.ppt_第4页
第4页 / 共49页
图书管理系统动态建模.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、动态建模,本章学习要点,活动图的功能及绘制 状态图的功能及绘制 顺序图的功能及绘制 协作图的功能及绘制,动态建模概述,了解动态模型的基本功能和基本组成,任务目标,所有系统(包括软件系统)均可表示为两个方面:静态结构和动态行为。 为了能够很好地描述软件系统中的动态特性,UML提供了状态图、活动图、顺序图和协作图来描述系统的结构和行为。 通常情况下,系统中的对象的相互通信是通过相互发送消息来实现的。 一组对象为了实现一些功能而进行通信称之为交互,可以通过状态图、活动图、顺序图和协作图来描述系统的动态行为。,动态建模概述,活动图,掌握活动图的基本概念 掌握活动图的图形表示 熟悉活动图的应用任务 根据

2、图书管理系统开发进度,用活动图描述系统中已知用例的业务过程: 1描述新增读者用例 2描述删除读者用例,任务描述:新增读者活动图,“新增读者“用例属于读者信息管理中的一个功能,主要用于在系统中增加新的读者信息,其具体的办理流程是:(1)“读者“填写申请表,并交给“图书管理员“;(2)“图书管理员“将申请表中的信息通过录入界面,输入到图书管理系统;(3)系统中的“业务逻辑“组件将判断输入的信息是否合法;(4)如果不合法则转入步骤(5),否则转入步骤(6);(5)显示“添加错误信息“,转到(8);(6)在数据库添加相信的用户信息;(7)显示“添加成功信息“;(8)结束。,活动图的基本概念,使用活动图

3、主要目的: 描述一个操作执行过程中(操作实现的实例化)所完成的工作(动作); 描述对象内部的工作; 显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象; 显示用例的实例是如何执行动作以及如何改变对象状态; 说明一次商务活动中的参与者、工作流、组织和对象是如何工作的。,活动图概述,活动图(Activity Diagram)显示活动动作及其结果,着重描述操作(方法)实现中所完成的工作以及用例实例或对象中的活动。 活动图的主要目的是描述动作(执行的工作和活动)及对象状态改变的结果。,活动图的基本要素,状态、转移、分支、分叉和汇合、泳道、对象流等。,活动图的基本要素,状态(State),状

4、态是指在对象的生命周期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。 活动图中的状态包括动作状态和活动状态。,动作状态,动作状态,对象的动作状态是活动图中最小单位的构造块,表示原子动作。动作状态有三个特性: 原子性:是构造活动图的最小单位,不可再分; 不可中断性:一旦运行就不能中断,一直运行到结束; 瞬时性: 所占用时间极短,有时甚至可以忽略。 动作状态使用带圆端的方框表示,活动状态,活动状态,表示的是可以分割的动作 特点是:它可以被分解成其他子活动或动作状态,它能够被中断,占有有限的时间。 活动状态可以理解为一个组合,它的控制流由其他活动状态或动作状态组成。 图形表示同动作状

5、态,活动图中的特殊状态,活动图中的特殊状态,活动图中还有一类特殊的状态,用于表示活动的开始和结束,分别称为起始状态(start state)和终止状态(end state)。 起始状态表示一个工作流程的开始,用实心圆点来表示 终止状态表示了一个活动图的最后和终结状态,用实心圆点外加一个小圆圈来表示,转移,转移(transition),转移是两个状态间的一种关系,表示对象将在当前状态中执行动作,并在某个特定事件发生或某个特定的条件满足时进入后继状态。 在UML中用一条简单的直线表示一个转移 示例:打电话,分支,分支(Branch),分支用于描述基于某个条件的可选择路径。 一个分支可以有一个进入转

6、移和两个或多个输出转移。 在每条输出转移上都有监护条件表达式保护,当且仅当监护条件表达式为真时,该输出路径才有效。 在所有输出转移中,其监护条件不能重叠,而且它们应该覆盖所有的可能性。 分支在图形表示上 用菱形表示,活动图示例,示例,图书馆管理系统中需要提供对用户信息的修改功能,请使用活动图描述该用例。,分叉和汇合,分叉(fork)和汇合(join),在UML中使用分叉和汇合表示并行发生的事件流 分叉表示把一个单独的控制流分成两个或多个并发的控制流。一个分叉可以有一个进入转移和两个或多个输出转移,每一个转移表示一个独立的控制流。 汇合表示两个或多个并发控制流的同步发生,一个汇合可以有两个或多个

7、进入转移和一个输出转移。 分叉和汇合应该是平衡的 分叉和汇合在图形上都使用同步条来表示,同步条通常用一条粗的水平线表示,活动图示例,示例,描述打电话活动中的并发事件,泳道,泳道(swimlane),“泳道”技术,是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。 “泳道”技术来描述每个活动是由哪个对象负责完成 UML中,每个组被称为一个泳道,用一条垂直的实线与邻居分开 每个活动都明确属于一个泳道,不可以跨越泳道,而转移则可以跨越泳道,对象流,包括依赖关系和对象的应用被称为对象流。对象流是动作和对象间的关联。 对象流可用于对下列关系建模:动作状态对对象

8、的使用动作状态对对象的影响。 在UML中,使用矩形表示对象 ,对象和动作之间使用带箭头的虚线连接,带箭头的虚线表示对象流。,示例:用活动图描述客户在商店中购买物品的过程。(使用对象流技术描述购物这个动态过程中系统内对象的状态变化 ),活动图的建模技术,活动图的建模技术,活动图用于对系统的动态行为建模,在对一个系统建模时,通常有两种使用活动图的方式: 为工作流建模(动作流指所有动作状态之间的转换)为对象的操作建模,活动图的建模步骤,使用活动图对系统建模 的步骤,确定活动图所关注的业务流程。 确定该业务流程中的业务对象。 确定该工作流的起始状态和终止状态。 从该工作流的起始状态开始,说明随着时间发

9、生的动作和活动,并在活动图中把它们表示成活动状态或动作状态。 将复杂的动作,或多次出现的动作集合归并到一个活动状态,并对每个这样的活动状态提供一个可展开的单独的活动图。 找出连接这些活动和动作状态的转移。 如果工作流中涉及重要的对象,则也把它们加入到活动图中。,任务解决,“新增读者“用例属于读者信息管理中的一个功能,主要用于在系统中增加新的读者信息,其具体的办理流程是:(1)“读者“填写申请表,并交给“图书管理员“;(2)“图书管理员“将申请表中的信息通过录入界面,输入到图书管理系统;(3)系统中的“业务逻辑“组件将判断输入的信息是否合法;(4)如果不合法则转入步骤(5),否则转入步骤(6);

10、(5)显示“添加错误信息“,转到(8);(6)在数据库添加相信的用户信息;(7)显示“添加成功信息“;(8)结束。,任务解决,补充:,绘制图书管理系统读者活动图,活动图 VS 流程图,流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系;而活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程; 活动图能够表示并发活动的情形,而流程图不能; 活动图是面向对象的,而流程图是面向过程的。,小结,活动图是UML中用于对系统的动态方面建模的五种图中的一种,一张活动图从本质上说是一个流程图,显示从活动到活动的控制流 多数情

11、况下,活动图用于对业务过程中顺序和并发的工作流程进行建模。活动图中的基本要素包括状态、转移、分支、分叉和汇合、泳道、对象流。 状态是指在对象的生命周期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。活动图中的状态包括动作状态和活动状态。 对象的动作状态是活动图中最小单位的构造块,表示原子动作。具有原子性、不可中断性和瞬时性。 活动状态表示的是可以分割的动作。 活动图中还有一类特殊的状态,用于表示活动的开始和结束,分别称为起始状态(start state)和终止状态(end state)。,小结(续),转移表示对象将在当前状态中执行动作,并在某个特定事件发生或某个特定的条件满足时进

12、入后继状态。 分支用于描述基于某个条件的可选择路径。 分叉表示把一个单独的控制流分成两个或多个并发的控制流。 汇合表示两个或多个并发控制流的同步发生,一个汇合可以有两个或多个进入转移和一个输出转移。 “泳道”技术,是将一个活动图中的活动状态进行分组。 用活动图描述某个对象时,可以把所涉及的对象放置在活动图上,并用一个依赖将这些对象连接到对它们进行创建、撤销和修改的活动转移上。这种包括依赖关系和对象的应用被称为对象流。,状态图,了解状态图的基本功能和绘制方法,并绘制图书管理系统的状态图,任务目标,状态图,是软件系统进行面向对象分析的一种常用工具,它通过建立对象的生存周期模型(状态)来描述对象随时

13、间变化的动态行为。,状态图概述,状态图组成,起点代表状态图的一个初始状态,此状态代表状态图的起始位置。 终点代表状态图的最后状态,此状态代表状态图的终止位置。,状态图组成-起点和终点,状态图组成,状态是对象操作的前一次活动的结果,通常情况下,状态由对象的属性值以及指向其它对象的链来决定的。“SQL Server 2005实例教程”(图书对象)被借出(在借状态); “软件测试实例教程”(图书对象)在图书馆里(在库状态); 小王(读者对象)在校(在校状态); 小王的借书证(借书证对象)可以用(有效状态); 小王的借书证(借书证对象)丢失(挂失状态); 小王(读者对象)已毕业(毕业状态); 小王的借

14、书证(借书证对象)不可以用(无效状态)。,状态图组成-状态,状态图组成,状态图组成-状态,1名称(name) 是可以把该状态和其他状态区分开的字符串;状态也可能是匿名的,即没有名称。 2进入/退出动作(entry/exit action) 分别指进入和退出这个状态时所执行的动作。 3内部转换(internal transition) 不会导致状态改变的转换。 4子状态 (substate) 主要是在状态的嵌套结构中,包括不相交(顺序活动)或并发(并发活动)子状态。 5延迟事件 (deferred event) 是指在该状态下暂不处理,但将推迟到该对象的另一个状态下排队处理的事件列表。,状态图组

15、成,状态图组成-事件,“事件”指的是发生的且引起某些动作执行的事情,即事件表示在某一特定的时间或空间出现的能够引发状态改变的运动变化。,状态图组成,状态图组成-转换,转换表示当一个特定事件发生或者某些条件满足时,一个源状态下的对象完成一定的动作后将发生状态转变,转向另一个称之为目标状态的状态。,绘制状态图,绘制图书管理系统图书状态图,(1)打开工程book.mdl (2)新建状态图 (3)添加状态 (4)设置状态转移事件 (5)添加活动 (6)调整大小和位置,状态图,活动图 VS 状态图,状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要

16、为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图;而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。,顺序图,了解顺序图的基本功能和绘制方法,并绘制图书管理系统的顺序图,任务目标,顺序图,描述了对象之间传送消息的时间顺序,它用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条消息对应了一个类操作中引起转换的触发事件。,顺序图概述,顺序图,对象:顺序图中的对象的符号与对象图中的对象的符号是一样的,都是使用矩形将对象名称包含起来,并且在对象名称下加下划线。 生命线:生命线是一条垂直的虚线,表示顺序图中的对象在一段时间内的存

17、在。每个对象的底部都带有生命线。,顺序图组成-对象、生命线,顺序图,消息是对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤消。 激活表示该对象被占用以完成某个任务,钝化表示对象处于空闲状态,在等待消息。,顺序图组成-消息、激活,顺序图,(1)打开工程book.mdl (2)新建顺序图 (3)选择类,创建对象,并指定对象名 (4)添加对象间传递的消息,绘制“添加图书”顺序图,提示: 教师演示顺序图的绘制过程,顺序图,协作图,了解协作图的基本功能和绘制方法,并绘制图书管理系统的协作图,任务目标,协作图,协作图(Collaboration Diagram)是顺序图之外的另

18、一种表示交互的方法。主要描述协作对象间的交互和链接,强调的是对象结构相关的信息。顺序图和协作图都描述交互,但是顺序图强调的是时间,而协作图强调的是空间。,协作图概述,典型协作图,协作图,对象 :协作图中的对象与顺序图中的对象的概念是一样的,图形表示方法也是一样的。 链接:一条链接是两个对象间的连接。 消息:协作图中的消息与顺序图中的消息相同。,协作图组成,协作图,(1)打开工程book.mdl (2)新建协作图 (3)添加对象,绘制协作图,(4)添加消息 (5)添加数据流 (6)完成绘制,协作图,顺序图强调按时间展开的消息的传递,清晰地显示了时间次序;对简单的迭代和分支的可视化要比协作图好,常

19、用于场景显示;可以不要顺序号。 协作图强调交互中实例之间的结构关系以及所传送的消息,清晰地显示了对象间关系;对复杂的迭代和分支的可视化以及对多并发控制流的可视化要比顺序图好,常用于显示过程设计细节;有路径和顺序号。,协作图VS顺序图,打开要转换的顺序图或协作图(如:读者预订协作图) (2)依次选择主菜单栏中的【Browse】【Go To Sequence Diagram】,即可将当前的协作图转换成顺序图 。,协作图与顺序图的互换,协作图示例,任务5,(1)打开工程book.mdl (2)新建协作图 (3)添加对象,绘制协作图,(4)添加消息 (5)添加数据流 (6)完成绘制,任务5,顺序图强调按时间展开的消息的传递,清晰地显示了时间次序;对简单的迭代和分支的可视化要比协作图好,常用于场景显示;可以不要顺序号。 协作图强调交互中实例之间的结构关系以及所传送的消息,清晰地显示了对象间关系;对复杂的迭代和分支的可视化以及对多并发控制流的可视化要比顺序图好,常用于显示过程设计细节;有路径和顺序号。,协作图VS顺序图,打开要转换的顺序图或协作图(如:读者预订协作图) (2)依次选择主菜单栏中的【Browse】【Go To Sequence Diagram】,即可将当前的协作图转换成顺序图 。,协作图与顺序图的互换,课堂实践4,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报