1、实 用 软 件 工 程郑 人 杰 编 著清 华 大 学 出 版 社内 容 简 介软 件 工 程 是 近 年 发 展 起 来的 计 算 机 技 术 新 学 科 。 本 书 是 作 者 在 清华 大 学 讲 授 “软 件 工 程 概 论 ”课 的 讲 义 基 础 上 编 写 而 成的 。 从 软 件 的开 发 、 维 护 和软 件 管 理 等 方 面 系 统 地 阐 述了 软 件 工 程 的 基 本 概 念 和 常 用 的 方 法 。 全 书 以 易 懂 和 实 用 为 原 则 , 各 章 节 尽 可 能 结 合 实 例 讲 述 , 书 后 附 有 软 件 项 目 文 档 的 编 写 大 纲 。本
2、 书 可 作 为 高 等 学 校 计 算 机 有 关 专 业 的 教 材 或 教 学 参 考 书, 也 可 供 计 算 机 软 件 人 员 或 计 算 机 用 户 阅 读 。实 用 软 件 工 程郑 人 杰 编 著清 华 大 学 出 版 社 出 版 北 京 清 华 园清 华 大 学 印 刷 厂 印 刷 新 华 书 店 总 店 科 技 发 行 所 发 行开 本 : 8 5 1 16 8 1 / 32 印 张 : 9. 5 字 数 : 2 4 7 千 字1 99 1 年 2 月 第 1 版 1 99 1 年 2 月 第 1 次 印 刷印 数 : 00001- 10000ISBN 7-302-008
3、10-8/ T P 290定 价 : 4. 90 元前 言计 算 机 软 件 人 员 水 平 考 试 是 造 就 宏 大 的 多 层 次 计 算 机 人 才 队 伍 的 一 项 重 要 措 施 。 从 1990 年 起 , 在 全 国 实 施 中 国 计 算 机 应 用 软 件 人 员 专 业 技 术 职 务 任 职 资 格 ( 水 平 ) 考 试 暂 行 规 定 , 资 格 考 试 级 别 分 为 程 序 员 级 ( 相 当 于 技 术 员 、 助 理 工 程 师 ) 、 高 级 程 序 员 级 ( 相 当 于 工 程 师 ) 、 系 统 分 析 员 级 ( 相 当 于 高 级 工 程 师
4、) 。 为 配 合 考 试 我 们 在 1987 年 和 1990 年 曾 先 后 两 次 组 织 编 写 过 综 合 性 的 考 试 辅 导 教 材 。 这 些 教 材 适 应 了 广 大 应 考 人 员 的 备 考 急 需 , 同 时 也 为 一 些 科 技 人 员 提 供 了 一 套 系 统 学 习 计 算 机 软 件 知 识 的 资 料 。 但 是 限 于 篇 幅 , 在 三 、 四 十 万 字 的 一 本 书 中 包 含 众 多 方 面 的 内 容 , 就 难 免 成 为 一 本 浓 缩 了 的 读 物 。 初 学 者 用 它 作 为 自 学 教 材 , 势 必 有 许 多 困 难
5、。为 满 足 来 自 非 计 算 机 专 业 的 软 件 人 员 系 统 学 习 计 算 机 软 件 知 识 的 迫 切 要 求 , 我 们 决 定 进 一 步 组 织 力 量 编 写 本 系 列 丛 书 。 编 写 的 原 则 是 :( 1) 丛 书 的 选 题 基 本 上 围 绕 考 试 大 纲 , 面 向 计 算 机 软 件 人员 。 每 书 一 个 内 容 , 便 于 选 读 。( 2) 丛 书 的 编 写 力 争 作 到 深 入 浅 出 、 简 明 实 用 、 叙 述 严 谨 、 适 合 自 学 。( 3) 丛 书 分 为 程 序 员 、 高 级 程 序 员 及 系 统 分 析 员
6、三 个 级 别 。 除 去 每 册 各 属 三 个 级 别 之 外 , 也 有 的 书 册 可 供 两 个 相 邻 的 级 别 使用 。( 4) 丛 书 可 分 为 核 心 书 和 参 考 书 两 类 。 核 心 书 反 映 了 考 试 大 纲 规 定 的 基 本 要 求 , 参 考 书 的 内 容 则 是 在 基 本 要 求 的 基 础 上 的 进一 步 扩 展 。为 保 证 丛 书 的 质 量 , 我 们 聘 请 的 作 者 均 为 在 计 算 机 软 件 领 域的 教 学 、 科 研 或 开 发 中 具 有 相 当 的 理 论 基 础 和 丰 富 实 践 经 验 的 专 家 。 同 时
7、他 们 还 具 有 一 定 的 软 件 人 员 水 平 考 试 的 教 学 辅 导 的 实 践 经 验 。我 们 相 信 本 系 列 丛 书 的 出 版 会 受 到 广 大 读 者 的 欢 迎 。 同 时 也 欢 迎 对 丛 书 提 出 宝 贵 意 见 。在 本 丛 书 的 编 写 过 程 中 , 曾 得 到 中 国 计 算 机 学 会 、 中 国 软 件 行 业 协 会 的 指 导 和 帮 助 、 清 华 大 学 出 版 社 为 本 书 的 迅 速 出 版 付 出 了 辛 勤 劳 动 , 在 此 一 并 致 谢 。丛 书 编 审 委 员 会 目 录 第 一 章 软 件 工 程 概 述 11.
8、 1 软 件 的 特 点 及 分 类 11. 2 软 件 的 发 展 和 软 件 危 机 81. 3 软 件 开 发 工 程 化 和 软 件 生 存 期 121. 4 软 件 工 程 项 目 的 目 标 16第 二 章 软 件 需 求 分 析 212. 1 需 求 分 析 阶 段 的 任 务 212. 2 软 件 需 求 分 析 的 原 则 262. 3 分 析 员 和 用 户 的 责 任 292. 4 软 件 规 格 说 明 书 302. 5 结 构 化 分 析 方 法 312. 6 数 据 流 图 322. 7 数 据 词 典 402. 8 数 据 流 图 和 数 据 词 典 应 用 实
9、例 422. 9 判 定 表 和 判 定 树 452. 10 面 向 数 据 结 构 的 分 析 方 法 492. 11 结 构 化 数 据 系 统 开 发 502. 12 J acks on 系 统 开 发 572. 13 结 构 化 分 析 与 设 计 方 法 63第 三 章 软 件 设 计 673. 1 软 件 设 计 阶 段 的 任 务 673. 2 程 序 结 构 与 结 构 图 703. 3 程 序 内 部 的 联 系 813. 4 结 构 化 设 计 方 法 91第 四 章 详 细 设 计 的 表 达 1014. 1 程 序 流 程 图 1024. 2 N -S 图 1074.
10、3 PA D 图 1114. 4 PDL 语 言 1134. 5 HI PO 图 1224. 6 选 用 详 细 设 计 表 达 工 具 的 原 则 128第 五 章 结 构 化 程 序 设 计 与 程 序 设 计 风 格 1295. 1 对 源 程 序 的 质 量 要 求 1295. 2 结 构 化 程 序 设 计 1315. 3 程 序 设 计 风 格 140第 六 章 软 件 测 试 1526. 1 软 件 测 试 的 基 本 概 念 1536. 2 测 试 用 例 的 设 计 1666. 3 软 件 测 试 策 略 187第 七 章 软 件 维 护 2027. 1 什 么 是 软 件
11、维 护 2027. 2 维 护 工 作 存 在 的 问 题 及 其 分 析 2067. 3 可 维 护 性 及 其 度 量 2097. 4 软 件 维 护 的 管 理 216第 八 章 软 件 管 理 2208. 1 软 件 项 目 的 特 点 和 软 件 管 理 的 职 能 2218. 2 制 定 计 划 2278. 3 建 立 组 织 2368. 4 配 备 人 员 2418. 5 指 导 与 检 验 2448. 6 软 件 配 置 管 理 2478. 7 软 件 成 本 估 算 255第 九 章 软 件 工 程 标 准 和 软 件 产 品 文 档 编 制 2649. 1 什 么 是 软
12、件 工 程 标 准 化 2659. 2 软 件 工 程 标 准 化 的 意 义 2689. 3 软 件 工 程 标 准 的 制 定 与 推 行 2689. 4 软 件 工 程 标 准 的 层 次 2709. 5 我 国 的 软 件 工 程 标 准 化 工 作 2729. 6 文 档 的 作 用 和 分 类 2739. 7 文 档 编 制 的 质 量 要 求 2789. 8 文 档 的 管 理 和 维 护 279附 录 文 档 编 写 纲 要 主 要 参 考 文 献 2812941第 一 章 软 件 工 程 概 述在 近 代 技 术 发 展 的 历 史 上 , 工 程 学 科 的 进 步 一 直
13、 是 产 业 发 展的 巨 大 推 动 力 。 传 统 的 工 程 学 科 走 过 的 道 路 已 为 人 们 所 熟 知 , 水 利 工 程 、 建 筑 工 程 、 机 械 工 程 、 电 力 工 程 等 对 于 工 农 业 、 商 业 、 交 通 业 的 影 响 是 极 为 明 显 的 。 人 类 在 认 识 和 征 服 大 自 然 的 长 征 中 继 续 前 进 , 近 年 来 人 们 开 始 对 气 象 工 程 、 生 物 工 程 、 计 算 机 工 程 等 有 了 新 的 认 识 。 然 而 , 对 于 工 程 学 这 个 家 族 中 的 另 一 新 成 员 软 件 工 程 却 很
14、不 熟 悉 。 其 实 , 这 并 不 是 因 为 它 的 地 位 无 关 紧 要 , 恰 恰 相 反 , 它 对 软 件 产 业 的 形 成 和 发 展 起 着 决 定 性 的 推 动 作 用 。 我 们 说 它 在 计 算 机 系 统 的 发 展 和 应 用 中 至 关 重 要 , 说 它 在 人 类 进 入 信 息 化 社 会时 成 为 新 兴 信 息 产 业 的 支 柱 , 绝 不 过 分 , 更 非 无 稽 之 谈 。 人 们 对 软 件 工 程 不 了 解 , 其 根 本 原 因 是 对 软 件 本 身 认 识 不 清 。 本 章 将 对 软 件 的 特 点 、 软 件 工 程 的
15、 形 成 及 软 件 生 命 期 等 概 念 给 出 简 要 的 介 绍 , 以期 使 读 者 从 中 得 到 对 软 件 工 程 最 起 码 的 理 解 。1. 1 软 件 的 特 点 及 分 类“软 件 ”这 一 名 词 60 年 代 初 从 国 外 传 来 , 当 时 许 多 人 说 不 清 它 的 确 切 含 意 。 sof twar e 一 词 确 是 soft 和 war e 两 字 组 合 而 成 。 有 人 译 为 “软 制 品 ”, 也 有 人 译 为 “软 体 ”。 现 在 我 们 都 统 一 称 它 为 软 件 。 对 它 的 一 种 公 认 的 解 释 为 , 软 件
16、由 三 部 分 组 成 : 程 序 、 数 据 和 文 档 。 即 按 事 先 设 计 的 功 能 和 性 能 要 求 执 行 的 指 令 序 列 , 使 程 序 能 正 常加 工 信 息 所 需 要 的 数 据 以 及 描 述 程 序 操 作 及 使 用 的 资 料 。 尽 管 这 个 说 法 并 不 是 计 算 机 软 件 的 精 确 定 义 , 然 而 却 有 助 于 让 我 们 把 它和 扩 充 了 含 意 的 广 义 软 件 相 区 别 。 因 为 指 明 某 一 行 业 生 产 技 术 、 管2理 制 度 等 的 所 谓 广 义 软 件 , 今 天 已 经 进 入 我 们 的 社
17、会 生 活 。 为 了 能 全 面 、 正 确 地 理 解 计 算 机 和 软 件 , 有 必 要 让 我 们 来 分 析一 下 软 件 的 特 点 。( 1) 计 算 机 软 件 是 一 种 逻 辑 实 体 , 而 不 是 物 理 实 体 。 因 而 它 具 有 抽 象 性 。 这 个 特 点 使 它 和 计 算 机 硬 件 或 是 其 它 工 程 对 象 有 着 明 显 的 差 别 。 我 们 可 以 把 它 记 录 在 纸 面 上 , 保 存 在 计 算 机 的 存 储 器 内 部 , 也 可 以 保 留 在 磁 盘 、 磁 带 上 , 但 我 们 却 无 法 看 到 软 件 本 身 的
18、 形 态 。( 2) 计 算 机 软 件 在 研 制 、 开 发 活 动 中 被 创 造 出 来 , 但 它 不 能 按 传 统 的 “生 产 ”含 意 加 以 理 解 。 尽 管 软 件 开 发 和 硬 件 制 造 之 间 也 有 着 某 些 相 似 的 步 骤 。 但 硬 件 制 造 过 程 中 质 量 因 素 一 直 是 至 关 重 要 的 问 题 , 而 软 件 的 情 况 却 有 很 大 的 不 同 。 软 件 的 研 制 需 要 花 费 很 大 力 气 , 一 旦 研 制 出 来 , 大 批 生 产 几 乎 不 花 什 么 成 本 , 是 件 非 常 容 易做 的 事 , 其 中
19、的 质 量 因 素 也 比 较 容 易 掌 握 。 正 是 由 于 这 个 特 点 , 软 件 的 复 制 太 简 单 了 。 于 是 出 现 了 软 件 的 保 护 问 题 。 为 了 使 软 件 研 制 的 复 杂 劳 动 受 到 社 会 的 承 认 和 尊 重 , 必 须 从 技 术 上 和 法 律 上 采取 有 力 的 措 施 , 对 于 任 意 复 制 软 件 的 行 为 加 以 严 格 的 限 制 。虽 然 近 年 来 国 内 外 也 都 有 建 立 “软 件 工 厂 ”的 说 法 , 但 软 件 工 厂 毕 竟 只 是 为 软 件 开 发 手 段 或 开 发 环 境 创 造 更
20、加 优 越 的 条 件 , 以 利 于 高 效 地 开 发 软 件 , 并 不 意 味 着 按 硬 件 生 产 的 模 式 生 产 软 件 。( 3) 软 件 在 长 期 运 行 和 使 用 中 没 有 磨 损 、 老 化 、 用 旧 等 问 题 。 任 何 机 械 、 电 子 设 备 在 运 行 和 使 用 中 , 其 失 效 率 大 都 遵 循 U 型 曲 线 ( 即 所 谓 “浴 缸 曲 线 ”) 。 那 是 因 为 刚 一 投 入 使 用 时 各 部 件 尚 未 做 到 灵 活 运 转 , 常 常 容 易 出 问 题 。 经 一 段 运 行 , 便 可 以 稳 定 下 来 。 而 当
21、设 备 已 经 历 相 当 时 期 的 运 转 , 便 会 出 现 磨 损 、 老 化 等 问 题 , 会 使 失 效 率 突 然 提 高 。 这 意 味 着 已 经 到 达 寿 命 的 终 点 , 即 将 报 废 了 。 软 件 情 况 与 此 不 同 , 它 没 有 U 型 曲 线 的 右 半 翼 , 因 为 它 不 存 在 磨 损和 老 化 问 题 。 然 而 软 件 在 投 入 使 用 以 后 , 可 能 要 作 修 改 , 每 次 修 改3都 会 引 起 失 效 率 的 提 高 ( 参 看 图 1. 1) 。 事 实 上 , 软 件 在 投 入 运 行 以 后 , 由 于 发 现 错
22、 误 , 为 适 应 运 行 环 境 或 是 需 要 对 其 功 能 加 以 扩 充 , 都 需 要 对 软 件 进 行 修 改 。 我 们 把 这 种 修 改 称 作 软 件 维 护 。 其 实 , 这和 硬 件 的 维 护 有 着 本 质 的 差 别 。图 1. 1 软 硬 件 失 效 率 曲 线 对 比( 4) 软 件 的 开 发 和 运 行 常 常 受 到 计 算 机 系 统 的 限 制 , 对 计 算机 系 统 有 着 不 同 程 度 的 依 赖 性 。 软 件 不 能 完 全 摆 脱 硬 件 单 独 活 动 。 在 开 发 和 运 行 中 必 须 以 硬 件 提 供 的 条 件 为
23、 依 据 。 有 的 软 件 这 种 依 赖 性 大 些 , 常 常 为 某 个 型 号 计 算 机 所 专 用 , 这 对 使 用 将 带 来 许 多 不 方 便 。 有 的 软 件 依 赖 于 某 个 操 作 系 统 。 为 解 除 这 种 依 赖 性 , 在 软 件 开 发 中 提 出 了 软 件 移 植 的 问 题 。 并 且 把 软 件 的 可 移 植 性 作 为 衡 量 软 件 质 量 的 因 素 之 一 。( 5) 软 件 的 开 发 至 今 尚 未 完 全 摆 脱 手 工 艺 的 开 发 方 式 。 软 件 产 品 大 多 是 “定 做 的 ”, 很 少 能 做 到 利 用 现
24、 成 的 部 件 组 装 成 所 需 的 软 件 。 近 年 来 软 件 技 术 虽 然 取 得 了 不 少 进 展 , 提 出 了 许 多 新 的 开 发 方 法 , 比 如 充 分 利 用 现 成 软 件 的 复 用 技 术 、 自 动 生 成 技 术 , 也 研 制 了 一 些 有 效 的 软 件 开 发 工 具 或 软 件 开 发 环 境 , 但 在 软 件 项 目 中 采用 的 比 率 仍 然 很 低 。 传 统 的 手 工 艺 开 发 方 式 仍 然 占 据 统 治 地 位 。 开4发 的 效 率 自 然 受 到 很 大 的 限 制 。 对 于 软 件 人 员 来 说 , 开 发
25、工 作 是 一 种 高 强 度 的 脑 力 劳 动 , 没 有 哪 一 个 软 件 人 员 认 为 , 这 是 一 项 轻 松 的 工 作 。( 6) 软 件 本 身 是 复 杂 的 。 有 人 认 为 , 人 类 能 够 创 造 的 最 复 杂 的 产 物 是 计 算 机 软 件 。 软 件 的 复 杂 性 可 能 来 自 它 所 反 映 的 实 际 问 题 的 复 杂 性 , 比 如 , 它 所 反 映 的 自 然 规 律 , 或 是 人 类 社 会 事 务 , 都 具 有 一 定 的 复 杂 性 ; 另 一 方 面 , 也 可 能 来 自 程 序 逻 辑 结 构 的 复 杂 性 。 例
26、如 , 一 个 系 统 软 件 要 能 处 理 各 种 可 能 出 现 的 情 况 。 软 件 开 发 , 特 别 是 应 用 软 件 的 开 发 常 常 涉 及 到 其 它 领 域 的 专 门 知 识 , 这 对 软 件 人员 提 出 了 很 高 的 要 求 。 软 件 的 复 杂 性 与 软 件 技 术 的 发 展 不 相 适 应 的 状 况 越 来 越 明 显 。 图 1. 2 示 出 软 件 技 术 的 发 展 落 后 于 复 杂 的 软 件 需 求 , 并 且 随 着 时 间 的 推 移 , 这 个 差 距 日 益 加 大 。图 1. 2 软 件 技 术 的 发 展 落 后 于 需
27、求( 7) 软 件 是 相 当 昂 贵 的 。 软 件 的 研 制 工 作 需 要 投 入 大 量 的 、 复 杂 的 、 高 强 度 脑 力 劳 动 , 它 的 成 本 自 然 是 较 高 的 。 问 题 不 仅 于 此 , 值得 注 意 的 是 硬 软 件 的 成 本 近 三 十 年 来 发 生 了 戏 剧 性 的 变 化 。 无 论 研 制 也 好 , 或 是 向 厂 家 购 买 也 好 , 在 50 年 代 末 , 软 件 的 开 销 大 约 占 总 开 销 的 百 分 之 十 几 , 大 部 分 成 本 要 花 在 硬 件 上 ; 但 今 天 这 个 比例 要 完 全 颠 倒 过 来
28、 , 软 件 的 开 销 大 大 超 过 硬 件 的 开 销 ( 参 看 图 1. 3) 。 美 国 每 年 投 入 软 件 开 发 的 经 费 要 有 几 百 亿 美 元 。 然 而 , 也 并 非 在 所 有 软 件 开 发 上 的 花 费 都 是 成 功 的 。( 8) 相 当 多 的 软 件 工 作 涉 及 到 社 会 因 素 。 类 似 于 企 业 管 理 类5型 的 软 件 自 然 是 不 言 而 喻 的 。 许 多 软 件 的 开 发 和 运 行 涉 及 机 构 、 体 制 及 管 理 方 式 等 问 题 , 甚 至 涉 及 到 人 们 的 观 念 和 人 们 的 心 理 。 对
29、 于 这 些 人 的 因 素 重 视 得 不 够 , 常 常 是 软 件 工 作 遇 到 的 问 题 之 一 。 即 使 是 对 软 件 的 看 法 不 同 也 会 有 很 大 影 响 , 比 如 , 由 于 主 管 部 门 对 正 在 开 发 的 软图 1. 3 计 算 机 系 统 硬 、 软 件成 本 比 例 的 变 化件 不 够 理 解 , 因 而 得 不 到 应 有 的 重 视 和 必 要 的 支 持 , 造 成 人 力 和 资 金 上 的 困 难 , 它 直 接 影 响 到 项 目 的 成 败 。以 上 讨 论 的 是 区 别 于 计 算 机 硬 件 或 是 其 它 工 程 对 象
30、, 各 种 软件 的 共 同 特 点 。 究 竟 软 件 有 哪 些 类 型 ? 事 实 上 , 要 给 计 算 机 软 件 做 出 科 学 的 分 类 是 很 难 的 , 但 鉴 于 不 同 类 型 的 工 程 对 象 , 对 其 进 行 开 发 和 维 护 有 着 不 同 的 要 求 和 处 理 方 法 , 因 此 仍 然 需 要 对 软 件 的 类型 给 出 必 要 的 划 分 。 既 然 找 不 到 一 个 统 一 的 严 格 分 类 标 准 , 我 们 从 不 同 的 方 面 去 分 类 是 比 较 符 合 实 际 情 况 的 。( 1) 按 软 件 的 功 能 划 分 : 一 种
31、通 常 的 分 法 是 三 类 , 即 系 统 软 件 、 支 撑 软 件 和 应 用 软 件 。系 统 软 件 能 使 计 算 机 系 统 的 各 个 部 件 、 相 关 的 软 件 和 数 据 协 调 、 高 效 地 工 作 。 例 如 , 操 作 系 统 、 数 据 库 管 理 系 统 、 驱 动 程 序 以 及 通 讯 处 理 程 序 等 。 系 统 软 件 的 工 作 通 常 伴 随 着 : 频 繁 地 与 硬 件 来 往 、 大 量 地 为 用 户 服 务 、 资 源 的 共 享 与 复 杂 的 进 程 管 理 , 以 及 复 杂 数 据 结 构 的 处 理 。 系 统 软 件 是
32、 计 算 机 系 统 必 不 可 少 的 一 个 组 成 部 分 。支 撑 软 件 是 协 助 用 户 开 发 软 件 的 软 件 , 包 括 帮 助 程 序 人 员 开 发 软 件 产 品 , 也 包 括 帮 助 管 理 人 员 控 制 开 发 的 进 程 。 表 1. 1 给 出 了 一 些 支 撑 软 件 的 实 例 。应 用 软 件 能 帮 助 人 完 成 特 定 领 域 的 工 作 。 现 在 已 经 举 不 出6哪 个 国 民 经 济 部 门 完 全 不 用 计 算 机 。 为 这 些 计 算 机 应 用 领 域 服 务 的 应 用 软 件 种 类 繁 多 。 其 中 商 用 信
33、息 处 理 所 占 比 例 是 最 大 的 一 类 , 工 程 和 科 学 计 算 软 件 大 多 属 于 数 值 计 算 问 题 。 值 得 一 提 的 是 , 除 去 那 些 大 量 应 用 的 传 统 领 域 以 外 , 近 年 来 一 些 新 的 应 用 领 域 如 异 军突 起 , 十 分 引 人 注 意 。 比 如 , 计 算 机 辅 助 设 计 ( CAD) 、 系 统 模 拟 、 智 能 产 品 嵌 入 软 件 ( 如 汽 车 油 耗 控 制 、 仪 表 盘 数 字 显 示 , 刹 车 系 统 ) , 以 及 人 工 智 能 软 件 ( 如 专 家 系 统 、 模 式 识 别
34、等 ) 。 应 用 软 件 在 这 些 领 域 里 大 显 神 通 , 使 得 传 统 的 产 业 部 门 面 目 一 新 , 带 给 我 们 的 是 惊 人 的 生 产 效 率 和 巨 大 的 经 济 效 益 。表 1. 1 支 撑 软 件 举 例一 般 类 型 支 持 需 求 分 析文 本 编 辑 程 序 PSL / P SA 问 题 描 述 语 言 、 问 题 描 述分文 件 格 式 化 程 序 磁 盘 向 磁 带 作 数 据 传 输 程 序 程 序 库 系 统析 程 序 关 系 数 据 库 系 统 一 致 性 检 验 程 序CA RA 计 算 机 辅 助 需 求 分 析支 持 设 计
35、支 持 实 现图 形 软 件 包 编 译 程 序结 构 化 流 程 图 绘 图 程 序 交 叉 编 辑 程 序设 计 分 析 程 序 预 编 译 程 序程 序 结 构 图 编 辑 程 序 联 接 编 辑 程 序支 持 测 试 支 持 管 理静 态 分 析 程 序 PE RT 进 度 计 划 评 审 方 法 绘 图 程 序符 号 执 行 程 序 标 准 检 验 程 序模 拟 程 序 库 管 理 程 序测 试 覆 盖 检 验 程 序 7( 2) 按 软 件 的 规 模 划 分 : 按 开 发 软 件 所 需 的 人 力 、 时 间 以 及 完 成 源 程 序 的 行 数 可 确 定 六 种 不 同
36、 规 模 的 软 件 , 即 微 型 、 小 型 、 中 型 、 大 型 、 甚 大 型 及 极 大 型 ( 参 看 第 八 章 中 表 8. 1) 。( 3) 按 软 件 工 作 方 式 划 分 :实 时 处 理 软 件 : 在 处 理 对 象 所 发 生 不 断 变 化 的 活 动 中 , 能 随 时 配 合 完 成 量 测 、 分 析 和 控 制 的 软 件 称 为 实 时 处 理 软 件 。 对 这 样 的 软 件 来 说 , 处 理 的 时 间 是 被 严 格 限 定 的 , 如 果 在 任 何 时 间 超 出 了 这 一 限 制 , 都 将 造 成 事 故 。交 互 式 工 作 的
37、 软 件 接 收 用 户 给 出 的 信 息 , 不 过 时 间 上 没 有严 格 的 限 定 。 这 种 工 作 方 式 给 用 户 很 大 的 灵 活 。 近 年 来 , 终 端 设 备 更 加 普 及 , 交 互 式 软 件 到 处 可 见 。 一 个 重 要 的 问 题 日 益 显 得 突 出 , 这 就 是 交 互 式 软 件 的 用 户 接 口 设 计 。 良 好 的 用 户 接 口 设 计 将 给 用 户 带 来 极 大 的 方 便 。分 时 工 作 方 式 是 按 固 定 的 时 间 段 , 轮 流 处 理 多 个 任 务 。批 处 理 方 式 则 是 把 多 个 任 务 一
38、起 送 入 机 器 , 按 顺 序 逐 个 处理 的 传 统 工 作 方 式 。( 4) 按 软 件 服 务 对 象 的 范 围 划 分 :有 的 软 件 只 供 一 个 ( 或 少 数 几 个 ) 用 户 使 用 , 可 称 这 样 的 软 件为 项 目 软 件 ( pr oject softw ar e) 。 例 如 , 军 用 防 空 指 挥 系 统 、 卫 星 轨 道 控 制 系 统 的 软 件 属 于 这 一 类 。 这 类 项 目 软 件 中 有 的 软 件 , 其 开 发 目 的 带 有 试 验 研 究 性 质 。 项 目 完 成 后 可 能 需 要 在 此 基 础 上 做 进
39、一 步 开 发 工 作 。另 一 类 则 是 要 提 供 市 场 或 是 为 千 百 个 用 户 服 务 , 我 们 称 为 产品 软 件 ( Pr oduct softwar e) 。 一 些 通 用 的 软 件 , 如 绘 图 软 件 包 、 编 译 程 序 、 文 本 处 理 程 序 、 报 表 生 成 程 序 等 都 属 于 这 一 类 。 由 于 要 参 与 市 场 竞 争 , 这 类 软 件 的 功 能 、 性 能 如 何 是 很 重 要 的 因 素 。( 5) 按 软 件 的 使 用 频 度 划 分 :8有 的 软 件 开 发 出 来 仅 供 一 次 使 用 , 比 如 人 口
40、普 查 、 工 业 普 查 所 需 软 件 。 若 干 年 才 进 行 一 次 普 查 , 前 些 年 开 发 的 软 件 在 若 干 年 后 很 难 适 用 。 有 的 统 计 资 料 或 试 验 数 据 需 按 年 度 做 统 计 分 析 , 相 应 的 软 件 每 年 运 行 一 次 。 另 外 一 些 问 题 , 如 天 气 预 报 , 需 每 天 进 行 数 据 的 及 时 处 理 , 相 比 之 下 , 这 类 软 件 具 有 较 高 使 用 频 度 , 显 然 , 开 发 不 同 使 用 频 度 的 软 件 , 有 不 同 的 要 求 , 不 可 一 律 看 待 。( 6) 按
41、软 件 的 失 效 影 响 划 分 :工 作 在 不 同 领 域 的 软 件 , 适 应 其 不 同 的 需 求 , 在 运 行 中 对 可 靠 性 也 有 不 同 的 要 求 。 有 的 软 件 如 果 在 工 作 中 出 现 了 故 障 , 造 成 软 件 失 效 , 可 能 给 整 个 系 统 带 来 不 大 的 影 响 。 比 如 可 能 带 来 一 些 不 便 , 却 能 勉 强 工 作 。 但 有 的 软 件 一 旦 失 效 , 可 能 酿 成 灾 难 性 后 果 , 其 严 重 损 失 难 以 挽 回 。 比 如 控 制 载 人 飞 行 物 的 软 件 , 如 果 不 能 正 常
42、 工作 , 可 能 以 人 的 生 命 为 代 价 。 开 发 这 类 软 件 自 然 应 从 多 个 方 面 采 取 措 施 , 确 保 质 量 , 做 到 万 无 一 失 。1. 2 软 件 的 发 展 和 软 件 危 机本 世 纪 40 年 代 中 出 现 了 世 界 上 第 一 台 计 算 机 以 后 , 就 有 了 程序 的 概 念 。 可 以 认 为 它 是 软 件 的 前 身 。 经 历 了 30 年 的 发 展 , 使 我们 得 以 对 软 件 有 了 更 为 深 刻 的 认 识 。 在 30 年 中 , 计 算 机 软 件 经 历 了 三 个 发 展 阶 段 :程 序 设 计
43、 阶 段 , 约 为 50 至 60 年 代程 序 系 统 阶 段 , 约 为 60 至 70 年 代软 件 工 程 阶 段 , 约 为 70 至 80 年 代从 表 1. 2 中 我 们 可 以 看 到 三 个 发 展 时 期 主 要 特 征 的 对 比 。 30年 来 , 最 根 本 的 变 化 体 现 在 :( 1) 人 们 改 变 了 对 软 件 的 看 法 。 在 50 年 代 到 60 年 代 , 程 序 设 计 曾 经 被 看 作 是 一 种 任 人 发 挥 创 造 才 能 的 技 术 领 域 。 当 时 人 们 认 为 , 写 出 的 程 序 只 要 能 在 计 算 机 上 得
44、 出 正 确 的 结 果 , 程 序 的 写 法 可 以 不 受 任 何 约 束 。 一 些 程 序 尽 管 很 难 被 别 人 看 懂 , 但 仍 然 认 为 , 只表 1. 2 计 算 机 软 件 发 展 的 三 个 时 期 及 其 特 点9特 时 期 点程 序 设 计 程 序 系 统 软 件 工 程软 件 所 指 程 序 程 序 及 说 明 书 ( 项 目 软 件 )产 品 软 件主 要 程 序 设 计 语 言 汇 编 及 机 器 语 言 高 级 语 言 高级 语 言 、 系统 程 序 设 计 语 言软 件 工 作 范 围 程 序 编 写 包 括 了 设 计 和 测 试 软 件 生 存
45、期需 求 者 程 序 设 计 者 本 人 少 数 用 户 市 场 用 户开 发 软 件 组 织 个 人 开 发 小 组 开 发 小 组 软 件 工 厂软 件 规 模 小 型 中 小 型 大 中 ( 小 ) 型决 定 软 件 质 量 的 因 素 个 人 程 序 技 术 小 组 技 术 水 平 管 理 水 平子 程 序 结 构 化 程 序 数据 库 、 开 发工具开 发 环 境 、 工程 化 开 发 方 法 、开 发 技 术 和 手 段程 序 库 设 计标 准 和 规 范维 护 责 任 者 程 序 设 计 者 开 发 小 组 专 职 维 护 人 员硬 件 特 征 价 高 存 储 容 量 小 工 作
46、 可 靠 性 差降 价 , 速 度 、 容 量 及 可 靠 性 有 明 显 提 高向超 高 速 、 大容 量 及 微 型 化 发 展软 件 特 征 完 全 不 受 重 视 软 件 技 术 的 开 发 技 术 有 了 前发 展 不 能 满 进, 但 未 获 突 破足 需 要 , 出 现 性 进 展 , 价 高软 件 危 机 软 件 危 机 并 未 完全 摆 脱有 通 篇 充 满 了 程 序 技 巧 , 使 用 了 许 多 窍 门 的 程 序 才 是 高 水 平 的 好10程 序 。 然 而 , 随 着 计 算 机 的 广 泛 使 用 , 人 们 逐 渐 抛 弃 了 这 种 观 点 。 因 为 ,
47、 对 于 小 的 程 序 , 仅 供 极 小 范 围 使 用 ( 例 如 只 是 程 序 设 计 者 本 人或 只 有 几 个 人 ) , 尚 可 “孤 芳 自 赏 ”。 对 于 稍 大 的 程 序 , 并 需 要 较 长 时 间 为 许 多 人 使 用 的 程 序 , 情 况 就 完 全 同 了 。 人 们 要 求 这 些 程 序 要 容 易 看 懂 、 容 易 使 用 并 且 要 容 易 修 改 和 扩 充 。 于 是 程 序 便 从 个 人 按 自 己 意 图 创 造 的 “艺 术 品 ”转 变 为 能 被 广 大 用 户 接 受 的 工 程 化 产 品 。 这 时 程 序 中 难 于
48、理 解 的 技 巧 成 了 有 害 的 东 西 。( 2) 软 件 的 需 求 是 软 件 发 展 的 动 力 。 早 期 的 程 序 开 发 者 只 是 为 了 满 足 自 己 的 需 要 , 这 种 自 给 自 足 的 生 产 方 式 仍 然 是 其 低 级 阶段 的 表 现 。 进 入 软 件 工 程 阶 段 以 后 , 软 件 开 发 的 成 果 具 有 社 会 属性 , 它 要 在 市 场 中 流 通 以 满 足 广 大 用 户 的 需 要 。 软 件 开 发 者 和 用 户 的 分 工 和 责 任 也 是 十 分 清 楚 的 。( 3) 软 件 工 作 的 范 围 从 只 考 虑 程 序 的 编 写 到 涉 及 整 个 软 件 生 存 期 。 关 于 软 件 生 存 期 的 概 念 将 在 下 面 一 节 介 绍 。在 软 件 技 术 发 展 的 第 二 阶 段 , 随 着 计 算 机 硬 件 技 术 的 进 步 , 计 算 机 的 容 量 、 速 度 和 可 靠 性 有 明 显 提 高 , 生 产 硬 件 的 成 本 降 低 了 。 计 算 机 价 格 的 下 跌 为 它 的 广 泛 应 用 创 造 了 极 好 的 条 件 。 在 这 一 形 势 下 , 要 求 软 件 能 与 之 相 适 应 。 一 些 开 发 复 杂 的 、