第6章-动态模型课件.ppt

上传人(卖家):ziliao2023 文档编号:5671706 上传时间:2023-05-01 格式:PPT 页数:45 大小:815KB
下载 相关 举报
第6章-动态模型课件.ppt_第1页
第1页 / 共45页
第6章-动态模型课件.ppt_第2页
第2页 / 共45页
第6章-动态模型课件.ppt_第3页
第3页 / 共45页
第6章-动态模型课件.ppt_第4页
第4页 / 共45页
第6章-动态模型课件.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、软件建模技术中国水利水电出版社中国水利水电出版社高职高专计算机类专业“十二五”规划教材主编 曹静软件建模技术软件建模技术第一部分第一部分 基基 础础 篇篇1 第二部分 实 践 篇2第三部分第三部分 工工 具具 篇篇 3gelishfw/gybcny/hd8go/sj93/mdwxz88/oemgc/189288/hzp580 yjoem/oemdg/oemfy/xcdnpx/yanjigz/189286/xcdnpx/dgxcdn dgxcpx/xcwxpx/xunchi-px/donghuijc/oemfy/0759mz/lczx188/189287/ystdzkj/023gree/glwx

2、z/023midea/023chigo/023aux/023haier/023xiu/51xiu.org/023vatti/meidix/ystdzkj/ystmach/ystcode/hthqdb/023midea/bbs/gz-bestally/gz-bestally/cwb1024.163/manage/#m=0&t=0.sina/gz-bestally/gzdzbjbw/adminbeat/index.aspystmach/bbs/forum.phpystcode/bbs/forum.php第第6章章 动态模型动态模型v6.1 动态模型概述动态模型概述 v6.2 活动图活动图 6.2.

3、1 定义活动图 6.2.2 如何建模活动图 6.2.3 实例活动图在用例模型中的作用 6.2.4 活动图与其它模型v6.3 顺序图顺序图 6.3.1 定义顺序图 6.3.2 关于消息 6.3.3 对象的创建和销毁 6.3.4 顺序图的主要用途 6.3.5 顺序图实例第第6章章 动态模型动态模型v 6.4 协作图协作图 6.4.1 定义协作图 6.4.2 综合实例v 6.5 状态图状态图 6.5.1 定义状态图 6.5.2 为什么要建模状态图 6.5.3 状态图映射成代码 6.5.4 状态图实例第第6章章 动态模型动态模型v教学要求教学要求 理解:动态建模在软件开发中的作用,动态模型与静态模型的

4、关系。掌握:动态建模的方法。v 一个完整的模型必然描述系统的静态和动态两个方面一个完整的模型必然描述系统的静态和动态两个方面 v 静态模型重在描绘系统的组成结构静态模型重在描绘系统的组成结构 v 动态模型描述系统的行为动态模型描述系统的行为 v UMLUML提供如下动态模型:交互图(顺序图和协作图)、状态图、活动图提供如下动态模型:交互图(顺序图和协作图)、状态图、活动图 状态图用来描述某一特定对象所有可能的状态及状态间的转移,是对类图的补充 顺序图用来描述对象间的动态交互关系,着重体现对象间消息传递的时间顺序 协作图用来描述相互协作的对象的交互关系和关联关系,着重体现对象间的静态关联关系 活

5、动图主要用于描述用例内部的工作流程 6.1 动态模型概述动态模型概述 v本节教学要求 理解:活动图的作用 掌握:活动图建模的方法6.2 活动图活动图 v活动图用于描述系统、子系统、用例、程序模块活动图用于描述系统、子系统、用例、程序模块中的工作流,帮助理解系统高层活动的执行过程中的工作流,帮助理解系统高层活动的执行过程6.2 活动图活动图 v6.2.1 定义活动图定义活动图 活动图的符号活动图的符号v 一个活动图必然有一个开始状一个活动图必然有一个开始状态态 v 至少有一个结束状态至少有一个结束状态 v 转移用来表示活动或状态间的转移用来表示活动或状态间的控制流控制流 v 有分支时要在分支路径

6、中注明有分支时要在分支路径中注明分支条件分支条件 v 分岔用来开始并行处理分岔用来开始并行处理 v 联结用于把并行处理转换为联结用于把并行处理转换为单个处理单个处理 6.2 活动图活动图 v6.2.1 定义活动图定义活动图 vATM机“登录”用例的活动图6.2 活动图活动图 v6.2.1 定义活动图定义活动图 v游泳道将活动图的活动状态分组,每一组表示负游泳道将活动图的活动状态分组,每一组表示负责那些活动的业务组织,直接显示动作在哪一个责那些活动的业务组织,直接显示动作在哪一个业务组织中执行业务组织中执行v每一个活动都只能明确地属于一个泳道每一个活动都只能明确地属于一个泳道 6.2 活动图活动

7、图 v6.2.1 定义活动图定义活动图 (1)定义活动图范围,确定开始、结束状态。)定义活动图范围,确定开始、结束状态。(2)添加活动,建模主路径。)添加活动,建模主路径。(3)寻找分支和并行的情况,建模扩展路径。)寻找分支和并行的情况,建模扩展路径。(4)根据需要划分游泳道。)根据需要划分游泳道。6.2 活动图活动图 v6.2.2 如何建模活动图如何建模活动图 “餐馆订餐”系统的用例图6.2 活动图活动图 v6.2.3 实例实例活动图在用例模型中的作用活动图在用例模型中的作用 gelishfw/gybcny/hd8go/sj93/mdwxz88/oemgc/189288/hzp580 yjo

8、em/oemdg/oemfy/xcdnpx/yanjigz/189286/xcdnpx/dgxcdn dgxcpx/xcwxpx/xunchi-px/donghuijc/oemfy/0759mz/lczx188/189287/ystdzkj/023gree/glwxz/023midea/023chigo/023aux/023haier/023xiu/51xiu.org/023vatti/meidix/ystdzkj/ystmach/ystcode/hthqdb/023midea/bbs/gz-bestally/gz-bestally/cwb1024.163/manage/#m=0&t=0.si

9、na/gz-bestally/gzdzbjbw/adminbeat/index.aspystmach/bbs/forum.phpystcode/bbs/forum.php“记录预约”用例的事件路径如下:1接待员输入要预约的日期接待员输入要预约的日期2系统显示该日的预约系统显示该日的预约3有一张合适的餐桌可以使用,接待员输入顾客的姓名和电话号码、有一张合适的餐桌可以使用,接待员输入顾客的姓名和电话号码、预约的时间、用餐人数和餐桌号预约的时间、用餐人数和餐桌号 3a 没有合适的餐桌可以使用没有合适的餐桌可以使用 3a1 用例终止用例终止4系统记录并显示该预约系统记录并显示该预约 4a 输入的预约人

10、数多于餐桌能容纳的人数输入的预约人数多于餐桌能容纳的人数 4a1 系统发出一个警告信息,询问用户是否想要继续预约系统发出一个警告信息,询问用户是否想要继续预约 4a1a 如果回答如果回答“否否”,用例将不进行预约而终止,用例将不进行预约而终止 4a1b 如果回答如果回答“是是”,预约将被输入,并附有一个警告标志,预约将被输入,并附有一个警告标志6.2 活动图活动图 v6.2.3 实例实例活动图在用例模型中的作用活动图在用例模型中的作用建模主事件流6.2 活动图活动图 v6.2.3 实例实例活动图在用例模型中的作用活动图在用例模型中的作用建模扩展事件流6.2 活动图活动图 v6.2.3 实例实例

11、活动图在用例模型中的作用活动图在用例模型中的作用划分游泳道后的活动图6.2 活动图活动图 v6.2.4 活动图与其他模型活动图与其他模型 1画活动图表示如下“自动售货机”的工作过程:顾客向机器投币;系统检查钱币的数量;系统显示可购买的饮料种类;顾客选择想买的饮料;如果机器无法送出饮料,则系统提示顾客想购买的饮料缺货,要求顾客重新选择饮料,否则系统送出饮料;最后,顾客得到饮料。2试画出ATM自动取款机“取款”用例的活动图(参见4.5节的用例文档)。3画出春游的活动图,确定开始、结束状态,考虑天气、费用等因素,设计出分支、分岔。4对选课系统中的Add Course(添加课程)设计和制作活动图,将管

12、理员输入课程信息作为起始的活动,内容如下:(1)管理员输入信息。(2)系统验证是否和已有课程冲突。(3)如果没有冲突,则系统添加新课程,提示课程添加成功。(4)系统重新进入管理主界面,显示所有课程。(5)结束。6.2 活动图活动图 v6.2.4 活动图与其他模型活动图与其他模型v本节教学要求 理解:顺序图如何表达对象间的交互关系,顺序图与类图的关系。掌握:顺序图建模的方法,顺序图和类图之间的映射,顺序图与代码的映射。6.3 顺序图顺序图 v软件系统中的任务是通过对象之间的合作来完成的,这种合作称为交互。交互模型可以用来描述软件系统中的类、接口、组件、节点的实例的动态行为。交互模型包括顺序图和协

13、作图。v顺序图用来建模对象间的交互,强调按时间顺序展开的信息的传递。它与活动图的相似之处是可以表示流程,但顺序图能进一步地将活动分配给对象。通常,一个顺序图只显示一个控制流 6.3 顺序图顺序图v6.3.1 定义顺序图定义顺序图 gelishfw/gybcny/hd8go/sj93/mdwxz88/oemgc/189288/hzp580 yjoem/oemdg/oemfy/xcdnpx/yanjigz/189286/xcdnpx/dgxcdn dgxcpx/xcwxpx/xunchi-px/donghuijc/oemfy/0759mz/lczx188/189287/ystdzkj/023gre

14、e/glwxz/023midea/023chigo/023aux/023haier/023xiu/51xiu.org/023vatti/meidix/ystdzkj/ystmach/ystcode/hthqdb/023midea/bbs/gz-bestally/gz-bestally/cwb1024.163/manage/#m=0&t=0.sina/gz-bestally/gzdzbjbw/adminbeat/index.aspystmach/bbs/forum.phpystcode/bbs/forum.phpATM机“登录成功”的顺序图6.3 顺序图顺序图v6.3.1 定义顺序图定义顺序图

15、v1消息的类型(1)同步消息(Synchronous):表示该消息完成之前,同一个对象不能再发送下一条消息。(2)返回消息(Return):表示控制流返回到调用的活动对象。(3)异步消息(Asychronous):表示不必等待来自该消息的响应,同一个对象即可发出下一条消息。(4)简单消息(Flat):表示不区分同步或异步。同步消息异步消息返回消息简单消息6.3 顺序图顺序图v6.3.2 关于消息关于消息 v2消息的传入和传出消息传入某个对象,表示该对象是消息的承担者;消息消息传入某个对象,表示该对象是消息的承担者;消息由某个对象传出,表示该对象是消息的发起者、调用者由某个对象传出,表示该对象是

16、消息的发起者、调用者 6.3 顺序图顺序图v6.3.2 关于消息关于消息 消息的传入和传出6.3 顺序图顺序图v6.3.2 关于消息关于消息 v 在在“订单订单”对象执行对象执行“结账结账”方方法的过程中传出了法的过程中传出了5 5条消息,说条消息,说明这个方法体中作了明这个方法体中作了5 5处方法调处方法调用:用:订单订单.结账结账()订单项订单项.计算价钱计算价钱();订单项订单项.计算税金计算税金();订单项订单项.寻找最近的供应商寻找最近的供应商();订单项订单项.计算税金计算税金();(订单订单).合计总价钱合计总价钱();v 有有4 4条消息传入条消息传入“订单订单”对象,对象,说

17、明说明“订单订单”类有以下方法:类有以下方法:订单订单.结账结账()订单订单.合计总价钱合计总价钱()订单订单.付款付款()订单订单.校验信用卡校验信用卡()6.3 顺序图顺序图v6.3.2 关于消息关于消息 v将create消息发送给对象实例,从而即时创建对象,对象创建之后才具有生命线 vdestroys消息用于销毁对象,给需要销毁的对象发送这个消息,同时在该对象的生命线上放一个“”符号,表示对象的生命终止 6.3 顺序图顺序图v6.3.3 对象的创建和销毁对象的创建和销毁 教师试图修改学生的成绩,但该学生的成绩信息在系统中不存在6.3 顺序图顺序图v6.3.3 对象的创建和销毁对象的创建和

18、销毁 顺序图的主要用途之一是表示用例中的行为顺序 在系统开发的早期阶段,顺序图可以应用在高层场景的表达上;后续阶段,则可以确切地表示对象间的消息传递过程。6.3 顺序图顺序图v6.3.4 顺序图的主要用途顺序图的主要用途 v一家民营企业希望开发一套网上报销系统,在系统一家民营企业希望开发一套网上报销系统,在系统设计要求中规定:员工出差时必须填写出差申请,设计要求中规定:员工出差时必须填写出差申请,每张出差申请上标注了报销限额。因而填写报销时每张出差申请上标注了报销限额。因而填写报销时需填写出差申请编号,以便检查是否超过限额。需填写出差申请编号,以便检查是否超过限额。6.3 顺序图顺序图v6.3

19、.5 顺序图实例顺序图实例 gelishfw/gybcny/hd8go/sj93/mdwxz88/oemgc/189288/hzp580 yjoem/oemdg/oemfy/xcdnpx/yanjigz/189286/xcdnpx/dgxcdn dgxcpx/xcwxpx/xunchi-px/donghuijc/oemfy/0759mz/lczx188/189287/ystdzkj/023gree/glwxz/023midea/023chigo/023aux/023haier/023xiu/51xiu.org/023vatti/meidix/ystdzkj/ystmach/ystcode/ht

20、hqdb/023midea/bbs/gz-bestally/gz-bestally/cwb1024.163/manage/#m=0&t=0.sina/gz-bestally/gzdzbjbw/adminbeat/index.aspystmach/bbs/forum.phpystcode/bbs/forum.phpv报销系统的类图6.3 顺序图顺序图v6.3.5 顺序图实例顺序图实例 v报销成功的顺序图报销成功的顺序图6.3 顺序图顺序图v6.3.5 顺序图实例顺序图实例 练习:1现已有4个类:客户、订单、订单行、零件目录,分别画出下列工作流的顺序图:(1)创建订单行。客户对象向订单发送一个消息

21、说明要订购的零件和数量,创建一个新的订单行对象,订单行对象向零件目录对象获得零件价格。(2)删除订单行。客户对象向订单发送一个消息说明要删除的订单行对象,订单行对象被删除。2画出ATM系统“取款成功”的顺序图,表示出如下过程:某人将卡插入读卡机,读卡机读卡,初始化屏幕;屏幕提示输入用户密码,该用户输入其密码,屏幕向账户对象验证密码,发出相符合的消息;屏幕向该用户提供选项,该用户选择取钱,并在屏幕的提示下输入提取金额;ATM机验证用户账户金额,验证通过后在其账户中扣除相应金额并提供现金;屏幕提示是否打印凭条,用户选择是,打印机打印凭条;屏幕提供选项,用户选择退卡,系统退卡。6.3 顺序图顺序图v

22、6.3.5 顺序图实例顺序图实例 3假设学生已经成功登录选课系统,“成功选课(Select Course)”的顺序图如下,请写出其含义,并画出相关的类图。6.3 顺序图顺序图v6.3.5 顺序图实例顺序图实例 v本节教学要求 理解:协作图和顺序图的区别与联系。掌握:协作图和顺序图之间的转换。6.4 协作图协作图 v 协作图可以看做是对象图和顺序图的结合,它能表达对象间的交互过程及对象间的关联关系 教师修改学生成绩的协作图教师修改学生成绩的协作图 6.4 协作图协作图 v6.4.1 定义协作图定义协作图 v协作图和顺序图是一对孪生兄弟,它们都能表示对象间的交互过程。但是它们的侧重点不同v顺序图清

23、楚地表示了交互作用中的时间顺序,但没有明确表示对象间的关系v协作图清楚地表示了对象间的关联关系,但时间顺序必须从顺序号获得 6.4 协作图协作图 v6.4.1 定义协作图定义协作图 v本节教学要求 理解:状态图的作用。掌握:状态图的建模方法,状态图到代码的映射。6.5 状态图状态图 v 当前处于当前处于LockedLocked状态,若发生状态,若发生coincoin事件,则变迁到事件,则变迁到UnlockedUnlocked状态,调用状态,调用UnlockUnlock方法。方法。v 当前处于当前处于UnlockedUnlocked状态,若发生状态,若发生passpass事件,则变迁到事件,则变

24、迁到LockedLocked状态,调用状态,调用LockLock方法。方法。v 当前处于当前处于UnlockedUnlocked状态,若发生状态,若发生coincoin事件,则变迁到事件,则变迁到UnlockedUnlocked状态,调用状态,调用ThankyouThankyou方法。方法。v 当前处于当前处于LockedLocked状态,若发生状态,若发生passpass事件,则继续停留在事件,则继续停留在LockedLocked状态,调用状态,调用AlarmAlarm方法方法 地铁十字转地铁十字转门的状态图门的状态图6.5 状态图状态图v6.5.1 定义状态图定义状态图 状态图的基本符号

25、6.5 状态图状态图v6.5.1 定义状态图定义状态图 gelishfw/gybcny/hd8go/sj93/mdwxz88/oemgc/189288/hzp580 yjoem/oemdg/oemfy/xcdnpx/yanjigz/189286/xcdnpx/dgxcdn dgxcpx/xcwxpx/xunchi-px/donghuijc/oemfy/0759mz/lczx188/189287/ystdzkj/023gree/glwxz/023midea/023chigo/023aux/023haier/023xiu/51xiu.org/023vatti/meidix/ystdzkj/ystm

26、ach/ystcode/hthqdb/023midea/bbs/gz-bestally/gz-bestally/cwb1024.163/manage/#m=0&t=0.sina/gz-bestally/gzdzbjbw/adminbeat/index.aspystmach/bbs/forum.phpystcode/bbs/forum.phpv对象可能会有不同的状态,某些行为依赖于这些状对象可能会有不同的状态,某些行为依赖于这些状态。例如,按下开关按钮时,电灯将改变当前的状态。例如,按下开关按钮时,电灯将改变当前的状态(由关变开或由开变关),因此:态(由关变开或由开变关),因此:需要记录对象当前

27、的状态 发生了某种事件才会引起状态间的转移 由一个状态转到另一个状态的过程通常通过方法调用实现 v状态图通常作为对类图的补充状态图通常作为对类图的补充 6.5 状态图状态图v6.5.2 为什么要建模状态图为什么要建模状态图 v将不同状态作为常数枚举,把当前状态存储在适当的将不同状态作为常数枚举,把当前状态存储在适当的数据成员中。数据成员中。v依赖于状态的操作可以用开关语句对每个状态分别设依赖于状态的操作可以用开关语句对每个状态分别设一个一个casecase实现。每个实现。每个casecase表示来自特定状态,用相应表示来自特定状态,用相应的消息表示转换。的消息表示转换。v需求用专门的数据成员存储对象的历史状态需求用专门的数据成员存储对象的历史状态 6.5 状态图状态图v6.5.3 状态图映射成代码状态图映射成代码 银行账户对象的状态图对应的代码参见教材对应的代码参见教材 6.5 状态图状态图v6.5.4 状态图实例状态图实例 本章小结v1UML中的图及其相互关系v2面向对象分析设计的主要原则 中国水利水电出版社中国水利水电出版社

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第6章-动态模型课件.ppt)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|