1、2019/5/29,UML系统建模与分析设计,1,UML系统建模与分析设计,本章目的:了解对象状态变化和活动变化的描述方式掌握UML绘制状态图和活动图的方法和步骤掌握状态模型中并发行为的描述方法掌握用状态图和活动图建立对象动态行为模型的方法和步骤,第六章 系统动态建模状态模型,2019/5/29,UML系统建模与分析设计,2,UML系统建模与分析设计,6.1.1 对象状态的基本描述图符,6.1 状态图的基本组成成分,2019/5/29,UML系统建模与分析设计,3,UML系统建模与分析设计,6.1.1 对象状态的基本描述图符,2019/5/29,UML系统建模与分析设计,4,UML系统建模与分
2、析设计,6.1.3 一个无人职守电梯升降的状态图,2019/5/29,UML系统建模与分析设计,5,UML系统建模与分析设计,6.2.1 对象的状态属性,6.2 状态的分类与描述,6-4 一个设备使用状况的状态图,2019/5/29,UML系统建模与分析设计,6,UML系统建模与分析设计,6.2.2 简单状态与嵌套状态,动作:一组可执行的语句,动作具有以下特征:迁移性:与状态迁移有关;原子性:这组语句不可中断;连续性:一组语句必须连续执行,直到完 毕。活动:一组可执行的动作,后栋具有以下特征:有限性:完整的活动有一定的期限;非原子性:这组动作可因某一事件发生而中断。,2019/5/29,UML
3、系统建模与分析设计,7,UML系统建模与分析设计,6.2.2 简单状态与嵌套状态,6-5 描述设备(车床)状况的嵌套状态图,2019/5/29,UML系统建模与分析设计,8,UML系统建模与分析设计,6.2.3 状态的顺序迁移,6.2.4 状态的并发迁移与同步,2019/5/29,UML系统建模与分析设计,9,UML系统建模与分析设计,6.2.4 状态的并发迁移与同步,6-7 采用同步并发迁移图符描述的并发子状态图,2019/5/29,UML系统建模与分析设计,10,UML系统建模与分析设计,6.2.5 嵌套状态中的历史状态指示器,6-8 带有历史指示器的软件安装过程状态图,2019/5/29
4、,UML系统建模与分析设计,11,UML系统建模与分析设计,6.3.1 状态的迁移触发,6.3 状态迁移的触发与描述,描述状态迁移的形式化语法格式如下:事件 条件 / 动作表达式 发送子句 说明: 事件:指已发生并可能引发某种活动的一件事; 条件:由方括号围起的关系或逻辑表达式; 动作表达式:一个触发状态迁移时可执行的过程表达式; 发送子句:动作的一个特例,说明调用的事件名(操作)是哪个对象的。,2019/5/29,UML系统建模与分析设计,12,UML系统建模与分析设计,6.3.2 引起状态迁移触发的事件,事件是指已发生并可能引发某种活动的一件事。事件的描述格式:事件名(参数表) 说明: 事
5、件名:必须引用接收事件的对象类中的一个操作或信号。 参数表:传送给该事件的形式参数,为任选项。,2019/5/29,UML系统建模与分析设计,13,UML系统建模与分析设计,6.3.2 引起状态迁移触发的事件,6-9 电烤箱控制系统状态图,2019/5/29,UML系统建模与分析设计,14,UML系统建模与分析设计,6.3.3 引起状态迁移触发的条件,条件是一个由方括号围起的关系或逻辑表达式。,6.3.4 触发状态迁移的动作表达式,动作表达式是一个触发状态迁移时可执行的过程表达式。,6.3.5 状态迁移的分类,(1)自迁移 (2)内部迁移(3)自动迁移 (4)复合迁移,2019/5/29,UM
6、L系统建模与分析设计,15,UML系统建模与分析设计,6.3.5 状态迁移的分类,6-10 两种形式的条件分支状态迁移图,2019/5/29,UML系统建模与分析设计,16,UML系统建模与分析设计,6.3.6 状态图之间的通信联系,6-11 状态图之间的消息发送,2019/5/29,UML系统建模与分析设计,17,UML系统建模与分析设计,6.4.1 活动图与状态图的区别,6.4活动图的基本概念与组成成分,活动状态迁移不需要事件触发,活动执行完 毕可以直接进入下一个活动状态;活动置于责任区(泳道)中,责任区将活动按责任目标和组织归属的原则分类。,2019/5/29,UML系统建模与分析设计,
7、18,UML系统建模与分析设计,6.4.2 一个简单的出库单发放活动图,6-12 检查合同、核对付款单并发放出库单的活动图,2019/5/29,UML系统建模与分析设计,19,UML系统建模与分析设计,6.4.3 活动图中的几个基本概念,1动作状态表达不可中断的动作或操作的执行。2活动状态拥有一组不可中断的动作或操作,表达一个非原子的运行。,2019/5/29,UML系统建模与分析设计,20,UML系统建模与分析设计,3动作流 表达不可中断的动作或操作的执行。,6-13 描述一个打印所有履约合同信息的活动图,2019/5/29,UML系统建模与分析设计,21,UML系统建模与分析设计,4泳道
8、泳道代表对象对活动的责任。,6-14 销售合同从签订到履约的活动图,2019/5/29,UML系统建模与分析设计,22,UML系统建模与分析设计,5活动图中的对象,6-15 活动图中的对象及对象流,2019/5/29,UML系统建模与分析设计,23,UML系统建模与分析设计,6.5.1 活动图中的同步线程,6.5 活动图中的并发与同步活动,6-16 活动图中的条件线程,2019/5/29,UML系统建模与分析设计,24,UML系统建模与分析设计,6.5.2 动态并发活动,6.5 活动图中的并发与同步活动,6-17 动态并发活动图,2019/5/29,UML系统建模与分析设计,25,UML系统建
9、模与分析设计,6.5.3 具有层次关系的活动图,6-18 “核对付款单”子活动图,2019/5/29,UML系统建模与分析设计,26,UML系统建模与分析设计,6.6.1 系统的用例模型和对象静、动态模型,6.6 动态状态模型建模案例 “信贷管理”子系统,1系统的用例模型 2对象静态模型 3对象动态交互模型 4对象动态状态模型,2019/5/29,UML系统建模与分析设计,27,UML系统建模与分析设计,2019/5/29,UML系统建模与分析设计,28,UML系统建模与分析设计,6.6.2 状态图建模步骤,(1)确定状态图描述的主体。 (2)确定状态图描述的范围。 (3)确定描述主体在其生存
10、期的各种稳定状态。 (4)确定状态的序号。 (5)确定触发状态迁移的事件。 (6)附上必要的动作。 (7)简化状态图。 (8)确定状态的可实现性。 (9)确定无死锁状态。 (10)审核状态图。,2019/5/29,UML系统建模与分析设计,29,UML系统建模与分析设计,6.6.3 “信贷管理”子系统状态图建模,6-20 信贷管理子系统(用例)的状态图,2019/5/29,UML系统建模与分析设计,30,UML系统建模与分析设计,6.6.3 “信贷管理”子系统状态图建模,1文字描述2确定对象可能的状态序列、动作和引发状态迁移的事件3绘制状态图,(1)起始状态 (2)“初始化”状态 (3)“分期
11、还款”状态 (4)“违约预警”状态 (5)“违约警告”状态 (6)“合同履约”状态 (7)“提示信息1”状态 (8)“提示信息2”状态 (9)“提示信息3”状态 (10)结束状态,细分为,2019/5/29,UML系统建模与分析设计,31,UML系统建模与分析设计,4审核状态图,6-22 “初始化”状态的详细描述,2019/5/29,UML系统建模与分析设计,32,UML系统建模与分析设计,6.6.4 系统的活动图的建模步骤,1业务工作流建模的步骤(1)确定对象:找出负责实现工作流的对象: (2)确定范围(边界):明确起始状态和结束状态。 (3)确定活动(动作)序列 (4)确定组合活动状态 (
12、5)确定迁移(动作流):找出连接这些活动状态或动作状态的迁移。 (6)确定工作流中涉及的重要对象,2019/5/29,UML系统建模与分析设计,33,UML系统建模与分析设计,6.6.4 系统的活动图的建模步骤,2对操作建模的步骤 (1)确定相关元素:与该操作有关; (2)确定范围(边界): (3)确定活动(动作)序列: (4)仅在需要时,利用条件分支来说明路径和迭代; (5)描述同步与并发;,2019/5/29,UML系统建模与分析设计,34,UML系统建模与分析设计,6.6.4 系统的活动图的建模步骤,一个结构良好的活动图,应满足以下要求: (1)能准确描述系统的动态模型的一个侧面; (2)图中只包含描述该相关侧面有关的重要元素; (3)提供与其抽象层次相一致的细节; (4)只加入对于理解问题必须的修饰; (5)注意:不应过分简化和抽象信息,使人产生误解。,2019/5/29,UML系统建模与分析设计,35,UML系统建模与分析设计,6.6.5 “信贷管理”子系统的活动图建模,6-23 “信贷管理”子系统的活动图,2019/5/29,UML系统建模与分析设计,36,UML系统建模与分析设计,6.7 本章小结,