发信人: hyenachenyao()
整理人: majorsun(2000-03-08 18:45:08), 站内信件
|
面 向 对 象 的 软 件 开 发 方 法
面 向 对 象 技 术 是 软 件 技 术 的 一 次 革 命 , 在 软
件 开 发
史 上 具 有 里 程 碑 的 意 义 。
随 着 OOP( 面 向 对 象 编 程) 向 OOD( 面 向 对 象
设 计)
和 OOA( 面 向 对 象 分 析) 的 发 展 , 最 终 形 成 面 向 对 象
的 软
件 开 发 方 法OMT (Lbject Modelling Technique) 。 这 是 一 种 自
底 向
上 和 自 顶 向 下 相 结 合 的 方 法 , 而 且 它 以 对 象 建 模 为
基 础 ,
从 而 不 仅 考 虑 了 输 入 、 输 出 数 据 结 构 , 实 际 上 也 包
含 了 所
有 对 象 的 数 据 结 构 。 所 以 OMT 彻 底 实 现 了PAM 没 有 完 全
实
现 的 目 标 。 不 仅 如 此 , OO 技 术 在 需 求 分 析 、 可 维 护
性 和
可 靠 性 这 三 个 软 件 开 发 的 关 键 环 节 和 质 量 指 标 上 有
了 实 质 性 的 突 破 , 彻 底 地 解 决 了 在 这 些 方 面 存 在 的 严
重 问 题 , 从
而 宣 告 了 软 件 危 机 末 日 的 来 临 。
自 底 向 上 的 归 纳
OMT的 第 一 步 是 从 问 题 的 陈 述 入 手 , 构 造 系 统
模 型
。 从 真 实 系 统 导 出 类 的 体 系 , 即 对 象 模 型 包 括 类 的
属 性 ,
与 子 类 、 父 类 的 继 承 关 系 , 以 及 类 之 间 的 关 联 。 类
是 具 有
相 似 属 性 和 行 为 的 一 组 具 体 实 例( 客 观 对 象) 的 抽 象
, 父
类 是 若 干 子 类 的 归 纳 。 因 此 这 是 一 种 自 底 向 上 的 归
纳 过 程
。 在 自 底 向 上 的 归 纳 过 程 中 , 为 使 子 类 能 更 合 理 地
继 承 父
类 的 属 性 和 行 为 , 可 能 需 要 自 顶 向 下 的 修 改 , 从 而
使 整 个
类 体 系 更 加 合 理 。 由 于 这 种 类 体 系 的 构 造 是 从 具 体
到 抽 象
, 再 从 抽 象 到 具 体 , 符 合 人 类 的 思 维 规 律 , 因 此 能
更 快 、
更 方 便 地 完 成 任 务 。 这 与 自 顶 向 下 的 Yourdon 方 法 构
成 鲜 明
的 对 照 。 在 Yourdon 方 法 中 构 造 系 统 模 型 是 最 困 难 的
一 步 ,
因 为 自 顶 向 下 的“ 顶” 是 一 个 空 中 楼 阁 , 缺 乏 坚 实 的
基 础
, 而 且 功 能 分 解 有 相 当 大 的 任 意 性 , 因 此 需 要 开 发
人 员 有
丰 富 的 软 件 开 发 经 验 。 而 在 O M T 中 这 一 工 作 可 由
一 般 开
发 人 员 较 快 地 完 成 。 在 对 象 模 型 建 立 后 , 很 容 易 在
这 一 基
础 上 再 导 出 动 态 模 型 和 功 能 模 型 。 这 三 个 模 型 一 起
构 成 要
求 解 的 系 统 模 型 。
自 顶 向 下 的 分 解
系 统 模 型 建 立 后 的 工 作 就 是 分 解 。 与 Yourdon 方
法 按
功 能 分 解 不 同 , 在 OMT 中 通 常 按 服 务( Service) 来 分 解
。 服
务 是 具 有 共 同 目 标 的 相 关 功 能 的 集 合 , 如 I/O 处 理
、 图 形
处 理 等 。 这 一 步 的 分 解 通 常 很 明 确 , 而 这 些 子 系 统
的 进 一
步 分 解 因 有 较 具 体 的 系 统 模 型 为 依 据 , 也 相 对 容 易
。 所 以
OMT 也 具 有 自 顶 向 下 方 法 的 优 点 , 即 能 有 效 地 控 制 模
块 的
复 杂 性 , 同 时 避 免 了 Yourdon 方 法 中 功 能 分 解 的 困 难
和 不 确
定 性 。
OMT 的 基 础 是 对 象 模 型
每 个 对 象 类 由 数 据 结 构( 属 性) 和 操 作( 行
为) 组 成
, 有 关 的 所 有 数 据 结 构( 包 括 输 入 、 输 出 数 据 结 构)
都 成
了 软 件 开 发 的 依 据 。 因 此 Jackson 方 法 和 PAM 中 输 入 、
输 出
数 据 结 构 与 整 个 系 统 之 间 的 鸿 沟 在 OMT 中 不 再 存 在 。
OMT
不 仅 具 有 Jackson 方 法 和 PAM 的 优 点 , 而 且 可 以 应 用 于
大 型
系 统 。 更 重 要 的 是 , 在 Jackson 方 法 和 PAM 方 法 中 , 当
它 们
的 出 发 点 —— 输 入 、 输 出 数 据 结 构( 即 系 统 的 边 界)
发 生
变 化 时 , 整 个 软 件 必 须 推 倒 重 来 。 但 在 OMT 中 系 统 边
界 的
改 变 只 是 增 加 或 减 少 一 些 对 象 而 已 , 整 个 系 统 改 动
极 小 。
需 求 分 析 彻 底
需 求 分 析 不 彻 底 是 软 件 失 败 的 主 要 原 因 之 一 。
即 使
在 目 前 , 这 一 危 险 依 然 存 在 。 传 统 的 软 件 开 发 方 法
不 允 许
在 开 发 过 程 中 用 户 的 需 求 发 生 变 化 , 从 而 导 致 种 种
问 题 。
正 是 由 于 这 一 原 因 , 人 们 提 出 了 原 型 化 方 法 , 推 出
探 索 原
型 、 实 验 原 型 和 进 化 原 型 , 积 极 鼓 励 用 户 改 进 需 求
。 在 每
次 改 进 需 求 后 又 形 成 新 的 进 化 原 型 供 用 户 试 用 , 直
到 用 户
基 本 满 意 , 大 大 提 高 了 软 件 的 成 功 率 。 但 是 它 要 求
软 件 开
发 人 员 能 迅 速 生 成 这 些 原 型 , 这 就 要 求 有 自 动 生 成
代 码 的
工 具 的 支 持 。
OMT 彻 底 解 决 了 这 一 问 题 。 因 为 需 求 分 析 过 程
已 与
系 统 模 型 的 形 成 过 程 一 致 , 开 发 人 员 与 用 户 的 讨 论
是 从 用
户 熟 悉 的 具 体 实 例( 实 体) 开 始 的 。 开 发 人 员 必 须 搞
清 现
实 系 统 才 能 导 出 系 统 模 型 , 这 就 使 用 户 与 开 发 人 员
之 间 有
了 共 同 的 语 言 , 避 免 了 传 统 需 求 分 析 中 可 能 产 生 的
种 种 问
题 。
可 维 护 性 大 大 改 善
在 OMT 之 前 的 软 件 开 发 方 法 都 是 基 于 功 能 分 解
的 。
尽 管 软 件 工 程 学 在 可 维 护 方 面 作 出 了 极 大 的 努 力 ,
使 软 件
的 可 维 护 性 有 较 大 的 改 进 。 但 从 本 质 上 讲 , 基 于 功
能 分 解
的 软 件 是 不 易 维 护 的 。 因 为 功 能 一 旦 有 变 化 都 会 使
开 发 的
软 件 系 统 产 生 较 大 的 变 化 , 甚 至 推 倒 重 来 。 更 严 重
的 是 ,
在 这 种 软 件 系 统 中 , 修 改 是 困 难 的 。 由 于 种 种 原 因
, 即 使
是 微 小 的 修 改 也 可 能 引 入 新 的 错 误 。 所 以 传 统 开 发
方 法 很
可 能 会 引 起 软 件 成 本 增 长 失 控 、 软 件 质 量 得 不 到 保
证 等 一
系 列 严 重 问 题 。 正 是 OMT 才 使 软 件 的 可 维 护 性 有 了 质
的 改
善 。
OMT 的 基 础 是 目 标 系 统 的 对 象 模 型 , 而 不 是 功
能 的
分 解 。 功 能 是 对 象 的 使 用 , 它 依 赖 于 应 用 的 细 节 ,
并 在 开
发 过 程 中 不 断 变 化 。 由 于 对 象 是 客 观 存 在 的 , 因 此
当 需 求
变 化 时 对 象 的 性 质 要 比 对 象 的 使 用 更 为 稳 定 , 从 而
使 建 立
在 对 象 结 构 上 的 软 件 系 统 也 更 为 稳 定 。
更 重 要 的 是 OMT 彻 底 解 决 了 软 件 的 可 维 护 性 。
在 OO
语 言 中 , 子 类 不 仅 可 以 继 承 父 类 的 属 性 和 行 为 , 而
且 也 可
以 重 载 父 类 的 某 个 行 为( 虚 函 数) 。 利 用 这 一 特 点 ,
我 们
可 以 方 便 地 进 行 功 能 修 改: 引 入 某 类 的 一 个 子 类 ,
对 要 修
改 的 一 些 行 为( 即 虚 函 数 或 虚 方 法) 进 行 重 载 , 也 就
是 对
它 们 重 新 定 义 。 由 于 不 再 在 原 来 的 程 序 模 块 中 引 入
修 改 ,
所 以 彻 底 解 决 了 软 件 的 可 修 改 性 , 从 而 也 彻 底 解 决
了 软 件
的 可 维 护 性 。 OO 技 术 还 提 高 了 软 件 的 可 靠 性 和 健 壮
性 。
/*********************************************************************
******/
From http://extend.hk.hi.cn/~netsoft/ 程序员宝藏
-- ※ 修改:.hyenachenyao 于 Oct 14 21:28:19 修改本文.[FROM: 210.72.252.132] ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 210.72.252.132] 发信人: 3871 (3871), 信区: SystemAnalysis 标 题: Re: 转载:面 向 对 象 的 软 件 开 发 方 法 发信站: 网易虚拟社区 (Fri Oct 15 08:35:41 1999), 站内信件
【 在 hyenachenyao (BlueHyena) 的大作中提到: 】
: 面 向 对 象 的 软 件 开 发 方 法
:
: 面 向 对 象 技 术 是 软 件 技 术 的 一 次 革 命 , 在 软
:
: .......
还有一个其它分析方法无法比拟的优点:文档的连续性,分析阶段的文档
(系统分析员)在分析阶段(编码员)都保持一致。
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.35.158] 发信人: shigw (shigw), 信区: SystemAnalysis 标 题: Re: 转载:面 向 对 象 的 软 件 开 发 方 法 发信站: 网易虚拟社区 (Fri Oct 15 09:17:39 1999), 站内信件
【 在 hyenachenyao (BlueHyena) 的大作中提到: 】
: 面 向 对 象 的 软 件 开 发 方 法
:
: 面 向 对 象 技 术 是 软 件 技 术 的 一 次 革 命 , 在 软
:
: .......
OMT并不是灵丹妙药,它也有许多问题,更重要的,他并不是可以由一般程序员
所完成的,诚然,OMT给人们以一种新思路思考问题的启示,但是它仅仅是探索
高效率生产方式的一种尝试.
千万不要把什么东西都当成灵丹妙药.
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.153.123]
|
|