建立动态模型-状态图.ppt

上传人:牧羊曲112 文档编号:5764507 上传时间:2023-08-18 格式:PPT 页数:31 大小:879KB
返回 下载 相关 举报
建立动态模型-状态图.ppt_第1页
第1页 / 共31页
建立动态模型-状态图.ppt_第2页
第2页 / 共31页
建立动态模型-状态图.ppt_第3页
第3页 / 共31页
建立动态模型-状态图.ppt_第4页
第4页 / 共31页
建立动态模型-状态图.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《建立动态模型-状态图.ppt》由会员分享,可在线阅读,更多相关《建立动态模型-状态图.ppt(31页珍藏版)》请在三一办公上搜索。

1、软件工程导论,孙旭光灾害信息工程系,复 习,对象模型表示静态的、结构化的系统的“数据”性质。通常,使用UML提供的类图建立对象模型。类图的绘制:类的表示和类与类之间的关系。创建对象模型的步骤:确定类与对象确定类间的关系划分主题确定属性和方法优化迭代(识别继承关系),反复修改,建立对象模型练习,根据描述建立软件公司的对象模型,即画出类图。问题陈述如下:一个软件公司有许多部门,分为开发部门和管理部门两种。每个部门由部门名字唯一确定。每个开发部门开发多个软件产品,每个软件产品都由程序、数据和文档组成。该公司有许多员工,分为经理、工作人员和开发人员。开发部门有经理和多个开发人员,管理部门有经理和多个工

2、作人员。每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员。每位经理可主持多个开发项目。,本节课内容,第九章面向对象方法学引论 9.5、动态模型第十章 面向对象分析10.1、面向对象分析的基本过程10.2、需求陈述10.3、建立对象模型10.4、建立动态模型10.5、建立功能模型10.6、定义服务,动态模型,动态模型表示瞬时的、行为化的系统的“控制”性质,它规定了对象模型中的对象的合法变化序列。对于一个对象来说,在其生命周期的每个特定阶段中,都有适合该对象的一组运行规律和行为规则,用以规范该对象的行为。状态:是对对象属性值的一种抽象。各对象之间相互触发(即作用)就形成了一系列的状态变

3、化。一个触发行为称作一个事件。一个事件分开两个状态,一个状态隔开两个事件。事件表示时刻,状态代表时间间隔。,这就是对象的状态。,动态模型,通常,使用UML提供的状态图来描绘对象的状态、触发状态转换的事件以及对象的行为(对事件的响应)。每个类的动态行为用一张状态图来描绘,各个类的状态图通过共享事件合并起来,从而构成系统的动态模型。动态模型是基于事件共享而互相关联的一组状态图的集合。,状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为。,状态图,状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可以说明事件如何随着时间的推移来影响这些状态。状态图表现从一个状态到另一

4、个状态的控制流。一般情况下,状态图可以由表示状态的节点和表示状态之间转换的带箭头的直线刻画出来。状态图主要由元素状态、转换、初始状态、终止状态和判定等组成。,状态图,状态是状态图的重要组成部分。包括:状态名:在状态图中状态名必须是唯一的。入口和出口动作:进入和退出一个状态时所执行的边界动作。一个状态可以有或者没有入口和出口动作。内部转换:是不导致状态改变的转换。内部转换只有源状态而没有目标状态。组合状态:内部嵌套有子状态的状态。,状态图,转换:用带箭头的直线表示,一端连接源状态即转出的状态,箭头一端连接目标状态即转入的状态。转换可以标注与此转换相关的选项如事件、动作和监护条件。,状态图,初始状

5、态:代表状态图的起始位置,只能作为转换的源,而不能作为转换的目标。初始状态在一个状态图中只允许有一个,它用一个实心的圆表示。终止状态:是模型元素的最后状态,是一个状态图的终止点。终止状态只能作为转换的目标,而不能作为转换的源。终止状态在一个状态图中可以有0个或多个,它用一个套有一个实心圆的空心圆表示。,状态图,判定:用来表示一个事件依据不同的监护条件产生不同的影响,即工作流在此处按监护条件的取值而发生分支。判定用空心小菱形表示。因为监护条件为布尔表达式,所以通常条件下的判定只有一个入转换和两个出转换。根据监护条件的真假可以触发不同的分支转换。,状态图,使用状态图进行建模的目标是描述跨越多个用例

6、的对象在其生命周期中的各种状态及其状态之间的转换。一个完整的系统往往包含很多的类和对象,这就需要创建几个状态图进行描述。创建状态图的步骤:识别出建模实体不需要给所有的类都创建状态图,只有具有重要动态行为的类才需要。识别出实体的各种状态创建相关事件并创建状态图,状态图,练习1:图书馆中图书的状态描述如下:当图书被购置进来后,就放在图书馆中;如果读者将图书借走时,处于已借出状态;如果图书被归还,图书对象又变为在图书馆状态。图书馆如果将图书废弃,则图书对象就不再存在。试画出图书对象的状态图。,状态图,练习2:在温室管理系统中,有一个环境控制器类,当没有种植作物时处于空闲状态。一旦种上了作物,就要进行

7、温度控制,定义气候,即在什么时期应达到什么温度。当处于夜晚时,由于温度下降,要调用调节温度过程,以便保持温度;太阳出来时,进入白天状态,由于温度升高,要调用调节温度过程,保持要求的温度。当日落时,进入夜晚状态。当作物收获,终止气候的控制,则进入空闲状态。建立环境控制器类的状态图。,状态图,练习3:当有新同学入学时,将会给新同学创建一个新的账号,新同学可以用这个账号去选课。一般来说,每个人的选课数目是有限的,如选择6门课程后将不能再选课。如果已经选了6门课程还要再选课,就必须删除已选的课程。直到这位同学毕业,将其账号删除。请创建学生账号类的状态图。,状态图,练习4:请创建一个状态图来描述航班如何

8、从提出申请、指定航班计划、售票、起飞、飞行到着陆的状态过程。,建立动态模型,在开发交互式系统时,动态模型起着重要作用。建立动态模型的步骤:编写典型交互行为脚本。必须保证脚本中不遗漏常见的交互行为从脚本中提取出事物,确定触发每个事件的动作对象以及接受事件的目标对象。排列事件发生的次序,确定每个对象可能有的状态以及状态间的转换关系,并用状态图描绘出来。比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。,建立动态模型,以自动取款机(ATM)系统为例进行为例介绍动态模型的建立过程:第一步:编写脚本第二步:设想用户界面用户界面的好坏直接影响用户是否接受这个系统,在分析阶段也不能完全忽略用户

9、界面,要注重这种界面下的信息信息交换方式。第三步:画事件跟踪图确定事件画出事件跟踪图,建立动态模型,第四步:画状态图通常,用一张状态图描绘一类对象的行为,它确定了由事件序列引出的状态序列。,建立动态模型,根据一张事件跟踪图画出状态图之后,再把其他脚本的事件跟踪图合并到已画出的状态图中。,考虑完正常事件之后再考虑边界情况和特殊情况,其中包括在不适当时候发生的事件(例如,系统正在处理某个事务时,用户要求取消该事务)。,建立动态模型,建立动态模型,总行类状态图,建立动态模型,分行类状态图,定义服务,对象是由描述属性的数据,以及可以对这些数据施加的操作(即服务),封装在一起构成的独立单元。为了建立完整

10、的对象模型,既要确定类中应该定义的属性,又要确定类中应该定义的服务。通常需要等到建立了动态模型和功能模型之后,才能最终确定类中应有的服务,因为这两个模型更明确地描述了每个类应该提供哪些服务。定义服务的方法:常规行为从事件导出的操作与数据流图中处理框对应的操作利用继承减少冗余操作,类中定义的每个属性都是可以访问的,则可在每个类中定义读、写该类每个属性的操作。,状态图中发往对象的事件也就是该对象接收到的消息,因此该对象必须有由消息选择符指定的操作,这个操作修改对象状态(即属性值)并启动相应的服务。,数据流图中的每个处理框都与一个对象(也可能是若干个对象)上的操作相对应。,利用继承机制以减少所需定义

11、的服务数目。抽取出相似类的公共属性和操作,以建立这些类的新父类,并在类等级的不同层次中正确地定义各个服务。,OMT与UML区别,总 结,动态模型表示瞬时的、行为化的系统的“控制”性质,它规定了对象模型中的对象的合法变化序列。通常,使用UML提供的状态图来描绘对象的状态、触发状态转换的事件以及对象的行为(对事件的响应)。创建状态图的步骤:识别出建模实体识别出实体的各种状态创建相关事件并创建状态图,总 结,创建动态模型的步骤:编写典型交互行为脚本。从脚本中提取出事物,确定触发每个事件的动作对象以及接受事件的目标对象。排列事件发生的次序,确定每个对象可能有的状态以及状态间的转换关系,并用状态图描绘出来。比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。,作业,教材P73页第6题。,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号