ImageVerifierCode 换一换
格式:PDF , 页数:24 ,大小:20.77MB ,
资源ID:8290    下载:注册后免费下载
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenkunet.com/d-8290.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第2章--软件工程概论.pdf)为本站会员(刘岱文)主动上传,文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文库网(发送邮件至13560552955@163.com或直接QQ联系客服),我们立即给予删除!

第2章--软件工程概论.pdf

1、 29 第 2 章 软件工程概论 . . 软件也许根本不同于历史上已经出现的任何产品。 故而 , 软件实践不能、 也不应完全参照传统实践进行。 Micheal Mahoney Micheal Mahoney (1939 2008) 是 美 国 普 林 斯 顿 (Princeton) 大 学 科 学 史 教 授 , 对 软 件工程学科有独到研究。 他的个人网址是 : http:/www.princeton.edu/hos/Mahoney/ 。 科学 史 研 究 专 家 Micheal Mahoney 认 为 , 软 件 是 一 类 崭 新 的 产 品 , 具 有 不 同 于 已 有 所 有 产

2、品 的 独 特 之 处。 因 此 , 软 件 工 程 是 人 类 的 又 一 次 创 新 , 软 件 开 发 不 能、 也 不 应 完 全 参 照 传 统 产 品 开 发 模 式 进 行。 软 件 工 程 研 究 者 和 实 践 者 只 有 通 过 不 断 创 新 和 实 践 , 才 能 建 立 起 属 于 软 件 工 程 学 科 的 真 正 知 识 体 系。 目 前, 这 一 体 系 已 经 基 本 建 成 , 以 2004 年 由 IEEE 发布的 “ 软 件 工 程 知 识 体 指 南 ” (SWEBOK) 为标志性里程碑。 本 章 接 续 上 一 章 关 于 软 件 的 介 绍 , 阐

3、 述 软 件 工 程 及 其 学 科 特 征 , 帮 助 读 者 形 成 初 步 的 软 件 工 程 概 念。 本 章 的 内 容 分 为 三 大 块 : 首 先 , 聚 焦 软 件 危 机 , 介 绍 其 含 义 , 并 列 举 若 干 实 证 数 据 , 同 时 分 析 它 存 在 原 因。 其 次 , 讲 述 软 件 工 程 的 定 义 、 核 心 问 题、 “ 魔 鬼 四 角 ” 、 四 大 挑 战 及 四 方 满 意 度 “ 天 平 ” 。 最 后 , 关 注 软 件 工 程 学 科 , 审 定 它 的 学 科 性 质 , 简 介 其 发 展 史 , 描 述它的学科知识体系和核心知识

4、形态。 . . 带着问题去阅读 . (1) 软 件 危 机 真 的 存 在 吗 ? 如 果 存 在 , 又 是 为 什 么 呢 ? 对 此 , 软 件 工 程 师 为 什 么 总 是熟视无睹呢 ? (2) 什么是软件工程 ? 它要解决的核心问题是什么 ? 目前有足够好的解决策略吗 ? (3) 软 件 工 程 实 践 面 临 哪 些 巨 大 挑 战 ? 为 什 么 会 存 在 这 些 挑 战 ? 就 目 前 业 界 实 践 而言 , 这些挑战是否已经得到有效处理 ? (4) 软件工程真是一门工程学科吗 ? 它又有什么区别于一般工程学科的特征 ? (5) 软 件 工 程 学 科 的 核 心 知 识

5、 形 态 有 哪 些 ? 如 何 裁 定 某 项 知 识 是 否 属 于 核 心 知 识 ? 软件工程师为什么需要重点学习和熟练掌握软件工程核心知识 ? (6) 如何学习软件工程核心知识 ? 30 第 2 章 软件工程概论 2.1 引言 在 上 世 纪 四 五 十 年 代 , 程 序 / 软 件 的 规 模 都 很 小 , 主 要 用 于 解 决 一 些 科 学 计 算 问 题。 当 时 的 程 序 员 俗 称 “ 黑 客 ” (Hacker), 其 群 体 规 模 很 小 , 热 衷 于 编 程 且 具 有 卓 越 的 编 程 技 能。 当 时 的 外 部 环 境 对 编 程 . . 非 .

6、 . . 常 . . 宽 . . 容 : 能 够 容 忍 持 续 很 长 时 间 的 编 程 工 作 , 且 一 般 不 计 较 编 程 成 本 ( 主 要 是 程 序 员 薪 资 ) 。 进 入 60 年 代 , “ 程 序 ” 渐 渐 改 称 为 “ 软 件 ”, 所 要 解 决 的 科 学 计 算 和 商 业 问 题 日 趋 复 杂 , 规 模 因 而 迅 速 增 长。 此 时 , 社 会 各 行 各 业 对 软 件 的 需 求 迅 猛 增 长 , 都 要求快 速 开 发出 高 可 靠的 软 件 产品。 但是 , 当时 的 软 件人 才 极其 紧 缺 , 大批 涌 入 软件 业 的 就

7、业者缺乏扎实的编程功底和工程技能 , 无法高效地完成软件开发工作。 计算 机 学 界 察 觉 到 这 种 现 象 , 开 始 探 讨 “ . . 如 . . 何 . . . 提 . . 高 . . . 软 . . 件 . . 开 . . 发 . . . 效 . . 率 ” 这 一 关 键 问 题。 这 其 中 的 一 个 标 志 性 事 件 就 是 1968 年 在 德 国 小 镇 Garmisch 举 行 的 北 大 西 洋 公 约 组 织 (NATO, 简 称 北 约 ) 的 科 学 专 委 会 议。 在 该 会 议 上 , “ 软 件 危 机 ” 和 “ 软 件 工 程 ” 作 为 全

8、新 概 念 被 首 次 正 式 提 出 并 受 到 广 泛 讨 论 ( 两 者 的 定 义 参 见 第 30 和 34 页 ) 。 这 个 会 议 也 因 此 正 式 开 启 了 之 后 几 十 年 的 学 科 发 展 历 程。 接 下 来 的 两 小 节 就 围 绕 这 两 个 概 念展开 , 之后再讨论软件工程的学科特征。 2.2 软件危机 2.2.1 什么是软件危机 ? 在 1968 年 的 北 约 科 学 专 委 会 议 上 , 学 界 先 驱 Friedrich Bauer ( 鲍 尔 ) 首 次 提 出 了 软 件 危 机 (Software Crisis) 概 念 , 以 描 述

9、 当 时 . . . 低 . . 下 . . 的 . . 软 . . 件 . . 生 . . . 产 . . 效 . . 率 . . 难 . . 以 . . . 满 . . 足 . . 日 . . 益 . . 快 . . . 速 . . 增 . . 长 . . 的 . . 计 . . 算 . . . 需 . . 求 . . 的 . . 现 . . 象。 从 那 以 后 , “ 软 件 危 机 ” 就 一 直 被 频 繁 使 用 , 其 含 义 也 不 断 被 扩 充 , 最 终 成 为了各行业人员批评和谴责软件工程行业的所有理由的总代名词。 . . 定义 2.1 ( 软件危机) 软 件 危 机

10、 原 指 低 下 的 软 件 生 产 率 难 以 满 足 快 速 增 长 的 现 实 需 要 的 现 象 , 后 泛 指 以 下 “ 令 人 不 满 意 ” 的 常 见 现 象 : 软 件 生 产 率 低、 成本高、 质量低、 风险高和失败率高等。 从 上 世 纪 60 年 代 至 今 , 软 件 危 机 一 直 普 遍 存 在 于 软 件 业 , 至 今 也 没 有 明 显 消 减 迹 象 , 甚至在某些方面还呈现出愈演愈烈之势。 如下列举的实证数据就充分说明了这一现象。 注 意 , 并 不 是 当 时 的 程 序 员 薪 资 低 到 可 以 “ 不 计 较 ” 的 程 度 , 而 是 因

11、为 当 时 的 硬 件 成 本 过 于 高 昂。 相 比 于 几 十 倍 或 上 百 倍 于 自身的硬件成本 , 编程成本就几乎可以 “ 不计较 ” 。 Friedrich Bauer ( 鲍尔 ) 是一位广受尊敬的计算机科学研究前辈。 他曾获 1988 年 IEEE 计算机先驱奖。2.2. 软件危机 31 2.2.2 危机存在的实证 美 国 著 名 的 IT 调 查 机 构 Standish 发 布 了 一 系 列 的 针 对 全 球 ( 主 要 是 北 美 ) 软 件 项 目 的 Chaos 调 查 报 告 , 其 中 的 一 些 重 要 数 据 如 表 2.1 所 示。 典 型 的 :

12、在 1995 年 , 31% 的 软 件 项 目 中 途 夭 折 ( 即 失 败 ); 在 所 有 项 目 中 , 平 均 成 本 和 时 间 ( 工 期 ) 分 别 超 支 180% 和 164% 。 至 2008 年 , 依 然 有 24% 的 项 目 失 败 , 另 外 项 目 的 平 均 成 本 和 时 间 也 都 显 著 超 支 ( 分 别 为 54% 和 79%) 。 这 些 数 据 表 明 , 在 过 去 的 近 15 年 (1995 2008) 中 , 虽 然 软 件 危 机 ( 如 项 目 的 高 失 败 率 ) 总 体 有 所 缓 减 , 但 负 面 影 响 依 然 很 大

13、。 特 别 是 , 从 2006 年 以 来 , 软 件 项 目 失 败率以及成本和时间超支比例都呈上升趋势。 表 2.1 Standish 机构 Chaos 报告的相关数据 (19952008) 1995 1998 2000 2002 2004 2006 2008 项目失败率 31% 28% 23% 15% 18% 19% 24% 成本超支比例 180% 69% 45% 43% 56% 47% 54% 时间超支比例 164% 79% 63% 82% 84% 72% 79% 著 名 咨 询 公 司 IAG 的 报 告 印 证 了 上 述 Chaos 调 查 结 论 : 近 35% 的 项 目

14、具 备 如 下 三 特 征 中 的 某 两 个 : (1) 成 本 超 支 160%; (2) 时 间 超 支 180%; (3) 功 能 减 少 逾 30% 。 当 然 , 这 也 暗 示 在 软 件 开 发 项 目 中 成 本、 时 间 和 功 能 三 者 之 间 存 在 一 定 程 度 的 “ 消 长 ” 关 系。 另 外 , 著 名 软 件 度 量 专 家 Capers Jones 的 研 究 Jon07a , Jon08 也 发 现 : 开 发 拥 有 大 于 10,000 个 . . 功 . . . 能 . . 点 的 大 型 软 件 的 项 目 失 败 率 超 过 45%; 在

15、已 交 付 的 此 类 软 件 中 , 逾 50% 的 项 目 进 展 超 过 了 之 前 预 定 期 限 达 一 年 或 更 长 时 间 之 久。 依 据 IBM 的 调 查 , 约 33% 的 项 目 超 时 , 20% 的 项 目 超 支 , 20% 的 项 目 所 交 付 的 产 品 没 有 实 现 预 期 的 所 有 功 能。 还 有 很 多 业 界 著 名 实 例 , 都 能 充 分 说 明 软 件 危 机 的 广 泛 存 在。 典 型 的 , 学 者 Robert Glass 的 著 作 软 件 开 发 的 滑 铁 卢 就 描 述 了 二 十 世 纪 很 多 著 名 的 软 件

16、产 品 和 项 目 的 失 败或失控案例 , 其原因都能最终归于 “ 软件危机 ” 。 . . 我 不 喜 欢 “ 危 机 ” 一 词 开 发 大 型 软 件 系 统 自 然 需 要 克 服 极 大 困 难 , 关 键 是 我 们 本 就 不 应 该 期望这能简易完成。 Ken Kolence 但是 , 有 一 个 现 象 也 非 常 明 显 : 从 1968 年 至 今 , 软 件 的 复 杂 度 虽 然 一 直 保 持 快 速 上 升 趋 势 , 但 越 来 越 多 的 复 杂 软 件 也 得 以 成 功 开 发 和 应 用。 这 似 乎 又 表 明 软 件 开 发 并 没 有 遭 遇 所

17、 谓 的 “ 危 机 ” 。 与 此 同 时 , 软 件 业 茁 壮 成 长 , 软 件 工 程 师 群 体 也 迅 速 壮 大。 即 使 真 遭 遇 了 危 机 , 那 这 危 机 的 存 在 时 间 也 过 于 漫 长 , 以 至 于 它 不 再 适 合 于 称 为 “ 危 机 ”, 因 为 我 们 都 已 经 习 以 为 常 了。 从 字 面 意 思 来 看 , “ 危 机 ” 一 词 暗 示 一 种 短 期 的、 急 性 的 严 重 问 题 ; 而 过 去 数 十 年 的 实 践 证 明 , 上 述 问 题 ( 如 软 件 生 产 率 低 和 成 本 高 等 ) 则 是 长 期 的 和

18、 慢 性 的 , 且 这 些 问 题 主 要 源 于 参考 IAG 的商业分析基准研究报告 : http:/www.iag.biz/resources/library/business- analysis- benchmark.html 。 参 考 IBM 商 业 价 值 研 究 院 于 2006 年 发 布 的 白 皮 书 IT 投 资 组 合 管 理 实 战 : http:/www- multimedia/finance_ciocn.pdf 。 原名为 “ Software Runaways ”, 1997 年出版 ; 中文本由陈河南译 , 2002 年出版 (ISBN: 9787505

19、373714) 。 32 第 2 章 软件工程概论 软 件 自 身 固 有 的 复 杂 本 质。 就 连 参 加 1968 年 北 约 会 议 的 学 界 先 驱 Ken Kolenc e (1932 2011) 也公开质疑这个词使用不当。 他认为 , 软件开发本身就是一件难事 ; 附以 “ 危机 ” 只会 令 那 些 不 谙 软 件 开 发 的 人 幻 想 找 到 解 决 危 机 之 道 , 从 而 实 现 “ 简 易 ” 软 件 开 发。 另 外 , 历 史 学家 Thomas Haigh 对 “ 软件危机 ” 一词也持批判态度 。 在本书中 , 笔者依然保留使用 “ 软 件 危 机 ”

20、一 词 , 以 描 述 一 种 常 见 的 软 件 工 程 现 象 ( 如 上 定 义 ) 。 但 是 , 笔 者 建 议 读 者 跟 用 学 界 近年逐渐推广的代用词 “ 软件困扰 ” (Affliction) 或 “ 软件萧条 ” (Depression) 。 笔 者 认 为 , 尽 管 当 前 软 件 业 取 得 了 极 大 功 绩 , 而 且 当 前 整 个 行 业 的 发 展 也 充 满 生 机 和 活 力 , 但 这 些 并 不 能 掩 盖 “ 项 目 失 败 率 超 30%” 的 “ 丑 陋 ” 事 实 , 以 及 更 高 比 例 的 项 目 . . 失 . . 控 ( 时 间

21、和 成 本 的 超 支 ) 或 . . 失 . . . 效 ( 所 开 发 的 产 品 明 显 不 能 满 足 现 实 需 要 ) 现 象。 因 此 , 笔 者 同 多数学者一样 , 认定 . . 软 . . 件 . . 危 . . 机 . . . 现 . . 象 . . 依 . . 然 . . 存 . . . . . . 在 , 且 . . 还 . . 将 . . . 长 . . 期 . . 存 . . 在 . . 下 . . . . 去。 2.2.3 危机存在的原因 软 件 危 机 主 要 源 于 : 软 : 件 : 的 : 复 : 杂 : 本 : 质 ( 页 14 ) 。 工 程 师 的

22、 认 知 能 力 十 分 有 限 , 无 法 有 效 处 理 日 益 复 杂 化 的 软 件。 具 体 的 , 人 的 认 知 局 限 性 在 软 件 开 发 项 目 中 直 接 表 现 为 : 工 程 师 不 能 准 确 获 取 所 有 需 求 , 频 繁 制 造 错 误 , 导 致 项 目 返 工 , 不 能 发 挥 工 程 技 术 的 预 期 效 应 , 团 队 管 理 困 难 或 效 果 不 佳 等。 简 言 之 , . . 只 . . . 要 . . 工 . . 程 . . 师 . . 的 . . . 认 . . 知 . . 能 . . 力 . . 和 . . . 软 . . 件 .

23、 . 的 . . 复 . . 杂 . . 性 . . . 之 . . 间 . . 缺 . . 乏 . . 平 . . . . . . 衡 , 软 . . 件 . . 危 . . . 机 . . 就 . . 会 . . 一 . . 直 . . 存 . . . . 在。 但 显 然 , 这 种 平 衡 永 远 不 会 出 现 , 两 者 之 间 的 差 距 只 会 越 来 越 大。 即 使 当 前 很 多 “ 看 似 先 进 ” 的 技 术 和 工 具 能 在 一 定 程 度 上 帮 助 工 程 师 弥 补 认 知 能 力 的 不 足 , 但 远 不 能 建 立 上 述 缺 失 的 平 衡。 主

24、要 原 因 是 这 些 技 术 和 工 具 仅 能 降 低 软 件 的 伴 随 难 度 而 不 能 影响它的本质难度 ( 页 15 ) 。 图 2.1 软件与硬件的开发成本演化图 从软 件 开 发 的 角 度 来 看 , 软 件 危 机 非 但 没 有 减 弱 , 反 而 愈 演 愈 烈。 其 原 因 就 是 软 件 的 开 发 成 本 相 比 于 硬 件 成 本 的 持 续 攀 升。 如 图 2.1 所 示 , 在 过 去 的 数 十 年 中 , 软 件 的 开 发 成 本 一 直 都 在 快 速 上 升 , 而 硬 件 的 成 本 则 持 续 下 降。 这 使 得 , 对 于 一 个 包

25、含 软 件 和 硬 件 的 系 统 而 言 , 大 比 例 的 开 发 成 本 将 从 硬 件 转 移 至 软 件。 一 方 面 , 硬 件 的 生 产 成 本 随 生 产 技 术 的 改 进 而 逐 年 降 低 , 单 位 硬 件 的 平 均 成 本 每 18 个 月 就 下 降 50% 。 这 就 是 所 谓 的 . . . . . . . . . . Moore ( 摩 . . . . . 尔 ) 定 . . 律 。 而 另 一 方 面 , 软 件 开 发 成 本 趋 势 似 乎 与 摩 尔 定 律 截 然 相 反。 其 主 要 原 因 是 软 件 所 要 解 决 的 现 实 问 题 更

26、 加 复 杂 化 , 导 致 软 件 产 品 规 模 的 参考 Thomas Haigh 的文章 : http:/ 。 据 笔 者 所 知 , “Software Affliction” 一 词 是 由 学 者 Daniel Tiechrow 首 次 提 出 , 而 “Software Depression” 则 是 由 学 者 Stephen Schach 首次使用。 摩 尔 定 律 是 硬 件 领 域 久 负 盛 名 的 一 个 实 证 定 律 , 由 因 特 尔 (Intel) 公 司 创 始 人 Gordon Moore (摩 尔 ) 于 1965 年 提 出。 它 的 原 意 是 指

27、 集 成 电 路 板 上 的 电 子 晶 体 数 目 每 24 个 月 翻 一 番 , 且 性 能 也 随 之 翻 一 番。 当 前 流 行 的 说 法 是 同 样 造 价 的 计 算 机 的 性 能 每 18 个 月 翻 一 番 , 或 同 性 能 的 计 算 机 硬 件 的 造 价 每 18 个 月 降 一 半。 关 于 它 的 更 多 信 息 可 参 考 : http:/en.wikipedia.org/ wiki/Moore s_law 。2.3. 软件工程概述 33 快 速 增 加 和 生 产 效 率 的 相 对 下 降 。 次 要 原 因 包 括 人 力 成 本、 开 发 工 具、

28、 软 硬 件 办 公 成 本 的 持 续 上 升 , 最典 型 的 就 是 软 件 工 程 师 的 平 均 薪 资 水 平 逐 年 稳 步 上 扬 ( 其 趋 势 似 乎 不 受 当 前 经 济萧条大局所左右 ) 。 . . 软 件 危 机 真 是 一 个 无 药 可 治 的 顽 疾。 声 称 能 医 治 它 的 人 都 是 庸 医、 骗 子 和吹牛皮的人。 Edsger Dijkstra 大师 Edsger Dijkstra ( 狄 杰 斯 特 拉 ) 在 回 答 学 生 提 问 时 说 到 , “ 只 要 软 件 依 然 还 是 由 人 来 主 导 开 发 , 软 件 危 机 就 还 将

29、如 同 一 个 无 药 可 治 的 顽 疾 般 长 期 存 在。 ” 他 进 一 步 指 出 , “ 医 治 这 样 的 顽 疾 会 招 来 很 多 庸 医、 骗 子 和 吹 牛 皮 的 人 , 很 多 所 谓 的 学 界 权 威 和 业 界 领 袖 就 是 这 样 一 些 人。 ” 且 不 论 学 界 权 威 和 业 界 领 袖 的 资 质 , 当 前 很 多 软 件 产 品 ( 典 型 的 如 编 程 和 测 试 工 具 ) 的 宣 传 就 常 吹 嘘 它 的 预 防、 避 免 或 解 决 软 件 危 机 的 能 力。 事 实 证 明 , 所有这些产品和说辞统统都是 Dijkstra 所说

30、的庸医和骗子行径。 2.3 软件工程概述 2.3.1 什么是工程 ? 人类 有 两 条 探究 未 知 世界 的 途 径 : . . 科 . . . 学 . . 途 . . 径 . . 和 . . 工 . . 程 . . . 途 . . 径。 科 学 探 究 事 物 的 本 质 , 主要 科 学 活 动 有 . . 观 . . . . . 察、 度 . . . 量 . . 和 . . 实 . . 验 ; 而 工 程 致 力 于 创 造 新 事 物 , 主 要 工 程 活 动 是 . . 构 . . 造 . . 和 . . . 评 . . 估。 笔 者 认 为 , 工 程 是 已 有 知 识 的

31、创 造 性 应 用 , 旨 在 设 计 和 开 发 出 符 合 现 实 需 求 的 产 品。 依 据 待 设 计 和 开 发 产 品 的 多 样 性 , 形 成 了 多 个 工 程 领 域 , 例 如 机 械 工 程、 化 学 工 程、 土 木 工 程、 电 子 工 程、 材料工程、 硬件工程和软件工程等。 图 2.2 科学与工程的关系 如图 2.2 所 示 ( 参 考 Bud04 , 图 1.1 ), . . 科 . . 学 . . . 和 . . 工 . . 程 . . 是 . . . 两 . . 类 . . 互 . . 补 . . 的 . . . 活 . . 动。 科 学 为 工 程 提

32、 供 关 于 事 物 的 知 识 , 而 工 程 则 为 科 学 提 供 更 好 的 工 具。 相 比 于 关 注 “ 是 什 么 ” (What) 和 “ 为 什 么 ” (Why) 的 自 然 科 学 , 工 程 学 关 注 “ 如 何 做 ” (How), 即 科 学 原 理 的 现 实 应 用。 笔 者 在 此 需 要 特 别 指 出 的 是 , 工 程 师 作 为 工 程 的 执 行 者 , 不 仅 需 要 选 择 合 适 工 程 技 术 和 过 程 以 落 实 “ 如 何 做 ”, 而 且 需 要 探 究 工 程 技 术 和 过 程 的 . . 成 . . 本。 毕 竟 , 工 程

33、 活 动 是 经 济 活 动 , 需 要 耗 费 财 力、 物 力 和 人力。 有鉴于工程的这种 . . 经 . . 济 . . 特 . . 性 , 工程师就必须为工程投资人 ( 即项目客户 ) 负责 , 力求以最 低 成 本 完 成 工 程 实 践 并 实 现 既 定 投 资 目 标。 如 图 2.3 所 示 , 工 程 强 调 两 个 方 面。 一、 过 程 规 划。 基 于 既 定 目 标、 需 求 和 约 束 , 规 划 工 程 过 程 , 以 期 在 满 足 既 定 约 束 的 前 提 下 , 满 足 既 定 需求并实现既定目标。 二 、 过 程 控 制。 通过对设计和开发过程的控制

34、 , 以确保工程项目产出 注意 , 相比于上世纪 50 年代 , 当前工程师的工作效率有明显提高 ( 受先进技术和更多知识的推动 ) 。 但与此同时 , 软件产品的 规模和复杂度以更快速度持续攀升, 使得工程师必须频频处理极其复杂的工作任务 , 工作效率也就出现了持续相对降低的现象。 参考 : http:/www.cs.utexas.edu/EWD/transcriptions/EWD13xx/EWD1305.html 。 34 第 2 章 软件工程概论 真 正 能 够 满 足 既 定 现 实 需 求 的 产 品。 过 程 控 制 是 典 型 的 . . 目 . . 标 . . . 制 . .

35、 导 实 践。 一 方 面 , 控 制 旨 在 确保过程按计划完成。 另一方面 , 通过过程追踪和分析 , 度量并改进现用控制策略和方法。 图 2.3 工程的概念框架 2.3.2 什么是软件工程 ? “ 软 件 工 程 ” (Software Engineering, 或 SE ) 一 词 最 先 由 北 约 的 某 研 究 小 组 于 1967 年 提 出 , 并 在 次 年 (1968) 于 德 国 举 办 的 北 约 科 学 专 委 会 议 上 正 式 使 用。 其 最 初 含 义 是 以 类 似 其 他 工 程 学 的 方 式 开 发 软 件。 之 后 , 国 际 标 准 化 组 织

36、(ISO) 给 出 了 如 下 正 式 定 义 ISO10 , 页 331 : 软 件 工 程 是 . . 科 . . . 学 . . 和 . . 工 . . . 程 . . 知 . . . . . 识、 方 . . . 法 . . 和 . . 经 . . 验 . . . 在 . . 软 . . 件 . . . 生 . . 命 . . 期 . . 中 . . . 的 . . 系 . . 统 . . 应 . . . 用 , 即 软 件 的 工 程 化。 它 创 造 和 使 用 有 效 方 法 以 支 持 低 成 本 和 短 周 期 的 高 质 量 软 件 开 发 和 维 护 Bj06 , 页 6

37、 , 以期有效应对普遍存在的软件危机现象 ( 如上节所述 ) 。 . . 定义 2.2 ( 软件工程) 软 件 工 程 ( SE ) 指 科 学 知 识 和 工 程 方 法 在 软 件 开 发、 维护和演化过程中的系统应用 , 即软件的工程化。 自 1968 年以来 , 很多学者从不同的角度深入研究了软件工程的本质属性和特征。 学界 先 驱 Barry Boehm 早 在 1976 年 就 将 软 件 工 程 定 义 为 相 关 科 学 知 识 在 计 算 机 程 序 和 相 关 文 档 构 造 过 程 中 的 实 践 应 用 Boe76 。 之 后 著 名 学 者 David Parnas

38、补 充 道 , 软 件 工 程 是 一 项 多 人 共 同 编 写 多 版 本 程 序 的 活 动。 这 就 进 一 步 肯 定 了 “ 团 队 ” 的 地 位。 继 而 学 者 Richard Fairley 肯 定 了 “ 管 理 ” 的 地 位 , 将 软 件 工 程 视 为 一 门 技 术 和 管 理 交 叉 学 科 , 以 “ 依 据 成 本 预 算及时开发和维护软件产品 ” 为目标 Fai85 , 页 2 。 在 1987 年 出 版 的 著 作 软 件 工 程 引 论 中 , 国 内 学 者 马 锦 林 对 软 件 工 程 作 了 系 统 的 总结。 他认为 , 软件工程有 “

39、: 三 : 多 ” 特征 : 多 学 科、 多 目 标 和 多 阶 段。 首先 , 软件工程交叉多个 学科 , 如管理学、 系统学、 数学和心理学等 ; 其次 , 软件项目 ( 无论大小 ) 通常都具有多个目标 , 覆 盖 功 能、 成 本 和 进 度 等 方 面 ; 最 后 , 软 件 过 程 一 般 分 阶 段 实 施 , 例 如 传 统 软 件 开 发 过 程 就 常 分 为 需 求 定 义、 设 计、 构 造 和 测 试 四 大 阶 段。 这 “ 三 多 ” 论 准 确 而 完 整 地 概 括 了 软 件 工 程 的 基 本 特 征。 中 国 计 算 机 科 学 和 软 件 研 究 先

40、 驱 唐 稚 松 院 士 (1925 2008) 更 是 从 哲 学 的 角 度 , 探 析 了 软 件 工 程 背 后 的 一 般 性 哲 学 原 理 和 方 法 , 包 括 : (1) . . 合 . . 久 . . . 必 . . . . . 分、 分 . . 久 . . 必 . . . 合 ; (2) . . 中 . . 庸 . . 之2.3. 软件工程概述 35 . . 道 ; (3) . . 动 . . 与 . . 静 ; (4) . . 理 . . 性 . . . 主 . . 义 . . 与 . . 实 . . 用 . . . 主 . . 义。 参阅唐院士的著作 时序逻辑程序设计

41、与软件工 程上册第一章。 . . Bernd Bruegge 的软件工程观 . 著 名 学 者 Bernd Bruegge 认 为 , 软 件 工 程 是 一 类 特 殊 的 实 践 , 具 有 如 下 四 大 特 征 BD00 , 页 5 : . . 无 . . 处 . . . 不 . . 在 . . 的 . . 建 . . 模 : 软 件 问 题 过 于 复 杂 , 解 决 策 略 就 是 抽 象 化。 建 模 的 本 质 就 是 抽 象 化 , 突 出 当 前 需 要 的 信 息 而 隐 藏 其 他 信 息。 绝 大 多 数 软 件 实 践 都 是 建 模 活 动或与之相关的活动。 .

42、. 本 . . 质 . . . 上 . . 是 . . 一 . . . . . 项 “ 问 . . . 题 . . 解 . . . . . 决 ” 活 . . . 动 : 开 发 软 件 旨 在 解 决 某 个 现 实 问 题。 待 解 问 题 既 复杂又易变。 对此 , 软件工程既要分解问题复杂度 , 又要敏捷响应问题变更。 . . 知 . . 识 . . . 获 . . 取 . . 和 . . 创 . . . 造 : 所 谓 软 件 开 发 , 首 先 需 要 获 取 关 于 待 解 问 题 的 知 识 , 然 后 将 之 转 化 为 新 产 品 , 从 而 创 造 出 新 知 识。 知

43、识 获 取 和 创 造 过 程 都 充 满 风 险 , 往 往 难以一步到位 , 故而软件开发通常采用迭代方式进行。 . . 理 . . 性 . . . 驱 . . 动 : 任 何 软 件 实 践 都 讲 究 “ 合 理 性 ” 。 “ 合 理 性 ” 的 典 型 影 响 因 素 有 : 技 术 成熟度、 项目成本和时间约束、 工程师及团队特征、 开发软硬件环境等。 2.3.3 核心问题 学 者 们 普 遍 认 为 , 软 件 工 程 的 核 心 问 题 是 : . . . 工 . . 程 . . 师 . . 如 . . 何 . . . 以 . . 快 . . . . . 速、 便 . . .

44、 宜 . . 和 . . 高 . . 质 . . 量 . . . 的 . . 方 . . 式 . . 开 . . 发 . . 出 . . . 正 . . 确 . . 的 . . 软 . . . . 件 ? 从 这 个 问 题 出 发 , 可 称 软 件 工 程 为 一 门 研 究 如 何 帮 助 工 程 师 快 速、 便 宜 而 高 质 量 地 开 发 出 正 确 软 件 产 品 的 学 问。 进 一 步 , 可 以 根 据 这 个 问 题 归 纳 出 软 件 工 程 的 五 个必要组成元素 , 如图 2.4 所示 : 图 2.4 软件工程的五大要素 . . . “ 工 . . 程 . . .

45、 师 ”: 软 件 实 践 始 终 都 必 须 由 工 程师来主导和参与。 . . . “ 正 . . . 确 ”: 一 直 以 来 , 软 件 实 践 的 主 旨 都 是让软件能正确地满足现实需要。 . . . “ 快 . . . 速 ”: 现 实 需 要 的 满 足 是 否 及 时 也 是软件实践所追求的目标之一。 . . . “ 便 . . . 宜 ”: 满 足 现 实 需 要 的 产 品 成 本 是 可承受的。 . . . “ 高 . . 质 . . . 量 ”: 用 户 不 会 喜 欢 低 质 量 软 件 , 且用户的质量需求一直呈上升趋势。 针 对 上 述 核 心 问 题 , 学

46、界 一 致 认 为 , 软 件 工 程 的 主 题 就 是 . . 围 . . 绕 . . 商 . . 品 . . . . . . 性、 与 . . 复 . . 杂 . . . 性 . . 同 . . . . . 行、 应 . . . 对 . . 频 . . 变 . . 性 vV00 , 页 7 ( 回 顾 软 件 的 三 本 性 , 这 里 仅 关 注 “ 软 件 开 发 ”, 但 并 未 否 定 软 件 维 护 和 演 化 的 意 义 或 地 位。 因 为 诸 多 维 护 和 演 化 知 识 和 方 法 都 源 自 软 件 开 发 领 域 , 是相同知识在不同子领域间的水平迁移。 36 第

47、 2 章 软件工程概论 页 13 24 ) 。 典 型 的 , 业 界 知 名 专 家 Tom Gilb 认 为 , 软 件 工 程 学 科 研 究、 教 育 和 实 践 所 一 致 追 求 的 是 : . . 软 . . 件 . . 工 . . 程 . . . 师 . . 基 . . 于 . . 既 . . 定 . . 资 . . . . . . 源、 在 . . 符 . . 合 . . . 既 . . 定 . . 约 . . 束 . . 的 . . . 前 . . 提 . . . . . . 下 , 创 . . 造 . . 出 . . 最 . . 高 . . . 价 . . . 值。 软

48、件 的 复 杂 性 和 频 变 性 是 影 响 开 发 成 本 和 时 长 的 主 要 因 素 , 而 其 商 品 性 则 会 影 响 软 件 开 发 过 程 中 的 技 术 和 非 技 术 决 策。 这 三 性 的 处 理 是 回 答 上 述 核 心 问 题 的 关 键 之 所 在 , 也 决 定 了 软 件 产 品及其开发项目的成败。 2.3.4 “ 魔鬼四角” 在 上 述 五 大 要 素 , 除 工 程 师 不 与 其 他 四 要 素 存 在 冲 突 之 外 , 其 余 四 者 彼 此 都 存 在 冲 突 或 制 约 关 系。 在 此 , 笔 者 将 这 四 者 归 纳 为 功 能 (F

49、unctionality) 、 质 量 (Quality) 、 成 本 (Cost) 和 时 间 (Time) 。 这 四 者 可 依 次 简 单 解 释 为 : . . 软 . . 件 . . 的 . . . 预 . . 期 . . 功 . . . . . . 能 ( 范 . . . . . 围 ) 和 . . 质 . . . . . . 量 , 以 . . 及 . . 开 . . . . . . 发 ( 维 . . 护 . . 和 . . 演 . . . . . 化 ) 所 . . . 需 . . 的 . . 成 . . 本 . . 和 . . 时 . . . . 间。 图 2.5 “ 魔鬼四角 ” 鉴于其间的制约关系 , 笔者称这四要

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报