系统动态分析与行为模型演示文稿_第1页
系统动态分析与行为模型演示文稿_第2页
系统动态分析与行为模型演示文稿_第3页
系统动态分析与行为模型演示文稿_第4页
系统动态分析与行为模型演示文稿_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

系统动态分析与行为模型演示文稿现在是1页\一共有47页\编辑于星期三优选系统动态分析与行为模型现在是2页\一共有47页\编辑于星期三概述…动态分析——序列图等需求捕获——用例图静态分析——类图、对象图现在是3页\一共有47页\编辑于星期三概述

动态分析模型描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互,主要是建立系统的交互图和行为图。现在是4页\一共有47页\编辑于星期三概述

交互图——对象之间的合作在UML里被称作交互。交互体现了对象之间的作用、对象之间的联系。序列(顺序、时序)图(SequenceDiagram)协作图(CollabborationDiagram)现在是5页\一共有47页\编辑于星期三概述

行为图——主要用来设计程序的行为。状态图(StatechartDiagram)活动图(ActivityDiagram)现在是6页\一共有47页\编辑于星期三概述序列图协作图状态图活动图动态分析模型包括下列模型图:现在是7页\一共有47页\编辑于星期三概述序列图:注重表达交互作用的时间顺序,没有明确表示对象间的关系。(对象之间的交互或对象外部的交互行为)协作图:协作图注重表示对象间的关系,时间顺序可以从消息的序号中获得。状态图:状态图主要描述系统行为的结果。(表示对象内部的状态变化)活动图:活动图主要描述系统动态行为的过程。现在是8页\一共有47页\编辑于星期三状态图日常生活中,事物状态的变化无处不在。面向对象分析与设计中,对象的状态、状态的转换、触发状态转换的事件、对象对事件的响应(即事件的行为)等都可以用状态图来描述。现在是9页\一共有47页\编辑于星期三状态图状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为。现在是10页\一共有47页\编辑于星期三状态图状态图(statechartdiagram):用来描述一个特定的对象所有可能的状态,以及由于各种事件的发生而引起状态之间的转移和变化。一个机器的状态图现在是11页\一共有47页\编辑于星期三状态图的作用状态图清晰地描述了状态转换时所必须触发的事件、监护条件和动作等影响转换的因素,有利于程序员避免程序中非法事件的进入。状态图清晰地描述了状态之间的转换顺序,通过状态的转换顺序可以清晰看出事件的执行顺序。清晰的时间顺序有利于程序员在开发程序时避免出现事件错序的情况。状态图通过判定可以更好地描述工作流因为不同的条件发生的分支。现在是12页\一共有47页\编辑于星期三状态图的构成要素状态图:由状态、转换、判定、同步、事件等组成:现在是13页\一共有47页\编辑于星期三状态图--状态

状态指的是对象在其生命周期中的一种状况,处于某个特定状态中的对象必然会满足某些条件、执行某些动作或者是等待某些事件。状态用于对实体在其生命周期的各种状况进行建模,一个实体总是在有限的一段时间内保持一个状态。现在是14页\一共有47页\编辑于星期三状态图--状态状态图中的状态一般是给定对象中的一组属性值。这组属性值是对象所有属性的子集。若对象的任何一个属性值都是一个状态,全部的状态构成一个庞大的状态空间。事实上,并非状态空间的每一个状态都是值得关注的。在对系统建模时,我们只关心那些明显影响对象行为的属性,以及由它们表达的对象状态,而不理睬那些与对象行为无关的状态。现在是15页\一共有47页\编辑于星期三状态图--状态例:飞机对象所有飞机的属性值的笛卡儿积构成了“飞机”对象庞大的状态空间飞机每飞行1km,就处于一个全新的状态

飞机每使用1年就会处于一个新的状态现在是16页\一共有47页\编辑于星期三状态图--状态

显然,列出对象的全部状态并绘制状态图是不现实的(也没有必要)。建模的时候只需要考虑与对象当前行为有关的属性状态即可。现在是17页\一共有47页\编辑于星期三状态图--状态

对“飞机”对象来说:累计飞行10000km与15000km在行为上并无实质性的区别建模时,也许系统关心的只是飞机的当前使用状况,如飞行、着陆、机场停放、维修和报废等。可以根据飞机使用的几种情况将建立状态图,其中可以建立“飞行”、“着陆”、“机场停放”、“维修”、“报废”等几种状态。现在是18页\一共有47页\编辑于星期三状态图的UML表示

初始状态终止状态简单状态添加动作的状态现在是19页\一共有47页\编辑于星期三状态图的UML表示

1.状态名状态名指的是状态的名字。2.初始状态每个状态图都应该有一个初始状态,它代表状态图的起始位置。初始状态是一个伪状态(一个和普通状态有链接的假状态),对象不可能保持在初始状态。在UML中一个状态图只能有一个初始状态。现在是20页\一共有47页\编辑于星期三状态图的UML表示

3.终止状态终止状态是一个状态图的终点,一个状态图可以拥有一个或者多个终止状态。对象可以保持在终止状态,但终止状态不可能有任何形式的触发转换。有些特殊的状态图,可以没有终止状态。现在是21页\一共有47页\编辑于星期三状态图的UML表示

4.入口动作和出口动作在特定的状态下对象可执行的动作包括:1.entry/EntryAction进入状态时执行的动作2.do/DoAction状态激活时一直执行的动作3.exit/ExitAction离开状态时执行的动作现在是22页\一共有47页\编辑于星期三状态图的UML表示

5.组合状态嵌套在另外一个状态中的状态称之为子状态(sub-state),一个含有子状态的状态被称作组合状态(CompoundStates)。

现在是23页\一共有47页\编辑于星期三状态图的UML表示

5.历史状态历史状态是一个伪状态,其目的是记住从组合状态中退出时所处的子状态,当再次进入组合状态,可直接进入这个子状态,而不是再次从组合状态的初态开始。

现在是24页\一共有47页\编辑于星期三状态图的UML表示

5.历史状态历史状态分为两种:浅历史状态只记住最外层组合状态历史浅历史状态可以记录任意深度的组合状态的历史。

现在是25页\一共有47页\编辑于星期三状态图的UML表示

6.同步(并发)同步是为了说明并发工作流的分支与汇合。

现在是26页\一共有47页\编辑于星期三状态图的UML表示

7.判定

有判定示例无判定示例现在是27页\一共有47页\编辑于星期三状态图的UML表示

7.判定

现在是28页\一共有47页\编辑于星期三状态图的UML表示

7.事件

一个事件的发生能触发状态的转换。UML中的事件有:调用事件、信号事件、改变事件、时间事件。现在是29页\一共有47页\编辑于星期三事件

调用事件(CallEvent)调用事件至少涉及两个及以上的对象,一个对象请求调用另一个对象的操作。调用事件一般为同步调用,也可以是异步调用。如果调用者需等待操作的完成,则是同步调用,否则是异步调用。现在是30页\一共有47页\编辑于星期三事件

信号事件(signalEvent)信号是作为两个对象之间的通信媒介的命名的实体,信号的接收是接收对象的一个事件。发送对象明确地创建并初始化一个信号实例并把它送到一个或一组对象。现在是31页\一共有47页\编辑于星期三事件

改变事件(ChangeEvent)改变事件指的是依赖与特定属性值的布尔表达式所表示的条件满足时,事件发生改变。如:when(number<100)现在是32页\一共有47页\编辑于星期三事件

时间事件(TimeEvent)时间事件是经过一定的时间或达到某个绝对时间后发生的事件。如:after(2seconds)/connectPrint现在是33页\一共有47页\编辑于星期三状态图的UML表示

8.监护条件(GuardCondition)

状态转换可能具有一个监护条件,监护条件是一个布尔表达式,它是触发转换必须具备的条件。现在是34页\一共有47页\编辑于星期三状态图实例

现在是35页\一共有47页\编辑于星期三状态图实例

在一般的系统中,很少会直接实现状态图,常见方式是分析状态图内的活动或动作归入类图,随后通过序列图的设计来间接落实状态图。针对每一张状态图,可以经由下述步骤,找到相关操作及属性。状态内部的所有动作,以及所有转换,可以定义为操作。所有动作及转换用到的数据,可以定义为属性。与该类有泛化关系与组合关系的其他类,可以同时考虑他们的操作及属性。有些属性或操作可能是其他对象的,请将他们归还所属类。现在是36页\一共有47页\编辑于星期三找出类的操作及属性

针对每一个操作可以找到下述可能用到的属性。设定交易数据():申购日期、信托金额、扣款账号、凭证号码、扣款日期、投资金额。产生交易编号():凭证号码。设定状态():扣款情况(正常扣款、暂停扣款、终止扣款)。扣款():交易金额(投资金额+手续费)累计失败次数():失败次数关闭定期定额交易():终止日期、扣款情况(终止扣款)现在是37页\一共有47页\编辑于星期三找出类的操作及属性

现在是38页\一共有47页\编辑于星期三找出类的泛化关系

由于定期定额申购、单笔申购与申购交易之间有泛化关系,将共同之处搬到申购交易处。现在是39页\一共有47页\编辑于星期三找出类的组合关系

定期定额申购与单期交易之间有组合关系,所以针对单期交易,找到如下图所示的操作及属性。现在是40页\一共有47页\编辑于星期三操作、属性归还所属类

计算可申购单位数()单期交易->申购交易银行折扣申购交易->银行分行基金管理费申购交易->基金库存单位数申购交易

现在是41页\一共有47页\编辑于星期三操作、属性归还所属类

现在是42页\一共有47页\编辑于星期三操作、属性归还所属类

现在是43页\一共有47页\编辑于星期三活动图

活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动图是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模现在是44页\一共有47页\编辑于星期三活动图

现在是45页\一共有47页\编辑于星期三活动图与流程图的区别流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论