资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,软件工程与,Rose,建模案例教程,第,7,章,图书管理系统动态建模,主编:刘志成,本章学习导航,本章学习要点,状态图的功能及绘制,活动图的功能及绘制,顺序图的功能及绘制,协作图的功能及绘制,教学课时:,8,课时,任务,1,了解动态模型的基本功能和基本组成,任务目标,小组讨论法,资料查询法,模仿实践,学习方法,任务,1,所有系统(包括软件系统)均可表示为两个方面:静态结构和动态行为。,为了能够很好地描述软件系统中的动态特性,,UML,提供了状态图、活动图、顺序图和协作图来描述系统的结构和行为。,通常情况下,系统中的对象的相互通信是通过相互发送消息来实现的。,一组对象为了实现一些功能而进行通信称之为交互,可以通过状态图、活动图、顺序图和协作图来描述系统的动态行为。,动态建模概述,任务,2,了解状态图的基本功能和绘制方法,并绘制图书管理系统的状态图,任务目标,小组讨论法,资料查询法,模仿实践,学习方法,任务,2,是软件系统进行面向对象分析的一种常用工具,它通过建立对象的,生存周期模型,(状态)来描述对象随时间变化的动态行为。,状态图概述,任务,2,起点,代表状态图的一个初始状态,此状态代表状态图的起始位置。,终点,代表状态图的最后状态,此状态代表状态图的终止位置。,状态图组成,-,起点和终点,任务,2,状态,是对象操作的前一次活动的结果,通常情况下,状态由对象的属性值以及指向其它对象的链来决定的。,“,SQL Server 2005,实例教程”(图书对象)被借出(,在借,状态);,“软件测试实例教程”(图书对象)在图书馆里(,在库,状态);,小王(读者对象)在校(,在校,状态);,小王的借书证(借书证对象)可以用(,有效,状态);,小王的借书证(借书证对象)丢失(,挂失,状态);,小王(读者对象)已毕业(,毕业,状态);,小王的借书证(借书证对象)不可以用(,无效,状态)。,状态图组成,-,状态,任务,2,状态图组成,-,状态,任务,2,状态图组成,-,事件,“事件”指的是发生的且引起某些动作执行的,事情,,即事件表示在某一特定的时间或空间出现的能够引发状态改变的运动变化。,任务,2,状态图组成,-,转换,转换表示当一个特定事件发生或者某些条件满足时,一个源状态下的对象完成一定的动作后将发生状态,转变,,转向另一个称之为目标状态的状态。,任务,2,绘制图书管理系统图书状态图,(,1,)打开工程,book.mdl,(,2,)新建状态图,(,3,)添加状态,(,4,)设置状态转移事件,(,5,)添加活动,(,6,)调整大小和位置,提示:,教师演示状态图的绘制过程,课堂实践,1,(,1,)绘制电子商务系统的商品状态图,并对不同状态间的转换进行描述(参照书中的提示)。,(,2,)阅读如图,7-16,所示的学生选课系统中的课程状态图,试着对不同状态间的转换进行描述(参照书中的提示),操作要求,课堂实践,1,(,1,),maxstudents,表示选修某一门课程的最多人数。,(,2,),students,表示选修了某一门课程的人数。,(,3,),after this term,表示学期结束,操作提示,任务,3,了解活动图的基本功能和绘制方法,并绘制图书管理系统的活动图,任务目标,小组讨论法,资料查询法,模仿实践,学习方法,任务,3,使用活动图,主要目的,:,描述一个操作执行过程中(操作实现的实例化)所完成的工作(动作);,描述对象内部的工作;,显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象;,显示用例的实例是如何执行动作以及如何改变对象状态;,说明一次商务活动中的参与者、工作流、组织和对象是如何工作的。,活动图概述,活动图(,Activity Diagram,)显示活动动作及其结果,着重描述操作(方法)实现中所完成的工作以及用例实例或对象中的活动。,活动图的主要目的是描述动作(执行的工作和活动)及对象状态改变的结果。,任务,3,典型活动图,机场个,人登记,活动图,任务,3,活动图组成,-,动作状态和活动状态,动作状态是指执行原子的、不可中断的动作,并在此动作完成后转换到另一个状态。,活动状态用于表达状态机中的非原子的运行,。,任务,3,活动图组成,-,动作流、分支和合并,动作流,是指所有动作状态之间的转换。,分支,是软件系统流程中很常见的一种逻辑,它一般用来表示对象所具有的条件行为,。,合并,包括两个带条件的入转换和一个出转换(即两个入口和一个出口),用来表示从对应的分支开始的条件行为的结束。,任务,3,活动图组成,-,分叉与汇合,分叉,用于将动作流分为两个或多个并发运行的分支,每一个分叉可以有一个入转换和两个或多个出转换,并且每个转换都可以是独立的控制流;,汇合,则用于将不同的分支汇聚一起,当所有分支的控制流都达到汇合点后,控制才能继续往下进行,每个汇合可以有两个或多个输入转换和一个输出转换。,任务,3,活动图组成,-,泳道,泳道,,可以在活动图中区分负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。,任务,3,活动图组成,-,对象流、组合活动,对象可以在活动图中显示,表示动作状态或者活动状态与对象之间的依赖关系。,包含了若干活动或动作的活动称之为,组合活动,。,任务,3,绘制图书管理系统读者活动图,(,1,)打开工程,book.mdl,(,2,)新建活动图,(,3,)添加读者活动图的起点和终点,(,4,)添加动作状态或活动状态,(,5,)增加分支与合并,(,6,)增加分叉与汇合,提示:,教师演示活动图的绘制过程,任务,3,活动图,VS,流程图,流程图着重描述,处理过程,,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系;而活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是,系统的行为,,而非系统的处理过程;,活动图能够表示并发活动的情形,而流程图不能;,活动图是面向对象的,而流程图是面向过程的。,活动图,VS,状态图,状态图描述类的对象所有,可能的状态,以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图;,而活动图描述满足用例要求所要进行的,活动以及活动间的约束关系,,有利于识别并行活动。,课堂实践,2,(,1,)通过学习小组讨论和上网查询资料形式完成。,(,2,)可以绘制流程图,再将流程图与活动图进行比较。,操作提示,(,1,)阅读图书管理系统的系统管理员维护读者信息的活动图,试着对系统管理员的维护读者活动进行描述。,(,2,)绘制电子商务系统的系统管理员维护商品信息的活动图。,操作要求,任务,4,了解顺序图的基本功能和绘制方法,并绘制图书管理系统的顺序图,任务目标,小组讨论法,资料查询法,模仿实践,学习方法,任务,4,描述了对象之间,传送消息的时间顺序,,它用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条消息对应了一个类操作中引起转换的触发事件。,顺序图概述,任务,4,对象:,顺序图中的对象的符号与对象图中的对象的符号是一样的,都是使用矩形将对象名称包含起来,并且在对象名称下加下划线。,生命线:,生命线是一条垂直的虚线,表示顺序图中的对象在一段时间内的存在。每个对象的底部都带有生命线。,顺序图组成,-,对象、生命线,任务,4,消息,是对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤消。,激活,表示该对象被占用以完成某个任务,钝化表示对象处于空闲状态,在等待消息。,顺序图组成,-,消息、激活,任务,4,(,1,)打开工程,book.mdl,(,2,)新建顺序图,(,3,)选择类,创建对象,并指定对象名,(,4,)添加对象间传递的消息,绘制“添加图书”顺序图,提示:,教师演示顺序图的绘制过程,课堂实践,3,(,1,)通过学习小组讨论和上网查询资料形式完成。,(,2,)在顺序图中通常要用到控制类和边界类。,操作提示,(,1,)阅读如图,7-41,所示学生选课系统中的管理员维护课程的顺序图,试着描述不同对象间的消息传递顺序。,(,2,)绘制电子商务系统中用户购物的顺序图。,操作要求,课堂实践,3,任务,5,了解协作图的基本功能和绘制方法,并绘制图书管理系统的协作图,任务目标,小组讨论法,资料查询法,模仿实践,学习方法,任务,5,协作图(,Collaboration Diagram,)是顺序图之外的另一种表示交互的方法。主要描述协作对象间的交互和链接,强调的是对象结构相关的信息。顺序图和协作图都描述交互,但是顺序图强调的是,时间,,而协作图强调的是,空间,。,协作图概述,典型协作图,任务,5,对象,:,协作图中的对象与顺序图中的对象的概念是一样的,图形表示方法也是一样的。,链接,:,一条链接是两个对象间的连接。,消息,:,协作图中的消息与顺序图中的消息相同。,协作图组成,任务,5,(,1,)打开工程,book.mdl,(,2,)新建协作图,(,3,)添加对象,绘制协作图,(,4,)添加消息,(,5,)添加数据流,(,6,)完成绘制,任务,5,顺序图强调按时间展开的消息的传递,清晰地显示了时间次序;对简单的迭代和分支的可视化要比协作图好,常用于场景显示;可以不要顺序号。,协作图强调交互中实例之间的结构关系以及所传送的消息,清晰地显示了对象间关系;对复杂的迭代和分支的可视化以及对多并发控制流的可视化要比顺序图好,常用于显示过程设计细节;有路径和顺序号。,协作图,VS,顺序图,打开要转换的顺序图或协作图(如:读者预订协作图),(,2,)依次选择主菜单栏中的,【Browse】,【Go To Sequence Diagram】,,即可将当前的协作图转换成顺序图,。,协作图与顺序图的互换,课堂实践,4,(,1,)通过学习小组讨论和上网查询资料形式完成。,(,2,)通过比较进一步理解顺序图和协作图的侧重点。,操作提示,(,1,)阅读如图,7-47,所示的学生选课系统中的维护课程信息的协作图,描述维护课程过程中对象之间消息的传递,并与图,7-41,进行比较。,(,2,)试着将,【,课堂实践,3】,中绘制的顺序图转换成协作图。,(,3,)绘制电子商务系统中后台订单处理的协作图。,操作要求,课堂实践,4,课外拓展,(,1,)小组为单位进行讨论,首先可以使用手绘方式。,(,2,)根据绘制的模型图,对系统的动态形为进行描述。,操作提示,(,1,)绘制,B-C,电子商务系统订单状态图。,(,2,)绘制,B-C,电子商务系统订单处理活动图。,(,3,)绘制,B-C,电子商务系统前台用户购物顺序图。,(,4,)绘制,B-C,电子商务系统后台管理员处理订单的协作图,操作要求,
展开阅读全文