建立动态模型-状态图

合集下载

类图、时序图、状态图-ATM系统

类图、时序图、状态图-ATM系统
(2) 误把关联类旳属性看成对象旳属性 假如某个性质依赖于某个关联链旳存在,则该性质是 关联类旳属性,不应该把它作为一般对象旳属性。 例如,带宽是体现关联旳属性而不是ATM旳
10.3 建立对象模型
10.3.4 拟定属性
➢ 分析
(3) 把限定误当成属性 正确使用限定词往往能够降低关联旳重数。假如把某 个属性值固定下来后来能降低关联旳重数,则应该考 虑把这个属性重新表述成一种限定词。 在ATM系统旳例子中,“分行代码”、“账号”、 “雇员号”、“站号”等都是限定词。 (4) 误把内部状态当成了属性 假如某个性质是对象旳非公开旳内部状态,则应该从 对象模型中删掉这个属性。
对象模型最基本、最主要、最关键。
10.1 面对对象分析旳基本过程
▪ 3个子模型
对所处理问题旳描述角度进行划分:
3个子模型
静态构造(对象模型) 交互顺序(动态模型) 数据变换(功能模型)
处理问题不同,三个子模型旳主要程度也不同。
10.1 面对对象分析旳基本过程
▪ 5个层次
主题指读者了解大型、 复杂模型旳一种机制 (记忆旳7+2原则)
10.3 建立对象模型
10.3.1找出候选类与对象
1.找出候选旳类与对象(续)
名词解析法 从陈说中找出全部名词,作为类和对象旳初步候选者 银行,自动取款机(ATM),系统,中央计算机, 分行计算机,柜员终端,网络,总行,分行,软件, 成本,市,街道,营业厅,储蓄所,柜员,储户, 现金,支票,账户,事物,现金兑换卡,余额, 磁卡,分行代码,卡号,顾客,副本,信息,密码, 类型,取款额,账单,访问。 通信链路 事务日志
A T M 系 统 正 常
和 异 常 脚 本
10.4.2 设想顾客界面

UML状态图的画法

UML状态图的画法
当发生一个转移时,该转移进入的状态为活动状态,它将执行相应 的动作。当发生一个转移离开一个状态时,该状态变为非活动状态。
转移类型:简单转移、自转移、自动转移、复合转移等。
14
事件
事件(event是指某个时刻发生的事情 事件中最常见的是:
信号事件(signal event):从一个对象到另一个对象 的明确的单向信息流动。
购入项目 在店内
entry/ 令store = theStore本店)
弃置项目
租出项目 归还项目
已租出
租出项目
正常 entry/ 令store = null空值) 已出租do/ 每天检查到期时间
超过到期日子
过期 entry/ 通知会员
25
3.4.2 顺序子状态
顺序子状态:子状态是一个一个顺序转移的不是并发存在 的
源状态
目标状态1
源状态1
目标状态2
源状态2
目标状态
30
3.4.4 并发子状态—同步
在并发状态图中一个子状态图中 的子状态常常需要与另一个子 状态图中的子状态的行为同步 在UML中使示(伪状态,放 在分隔子状态的虚线上。
例:建筑住宅的并发状态图。 其中有二个子状态图,分别 代表主体工程施工和水电工程 施工,它们是并行进行的。
历史状态是一个伪状态的图形标记,只能作为组合状态中 的子状态,不能在顶层状态图中使用。
32
3.4.5 历史状态2
活动 停止
恢复
H
暂停
播发
中断
选择
影碟机对象工作的部分状态图
33
3.5 状态图的应用
状态图为一个对象的生命周期建立模型状态图可以表示一 个对象的历史引起一个状态向另一个状态转移的事件,以 及由于状态的转移而引发的动作。

银行储蓄系统面向对象分析

银行储蓄系统面向对象分析

课题:银行计算机储蓄系统学院:数学科学学院班级:信科1202 信科1201 学号:********* ********* 姓名:****:***银行储蓄系统面向对象分析一、建立对象模型需求陈述:储户填写存款单或取款单由业务员键入系统。

如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期,到期日期,利率以及密码(可选)等信息,并引出存款单给储户,如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息,并印出利息清单给储户。

确定类&对象:1.找出所有可能的类&对象:储户、存款单、取款单、业务人员、计算机储蓄系统、账户、事务2.筛选:储户、业务人员、计算机储蓄系统、账户、事务确定关联:储户拥有账户业务人员与计算机通信业务人员输入事务最终的关联为如下图:确定属性:储户:姓名、地址账户:余额、限额、类型业务人员事务:类型、日期、金额业务人员:姓名建立的对象模型为:二、建立动态模型编写脚本:计算机储蓄系统的正常情况脚本:储户的填写存款单业务人员键入系统,系统引出存款单给储户储户填写取款单,系统核对储户密码,计算利息并打印利息清单给储户计算机储蓄系统的异常情况脚本:储户身份证号码填写错误,找不到该储户信息储户填写取款单的密码错误画事件跟踪图:储蓄系统正常情况事件跟踪图:储蓄系统异常情况事件跟踪图:画状态图:三、建立功能模型画出基本数据流图: 顶层数据流图:画出功能级数据流图:把基本系统模型中单一的处理框分解成若干个处理框,以描述系统加工、变换数据的基本功能,就得到功能级数据流图如下图:储户业务人员储蓄系统款单信息输入信息储户 业务人员填写存取款单记录存款信息核对储户密码核对账户计算利率显示出错信息请求重新填写款单 输入取款单信息无错输入存款单信息无错打印利息清单输入信息存款单输出信息账户。

系统动态建模状态模型

系统动态建模状态模型
第5页/共122页
主要内容
• 6.1 状态图的基本组成成分 • 6.2 状态的分类与描述 • 6.3 状态迁移的触发与描述 • 6.4 活动图与状态图的比较 • 6.5 动态状态模型建模案例-信贷管理子系统 • 补充: 使用rose画状态图
第6页/共122页
• 6.1 状态图的基本组成成分 • 6.1.1 对象状态的基本描述图符 • 6.1.2 状态的迁移 • 6.1.3 一个无人职守电梯升降的状态图
第17页/共122页
第18页/共122页
6.1.2 状态的迁移
• 一个对象从一个状态改变成另一个状态称为状态迁移 • 状态的迁移用连接这两个状态的实箭线表示。在状态的迁移箭线上写上引起该迁
移的事件、条件和动作。 • 当事件发生时,动作发生,执行从一个状态到另一个状态的迁移,称为迁移点火
或状态触发。
• 6.3 状态迁移的触发与描述 • 6.3.1 状态的迁移触发
第27页/共122页
• 6.1 状态图的基本组成成分 • 6.1.1 对象状态的基本描述图符 • 6.1.2 状态的迁移 • 6.1.3 一个无人职守电梯升降的状态图
• 6.2 状态的分类与描述 • 6.2.1 对象的状态属性 • 6.2.2 简单状态与嵌套状态 • 6.2.3 状态的顺序迁移-顺序状态 • 6.2.4 状态的并发迁移与同步-并发状态与同步 • 6.2.5 嵌套状态中的历史状态指示器
第42页/共122页
子状态的关系
• 与关系说明复合状态中在某一时刻可同时到达多个子状态(称为并发子状态)。 具有并发子状态的状态图称为并发状态图。
前进和低速 前进和高速 后退和低速 后退和高速
第43页/共122页
6-6 描述设备(车床)状况的嵌套状态图

第8章 面向对象分析-软件工程基础(第3版)-胡思康-清华大学出版社

第8章  面向对象分析-软件工程基础(第3版)-胡思康-清华大学出版社

第8章 面向对象分析
第 5 页5
面向对象分析概述
面向对象分析的3类模型
OOA模型由3类独立模型构成:功能模型、静态模型和动态模型。 ➢功能模型描述软件系统的用户交互和功能。 ➢静态模型描述软件系统中类与对象以及它们间的关系,也因也称 为对象模型。 ➢动态模型描述系统的控制结构,也称为交互模型。
第8章 面向对象分析
第 6 页6
面向对象分析概述

静态模型的5个层次 类-对象层
对象
Coad和Yourdon 提出,对于大型、复杂 性软件系统,需要建立 分析问题域的静态模型。 该模型由5个层次组成: 类-对象层、结构层、 属性层、服务层和主题 层。
结构层 属性层 服务层 主题层
泛化关系
关联关系
属性
对象连接
服务
消息连接
⑶ 用例描述:用文字信息详细描述用例的内容,它是对用 例的有益补充。
第8章 面向对象分析
第 8 页8
建立静态模型
➢用例模型分别从参与者和系统的角度描述用户需求, 依据用例模型导出静态模型。静态模型是面向对象建 模中最基本、最重要、最耗时的技术活动。 ➢静态建模的任务是构建问题域的概念模型,把问题 域中的实体转变为信息域的类与对象以及它们间的关 系,因此也被称为对象模型或领域模型。 ➢静态模型通过建立类图及关系来反映领域概念,而 面向对象设计也建立类图,但各阶段对类的抽象程度 不同。
第8章 面向对象分析
第 12 页12
建立动态模型
建立状态图
状态图描述的就是对象状态的转换过程。通过对对象状态 的分析,能够了解对象在系统流程中的变换,从而发现潜在的事 件和条件。
建立状态图的一般过程如下: ⑴ 了解系统的主要功能和性能,确定和它们有关的主要对象。 ⑵ 列出一个对象的生存期内的所有可能的状态。 ⑶ 确定对象状态改变时的触发条件或事件。 ⑷ 在一个对象中,选定一组与描述状态相关的行为属性和促使 改变状态的方法。 ⑸ 结合触发条件、事件、行为属性值改变的先后顺序,建立软 件系统的状态图。

软件工程---UML动态分析-活动图

软件工程---UML动态分析-活动图

Make Plan
entry/ SetGoal
2020/5/4
26
动作流
与状态图不同,活动图的转换一般都不需要特 定事件的触发。
一个动作状态执行完本状态需要完成的动作后 会自发转换到另外一个状态。
2020/5/4
27
动作流
一个活动图有很多动作或者活动状态,
活动图通常开始于初始状态,然后自动转换到 活动图的第一个动作状态,一旦该状态的动作 完成后,控制就会不加延迟地转换到下一个动 作状态或者活动状态。
7
活动图与流程图的区别
⑴ 流程图着重描述处理过程,它
的主要控制结构是顺序、分支 和循环,各个处理过程之间有 严格的顺序和时间关系
找饮料 [ 发现咖啡 ]
活动图描述的是对象活动的顺序
把咖啡放入 滤器
关系所遵循的规则,它着重表 将滤器放入 现的是系统的行为,而非系统 机器
的处理过程。
往容器里加 水
开机器
活动图着重表现从一个活动到另一个活动的控制流, 是内部处理驱动的流程。
找饮料
[ 发现咖啡 ]
[ 没有咖啡 ] [ 发现可乐 ]
把咖啡放入 滤器
往容器里加 水
拿茶杯
拿可乐
将滤器放入 机器
[ 没有可乐 ]
开机器 冲咖啡
倒咖啡
喝饮料
2020/5/4
12
活动的图形表示
在UML中,活动表示成圆角矩形,与状态的圆角矩 形相比,活动的矩形的圆角更柔和,看上去接近椭 圆。
不能中断,一直运行到结束。 ⑶ 动作状态是瞬时的行为,它所占用的处理时
间极短,有时其至可以忽略。
2020/5/4
19
动作状态
动作状态有如下特点:

第7章 状态图和活动图


图7.1 图书馆书籍的状态图
一个图书对象从它的起始点 开始,首先是“新书”状态 (new book),然后是“可 以借阅”(available)的状 态,如果有读者将书借走, 则该书的状态为“已借出” 状态(borrowed),如果图 书被归还图书馆,图书的状 态又变为“可以借阅”状态 。图书馆如果放弃该图书对 象的收藏,则图书对象处于 “删除”状态(delete),最 后到达“终止”状态。
7.2.1 活动图概述
在用例模型中,可以利用文本来描述用例的业务流程, 但如果业务流程较为复杂的话,则可能会难以阅读和 理解,这时需要用更加容易理解的方式(图形)来描 述业务过程的工作流,在UML中将这类描述活动流程 的图形称为活动图(Activity Diagram)。 活动图被设计用于简化描述一个过程或者操作的工作步 骤。活动用圆角矩形表示,接近椭圆。一个活动中的 处理一旦完成,则自动引起下一个活动的发生。箭头 表示从一个活动转移到下一个活动。和状态图类似, 活动图中的起点用一个实心圆表示,终点用一个实心 圆外加一个圆圈表示。在一个活动图中,只有一个起 始状态,可以有零个或多个终止状态。
第7章 状态图和活动图
7.1状态图
状态图,用于UML中建立动态模型,主要描述系
统随时间变化的行为,这些行为是用从静态视图中抽 取的系统的瞬间值的变化来描述的。在对象的生命期 建模中,状态图显示了一个状态机,展示的是单个对 象内从状态到状态的控制流。状态图通过对类的对象
的生存周期建立模型来描述对象随时间变化的动态行
7.2.7分叉和汇合
对象在运行时可能会存在两个或多个并发运行的控制流, 为了对并发的控制流建模,UML中引入了分叉与汇合的概 念。分叉用于将动作流分为两个或多个并发运行的分支, 而汇合则用于同步这些并发分支,以达到共同完成一项事 务的目的。 在UML中使用分叉和汇合表示并行发生的事件流。分叉表 示把一个单独的控制流分成两个或多个并发的控制流。一 个分叉可以有一个进入转移和两个或多个输出转移,每一 个转移表示一个独立的控制流。 汇合表示两个或多个并发 控制流的同步发生,一个汇合可以有两个或多个进入转移 和一个输出转移。分叉和汇合应该是平衡的。分叉和汇合 在图形上都使用同步条来表示,同步条通常用一条粗的水 平线表示。

动态模型

软件建模技术
1
第一部分 基 础 篇
2
第二部分 实 践 篇
3
第三部分 工 具 篇
第6章 动态模型
❖6.1 动态模型概述
❖6.2 活动图
▪ 6.2.1 定义活动图 ▪ 6.2.2 如何建模活动图 ▪ 6.2.3 实例——活动图在用例模型中的作用 ▪ 6.2.4 活动图与其它模型
❖6.3 顺序图
▪ 6.3.1 定义顺序图 ▪ 6.3.2 关于消息 ▪ 6.3.3 对象的创建和销毁 ▪ 6.3.4 顺序图的主要用途 ▪ 6.3.5 顺序图实例
▪ 掌握:动态建模的方法。
6.1 动态模型概述
❖ 一个完整的模型必然描述系统的静态和动态两个方面 ❖ 静态模型重在描绘系统的组成结构 ❖ 动态模型描述系统的行为
❖ UML提供如下动态模型:交互图(顺序图和协作图)、状态图、活动图
▪ 状态图用来描述某一特定对象所有可能的状态及状态间的转移, 是对类图的补充
6.3 顺序图
❖6.3.2 关于消息
❖ 2.消息的传入和传出
消息传入某个对象,表示该对象是消息的承担者;消息 由某个对象传出,表示该对象是消息的发起者、调用者
6.3 顺序图
❖6.3.2 关于消息 消息的传入和传出
6.3 顺序图
单个处理
6.2 活动图
❖6.2.1 定义活动图 ❖ ATM机“登录”用例的活动 图
6.2 活动图
❖6.2.1 定义活动图
❖ 游泳道将活动图的活动状态分组,每一组表示负 责那些活动的业务组织,直接显示动作在哪一个 业务组织中执行
❖ 每一个活动都只能明确地属于一个泳道
6.2 活动图
❖6.2.2 如何建模活动图
1.接待员输入要预约的日期 2.系统显示该日的预约 3.有一张合适的餐桌可以使用,接待员输入顾客的姓名和电话号码、

Rational_Rose建模讲解详解

• 环境图是分析参与者和发现潜在用例的极好来源, 它不仅可以用在结构化分析方法中,也可以用于 面向对象的分析方法中。
• 通过环境图,可以确定系统的主要输入输出,通 过提交和接收输入输出的各方确定潜在的用例。
• 选课系统的环境图
• 选课系统的业务列表
➢ 当从某个应用窗口中移去选择的元素时,不影响浏览器窗 口,也不影响其他应用窗口。
5.2 建立用例模型
• 建立用例模型的过程
(1) 确定业务参与者──标识目标系统将支持的不同 类型的用户,可以是人、事件或其他系统。
(2) 确定业务需求用例──参与者需要系统提供的完 整功能。
(3) 创建用例图──标识参与者与用例之间、用例与 用例之间的关系。
1. 确定业务参与者
• 还可以通过提出以下问题,明确系统的参 与者:
➢ 谁或者什么为系统提供输入? ➢ 谁或者什么接收系统的输出? ➢ 需要与其他系统连接的接口吗? ➢ 是否存在在预定的时间自动触发的事件? ➢ 谁将维护系统中的信息?
1. 确定业务参与者
• 从选课系统的需求描述中,可以确定4类参与者: ➢ 学生(Student) ➢ 教师(Teacher) ➢ 系统管理员(Administrator) ➢ 学籍档案系统(Archive System)
2. 确定业务需求用例
• 以下问题可以帮助我们更好地标识系统的 用例:
➢ 每个参与者的特定任务是什么? ➢ 是否每个参与者都要从系统中创建、存储、改变、
移动或读取信息? ➢ 是否任何参与者需要通知系统有关突发性的、外
部的改变? ➢ 哪些用例支持或维护系统? ➢ 目前的用例是否覆盖了所有功能需求?
2. 确定业务需求用例
Rose的特点
(1) 支持三层结构方案; (2) 为大型软件工程提供了可塑性和柔韧性极强的

《软件工程》课程设计要求解析

软件工程》课程设计要求一、分组选修JSP、Java .net、C#课程的同学按照所选课程任课教师的安排分组;其它同学4〜6人一组,由班长负责分组,每组指定一名组长。

二、选择题目选修JSP、Java .net、C#课程的同学从所选课程任课教师布置的题目中选题,也可从附录二中选题,也可小组自选题目,其它同学可从附录二中选题或小组自选题目。

三、选择软件开发方法所有同学都必须从附录一中选择相应的软件开发办法,按相应方法的规范完成软件开发。

分析、设计阶段由《软件工程》课程教师考查,实现阶段由相应选修课任课教师考查。

四、按照相应方法完成系统分析、设计,并完成相应文档。

系统开发结束(18 周末)应向《软件工程》课程教师提交规定文档,向选修课教师提交教师所要求文档。

1、《软件工程》课程设计结束,各小组须提交如下文档:1)《关于软件性质、规模、目标的报告书》2)《可行性研究报告》3)《项目开发计划》4)《需求规格说明书》5)《总体设计说明书》6)《详细设计说明书》以上文档撰写规范见附录三2、《软件工程》课程设计结束时,个人须提交的文档:《课程设计报告》,其中详细叙述自己所完成的工作。

五、成绩评定《软件工程》课程设计成绩=文档成绩+浮动分注:文档成绩由教师根据各小组所提交的6 份文档的完整性、质量、规范性打分;浮动分由组长根据每人贡献所给参考分及教师根据每人课程设计报告所给分综合评定给出。

注:《软件工程》课程设计时间:16~ 17周附录一:软件开发方法一、传统软件开发方法(瀑布模型)一、问题定义确定目标系统的性质、规模、目标。

二、可行性研究(一)从经济、技术、法律、操作角度分析系统可行性。

(二)若可行,则制度项目开发计划(项目成本、进度安排、分组情况……)三、需求分析(一)建立系统功能模型(DFD 、数据字典)(二)建立系统的数据模型(E-R图)(可选)(三)建立系统的动态模型(STD、时序图、Petri网)(可选)四、设计※总体设计(一)建立软件结构图(软件结构图反应模块及模块间的调用关系,每个模块为一个独立的功能)(二)设计数据库的表结构(每张表应规范到3NF,每张表应包含表名,字段,字段类型、主键、外键)(可选)※详细设计(一)模块设计(设计每个模块的界面及算法)模块界面:可将所设计界面抓图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档