建立动态模型-状态图【竹菊书苑】

上传人:博****1 文档编号:567608853 上传时间:2024-07-21 格式:PPT 页数:31 大小:1.32MB
返回 下载 相关 举报
建立动态模型-状态图【竹菊书苑】_第1页
第1页 / 共31页
建立动态模型-状态图【竹菊书苑】_第2页
第2页 / 共31页
建立动态模型-状态图【竹菊书苑】_第3页
第3页 / 共31页
建立动态模型-状态图【竹菊书苑】_第4页
第4页 / 共31页
建立动态模型-状态图【竹菊书苑】_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《建立动态模型-状态图【竹菊书苑】》由会员分享,可在线阅读,更多相关《建立动态模型-状态图【竹菊书苑】(31页珍藏版)》请在金锄头文库上搜索。

1、软件工程导论孙旭光灾害信息工程系1向上教学复 习n对象模型表示静象模型表示静态的、的、结构化的系构化的系统的的“数据数据”性性质。通常,使用通常,使用UML提供的提供的类图建立建立对象模型。象模型。n类图的的绘制:制:类的表示和的表示和类与与类之之间的关系。的关系。创建建对象模型的步象模型的步骤:n确定确定类与与对象象n确定确定类间的关系的关系n划分主划分主题n确定属性和方法确定属性和方法n优化迭代(化迭代(识别继承关系),反复修改承关系),反复修改2向上教学建立对象模型练习n根据描述建立根据描述建立软件公司的件公司的对象模型,即画出象模型,即画出类图。问题陈述如下:一个述如下:一个软件公司有

2、件公司有许多部多部门,分,分为开开发部部门和管理部和管理部门两种。每个部两种。每个部门由部由部门名字名字唯一确定。每个开唯一确定。每个开发部部门开开发多个多个软件件产品,每品,每个个软件件产品都由程序、数据和文档品都由程序、数据和文档组成。成。该公司公司有有许多多员工,分工,分为经理、工作人理、工作人员和开和开发人人员。开开发部部门有有经理和多个开理和多个开发人人员,管理部,管理部门有有经理和多个工作人理和多个工作人员。每个开。每个开发人人员可参加多个开可参加多个开发项目,每个开目,每个开发项目需要多个开目需要多个开发人人员。每位。每位经理可主持多个开理可主持多个开发项目。目。 3向上教学4向

3、上教学本节课内容n第九章面向对象方法学引论第九章面向对象方法学引论 9.59.5、动态模型、动态模型n第十章第十章 面向对象分析面向对象分析10.110.1、面向对象分析的基本过程、面向对象分析的基本过程10.210.2、需求陈述、需求陈述10.310.3、建立对象模型、建立对象模型10.410.4、建立动态模型、建立动态模型10.510.5、建立功能模型、建立功能模型10.610.6、定义服务、定义服务5向上教学动态模型n动态模型表示瞬模型表示瞬时的、行的、行为化的系化的系统的的“控制控制”性性质,它,它规定了定了对象模型中的象模型中的对象的合法象的合法变化序列。化序列。对于一个于一个对象来

4、象来说,在其,在其生命周期的每个特定生命周期的每个特定阶段段中,都有适合中,都有适合该对象的一象的一组运行运行规律和行律和行为规则,用以用以规范范该对象的行象的行为。状状态:是:是对对象属性象属性值的一种抽象。的一种抽象。n各各对象之象之间相互触相互触发(即作用)就形成了一系列的状(即作用)就形成了一系列的状态变化。化。一个触一个触发行行为称作一个事件。称作一个事件。n一个事件分开两个状一个事件分开两个状态,一个状,一个状态隔开两个事件。隔开两个事件。n事件表示事件表示时刻,状刻,状态代表代表时间间隔。隔。这就是对象的状态。这就是对象的状态。6向上教学动态模型通常,使用通常,使用UML提供的提

5、供的状状态图来描来描绘对象的状象的状态、触触发状状态转换的事件以及的事件以及对象的行象的行为(对事件的响事件的响应)。)。每个每个类的的动态行行为用一用一张状状态图来描来描绘,各个,各个类的的状状态图通通过共享事件合并起来,从而构成系共享事件合并起来,从而构成系统的的动态模型。模型。动态模型是基于事件共享而互相关模型是基于事件共享而互相关联的一的一组状状态图的集合。的集合。状态图通过建立类对状态图通过建立类对象的生命周期模型来象的生命周期模型来描述对象随时间变化描述对象随时间变化的动态行为。的动态行为。7向上教学状态图n状状态图适用于描述状适用于描述状态和和动作的作的顺序,不序,不仅可以可以展

6、展现一个一个对象象拥有的状有的状态,还可以可以说明事件如何明事件如何随着随着时间的推移来影响的推移来影响这些状些状态。状状态图表表现从一个状从一个状态到另一个状到另一个状态的控制流。的控制流。n一般情况下,状一般情况下,状态图可以由表示状可以由表示状态的的节点和表示点和表示状状态之之间转换的的带箭箭头的直的直线刻画出来。刻画出来。状状态图主要由元素状主要由元素状态、转换、初始状、初始状态、终止状止状态和判定等和判定等组成。成。8向上教学状态图状状态是状是状态图的重要的重要组成部分。包括:成部分。包括:n状状态名:在状名:在状态图中状中状态名必名必须是唯一的。是唯一的。n入口和出口入口和出口动作

7、:作:进入和退出一个状入和退出一个状态时所所执行的行的边界界动作。作。一个状一个状态可以有或者没有入口和出口可以有或者没有入口和出口动作。作。n内部内部转换:是不:是不导致状致状态改改变的的转换。内部内部转换只有源状只有源状态而没有目而没有目标状状态。n组合状合状态:内部嵌套有子状:内部嵌套有子状态的状的状态。9向上教学状态图转换:用:用带箭箭头的直的直线表示,一端表示,一端连接源状接源状态即即转出的状出的状态,箭,箭头一端一端连接目接目标状状态即即转入的状入的状态。n转换可以可以标注与此注与此转换相关的相关的选项如事件、如事件、动作和作和监护条件。条件。10向上教学状态图初始状初始状态:代表

8、状:代表状态图的起始位置,只能作的起始位置,只能作为转换的源,而不能作的源,而不能作为转换的目的目标。n初始状初始状态在一个状在一个状态图中只允中只允许有一个,它用一个有一个,它用一个实心的心的圆表示。表示。终止状止状态:是模型元素的最后状:是模型元素的最后状态,是一个状,是一个状态图的的终止点。止点。终止状止状态只能作只能作为转换的目的目标,而不,而不能作能作为转换的源。的源。n终止状止状态在一个状在一个状态图中可以有中可以有0个或多个,它用一个或多个,它用一个套有一个个套有一个实心心圆的空心的空心圆表示。表示。11向上教学状态图判定:判定:n用来表示一个事件依据不同的用来表示一个事件依据不

9、同的监护条件条件产生不同的影生不同的影响,即工作流在此响,即工作流在此处按按监护条件的取条件的取值而而发生分支。生分支。n判定用空心小菱形表示。判定用空心小菱形表示。n因因为监护条件条件为布布尔表达式,所以通常条件下的判定表达式,所以通常条件下的判定只有一个入只有一个入转换和两个出和两个出转换。n根据根据监护条件的真假可以触条件的真假可以触发不同的分支不同的分支转换。12向上教学状态图使用状使用状态图进行建模的目行建模的目标是描述跨越多个用例的是描述跨越多个用例的对象在其生命周期中的各种状象在其生命周期中的各种状态及其状及其状态之之间的的转换。n一个完整的系一个完整的系统往往包含很多的往往包含

10、很多的类和和对象,象,这就需就需要要创建几个状建几个状态图进行描述。行描述。创建状建状态图的步的步骤:n识别出建模出建模实体体不需要不需要给所有的所有的类都都创建状建状态图,只有具有重要,只有具有重要动态行行为的的类才需要。才需要。n识别出出实体的各种状体的各种状态n创建相关事件并建相关事件并创建状建状态图13向上教学状态图n练习1:图书馆中中图书的状的状态描述如下:当描述如下:当图书被被购置置进来后,就放在来后,就放在图书馆中;如果中;如果读者将者将图书借走借走时,处于已借出状于已借出状态;如果;如果图书被被归还,图书对象又象又变为在在图书馆状状态。图书馆如果将如果将图书废弃,弃,则图书对象

11、就不再存在。象就不再存在。试画出画出图书对象象的状的状态图。14向上教学状态图n练习2:在温室管理系:在温室管理系统中,有一个中,有一个环境控制器境控制器类,当没有种植作物当没有种植作物时处于空于空闲状状态。一旦种上了作。一旦种上了作物,就要物,就要进行温度控制,定行温度控制,定义气候,即在什么气候,即在什么时期期应达到什么温度。当达到什么温度。当处于夜晚于夜晚时,由于温度下,由于温度下降,要降,要调用用调节温度温度过程,以便保持温度;太阳程,以便保持温度;太阳出来出来时,进入白天状入白天状态,由于温度升高,要,由于温度升高,要调用用调节温度温度过程,保持要求的温度。当日落程,保持要求的温度。

12、当日落时,进入夜晚状入夜晚状态。当作物收。当作物收获,终止气候的控制,止气候的控制,则进入空入空闲状状态。建立。建立环境控制器境控制器类的状的状态图。15向上教学状态图n练习3:当有新同学入学:当有新同学入学时,将会,将会给新同学新同学创建一建一个新的个新的账号,新同学可以用号,新同学可以用这个个账号去号去选课。一。一般来般来说,每个人的,每个人的选课数目是有限的,如数目是有限的,如选择6门课程后将不能再程后将不能再选课。如果已。如果已经选了了6门课程程还要要再再选课,就必,就必须删除已除已选的的课程。直到程。直到这位同学位同学毕业,将其,将其账号号删除。除。请创建学生建学生账号号类的状的状态

13、图。16向上教学状态图n练习4:请创建一个状建一个状态图来描述航班如何从提出来描述航班如何从提出申申请、指定航班、指定航班计划、售票、起划、售票、起飞、飞行到着行到着陆的状的状态过程。程。17向上教学建立动态模型n在开发交互式系统时,动态模型起着重要作用。在开发交互式系统时,动态模型起着重要作用。建立动态模型的步骤:建立动态模型的步骤:n编写典型交互行为脚本。编写典型交互行为脚本。必须保证脚本中不遗漏常见的交互行为必须保证脚本中不遗漏常见的交互行为n从脚本中提取出事物,确定触发每个事件的动作对从脚本中提取出事物,确定触发每个事件的动作对象以及接受事件的目标对象。象以及接受事件的目标对象。n排列

14、事件发生的次序,确定每个对象可能有的状态排列事件发生的次序,确定每个对象可能有的状态以及状态间的转换关系,并用状态图描绘出来。以及状态间的转换关系,并用状态图描绘出来。n比较各个对象的状态图,检查它们之间的一致性,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。确保事件之间的匹配。18向上教学建立动态模型以自动取款机以自动取款机(ATM)(ATM)系统为例进行为例介绍动态模系统为例进行为例介绍动态模型的建立过程:型的建立过程:n第一步:第一步:编写脚本编写脚本n第二步:设想用户界面第二步:设想用户界面用户界面的好坏直接影响用户是否接受这个系统,在用户界面的好坏直接影响用户是否接

15、受这个系统,在分析阶段也不能完全忽略用户界面,要注重这种界面分析阶段也不能完全忽略用户界面,要注重这种界面下的信息信息交换方式。下的信息信息交换方式。n第三步:画事件跟踪图第三步:画事件跟踪图确定事件确定事件画出事件跟踪图画出事件跟踪图19向上教学建立动态模型n第四步:画状第四步:画状态图通常,用一通常,用一张状状态图描描绘一一类对象的行象的行为,它确定了,它确定了由事件序列引出的状由事件序列引出的状态序列。序列。20向上教学建立动态模型根据一根据一张事件跟踪事件跟踪图画出状画出状态图之后,再把其他脚本之后,再把其他脚本的事件跟踪的事件跟踪图合并到已画出的状合并到已画出的状态图中。中。21向上

16、教学22向上教学n考考虑完正常事件之后再考完正常事件之后再考虑边界情况和特殊情况,界情况和特殊情况,其中包括在不适当其中包括在不适当时候候发生的事件生的事件( (例如例如,系,系统正在正在处理某个事理某个事务时,用,用户要求取消要求取消该事事务)。23向上教学建立动态模型24向上教学建立动态模型总行类状态图总行类状态图25向上教学建立动态模型分行类状态图分行类状态图26向上教学定义服务n对象是由描述属性的数据,以及可以象是由描述属性的数据,以及可以对这些数据施些数据施加的操作加的操作(即服即服务),封装在一起构成的独立,封装在一起构成的独立单元。元。n为了建立完整的了建立完整的对象模型,既要确

17、定象模型,既要确定类中中应该定定义的属性,又要确定的属性,又要确定类中中应该定定义的服的服务。通常需要等到建立了通常需要等到建立了动态模型和功能模型之后,才模型和功能模型之后,才能最能最终确定确定类中中应有的服有的服务,因,因为这两个模型更明两个模型更明确地描述了每个确地描述了每个类应该提供哪些服提供哪些服务。定定义服服务的方法:的方法:n常常规行行为n从事件从事件导出的操作出的操作n与数据流与数据流图中中处理框理框对应的操作的操作n利用利用继承减少冗余操作承减少冗余操作类中定义的每个属性都是可以类中定义的每个属性都是可以访问的,则可在每个类中定义访问的,则可在每个类中定义读、写该类每个属性的

18、操作。读、写该类每个属性的操作。状态图中发往对象的事件也就是该对状态图中发往对象的事件也就是该对象接收到的消息,因此该对象必须有象接收到的消息,因此该对象必须有由消息选择符指定的操作,这个操作由消息选择符指定的操作,这个操作修改对象状态(即属性值)并启动相修改对象状态(即属性值)并启动相应的服务。应的服务。数据流图中的每个处理框都数据流图中的每个处理框都与一个对象(也可能是若干与一个对象(也可能是若干个对象)上的操作相对应。个对象)上的操作相对应。利用继承机制以减少所需定义利用继承机制以减少所需定义的服务数目。的服务数目。抽取出相似类的公共属性和操抽取出相似类的公共属性和操作,以建立这些类的新

19、父类,作,以建立这些类的新父类,并在类等级的不同层次中正确并在类等级的不同层次中正确地定义各个服务。地定义各个服务。27向上教学OMT与UML区别功能模型功能模型数据模型数据模型动态模型动态模型OMT数据流图数据流图类图类图 对象模型对象模型状态图状态图 ,有交互行,有交互行为的先画事件跟踪图为的先画事件跟踪图UML用例图用例图类图类图行为模型:状态图行为模型:状态图交互模型:时序图交互模型:时序图28向上教学总 结n动态模型表示瞬模型表示瞬时的、行的、行为化的系化的系统的的“控制控制”性性质,它,它规定了定了对象模型中的象模型中的对象的合法象的合法变化序列。化序列。通常,使用通常,使用UML

20、提供的状提供的状态图来描来描绘对象的状象的状态、触触发状状态转换的事件以及的事件以及对象的行象的行为(对事件的响事件的响应)。创建状建状态图的步的步骤:n识别出建模出建模实体体n识别出出实体的各种状体的各种状态n创建相关事件并建相关事件并创建状建状态图29向上教学总 结创建建动态模型的步模型的步骤:n编写典型交互行写典型交互行为脚本。脚本。n从脚本中提取出事物,确定触从脚本中提取出事物,确定触发每个事件的每个事件的动作作对象象以及接受事件的目以及接受事件的目标对象。象。n排列事件排列事件发生的次序,确定每个生的次序,确定每个对象可能有的状象可能有的状态以以及状及状态间的的转换关系,并用状关系,并用状态图描描绘出来。出来。n比比较各个各个对象的状象的状态图,检查它它们之之间的一致性,确的一致性,确保事件之保事件之间的匹配。的匹配。30向上教学作业n教材教材P73页第第6题。31向上教学

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号