当前位置:文档之家› 面向对象软件开发过程

面向对象软件开发过程


〈动态模型〉
动态模型表示瞬时的、行为化的系统 的“控制”性质,它规定了对象模型 中对象的合法变化序列。通常用状态 图描述,主要内容有:对象的状态、 触发状态转换的事件以及对象的行为。
初始事件
状态1
事件1[条件1]
do:行为1
状态2
结束事件
do:行为2
挂断电话
忙音 do:响忙音
空闲
挂断电话
拿起听筒
3、面向对象编程(OOP)
选择一种支持面向对象的程序设计语 言实现 OOD 的设计结果。选择语言 应考虑的因素:
可重用性
将来能否占主导地位 类库 开发环境
4、面向对象测试(OOT)
面向对象测试分为四个层次:
算法层 类层
主题层 系统层
面向对象分析的主要内容
识别出问题域中的对象,并分析它 们之间的相互关系,最终建立起问 题域的对象模型、动态模型和功能 模型。其中,对象模型是最基本、 最重要、最核心的。
OOA 的基本步骤
确定问题域 识别对象和类 识别对象之间的关系 定义属性 定义服务
〈对象模型〉
对象模型是描述系统静态结构的 工具。它用对象模拟客观世界中 的实体,并将实体之间的关系映 射到对象的关系上。
工资卡档案
劳资科 (人事)
计算 工资
发放 工资
工资单 职工
工资结算明细表
车间
填制工资
科室 考

计算表

工资结算单
出纳
总务 扣款单
汇总 工资
分配 工资费用 财务 工资 分配表 系统
工资汇总表
三种模型的关系
功能模型指明系统应该“做什么” 动态模型明确规定什么时候做 对象模型定义做事情的实体
拨号音
超时
do:响拨号音
数字
数字
拨号
无效号码
有效号码
占线
接通中
do:试接通 已接通
振铃
do:振铃
受话人回话
超时 do:响蜂鸣音
存储的信息 do:播放信息
信 息 播 完
通话
受话人挂断电话
断线
〈功能模型〉
功能模型表示变化的系统“功能” 性质,它指明系统应“做什么”, 因此更直接地反映了用户对目标系 统的需求。功能模型由一组数据流 图组成。
角色
举例:
公司 (名字)
雇主
关联
工作 (职务)
类B
角色
个人 (名字)
雇员
员工
姓名 地址 身份证号码 工资
1+ 为之工作
职务
公司
名称 主要产品 地址 雇佣 解雇
部门名
工人
经理 管理 0,1 部门
1+ 参加
项目
主持
生产 1+
产品
项目名
1+ 预 算
1+
优先级
产品名 成本 重量
对象模型的五个层次
主题层 类&对象层
面向对象软件开发过程
项目计划 需求分析
软件生命周期 的瀑布模型
系统设计
编码设计
系统测试
系统运行
系统维护
用面向对象的思想开发软件系统 需要经历的几个主要阶段
面向对象分析(OOA) 面向对象设计(OOD) 面向对象编程(OOP) 面向对象测试(OOT)
1、面向对象分析(OOA)
面向对象分析包括需求分析和需求模型 化两个部分。其主要作用是明确用户的 需求,并用标准化的面向对象模型来规 范地表达这一需求,最后形成面向对象 的分析模型。它是系统设计的依据。
描述对象模型的图形符号
类名 属性 方法
类对象
类名 属性
方法
抽象类
表示“关系”的图形符号
一般
整体
特殊 “一般-特殊”关系
部分 “整体-部分”关系
“关联”关系
“关联”关系反映对象之间相互依赖、 相互作用的关系。
教师
书 1+
教师与属于他的书之间的关联关系
类A 限定词
类B
举例: 目录 文件名
文件
类A
筛选:消除冗余、无关、笼统、属性、 操作等
确定关联的方法
在需求中使用的描述性动 词或动词词组,通常表示 关联关系。
确定主题的方法
按照问题域(而不是功能分解方 法)确定主题,并且尽量使不同 主题之间的对象相互依赖最少。
确定属性的方法
在需求陈述中用名词词组表示属性,例 如:汽车的颜色、光标的位置。属性的 确定既与问题域有关,也与目标系统的 任务有关。应该仅考虑与具体应用直接 相关的属性,不要考虑那些超出所要解 决的问题范围的属性。
结构层 属性层 服务层
主题层:将复杂的对象模 型分解成几个不同的概念 范畴
建立对象模型的顺序:
寻找类&对象识别结构 识别主题定义属性定义 服务
确定类&对象的基本方法
对象种类:可感知的物理实体;人或 组织的角色;应该记忆的事件;对象 之间的相互作用;需要说明的概念。
基本方法:注ቤተ መጻሕፍቲ ባይዱ名词
2、面向对象设计(OOD)
【主要任务】
把分析阶段得到的问题域需求转变成符 合要求的、抽象的系统实现方案。
面向对象设计分为两个阶段:
系统设计:确定实现系统的策略和目标系统 的高层结构 对象设计:确定解空间中的类、关联、接口 形式及实现服务的算法
设计阶段的主要内容
设计问题域子系统 设计人-机交互子系统 设计任务管理子系统 设计数据管理子系统 设计类中的服务 设计关联
相关主题