建立动态模型-状态图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
终止状态在一个状态图中可以有0个或多个,它用一 个套有一个实心圆的空心圆表示。
状态图
判定:
用来表示一个事件依据不同的监护条件产生不同的影 响,即工作流在此处按监护条件的取值而发生分支。
判定用空心小菱形表示。 因为监护条件为布尔表达式,所以通常条件下的判定
只有一个入转换和两个出转换。 根据监护条件的真假可以触发不同的分支转换。
对于一个对象来说,在其生命周期的每个特定阶段
中,都有适合该对象的一组运行规律和行为规则,
用以规范该对象的行为。
这就是对象的Байду номын сангаас态。
状态:是对对象属性值的一种抽象。
各对象之间相互触发(即作用)就形成了一系列的状 态变化。
一个触发行为称作一个事件。
一个事件分开两个状态,一个状态隔开两个事件。 事件表示时刻,状态代表时间间隔。
状态图
练习3:当有新同学入学时,将会给新同学创建一 个新的账号,新同学可以用这个账号去选课。一 般来说,每个人的选课数目是有限的,如选择6门 课程后将不能再选课。如果已经选了6门课程还要 再选课,就必须删除已选的课程。直到这位同学 毕业,将其账号删除。请创建学生账号类的状态 图。
状态图
练习4:请创建一个状态图来描述航班如何从提出 申请、指定航班计划、售票、起飞、飞行到着陆 的状态过程。
根据描述建立软件公司的对象模型,即画出类图。 问题陈述如下:一个软件公司有许多部门,分为 开发部门和管理部门两种。每个部门由部门名字 唯一确定。每个开发部门开发多个软件产品,每 个软件产品都由程序、数据和文档组成。该公司 有许多员工,分为经理、工作人员和开发人员。 开发部门有经理和多个开发人员,管理部门有经 理和多个工作人员。每个开发人员可参加多个开 发项目,每个开发项目需要多个开发人员。每位 经理可主持多个开发项目。
状态图
使用状态图进行建模的目标是描述跨越多个用例的 对象在其生命周期中的各种状态及其状态之间的转 换。
一个完整的系统往往包含很多的类和对象,这就需 要创建几个状态图进行描述。
创建状态图的步骤:
识别出建模实体
不需要给所有的类都创建状态图,只有具有重要动态 行为的类才需要。
识别出实体的各种状态 创建相关事件并创建状态图
状态图
状态图适用于描述状态和动作的顺序,不仅可以 展现一个对象拥有的状态,还可以说明事件如何 随着时间的推移来影响这些状态。
状态图表现从一个状态到另一个状态的控制流。
一般情况下,状态图可以由表示状态的节点和表示 状态之间转换的带箭头的直线刻画出来。
状态图主要由元素状态、转换、初始状态、终止状 态和判定等组成。
状态图
状态是状态图的重要组成部分。包括:
状态名:在状态图中状态名必须是唯一的。 入口和出口动作:进入和退出一个状态时所执行的
边界动作。
一个状态可以有或者没有入口和出口动作。
内部转换:是不导致状态改变的转换。
内部转换只有源状态而没有目标状态。
组合状态:内部嵌套有子状态的状态。
状态图
转换:用带箭头的直线表示,一端连接源状态即转 出的状态,箭头一端连接目标状态即转入的状态。
比较各个对象的状态图,检查它们之间的一致性, 确保事件之间的匹配。
建立动态模型
以自动取款机(ATM)系统为例进行为例介绍动态模 型的建立过程:
第一步:编写脚本 第二步:设想用户界面
用户界面的好坏直接影响用户是否接受这个系统,在 分析阶段也不能完全忽略用户界面,要注重这种界面 下的信息信息交换方式。
本节课内容
第九章 面向对象方法学引论 9.5、动态模型
第十章 面向对象分析 10.1、面向对象分析的基本过程 10.2、需求陈述 10.3、建立对象模型 10.4、建立动态模型 10.5、建立功能模型 10.6、定义服务
动态模型
动态模型表示瞬时的、行为化的系统的“控制”性 质,它规定了对象模型中的对象的合法变化序列。
建立动态模型
在开发交互式系统时,动态模型起着重要作用。
建立动态模型的步骤:
编写典型交互行为脚本。 必须保证脚本中不遗漏常见的交互行为
从脚本中提取出事物,确定触发每个事件的动作对 象以及接受事件的目标对象。
排列事件发生的次序,确定每个对象可能有的状态 以及状态间的转换关系,并用状态图描绘出来。
动态模型
通常,使用UML提供的状态图来描绘对象的状态、 触发状态转换的事件以及对象的行为(对事件的响 应)。
状态图通过建立类对 象的生命周期模型来 描述对象随时间变化 的动态行为。
每个类的动态行为用一张状态图来描绘,各个类的 状态图通过共享事件合并起来,从而构成系统的动 态模型。
动态模型是基于事件共享而互相关联的一组状态图 的集合。
状态图
练习1:图书馆中图书的状态描述如下:当图书被 购置进来后,就放在图书馆中;如果读者将图书 借走时,处于已借出状态;如果图书被归还,图 书对象又变为在图书馆状态。图书馆如果将图书 废弃,则图书对象就不再存在。试画出图书对象 的状态图。
状态图
练习2:在温室管理系统中,有一个环境控制器类, 当没有种植作物时处于空闲状态。一旦种上了作 物,就要进行温度控制,定义气候,即在什么时 期应达到什么温度。当处于夜晚时,由于温度下 降,要调用调节温度过程,以便保持温度;太阳 出来时,进入白天状态,由于温度升高,要调用 调节温度过程,保持要求的温度。当日落时,进 入夜晚状态。当作物收获,终止气候的控制,则 进入空闲状态。建立环境控制器类的状态图。
软件工程导论
孙旭光
灾害信息工程系
复习
对象模型表示静态的、结构化的系统的“数据”性 质。
通常,使用UML提供的类图建立对象模型。
类图的绘制:类的表示和类与类之间的关系。
创建对象模型的步骤:
确定类与对象 确定类间的关系 划分主题 确定属性和方法 优化迭代(识别继承关系),反复修改
建立对象模型练习
转换可以标注与此转换相关的选项如事件、动作和 监护条件。
状态图
初始状态:代表状态图的起始位置,只能作为转 换的源,而不能作为转换的目标。
初始状态在一个状态图中只允许有一个,它用一个 实心的圆表示。
终止状态:是模型元素的最后状态,是一个状态 图的终止点。终止状态只能作为转换的目标,而 不能作为转换的源。
状态图
判定:
用来表示一个事件依据不同的监护条件产生不同的影 响,即工作流在此处按监护条件的取值而发生分支。
判定用空心小菱形表示。 因为监护条件为布尔表达式,所以通常条件下的判定
只有一个入转换和两个出转换。 根据监护条件的真假可以触发不同的分支转换。
对于一个对象来说,在其生命周期的每个特定阶段
中,都有适合该对象的一组运行规律和行为规则,
用以规范该对象的行为。
这就是对象的Байду номын сангаас态。
状态:是对对象属性值的一种抽象。
各对象之间相互触发(即作用)就形成了一系列的状 态变化。
一个触发行为称作一个事件。
一个事件分开两个状态,一个状态隔开两个事件。 事件表示时刻,状态代表时间间隔。
状态图
练习3:当有新同学入学时,将会给新同学创建一 个新的账号,新同学可以用这个账号去选课。一 般来说,每个人的选课数目是有限的,如选择6门 课程后将不能再选课。如果已经选了6门课程还要 再选课,就必须删除已选的课程。直到这位同学 毕业,将其账号删除。请创建学生账号类的状态 图。
状态图
练习4:请创建一个状态图来描述航班如何从提出 申请、指定航班计划、售票、起飞、飞行到着陆 的状态过程。
根据描述建立软件公司的对象模型,即画出类图。 问题陈述如下:一个软件公司有许多部门,分为 开发部门和管理部门两种。每个部门由部门名字 唯一确定。每个开发部门开发多个软件产品,每 个软件产品都由程序、数据和文档组成。该公司 有许多员工,分为经理、工作人员和开发人员。 开发部门有经理和多个开发人员,管理部门有经 理和多个工作人员。每个开发人员可参加多个开 发项目,每个开发项目需要多个开发人员。每位 经理可主持多个开发项目。
状态图
使用状态图进行建模的目标是描述跨越多个用例的 对象在其生命周期中的各种状态及其状态之间的转 换。
一个完整的系统往往包含很多的类和对象,这就需 要创建几个状态图进行描述。
创建状态图的步骤:
识别出建模实体
不需要给所有的类都创建状态图,只有具有重要动态 行为的类才需要。
识别出实体的各种状态 创建相关事件并创建状态图
状态图
状态图适用于描述状态和动作的顺序,不仅可以 展现一个对象拥有的状态,还可以说明事件如何 随着时间的推移来影响这些状态。
状态图表现从一个状态到另一个状态的控制流。
一般情况下,状态图可以由表示状态的节点和表示 状态之间转换的带箭头的直线刻画出来。
状态图主要由元素状态、转换、初始状态、终止状 态和判定等组成。
状态图
状态是状态图的重要组成部分。包括:
状态名:在状态图中状态名必须是唯一的。 入口和出口动作:进入和退出一个状态时所执行的
边界动作。
一个状态可以有或者没有入口和出口动作。
内部转换:是不导致状态改变的转换。
内部转换只有源状态而没有目标状态。
组合状态:内部嵌套有子状态的状态。
状态图
转换:用带箭头的直线表示,一端连接源状态即转 出的状态,箭头一端连接目标状态即转入的状态。
比较各个对象的状态图,检查它们之间的一致性, 确保事件之间的匹配。
建立动态模型
以自动取款机(ATM)系统为例进行为例介绍动态模 型的建立过程:
第一步:编写脚本 第二步:设想用户界面
用户界面的好坏直接影响用户是否接受这个系统,在 分析阶段也不能完全忽略用户界面,要注重这种界面 下的信息信息交换方式。
本节课内容
第九章 面向对象方法学引论 9.5、动态模型
第十章 面向对象分析 10.1、面向对象分析的基本过程 10.2、需求陈述 10.3、建立对象模型 10.4、建立动态模型 10.5、建立功能模型 10.6、定义服务
动态模型
动态模型表示瞬时的、行为化的系统的“控制”性 质,它规定了对象模型中的对象的合法变化序列。
建立动态模型
在开发交互式系统时,动态模型起着重要作用。
建立动态模型的步骤:
编写典型交互行为脚本。 必须保证脚本中不遗漏常见的交互行为
从脚本中提取出事物,确定触发每个事件的动作对 象以及接受事件的目标对象。
排列事件发生的次序,确定每个对象可能有的状态 以及状态间的转换关系,并用状态图描绘出来。
动态模型
通常,使用UML提供的状态图来描绘对象的状态、 触发状态转换的事件以及对象的行为(对事件的响 应)。
状态图通过建立类对 象的生命周期模型来 描述对象随时间变化 的动态行为。
每个类的动态行为用一张状态图来描绘,各个类的 状态图通过共享事件合并起来,从而构成系统的动 态模型。
动态模型是基于事件共享而互相关联的一组状态图 的集合。
状态图
练习1:图书馆中图书的状态描述如下:当图书被 购置进来后,就放在图书馆中;如果读者将图书 借走时,处于已借出状态;如果图书被归还,图 书对象又变为在图书馆状态。图书馆如果将图书 废弃,则图书对象就不再存在。试画出图书对象 的状态图。
状态图
练习2:在温室管理系统中,有一个环境控制器类, 当没有种植作物时处于空闲状态。一旦种上了作 物,就要进行温度控制,定义气候,即在什么时 期应达到什么温度。当处于夜晚时,由于温度下 降,要调用调节温度过程,以便保持温度;太阳 出来时,进入白天状态,由于温度升高,要调用 调节温度过程,保持要求的温度。当日落时,进 入夜晚状态。当作物收获,终止气候的控制,则 进入空闲状态。建立环境控制器类的状态图。
软件工程导论
孙旭光
灾害信息工程系
复习
对象模型表示静态的、结构化的系统的“数据”性 质。
通常,使用UML提供的类图建立对象模型。
类图的绘制:类的表示和类与类之间的关系。
创建对象模型的步骤:
确定类与对象 确定类间的关系 划分主题 确定属性和方法 优化迭代(识别继承关系),反复修改
建立对象模型练习
转换可以标注与此转换相关的选项如事件、动作和 监护条件。
状态图
初始状态:代表状态图的起始位置,只能作为转 换的源,而不能作为转换的目标。
初始状态在一个状态图中只允许有一个,它用一个 实心的圆表示。
终止状态:是模型元素的最后状态,是一个状态 图的终止点。终止状态只能作为转换的目标,而 不能作为转换的源。