




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程导论陈丹琪灾害信息工程系复 习n对象模型表示静态的、结构化的系统的对象模型表示静态的、结构化的系统的“数据数据”性性质。质。通常,使用通常,使用UML提供的类图建立对象模型。提供的类图建立对象模型。n类图的绘制:类的表示和类与类之间的关系。类图的绘制:类的表示和类与类之间的关系。创建对象模型的步骤:创建对象模型的步骤:n确定类与对象确定类与对象n确定关联确定关联n划分主题划分主题n确定属性确定属性n识别继承关系识别继承关系n反复修改反复修改作 业n建立公司系统的对象模型,问题陈述如下:建立公司系统的对象模型,问题陈述如下:一个软件公司有许多部门,分为开发部门和管理一个软件公司有许多部门
2、,分为开发部门和管理部门两种。每个部门由部门名字唯一确定。每个部门两种。每个部门由部门名字唯一确定。每个开发部门开发多个软件产品,每个软件产品都由开发部门开发多个软件产品,每个软件产品都由程序、数据和文档组成。该公司有许多员工,分程序、数据和文档组成。该公司有许多员工,分为经理、工作人员和开发人员。开发部门有经理为经理、工作人员和开发人员。开发部门有经理和多个开发人员,管理部门有经理和多个工作人和多个开发人员,管理部门有经理和多个工作人员。每个开发人员可参加多个开发项目,每个开员。每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员。每位经理可主持多个发项目需要多个开发人员。每位经理可
3、主持多个开发项目开发项目。本节课内容n第九章面向对象方法学引论第九章面向对象方法学引论 9.59.5、动态模型、动态模型n第十章第十章 面向对象分析面向对象分析10.110.1、面向对象分析的基本过程、面向对象分析的基本过程10.210.2、需求陈述、需求陈述10.310.3、建立对象模型、建立对象模型10.410.4、建立动态模型、建立动态模型10.510.5、建立功能模型、建立功能模型10.610.6、定义服务、定义服务动态模型n动态模型表示瞬时的、行为化的系统的动态模型表示瞬时的、行为化的系统的“控制控制”性性质,它规定了对象模型中的对象的合法变化序列。质,它规定了对象模型中的对象的合法
4、变化序列。对象的状态:是指在对象的生命周期中满足某些条对象的状态:是指在对象的生命周期中满足某些条件、执行某些活动或等待某些事件时的一个条件或件、执行某些活动或等待某些事件时的一个条件或状况。状况。n对象在任何时候都会处于某种状态中,即:所有对象对象在任何时候都会处于某种状态中,即:所有对象都有状态;都有状态;n对象所处的状态决定了它如何响应所检测到的事件或对象所处的状态决定了它如何响应所检测到的事件或所接受的消息;所接受的消息;n通常,事件使对象从一个状态转向另一个状态。通常,事件使对象从一个状态转向另一个状态。一个事件分开两个状态,一一个事件分开两个状态,一个状态隔开两个事件。个状态隔开两
5、个事件。事件表示时刻,状态代表时事件表示时刻,状态代表时间间隔。间间隔。动态模型通常,使用通常,使用UML提供的提供的状态图状态图来描绘对象的状态、来描绘对象的状态、触发状态转换的事件以及对象的行为(对事件的响触发状态转换的事件以及对象的行为(对事件的响应)。应)。n状态图通过建立对象的生命周期模型来描述对象随时状态图通过建立对象的生命周期模型来描述对象随时间变化的动态行为。间变化的动态行为。n并不是对所有的对象都创建状态图,只有当行为的改并不是对所有的对象都创建状态图,只有当行为的改变和状态有关时才创建状态图。变和状态有关时才创建状态图。n状态图状态图适合于适合于描述跨越多个用例的单个对象的
6、行为,描述跨越多个用例的单个对象的行为,而而不适合不适合描述多个对象之间的行为协作。描述多个对象之间的行为协作。n所以,与用例图和类图不同,状态图只能对单个对象所以,与用例图和类图不同,状态图只能对单个对象建立模型,而类图和用例图可以对一个系统或一组类建立模型,而类图和用例图可以对一个系统或一组类建立模型。建立模型。状态图是对类图的补充。状态图是对类图的补充。每个类的动态行为用一张状态图每个类的动态行为用一张状态图来描绘,各个类的状态图通过共来描绘,各个类的状态图通过共享事件合并起来,从而构成系统享事件合并起来,从而构成系统的动态模型。的动态模型。动态模型动态模型是基于事件共享而互是基于事件共
7、享而互相关联的一组状态图的集合。相关联的一组状态图的集合。状态图状态图表现出从一个状态到另一个状态的控制流。状态图表现出从一个状态到另一个状态的控制流。n一般情况下,状态图可以由表示状态的节点和表示一般情况下,状态图可以由表示状态的节点和表示状态之间转换的带箭头的直线刻画出来。状态之间转换的带箭头的直线刻画出来。状态图主要由中间状态、转换、初始状态、终止状状态图主要由中间状态、转换、初始状态、终止状态和判定等组成。态和判定等组成。状态图中间状态是状态图的重要组成部分。包括:中间状态是状态图的重要组成部分。包括:n状态名:在状态图中状态名必须是唯一的。状态名:在状态图中状态名必须是唯一的。n入口
8、和出口动作:进入和退出一个状态时所执行的入口和出口动作:进入和退出一个状态时所执行的边界动作。边界动作。一个状态可以有或者没有入口和出口动作。一个状态可以有或者没有入口和出口动作。n内部转换:内部转换:不导致状态改变的转换,不会执行不导致状态改变的转换,不会执行entry和和exit动作动作内部转换和自转换的区别:内部转换和自转换的区别: 前门入口,后门出口前门入口,后门出口 不出去,只在内部发生的转换内部转换不出去,只在内部发生的转换内部转换 从后门出去,又从前门进来自转换,自转换会引起从后门出去,又从前门进来自转换,自转换会引起entry和和exit动作的执行动作的执行外部转换,自转外部转
9、换,自转换也是外部转换换也是外部转换外部转换外部转换状态图n子状态:嵌套在另外一个状态中的状态。子状态:嵌套在另外一个状态中的状态。把含有子状态的状态被称为组合或嵌套状态。把含有子状态的状态被称为组合或嵌套状态。n延迟事件:延迟事件:是指在该状态下暂不处理,但将推迟到该对象的另一是指在该状态下暂不处理,但将推迟到该对象的另一个状态下排队处理的事件。个状态下排队处理的事件。Lightingentry/ turnOndo/ blinkFivetimesevent poweroff/ powerSupplySelfexit/ turnOffevent selfTest/ defer名字域名字域转换域
10、,可选转换域,可选当转入该状态时,做当转入该状态时,做开灯动作开灯动作当转出该状态时,做当转出该状态时,做关灯动作关灯动作当处于该状态时,灯当处于该状态时,灯闪烁闪烁5次次当电源关闭事件发生当电源关闭事件发生时,用自备电源时,用自备电源当当selfTest事件发生时,事件发生时,对象将延迟响应,到别的对象将延迟响应,到别的状态中再处理,用状态中再处理,用defer这这个特定动作表示延迟个特定动作表示延迟内部转换内部转换do活动是只在状态内活动是只在状态内出现的活动,不能附出现的活动,不能附加到转换上。加到转换上。状态图转换:用带箭头的直线表示,一端连接源状态即转转换:用带箭头的直线表示,一端连
11、接源状态即转出的状态,箭头一端连接目标状态即转入的状态。出的状态,箭头一端连接目标状态即转入的状态。n转换可以标注与此转换相关的选项如事件、动作和转换可以标注与此转换相关的选项如事件、动作和监护条件。监护条件。状态图初始状态:代表状态图的起始位置,只能作为转初始状态:代表状态图的起始位置,只能作为转换的源,而不能作为转换的目标。换的源,而不能作为转换的目标。n初始状态在一个状态图中只允许有一个,它用一个初始状态在一个状态图中只允许有一个,它用一个实心的圆表示。实心的圆表示。终止状态:是模型元素的最后状态,是一个状态终止状态:是模型元素的最后状态,是一个状态图的终止点。终止状态只能作为转换的目标
12、,而图的终止点。终止状态只能作为转换的目标,而不能作为转换的源。不能作为转换的源。n终止状态在一个状态图中可以有终止状态在一个状态图中可以有0个或多个,它用个或多个,它用一个套有一个实心圆的空心圆表示。一个套有一个实心圆的空心圆表示。状态图判定:判定:n用来表示一个事件依据不同的监护条件产生不同的用来表示一个事件依据不同的监护条件产生不同的影响,即工作流在此处按监护条件的取值而发生分影响,即工作流在此处按监护条件的取值而发生分支。支。n判定用空心小菱形表示。判定用空心小菱形表示。n因为监护条件为布尔表达式,所以通常条件下的判因为监护条件为布尔表达式,所以通常条件下的判定只有一个入转换和两个出转
13、换。定只有一个入转换和两个出转换。n根据监护条件的真假可以触发不同的分支转换。根据监护条件的真假可以触发不同的分支转换。状态1状态2状态3 满足监护条件 不满足监护条件 状态图创建状态图的步骤:创建状态图的步骤:n识别出建模实体识别出建模实体不需要给所有的类都创建状态图,只有具有重要动态不需要给所有的类都创建状态图,只有具有重要动态行为的类才需要。行为的类才需要。n识别出实体的各种状态识别出实体的各种状态n创建相关事件并创建状态图创建相关事件并创建状态图状态图n练习练习1:图书馆中图书的状态描述如下:当图书:图书馆中图书的状态描述如下:当图书被购置进来后,就放在图书馆中;如果读者将图被购置进来
14、后,就放在图书馆中;如果读者将图书借走时,处于已借出状态;如果图书被归还,书借走时,处于已借出状态;如果图书被归还,图书对象又变为在图书馆状态。图书馆如果将图图书对象又变为在图书馆状态。图书馆如果将图书废弃,则图书对象就不再存在。试画出图书对书废弃,则图书对象就不再存在。试画出图书对象的状态图。象的状态图。状态图n练习练习2:在温室管理系统中,有一个环境控制器:在温室管理系统中,有一个环境控制器类,当没有种植作物时处于空闲状态。一旦种上类,当没有种植作物时处于空闲状态。一旦种上了作物,就要进行温度控制,定义气候,即在什了作物,就要进行温度控制,定义气候,即在什么时期应达到什么温度。当处于夜晚时
15、,由于温么时期应达到什么温度。当处于夜晚时,由于温度下降,要调用调节温度过程,以便保持温度;度下降,要调用调节温度过程,以便保持温度;太阳出来时,进入白天状态,由于温度升高,要太阳出来时,进入白天状态,由于温度升高,要调用调节温度过程,保持要求的温度。当日落时,调用调节温度过程,保持要求的温度。当日落时,进入夜晚状态。当作物收获,终止气候的控制,进入夜晚状态。当作物收获,终止气候的控制,则进入空闲状态。建立环境控制器类的状态图。则进入空闲状态。建立环境控制器类的状态图。状态图n练习练习3:根据描述画出手机状态图。问题描述:当:根据描述画出手机状态图。问题描述:当手机开机时,它处于待机状态,当用
16、户使用电话手机开机时,它处于待机状态,当用户使用电话呼叫某人时,手机进入拨号状态。如果呼叫成功,呼叫某人时,手机进入拨号状态。如果呼叫成功,即电话接通即电话接通,手机就处于通话状态;如果呼叫不成手机就处于通话状态;如果呼叫不成功,例如对方线路有问题,关机、拒绝接听。这功,例如对方线路有问题,关机、拒绝接听。这时手机停止呼叫,重新进入待机状态,手机进入时手机停止呼叫,重新进入待机状态,手机进入待机状态下被呼叫,手机进入振铃状态,如果用待机状态下被呼叫,手机进入振铃状态,如果用户接听电话,手机处于通话状态;如果用户未做户接听电话,手机处于通话状态;如果用户未做出任何反应,可能他没有听见铃声,手机一
17、直处出任何反应,可能他没有听见铃声,手机一直处于振铃状态,如果用户拒绝来电,手机回到待机于振铃状态,如果用户拒绝来电,手机回到待机状态。状态。 状态图n练习练习4:当有新同学入学时,将会给新同学创建:当有新同学入学时,将会给新同学创建一个新的账号,新同学可以用这个账号去选课。一个新的账号,新同学可以用这个账号去选课。一般来说,每个人的选课数目是有限的,如选择一般来说,每个人的选课数目是有限的,如选择6门课程后将不能再选课。如果已经选了门课程后将不能再选课。如果已经选了6门课程门课程还要再选课,就必须删除已选的课程。直到这位还要再选课,就必须删除已选的课程。直到这位同学毕业,将其账号删除。请创建
18、学生账号类的同学毕业,将其账号删除。请创建学生账号类的状态图。状态图。建立动态模型n在开发交互式系统时,动态模型起着重要作用。在开发交互式系统时,动态模型起着重要作用。建立动态模型的步骤:建立动态模型的步骤:n编写典型交互行为脚本。编写典型交互行为脚本。必须保证脚本中不遗漏常见的交互行为必须保证脚本中不遗漏常见的交互行为n从脚本中提取出事物,确定触发每个事件的动作对从脚本中提取出事物,确定触发每个事件的动作对象以及接受事件的目标对象。象以及接受事件的目标对象。n排列事件发生的次序,确定每个对象可能有的状态排列事件发生的次序,确定每个对象可能有的状态以及状态间的转换关系,并用状态图描绘出来。以及
19、状态间的转换关系,并用状态图描绘出来。n比较各个对象的状态图,检查它们之间的一致性,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。确保事件之间的匹配。建立动态模型以自动取款机以自动取款机(ATM)(ATM)系统为例进行为例介绍动态模系统为例进行为例介绍动态模型的建立过程:型的建立过程:n第一步:第一步:编写脚本编写脚本n第二步:设想用户界面第二步:设想用户界面用户界面的好坏直接影响用户是否接受这个系统,在用户界面的好坏直接影响用户是否接受这个系统,在分析阶段也不能完全忽略用户界面,要注重这种界面分析阶段也不能完全忽略用户界面,要注重这种界面下的信息信息交换方式。下的信息信息交
20、换方式。n第三步:画事件跟踪图第三步:画事件跟踪图确定事件确定事件画出事件跟踪图画出事件跟踪图建立动态模型n第四步:画状态图第四步:画状态图通常,用一张状态图描绘一类对象的行为,它确定了通常,用一张状态图描绘一类对象的行为,它确定了由事件序列引出的状态序列。由事件序列引出的状态序列。建立动态模型根据一张事件跟踪图画出状态图之后,再把其他脚本根据一张事件跟踪图画出状态图之后,再把其他脚本的事件跟踪图合并到已画出的状态图中。的事件跟踪图合并到已画出的状态图中。考虑完正常事件之后再考虑边界情况和特殊情况,其考虑完正常事件之后再考虑边界情况和特殊情况,其中包括在不适当时候发生的事件中包括在不适当时候发
21、生的事件( (例如例如,系统正在处理,系统正在处理某个事务时,用户要求取消该事务某个事务时,用户要求取消该事务)。建立动态模型建立动态模型总行类状态图总行类状态图建立动态模型分行类状态图分行类状态图定义服务n对象是由描述属性的数据,以及可以对这些数据施对象是由描述属性的数据,以及可以对这些数据施加的操作加的操作(即服务即服务),封装在一起构成的独立单元。,封装在一起构成的独立单元。n为了建立完整的对象模型,既要确定类中应该定义为了建立完整的对象模型,既要确定类中应该定义的属性,又要确定类中应该定义的服务。的属性,又要确定类中应该定义的服务。通常需要等到建立了动态模型和功能模型之后,才通常需要等
22、到建立了动态模型和功能模型之后,才能最终确定类中应有的服务,因为这两个模型更明能最终确定类中应有的服务,因为这两个模型更明确地描述了每个类应该提供哪些服务。确地描述了每个类应该提供哪些服务。定义服务的方法:定义服务的方法:n常规行为常规行为n从事件导出的操作从事件导出的操作n与数据流图中处理框对应的操作与数据流图中处理框对应的操作n利用继承减少冗余操作利用继承减少冗余操作类中定义的每个属性都是可以类中定义的每个属性都是可以访问的,则可在每个类中定义访问的,则可在每个类中定义读、写该类每个属性的操作。读、写该类每个属性的操作。状态图中发往对象的事件也就是该对状态图中发往对象的事件也就是该对象接收
23、到的消息,因此该对象必须有象接收到的消息,因此该对象必须有由消息选择符指定的操作,这个操作由消息选择符指定的操作,这个操作修改对象状态(即属性值)并启动相修改对象状态(即属性值)并启动相应的服务。应的服务。数据流图中的每个处理框都数据流图中的每个处理框都与一个对象(也可能是若干与一个对象(也可能是若干个对象)上的操作相对应。个对象)上的操作相对应。利用继承机制以减少所需定义利用继承机制以减少所需定义的服务数目。的服务数目。抽取出相似类的公共属性和操抽取出相似类的公共属性和操作,以建立这些类的新父类,作,以建立这些类的新父类,并在类等级的不同层次中正确并在类等级的不同层次中正确地定义各个服务。地定义各个服务。总 结n动态模型表示瞬时的、行为化的系统的动态模型表示瞬时的、行为化的系统的“控制控制”性性质,它规定了对象模型中的对象的合法变化序列。质,它规定了对象模型中的对象的合法变化序列。通常,使用通常,使用UML提供的状态图来描绘对象的状态、提供的状态图来描绘对象的状态、触发状态转换的事件以及对象的行为(对事件的响触发状态转换的事件以及对象的行为(对事件的响应)。应)。创建状态图的步骤:创建状态图的步骤:n识别出建模实体识别出建模实体n识别出实体的各种状态识别出实体的各
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工时核算管理办法
- 外汇中介管理办法
- 市场食品管理办法
- 如皋学籍管理办法
- 客户管理办法案例
- 大学考勤管理办法
- 外阜项目管理办法
- 客服大组管理办法
- 学校管理办法包括
- 山东域名管理办法
- 集控中心培训管理制度
- PPP项目成本管理制度和管控措施
- 2025建筑安全员C证考试(专职安全员)题库及答案
- 事故隐患内部报告奖励制度
- 风险管控考试题及答案
- 八年级历史上册第六单元中华民族的抗日战争第18课从九一八事变到西安事变学案新人教版
- 2025年茶艺师高级技能考核试卷:茶艺设备维护与操作试题
- 人教版数学七年级上册单元测试卷-第一单元-有理数(含答案)
- 【艾青诗选】批注
- 《能源法》重点内容解读与实务应用
- 2025年云南省康旅控股集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论