《图书管理系统动态建模.ppt》由会员分享,可在线阅读,更多相关《图书管理系统动态建模.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、动态建模第一页,编辑于星期六:二十点四十八分。本章学习要点本章学习要点l活动图的功能及绘制活动图的功能及绘制l状态图的功能及绘制状态图的功能及绘制l顺序图的功能及绘制顺序图的功能及绘制l协作图的功能及绘制协作图的功能及绘制第二页,编辑于星期六:二十点四十八分。动态建模概述 了解动态模型的基本功能和基本组成了解动态模型的基本功能和基本组成任务目标任务目标l所有系统(包括软件系统)均可表示为两个方面:静态结构和动态行为。l为了能够很好地描述软件系统中的动态特性,UML提供了状态图、活动图、顺序图和协作图来描述系统的结构和行为。l通常情况下,系统中的对象的相互通信是通过相互发送消息来实现的。l一组对
2、象为了实现一些功能而进行通信称之为交互,可以通过状态图、活动图、顺序图和协作图来描述系统的动态行为。动态建模概述动态建模概述第三页,编辑于星期六:二十点四十八分。活动图l掌握活动图的基本概念掌握活动图的基本概念l掌握活动图的图形表示掌握活动图的图形表示l熟悉活动图的应用熟悉活动图的应用l 任务任务 根据图书管理系统开发进度,用活动图描述根据图书管理系统开发进度,用活动图描述系统中已知用例的业务过程:系统中已知用例的业务过程:1描述新增读者用例描述新增读者用例2描述删除读者用例描述删除读者用例 第四页,编辑于星期六:二十点四十八分。任务描述:新增读者活动图“新增读者用例属于读者信息管理中的一个功
3、能,主要用于在系统中增加新的读者信息,其具体的办理流程是:(1)读者填写申请表,并交给图书管理员;(2)图书管理员将申请表中的信息通过录入界面,输入到图书管理系统;(3)系统中的业务逻辑组件将判断输入的信息是否合法;(4)如果不合法则转入步骤(5),否则转入步骤(6);(5)显示添加错误信息,转到(8);(6)在数据库添加相信的用户信息;(7)显示添加成功信息;(8)结束。第五页,编辑于星期六:二十点四十八分。活动图的基本概念使用活动图主要目的主要目的:l描述一个操作执行过程中(操作实现的实例化)所完成的工作(动作);l描述对象内部的工作;l显示如何执行一组相关的动作,以及这些动作如何影响它们
4、周围的对象;l显示用例的实例是如何执行动作以及如何改变对象状态;l说明一次商务活动中的参与者、工作流、组织和对象是如何工作的。活动图概述活动图概述l活动图(ActivityDiagram)显示活动动作及其结果,着重描述操作(方法)实现中所完成的工作以及用例实例或对象中的活动。l活动图的主要目的是描述动作(执行的工作和活动)及对象状态改变的结果。第六页,编辑于星期六:二十点四十八分。活动图的基本要素 状态、转移、分支、分叉和汇合、泳道、对象流等。状态、转移、分支、分叉和汇合、泳道、对象流等。活动图的基本要素活动图的基本要素状态(状态(State)State)状态状态是指在对象的生命周期中满足某些
5、条件、执行某些活动或等待某些事件时的一个条件或状况。活动图中的状态包括动作状态动作状态和活动状态活动状态。第七页,编辑于星期六:二十点四十八分。动作状态动作状态动作状态对象的动作状态是活动图中最小单位的构造块,表示原子动作原子动作。动作状态有三个特性:原子性原子性:是构造活动图的最小单位,不可再分;不可中断性不可中断性:一旦运行就不能中断,一直运行到结束;瞬时性:瞬时性:所占用时间极短,有时甚至可以忽略。动作状态使用带圆端的方框表示第八页,编辑于星期六:二十点四十八分。活动状态活动状态活动状态l表示的是可以分割可以分割的动作 l特点是:它可以被分解成其他子活动或动作状态,它能够被中断,占有有限
6、的时间。l活动状态可以理解为一个组合,它的控制流由其他活动状态或动作状态组成。l图形表示同动作状态 第九页,编辑于星期六:二十点四十八分。活动图中的特殊状态活动图中的特殊状态活动图中的特殊状态l活动图中还有一类特殊的状态,用于表示活动的开始和结束,分别称为起始状态起始状态(start state)和终止状态终止状态(end state)。l起始状态表示一个工作流程的开始,用实心圆点实心圆点来表示 l终止状态表示了一个活动图的最后和终结状态,用实心圆点实心圆点外加一个小圆圈外加一个小圆圈来表示 第十页,编辑于星期六:二十点四十八分。转移转移(转移(transition)l转移是两个状态间的一种关
7、系,表示对象将在当前状态中执行动作,并在某个特定事件发生或某个特定的条件满足时进入后继状态。l在UML中用一条简单的直线表示一个转移一条简单的直线表示一个转移l示例:打电话示例:打电话第十一页,编辑于星期六:二十点四十八分。分支分支分支(Branch)l分支用于描述基于某个条件的可选择路径。l一个分支可以有一个进入转移和两个或多个输出转移。l在每条输出转移上都有监护条件表达式保护,当且仅当监护条件表达式为真时,该输出路径才有效。l在所有输出转移中,其监护条件不能重叠,而且它们应该覆盖所有的可能性。l分支在图形表示上 用菱形表示第十二页,编辑于星期六:二十点四十八分。活动图示例示例示例图书馆管理
8、系统中需要提供对用户信息的修改功能,请使用活动图描述该用例。第十三页,编辑于星期六:二十点四十八分。分叉和汇合分叉(fork)和汇合(join)l在UML中使用分叉和汇合表示并行并行发生的事件流l分叉分叉表示把一个单独的控制流分成两个或多个并发的控制流。一个分叉可以有一个进入转移和两个或多个输出转移,每一个转移表示一个独立的控制流。l汇合汇合表示两个或多个并发控制流的同步发生,一个汇合可以有两个或多个进入转移和一个输出转移。l分叉和汇合应该是平衡的平衡的l分叉和汇合在图形上都使用同步条来表示,同步条通常用一条粗的水平线表示 第十四页,编辑于星期六:二十点四十八分。活动图示例示例示例描述打电话活
9、动中的并发事件描述打电话活动中的并发事件第十五页,编辑于星期六:二十点四十八分。泳道泳道(泳道(swimlane)l“泳道泳道”技术技术,是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。l“泳道”技术来描述每个活动是由哪个对象负责完成lUML中,每个组被称为一个泳道,用一条垂直的实线与邻居分开l每个活动都明确属于一个泳道,不可以跨越泳道,而转移则可以跨越泳道第十六页,编辑于星期六:二十点四十八分。对象流l包括依赖关系依赖关系和对象的应用对象的应用被称为对象流。对象流对象流是动作和对象间的关联关联。l对象流可用于对下列关系建模:动作状态对对象的使用
10、动作状态对对象的影响。l在UML中,使用矩形表示对象矩形表示对象,对象和动作之间使用带箭头的虚线连接,带箭头的虚线表示对象流。示例示例:用活动图描述客户在商店中购买物品的过程。(使用对象流技术描述购物这个动态过程中系统内对象的状态变化)第十七页,编辑于星期六:二十点四十八分。活动图的建模技术活动图的建模技术活动图的建模技术l活动图用于活动图用于对系统的动态行为建模动态行为建模,在对一个系统建模时,通常有两种使用活动图的方式:为工作流建模(动作流指所有动作状态之间的转换)为对象的操作建模 第十八页,编辑于星期六:二十点四十八分。活动图的建模步骤使用活动图对系统建模使用活动图对系统建模 的步骤的步
11、骤确定活动图所关注的业务流程业务流程。确定该业务流程中的业务对象业务对象。确定该工作流的起始起始状态和终止终止状态。从该工作流的起始状态开始,说明随着时间发生的动作和动作和活动活动,并在活动图中把它们表示成活动状态或动作状态。将复杂的动作,或多次出现的动作集合归并到一个活动状态,并对每个这样的活动状态提供一个可展开的单独的活动图。找出连接这些活动和动作状态的转移转移。如果工作流中涉及重要的对象,则也把它们加入到活动图中。第十九页,编辑于星期六:二十点四十八分。任务解决新增读者用例属于读者信息管理中的一个功能,主要用于在系统中增加新的读者信息,其具体的办理流程是:(1)读者填写申请表,并交给图书
12、管理员;(2)图书管理员将申请表中的信息通过录入界面,输入到图书管理系统;(3)系统中的业务逻辑组件将判断输入的信息是否合法;(4)如果不合法则转入步骤(5),否则转入步骤(6);(5)显示添加错误信息,转到(8);(6)在数据库添加相信的用户信息;(7)显示添加成功信息;(8)结束。第二十页,编辑于星期六:二十点四十八分。任务解决第二十一页,编辑于星期六:二十点四十八分。补充:绘制图书管理系统读者活动图绘制图书管理系统读者活动图第二十二页,编辑于星期六:二十点四十八分。活动图活动图 VS VS 流程图流程图l流程图着重描述处理过程处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间
13、有严格的顺序和时间关系;而活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为系统的行为,而非系统的处理过程;l活动图能够表示并发活动的情形,而流程图不能;l活动图是面向对象的,而流程图是面向过程的。第二十三页,编辑于星期六:二十点四十八分。小结活动图是UML中用于对系统的动态方面建模的五种图中的一种,一张活动图从本质上说是一个流程图,显示从活动到活动的控制流多数情况下,活动图用于对业务过程中顺序和并发的工作流程进行建模。活动图中的基本要素包括状态、转移、分支、分叉和汇合、泳道、对象流。状态状态是指在对象的生命周期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。
14、活动图中的状态包括动作状态和活动状态。对象的动作状态动作状态是活动图中最小单位的构造块,表示原子动作。具有原子性、不可中断性和瞬时性。活动状态活动状态表示的是可以分割的动作。活动图中还有一类特殊的状态,用于表示活动的开始和结束,分别称为起始起始状态状态(start state)和终止状态终止状态(end state)。第二十四页,编辑于星期六:二十点四十八分。小结(续)转移转移表示对象将在当前状态中执行动作,并在某个特定事件发生或某个特定的条件满足时进入后继状态。分支分支用于描述基于某个条件的可选择路径。分叉分叉表示把一个单独的控制流分成两个或多个并发的控制流。汇合汇合表示两个或多个并发控制流
15、的同步发生,一个汇合可以有两个或多个进入转移和一个输出转移。“泳道泳道”技术,是将一个活动图中的活动状态进行分组。用活动图描述某个对象时,可以把所涉及的对象放置在活动图上,并用一个依赖将这些对象连接到对它们进行创建、撤销和修改的活动转移上。这种包括依赖关系和对象的应用被称为对象流。第二十五页,编辑于星期六:二十点四十八分。状态图 了解状态图的基本功能和绘制方法,并绘制图了解状态图的基本功能和绘制方法,并绘制图书管理系统的状态图书管理系统的状态图任务目标任务目标第二十六页,编辑于星期六:二十点四十八分。状态图是软件系统进行面向对象分析的一种常用工具,它通过建立对象的生存周期模型生存周期模型(状态
16、)来描述对象随时间变化的动态行为。状态图概述状态图概述第二十七页,编辑于星期六:二十点四十八分。状态图组成l起点起点代表状态图的一个初始状态,此状态代表状态图的起始位置。l终点终点代表状态图的最后状态,此状态代表状态图的终止位置。状态图组成状态图组成-起点和终点起点和终点第二十八页,编辑于星期六:二十点四十八分。状态图组成 状态状态是对象操作的前一次活动的结果,通常情况下,状态由对象的属性值以及指向其它对象的链来决定的。l“SQLServer2005实例教程”(图书对象)被借出(在借在借状态);l“软件测试实例教程”(图书对象)在图书馆里(在库在库状态);l小王(读者对象)在校(在校在校状态)
17、;l小王的借书证(借书证对象)可以用(有效有效状态);l小王的借书证(借书证对象)丢失(挂失挂失状态);l小王(读者对象)已毕业(毕业毕业状态);l小王的借书证(借书证对象)不可以用(无效无效状态)。状态图组成状态图组成-状态状态第二十九页,编辑于星期六:二十点四十八分。状态图组成状态图组成状态图组成-状态状态1名称(名称(name)是可以把该状态和其他状态区分开的字符串;状态也可能是匿名的,即没有名称。2进入进入/退出动作退出动作(entry/exit action)分别指进入和退出这个状态时所执行的动作。3内部转换(内部转换(internal transition)不会导致状态改变的转换。
18、4子状态子状态(substate)主要是在状态的嵌套结构中,包括不相交(顺序活动)或并发(并发活动)子状态。5延迟事件延迟事件(deferred event)是指在该状态下暂不处理,但将推迟到该对象的另一个状态下排队处理的事件列表。第三十页,编辑于星期六:二十点四十八分。状态图组成状态图组成状态图组成-事件事件“事件”指的是发生的且引起某些动作执行的事情事情,即事件表示在某一特定的时间或空间出现的能够引发状态改变的运动变化。第三十一页,编辑于星期六:二十点四十八分。状态图组成状态图组成状态图组成-转换转换转换表示当一个特定事件发生或者某些条件满足时,一个源状态下的对象完成一定的动作后将发生状态
19、转变转变,转向另一个称之为目标状态的状态。第三十二页,编辑于星期六:二十点四十八分。绘制状态图绘制图书管理系统图书状态图绘制图书管理系统图书状态图(1)打开工程book.mdl(2)新建状态图(3)添加状态(4)设置状态转移事件(5)添加活动(6)调整大小和位置第三十三页,编辑于星期六:二十点四十八分。状态图活动图活动图 VS VS 状态图状态图l状态图描述类的对象所有可能的状态可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图;l而活动图描述满足用例要求所要进行的活动以及活动
20、间的约束关系活动以及活动间的约束关系,有利于识别并行活动。第三十四页,编辑于星期六:二十点四十八分。顺序图 了解顺序图的基本功能和绘制方法,并绘了解顺序图的基本功能和绘制方法,并绘制图书管理系统的顺序图制图书管理系统的顺序图任务目标任务目标第三十五页,编辑于星期六:二十点四十八分。顺序图描述了对象之间传送消息的时间顺序传送消息的时间顺序,它用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条消息对应了一个类操作中引起转换的触发事件。顺序图概述顺序图概述第三十六页,编辑于星期六:二十点四十八分。顺序图对象:对象:顺序图中的对象的符号与对象图中的对象的符号是一样的,都是使用矩形将对象名称
21、包含起来,并且在对象名称下加下划线。生命线:生命线:生命线是一条垂直的虚线,表示顺序图中的对象在一段时间内的存在。每个对象的底部都带有生命线。顺序图组成顺序图组成-对象、生命线对象、生命线第三十七页,编辑于星期六:二十点四十八分。顺序图消息消息是对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤消。激活激活表示该对象被占用以完成某个任务,钝化表示对象处于空闲状态,在等待消息。顺序图组成顺序图组成-消息、激活消息、激活第三十八页,编辑于星期六:二十点四十八分。顺序图(1)打开工程book.mdl(2)新建顺序图(3)选择类,创建对象,并指定对象名(4)添加对象间传递的消
22、息绘制绘制“添加图书添加图书”顺序图顺序图提示:提示:教师演示顺序图的绘制过程第三十九页,编辑于星期六:二十点四十八分。顺序图第四十页,编辑于星期六:二十点四十八分。协作图 了解协作图的基本功能和绘制方法,并绘了解协作图的基本功能和绘制方法,并绘制图书管理系统的协作图制图书管理系统的协作图任务目标任务目标第四十一页,编辑于星期六:二十点四十八分。协作图协作图(CollaborationDiagram)是顺序图之外的另一种表示交互的方法。主要描述协作对象间的交互和链接,强调的是对象结构相关的信息。顺序图和协作图都描述交互,但是顺序图强调的是时间时间,而协作图强调的是空间空间。协作图概述协作图概述
23、典典型型协协作作图图第四十二页,编辑于星期六:二十点四十八分。协作图对象对象:协作图中的对象与顺序图中的对象的概念是一样的,图形表示方法也是一样的。链接链接:一条链接是两个对象间的连接。消息消息:协作图中的消息与顺序图中的消息相同。协作图组成协作图组成第四十三页,编辑于星期六:二十点四十八分。协作图(1)打开工程book.mdl(2)新建协作图(3)添加对象绘制协作图绘制协作图(4)添加消息(5)添加数据流(6)完成绘制第四十四页,编辑于星期六:二十点四十八分。协作图l顺序图强调按时间展开的消息的传递,清晰地显示了时间次序;对简单的迭代和分支的可视化要比协作图好,常用于场景显示;可以不要顺序号
24、。l协作图强调交互中实例之间的结构关系以及所传送的消息,清晰地显示了对象间关系;对复杂的迭代和分支的可视化以及对多并发控制流的可视化要比顺序图好,常用于显示过程设计细节;有路径和顺序号。协作图协作图VSVS顺序图顺序图l打开要转换的顺序图或协作图(如:读者预订协作图)l(2)依次选择主菜单栏中的【Browse】【GoToSequenceDiagram】,即可将当前的协作图转换成顺序图。协作图与顺序图的互换协作图与顺序图的互换第四十五页,编辑于星期六:二十点四十八分。协作图示例第四十六页,编辑于星期六:二十点四十八分。任务5(1)打开工程book.mdl(2)新建协作图(3)添加对象绘制协作图绘
25、制协作图(4)添加消息(5)添加数据流(6)完成绘制第四十七页,编辑于星期六:二十点四十八分。任务5l顺序图强调按时间展开的消息的传递,清晰地显示了时间次序;对简单的迭代和分支的可视化要比协作图好,常用于场景显示;可以不要顺序号。l协作图强调交互中实例之间的结构关系以及所传送的消息,清晰地显示了对象间关系;对复杂的迭代和分支的可视化以及对多并发控制流的可视化要比顺序图好,常用于显示过程设计细节;有路径和顺序号。协作图协作图VSVS顺序图顺序图l打开要转换的顺序图或协作图(如:读者预订协作图)l(2)依次选择主菜单栏中的【Browse】【GoToSequenceDiagram】,即可将当前的协作图转换成顺序图。协作图与顺序图的互换协作图与顺序图的互换第四十八页,编辑于星期六:二十点四十八分。课堂实践4第四十九页,编辑于星期六:二十点四十八分。