结构化分析(传统建模方法)方法 分析模型:数据流图(
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指明系统应“做什么”
• 动态模型: 描述交互过程, 规定什么
时候做
OMT模型系统分析和设计过程概观图
产生需求 问题描述
建立模型
对象模型、动态模型、功能模型 结构及对象 设计
分 析 阶 段
详细的对象模型 详细的动态模型 详细的功能模型
设 计 阶 段
实例:饮料自动售货机系统 设置
一个饮料自动售货机可以放置五种不同或部分相同的 饮料,可由厂商根据销售状况自动调配,并可随时重 新设置售价,但售货机最多仅能放置50罐饮料,其按 钮设计在各种饮料样本的下方,若经金额计算器累计 金额足够,则选择键灯会亮;若某一种饮料已销售完 毕,则售完灯会亮。
打电wenku.baidu.com者
拿起听筒 电话忙音开始
电话线
接电话者
拨 号(8) 电话忙音结束
拨 拨 拨 拨 铃 号(2) 号(3) 号(7 号(3) 声
停止振铃 通 话
电话振铃 响应电话 停止振铃 通 话 挂断电话 电话切断
挂断电话
举例:饮料自动售货机系统的事件追踪图
顾客
售货机 金额计算器
累加 总额
选择键 存量计算器 售完灯
范例:移动电话系统
移动电话系统的功能:
• 用手机做移动通讯
• 下载铃声
• 下载图案
• 管理电话簿
移动电话系统的使用用例图
Talk to Others Download Icons Mobile user Download Rings Manage Phonebook Mobile Network
OMT支持整个软件生命周期:
引起对象状态转换的控制信息。
事件类和属性举例:
飞机起飞(航线、航班号、城市) 按动鼠标按钮(按钮、位置) ……..
•
•
脚本和事件踪迹
脚本是系统某一次特定运行时期内发 生的事件序列。(脚本也叫场景)
事件追踪图
侧重说明发生于系统执行过程中的一 个特 定“场景(scenarios)”。
通话脚本(只包括影响电话线的事件)
概念的描述 记号(Symbol) — 代表一个概念的单词或图形 内涵(Intension) — 一个概念的定义 外延(Extension) — 概念应用的一组实例
商店和销售领域的一个部分概念模型(UML的类图) Sales Records-sale-of Item 概念 LineItem 0..1 1 quantity quantity 1..* * Contained Stocked-in 关联 1 1 Sale Store date Address 属性 1 name time 1 1 Houses Paid-by 1..* 1 POS Payment Captured-on amout 1
connectSuccess () Diaconnectsuccess()
移动电话系统的类图之二
对象模型技术
(OMT, Object Model Tech)
基本模型:
对象模型 动态模型 功能模型
三个模型分别从不同角度分析系统
分析模型
• 对象模型: 描述静态结构, 定义做
事情的实体
• 功能模型: 描述处理(数据变换),
金额计算器
金额 累加 找零 重置
属于
贩卖机
饮料号码 价格 投币-接受 饮料掉出 金额显示 按纽 退币杆 售完显示
属于
存量计算器
饮料号码 存量 递减 售完显示 重置
属于
属于
购买
退币杆
退币杆状态
拉动
被拉动
顾客
姓名 硬币 投币-置入 拿取饮料
选取
选择钮
选择钮状态 灯亮 灯熄 售完灯亮 按钮
建立数据字典
为所有模型实体准备一个数 据字典,精确描述每一个对象类, 包括:
实例连接示例及表示
教师为学生 授课:
教师 学生
教学 0,m 0,n
教师为学生 指导论文:
教师
指导论文 0,m 1
学生
关联关系(链属性)的表示
允许实例连接带有一组属性,这些属 性通过关联来描述
类1 类1
连接名称 m n 连接 属性
关联关系
教师
指导论文 0,m 1 题目 答辩时间 成绩
学生
(链属性)
分析建模方法与分析模型
结构化分析(传统建模方法)方法
分析模型:数据流图(DFD) 数据字典(DD) 小说明 E-R图(ERD) 状态变迁图(STD)
面向对象分析方法
分析模型:用例模型(用况模型) 对象模型(概念模型) 功能模型(行为模型) 状态模型
概念模型
问题域中概念的描述,用一组静态结构图表达。 概念就是一个想法、事物或对象
移动电话系统对象间的通信
2:displayButtonNumber()
MButton
MDisplqy
Mobile user
4:connectStation() 7:displayConnectSuccess()
:MMobileStation
5:createConnection() 6:connectSuccess ()
• 成员 • 约束 • 关联、属性、操作
动态模型
用来描述系统与时间相关的动态 行为即系统的控制逻辑,表现对象彼 此间经过相互作用后,随时间改变的 不同运算顺序。 动态模型以“事件”(Events)和 “状态”(States)为其模型的主要概 念。
动态模型以状态图形式呈现,
•
事件: 瞬时发生的行为;
取消交易
顾客可在按下选择键前任何一个时刻,拉动退币杆取 消交易收回硬币。
对象模型
描述系统内部对象结构,包括对象本 身的定义、对象的属性、操作,以及对象 与其它对象之间的关系。
对象模型是OMT方法论中最重要的部 分,动态模型、功能模型都将依次而建立 对象模型以对象图形式呈现,对象图由类构 成。
饮料自动售货机系统对象图
建立概念模型(UML中的类图)
•确定并定义类 •建立关联 •添加属性 •描述系统行为:系统顺序图等
建立关联
对象之间的静态联系称为实例 连接(Instance Connection) ,它通过 对象的属性来表现对象之间的依赖关 系。
面向对象术语中把对象之间的实 例连接称为链接(Link),把类之间的 实例连接称为关联(Association)
connectStation()
displayConnectSuccess()
createConnection()
connectSuccess ()
MButton
pushDigButton() pushSendButton() pushDisconnectButton()
MmobileStation
销售
顾客将硬币投入售货机,经累加金额足额的饮料选择 键灯亮,等顾客按键选择。顾客按键后饮料由取物楼 掉出,并自动结算及找钱。
取消交易
顾客可在按下选择键前任何一个时刻,拉动退币杆取 消交易收回硬币。
步骤: (1)找出对象及其关联 (2)赋予类及关联的属性数据 (3)组织类的结构
OMT的对象图
找出饮料自动售货机系统中的对象 设置
定义移动电话系统的对象(简化)
手机包括的对象: • 手机屏幕 • 手机按钮 • 手机(屏幕、按钮以外的部件) 其它对象: • 基站
MButton MDisplqy MmobileStation MmobileHandset
移动电话系统的类图
1:pushDigButton() 3:pushSendButton()
移动电话系统 的协作图
: MMobileHandset
移动电话系统的顺序图
:MButton
Mobile user pushDigButton() displayButtonNumber() pushSendButton()
:MDisplqy :MMobileStation :MMobileHandset
动态模型表示方法
•
状态图
状态和事件的网络,侧重描述每一类对象 的动态行为。
•
状态图
结束 状态1 事件1[条件1] / 动作1 状态2 事件 Do:活动1 .…...
初始 事件
例:
空闲 左边按钮按下/显示弹出菜单 可视菜单
左边按钮弹起/擦除弹出菜单
光标移动/高亮菜单项
弹出菜单动作
举例:饮料自动售货机系统的状态图
商店问题域中的概念(UML 中的类)
Store
POS
Sale
识别概念 候选概念类型
物理的或实在的对象
规格说明、设计或事物描述 地点
举例
POS机 飞机 产品规格说明 航班描述 商店 机场 销售、支付、在线销售项 预定 出纳员 飞行员、乘客 信用卡授权系统 空中交通控制系统 销售部
事务
人的角色
系统外部的其他系统或设备
createConnection() destoryConnection () responseError()
MDisplqy
displayError() displayButtonNumber() displayConnectSuccess() displayIncomingCall()
MmobileHandset connectStation() disconnectStation()
投入硬币
显示总额
金额总够 灯亮 选择按纽 选择键 # 饮料 结算 余额 找零 扣减存量 存量为零 灯亮
3. 功能模型
用来描述系统中数据的变换。
传统DFD + 控制流
对象A
数据流 控制流 过程 过程 1 2
对象B
数据存储区
基于三个模型的分析步骤
• 需求陈述
• • • •
对象建模 动态建模 功能建模 添加操作反复建模
一个饮料自动售货机可以放置五种不同或部分相同的 饮料,可由厂商根据销售状况自动调配,并可随时重 新设置售价,但售货机最多仅能放置50罐饮料,其按 钮设计在各种饮料样本的下方,若经金额计算器累计 金额足够,则选择键灯会亮;若某一种饮料已销售完 毕,则售完灯会亮。
销售
顾客将硬币投入售货机,经累加金额足额的饮料选择 键灯亮,等顾客按键选择。顾客按键后饮料由取物楼 掉出,并自动结算及找钱。
组织
识别概念 候选概念类型
事件
抽象概念 过程 规则、手册 记录
举例
销售、会议 出航、着陆、坠机 商店 机场 退货政策、雇员手册 取消策略、修理手册 收据、分类帐目、合同 维护日志 产品目录、零件目录 信用卡、股票
目录 金融工具、服务机构
POS系统问题域的候选概念
•POS机(POS) •商品项(Item) •商店(Store) •销售项(Sale) •支付(Payment) •产品目录(ProductCatalog) •产品规格说明(ProductSpecification) •销售项条目(SalesLineItem) •出纳员(Cashier) •顾客(Customer) •管理员(Manager)
无效的硬币 取消 取消
Do:显示售货机在备用 所有灯都关闭 Do:显示金额总数
投入硬币 (有效的) 投入硬币金额
(1元、5元、10元)
回到备用状态
Do:显示金额已够 饮料选择灯亮 按下选择饮料键
取出饮料 结算找零 扣减存量 完成交易
金额不足 再投币
回到备用状态
存量为零 饮料“售完”灯亮
事件追踪图举例:打电话的事件追踪图
个人
名字 身份证号
为之工作
公司
名字 地址
雇员
工资 职务
雇主
商店和销售领域的一个部分概念模型(UML的类图) Sales Records-sale-of Item LineItem 0..1 1 概念(类) quantity quantity 1..* * Contained Stocked-in 关联 1 1 Sale Store date Address 属性 1 name time 1 1 Houses Paid-by 1..* 1 POS Payment Captured-on amout 1
•
状态: 对象属性和对象关联的抽象形式
状态的特征表示方法举例:
状态:闹铃响 描述:闹铃响表示预定时间到 产生本状态的事件序列: 设置闹钟(预定时间) 不包括清除闹铃的任何后续操作 当前时间=预定时间 表征本状态的条件: 闹铃=开,从预定时间起没有按键的情况下, 目标时间当前时间 目标时间=20秒 本状态接受的各种时间: 事件 动作 下一个状态 当前时间=目标时间+20 重新设置闹钟 正常 按下按钮(任意按钮) 重新设置闹钟 正常
1. 打电话者拿起听筒 2. 电话忙音开始 3. 打电话者拨数字(8) 4. 电话忙音结束 5. 打电话者拨数字(2) 6. 打电话者拨数字(3) 7. 打电话者拨数字(7) 8. 打电话者拨数字(3) 9. 接电话者的电话开始振铃 10. 铃声在打电话者电话传出 11. 接电话者回答 12. 接电话者电话停止振铃 13. 铃声在打电话者电话中消失 14. 通电话 15. 接电话者挂断电话 16. 电话切断 17. 打电话者挂断电话
• 动态模型: 描述交互过程, 规定什么
时候做
OMT模型系统分析和设计过程概观图
产生需求 问题描述
建立模型
对象模型、动态模型、功能模型 结构及对象 设计
分 析 阶 段
详细的对象模型 详细的动态模型 详细的功能模型
设 计 阶 段
实例:饮料自动售货机系统 设置
一个饮料自动售货机可以放置五种不同或部分相同的 饮料,可由厂商根据销售状况自动调配,并可随时重 新设置售价,但售货机最多仅能放置50罐饮料,其按 钮设计在各种饮料样本的下方,若经金额计算器累计 金额足够,则选择键灯会亮;若某一种饮料已销售完 毕,则售完灯会亮。
打电wenku.baidu.com者
拿起听筒 电话忙音开始
电话线
接电话者
拨 号(8) 电话忙音结束
拨 拨 拨 拨 铃 号(2) 号(3) 号(7 号(3) 声
停止振铃 通 话
电话振铃 响应电话 停止振铃 通 话 挂断电话 电话切断
挂断电话
举例:饮料自动售货机系统的事件追踪图
顾客
售货机 金额计算器
累加 总额
选择键 存量计算器 售完灯
范例:移动电话系统
移动电话系统的功能:
• 用手机做移动通讯
• 下载铃声
• 下载图案
• 管理电话簿
移动电话系统的使用用例图
Talk to Others Download Icons Mobile user Download Rings Manage Phonebook Mobile Network
OMT支持整个软件生命周期:
引起对象状态转换的控制信息。
事件类和属性举例:
飞机起飞(航线、航班号、城市) 按动鼠标按钮(按钮、位置) ……..
•
•
脚本和事件踪迹
脚本是系统某一次特定运行时期内发 生的事件序列。(脚本也叫场景)
事件追踪图
侧重说明发生于系统执行过程中的一 个特 定“场景(scenarios)”。
通话脚本(只包括影响电话线的事件)
概念的描述 记号(Symbol) — 代表一个概念的单词或图形 内涵(Intension) — 一个概念的定义 外延(Extension) — 概念应用的一组实例
商店和销售领域的一个部分概念模型(UML的类图) Sales Records-sale-of Item 概念 LineItem 0..1 1 quantity quantity 1..* * Contained Stocked-in 关联 1 1 Sale Store date Address 属性 1 name time 1 1 Houses Paid-by 1..* 1 POS Payment Captured-on amout 1
connectSuccess () Diaconnectsuccess()
移动电话系统的类图之二
对象模型技术
(OMT, Object Model Tech)
基本模型:
对象模型 动态模型 功能模型
三个模型分别从不同角度分析系统
分析模型
• 对象模型: 描述静态结构, 定义做
事情的实体
• 功能模型: 描述处理(数据变换),
金额计算器
金额 累加 找零 重置
属于
贩卖机
饮料号码 价格 投币-接受 饮料掉出 金额显示 按纽 退币杆 售完显示
属于
存量计算器
饮料号码 存量 递减 售完显示 重置
属于
属于
购买
退币杆
退币杆状态
拉动
被拉动
顾客
姓名 硬币 投币-置入 拿取饮料
选取
选择钮
选择钮状态 灯亮 灯熄 售完灯亮 按钮
建立数据字典
为所有模型实体准备一个数 据字典,精确描述每一个对象类, 包括:
实例连接示例及表示
教师为学生 授课:
教师 学生
教学 0,m 0,n
教师为学生 指导论文:
教师
指导论文 0,m 1
学生
关联关系(链属性)的表示
允许实例连接带有一组属性,这些属 性通过关联来描述
类1 类1
连接名称 m n 连接 属性
关联关系
教师
指导论文 0,m 1 题目 答辩时间 成绩
学生
(链属性)
分析建模方法与分析模型
结构化分析(传统建模方法)方法
分析模型:数据流图(DFD) 数据字典(DD) 小说明 E-R图(ERD) 状态变迁图(STD)
面向对象分析方法
分析模型:用例模型(用况模型) 对象模型(概念模型) 功能模型(行为模型) 状态模型
概念模型
问题域中概念的描述,用一组静态结构图表达。 概念就是一个想法、事物或对象
移动电话系统对象间的通信
2:displayButtonNumber()
MButton
MDisplqy
Mobile user
4:connectStation() 7:displayConnectSuccess()
:MMobileStation
5:createConnection() 6:connectSuccess ()
• 成员 • 约束 • 关联、属性、操作
动态模型
用来描述系统与时间相关的动态 行为即系统的控制逻辑,表现对象彼 此间经过相互作用后,随时间改变的 不同运算顺序。 动态模型以“事件”(Events)和 “状态”(States)为其模型的主要概 念。
动态模型以状态图形式呈现,
•
事件: 瞬时发生的行为;
取消交易
顾客可在按下选择键前任何一个时刻,拉动退币杆取 消交易收回硬币。
对象模型
描述系统内部对象结构,包括对象本 身的定义、对象的属性、操作,以及对象 与其它对象之间的关系。
对象模型是OMT方法论中最重要的部 分,动态模型、功能模型都将依次而建立 对象模型以对象图形式呈现,对象图由类构 成。
饮料自动售货机系统对象图
建立概念模型(UML中的类图)
•确定并定义类 •建立关联 •添加属性 •描述系统行为:系统顺序图等
建立关联
对象之间的静态联系称为实例 连接(Instance Connection) ,它通过 对象的属性来表现对象之间的依赖关 系。
面向对象术语中把对象之间的实 例连接称为链接(Link),把类之间的 实例连接称为关联(Association)
connectStation()
displayConnectSuccess()
createConnection()
connectSuccess ()
MButton
pushDigButton() pushSendButton() pushDisconnectButton()
MmobileStation
销售
顾客将硬币投入售货机,经累加金额足额的饮料选择 键灯亮,等顾客按键选择。顾客按键后饮料由取物楼 掉出,并自动结算及找钱。
取消交易
顾客可在按下选择键前任何一个时刻,拉动退币杆取 消交易收回硬币。
步骤: (1)找出对象及其关联 (2)赋予类及关联的属性数据 (3)组织类的结构
OMT的对象图
找出饮料自动售货机系统中的对象 设置
定义移动电话系统的对象(简化)
手机包括的对象: • 手机屏幕 • 手机按钮 • 手机(屏幕、按钮以外的部件) 其它对象: • 基站
MButton MDisplqy MmobileStation MmobileHandset
移动电话系统的类图
1:pushDigButton() 3:pushSendButton()
移动电话系统 的协作图
: MMobileHandset
移动电话系统的顺序图
:MButton
Mobile user pushDigButton() displayButtonNumber() pushSendButton()
:MDisplqy :MMobileStation :MMobileHandset
动态模型表示方法
•
状态图
状态和事件的网络,侧重描述每一类对象 的动态行为。
•
状态图
结束 状态1 事件1[条件1] / 动作1 状态2 事件 Do:活动1 .…...
初始 事件
例:
空闲 左边按钮按下/显示弹出菜单 可视菜单
左边按钮弹起/擦除弹出菜单
光标移动/高亮菜单项
弹出菜单动作
举例:饮料自动售货机系统的状态图
商店问题域中的概念(UML 中的类)
Store
POS
Sale
识别概念 候选概念类型
物理的或实在的对象
规格说明、设计或事物描述 地点
举例
POS机 飞机 产品规格说明 航班描述 商店 机场 销售、支付、在线销售项 预定 出纳员 飞行员、乘客 信用卡授权系统 空中交通控制系统 销售部
事务
人的角色
系统外部的其他系统或设备
createConnection() destoryConnection () responseError()
MDisplqy
displayError() displayButtonNumber() displayConnectSuccess() displayIncomingCall()
MmobileHandset connectStation() disconnectStation()
投入硬币
显示总额
金额总够 灯亮 选择按纽 选择键 # 饮料 结算 余额 找零 扣减存量 存量为零 灯亮
3. 功能模型
用来描述系统中数据的变换。
传统DFD + 控制流
对象A
数据流 控制流 过程 过程 1 2
对象B
数据存储区
基于三个模型的分析步骤
• 需求陈述
• • • •
对象建模 动态建模 功能建模 添加操作反复建模
一个饮料自动售货机可以放置五种不同或部分相同的 饮料,可由厂商根据销售状况自动调配,并可随时重 新设置售价,但售货机最多仅能放置50罐饮料,其按 钮设计在各种饮料样本的下方,若经金额计算器累计 金额足够,则选择键灯会亮;若某一种饮料已销售完 毕,则售完灯会亮。
销售
顾客将硬币投入售货机,经累加金额足额的饮料选择 键灯亮,等顾客按键选择。顾客按键后饮料由取物楼 掉出,并自动结算及找钱。
组织
识别概念 候选概念类型
事件
抽象概念 过程 规则、手册 记录
举例
销售、会议 出航、着陆、坠机 商店 机场 退货政策、雇员手册 取消策略、修理手册 收据、分类帐目、合同 维护日志 产品目录、零件目录 信用卡、股票
目录 金融工具、服务机构
POS系统问题域的候选概念
•POS机(POS) •商品项(Item) •商店(Store) •销售项(Sale) •支付(Payment) •产品目录(ProductCatalog) •产品规格说明(ProductSpecification) •销售项条目(SalesLineItem) •出纳员(Cashier) •顾客(Customer) •管理员(Manager)
无效的硬币 取消 取消
Do:显示售货机在备用 所有灯都关闭 Do:显示金额总数
投入硬币 (有效的) 投入硬币金额
(1元、5元、10元)
回到备用状态
Do:显示金额已够 饮料选择灯亮 按下选择饮料键
取出饮料 结算找零 扣减存量 完成交易
金额不足 再投币
回到备用状态
存量为零 饮料“售完”灯亮
事件追踪图举例:打电话的事件追踪图
个人
名字 身份证号
为之工作
公司
名字 地址
雇员
工资 职务
雇主
商店和销售领域的一个部分概念模型(UML的类图) Sales Records-sale-of Item LineItem 0..1 1 概念(类) quantity quantity 1..* * Contained Stocked-in 关联 1 1 Sale Store date Address 属性 1 name time 1 1 Houses Paid-by 1..* 1 POS Payment Captured-on amout 1
•
状态: 对象属性和对象关联的抽象形式
状态的特征表示方法举例:
状态:闹铃响 描述:闹铃响表示预定时间到 产生本状态的事件序列: 设置闹钟(预定时间) 不包括清除闹铃的任何后续操作 当前时间=预定时间 表征本状态的条件: 闹铃=开,从预定时间起没有按键的情况下, 目标时间当前时间 目标时间=20秒 本状态接受的各种时间: 事件 动作 下一个状态 当前时间=目标时间+20 重新设置闹钟 正常 按下按钮(任意按钮) 重新设置闹钟 正常
1. 打电话者拿起听筒 2. 电话忙音开始 3. 打电话者拨数字(8) 4. 电话忙音结束 5. 打电话者拨数字(2) 6. 打电话者拨数字(3) 7. 打电话者拨数字(7) 8. 打电话者拨数字(3) 9. 接电话者的电话开始振铃 10. 铃声在打电话者电话传出 11. 接电话者回答 12. 接电话者电话停止振铃 13. 铃声在打电话者电话中消失 14. 通电话 15. 接电话者挂断电话 16. 电话切断 17. 打电话者挂断电话