Microsoft Word - chapter1.doc



Similar documents
Microsoft PowerPoint - ARC110_栾跃.ppt

378高雄市都市計畫說明書

建协质(2005)20号

PowerPoint Presentation

<D2B0D0C4D3C5D1C52DC8CED6BEC7BF202D20BCC7CAC2B1BE>

Page 2 of 12

秘密大乘佛法(下)

國立臺東高級中學102學年度第一學期第二次期中考高一國文科試題

!! :!!??!!?!??!!!... :... :'?'?! :' ' :'?' :'?' :'!' : :? Page 2

Microsoft Word - Sunday

鎶ョ焊0

新时期共青团工作实务全书(八十二)

<4D F736F F F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074>

最新执法工作手册(十八).doc

認 知 心 理 的 定 義 認 知 心 理 學 致 力 於 研 究 人 類 的 認 知, 尤 其 是 有 關 學 習 和 行 為 的 認 知 過 程 這 個 領 域 是 從 格 式 塔 心 理 學 (Gestalt psychology) 發 展 心 理 學 (developmental psych

投影片 1


7 南 水 北 调 东 线 第 一 期 工 程 三 阳 河 潼 河 宝 应 站 工 程 设 计 江 苏 省 水 利 勘 测 设 计 研 究 院 有 限 公 陆 小 伟, 顾 美 娟, 张 仁 田, 王 钧, 焦 建 华, 张 艺, 朱 正 伟, 杨 俊 敬, 徐 文 俊, 张 娟, 钱 祖 宾, 汤

1.ai

~ 主 == 且 一. fju 百 顏 元, 字 易 直, 叉 字 渾 然, 於 清 初 學 術 界 以 異 軍 之 勢 帽 起 於 河 北 博 野 I] ' 與 顧 炎 武 黃 宗 羲 王 夫 之 同 為 清 初 重 要 思 想 家 顏 元 早 期 好 陸 王 心 學, 後 叉 醉 心 純 粹 切

<4D F736F F D20BDE1B9B9B9A4B3CCCAA6B6D4BCC6CBE3BBFAB5C4C0C4D3C32E646F63>

BPR JIT

<4D F736F F D20C8EDBCFEB9A4B3CCB5BCC2DB20D2EBB8E52E646F63>

Microsoft Word - KDFCClient_manual.doc

净 利 润 和 扣 除 非 经 常 性 损 益 后 归 属 于 母 公 司 股 东 的 净 利 润 分 别 为 亿 元 和 亿 元 ; 3 假 设 本 公 司 2016 年 扣 除 非 经 常 性 损 益 前 归 属 于 母 公 司 股 东 的 净 利 润 分 别 为 6

游戏攻略大全(五十六).doc

牧 者 心 聲 要 因 心 懷 平 而 作 惡 要 謹 慎 言 行 免 得 舌 頭 犯 罪 ; 惡 人 時 候 要 用 嚼 環 勒 住 口 ( 詩 三 十 九 1) 今 天 社 會 和 教 會 裏 極 其 渴 望 人 能 以 具 體 行 動 勉 勵 走 善 良 正 直 路 作 好 榜 樣 ; 可 惜

Microsoft Word 箕æ−¥ï¼‹å®ı稿;

98年度即測即評學科測試與即測即評即發證技術士技能檢定簡章

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

目次 

Microsoft PowerPoint - TTCN-Introduction-v5.ppt

StorageTek Virtual Storage Manager GUI - 安全指南

2013 年 大 陸 書 市 觀 察 2013 年, 新 笑 傲 江 湖 也 引 起 熱 烈 討 論, 首 播 當 晚 已 居 黃 金 檔 電 視 劇 收 視 冠 軍, 進 而 帶 動 了 該 作 品 的 圖 書 銷 量, 之 後 隋 唐 英 雄 傳 精 忠 嶽 飛 等 也 紛 紛 改 編 成 電

目 次 一 社 團 活 動 基 本 資 料 2 ( 一 ) 參 加 隊 員 名 冊 2 ( 二 ) 活 動 成 效 分 析 表 4 二 活 動 成 果 報 告 6 ( 一 ) 活 動 支 出 明 細 表 6 ( 二 ) 活 動 內 容 及 活 動 分 工 8 ( 三 ) 活 動 執 行 過 程 說

<4D F736F F D20D6D0C9BDBBF0BEE6D6B0D2B5BCBCCAF5D1A7D4BAB9C7B8C9D0A3BDA8C9E8CFEEC4BFD7DCBDE1B1A8B8E631302E3138>

小 学 体 育 教 师 幼 儿 教 师 005 单 位 名 称 : 丽 水 黎 明 中 学 联 系 方 式 : 陈 上 华 单 位 地 址 : 三 岩 寺 路 2 号 招 聘 岗 位 :( 人 数 :16 人, 学 历 / 学 位 : 本 科 及 以 上 ): 语 文 数 学

与 信 步 一 起 2017 应 届 生 校 园 招 聘 直 接 网 申 请 扫 二 维 码

職業安全衛生績效量測技術手冊

目 录 软 件 概 述 软 件 用 途 软 件 运 行 系 统 配 置... 3 使 用 入 门 软 件 登 录 与 退 出 页 面 介 绍... 6 组 别 账 号 编 辑 组 别 编 辑.

PowerPoint プレゼンテーション

测试技术基础

Learning Java

多核心CPU成長日記.doc

1 目 錄 1. 簡 介 一 般 甄 試 程 序 第 一 階 段 的 準 備 第 二 階 段 的 準 備 每 間 學 校 的 面 試 方 式 各 程 序 我 的 做 法 心 得 及 筆 記 結 論..

婴幼儿教育(三).doc

ebook66-15

<4D F736F F D20D5E3BDADD5FDD4AAD6C7BBDBBFC6BCBCB9C9B7DDD3D0CFDEB9ABCBBECAD7B4CEB9ABBFAAB7A2D0D0B9C9C6B1B2A2D4DAB4B4D2B5B0E5C9CFCAD0D5D0B9C9CBB5C3F7CAE9A3A8C9EAB1A8B8E C4EA36D4C23139C8D5B1A8CBCDA3A92E646F63>

Microsoft Word docx

2,,,, :,,,,,,,, :? :,,,,,,,,,, :,,,,,,,,,,,,,,,,,,,,,, : :,,, ;,,,,,,,,,,,

資訊安全管理系統建置初始工作的研究

<4D F736F F D CAB3C6B7D6CAC1BFD3EBB0B2C8ABBCE0B9DCD7A8D2B5BDCCD1A7CDC5B6D3BDA8C9E8B7BDB0B82E646F63>


江 苏 丰 彩 新 型 建 材 有 限 公 常 州 华 科 树 脂 有 限 公 南 京 金 海 威 国 际 供 应 链 管 理 股 份 有 限 公 连 云 港 圣 丰 化 工 有 限 公 技 术 员 实 验 员 涂 料 调 色 工 销 售 内 勤 车 间 内 勤 主 管 仓 库 保 管 员 技 术

《嵌入式系统设计》教学大纲

刘世伦

第 一 章 UI 概 述 单 元 设 计 : 课 题 名 称 :UI 综 述 教 学 任 务 :1 UI 是 什 么? 2 UI 设 计 师 是 做 什 么 的? 3 UI 在 中 国 的 现 状 如 何? 4 数 据 时 代 的 用 户 体 验 (APP 视 觉 设 计 艺 术 ) 教 学 方 式

892213E006146

xii 前言 P-1 Charles Perrow Normal Accidents P-1 vs.

1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005


Chapter 2

目 錄 ~ 升 學 篇 ~ 壹 技 專 校 院 考 招 分 離 制 度 簡 介 2 貳 105 學 年 統 一 入 學 測 驗 重 要 日 程 表 3 參 105 學 年 度 四 技 二 專 統 一 入 學 測 驗 考 試 類 別 與 考 試 科 目 一 覽 表 4 肆 技 專 院 校 招 生 管

untitled

untitled

untitled

untitled

untitled

风 景 园 林 ( 学 制 五 年 ) 主 要 课 程 : 该 专 业 设 置 风 景 园 林 历 史 遗 产 保 护 风 景 园 林 规 划 设 计 风 景 园 林 水 环 境 生 态 修 复 等 3 个 专 业 设 计 方 向 选 题, 主 要 开 设 有 设 计 初 步 图 示 思 考 与 表

1 C++ 2 Bjarne Stroustrup C++ (system programming) 6 (infrastructure) C++ 7 Herb Sutter 8 C++ (efficiency) (flexibility) 9 (abstraction) (productivity

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的

史 教 学 评 价 与 测 试 社 会 主 义 经 济 理 论 西 方 经 济 学 管 理 方 法 社 会 经 济 统 计 会 工 商 管 理 计 学 原 理 财 务 会 计 管 理 学 原 理 市 场 营 销 生 产 运 营 管 理 财 务 管 理 成 本 管 理 人 力 资 源 管 理 金 融

F4

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

Desktop Management Guide

新时期共青团工作实务全书(一百八十八)

1

AL-MX200 Series

平衡5E:可用性


untitled

制 定 人 员 : 龚 萍 经 营 与 教 研 室 副 教 授 余 虹 经 营 与 教 研 室 讲 师 执 笔 人 : 龚 萍 审 核 部 门 : 药 学 院 专 业 建 设 指 导 委 员 会 实 施 部 门 : 经 营 与 教 研 室 批 准 部 门 : 教 务 处

广州市□□□(部门)2015年部门预算

untitled

AL-M200 Series

<4D F736F F D20D5D0B9C9CBB5C3F7CAE9A3A8C9EAB1A8B8E5A3A92E646F63>

随需应变网络,恒久电信质量

當母親禱告時

TMC2809系列

APEC衛生任務小組HTF會議圓滿落幕

一九○○年的鍋爐爆炸事件,啟動了人們對品質的追求與管理,從對產品的品質檢驗開始;演進到對製程的品質管制,以至整個規劃設計及製成的品質保證

Microsoft Word - YDB doc


Microsoft Word - PKUCS计算机教育 doc

天津市~1

2/80 2

untitled

OOAD PowerDesigner OOAD Applying PowerDesigner CASE Tool in OOAD PowerDesigner CASE Tool PowerDesigner PowerDesigner CASE To

<4D F736F F F696E74202D20C15AAEC4A6D2AED6BB50C15AAEC4BADEB27A2D2DA578A4A4AF5A5B315D>

Transcription:

软 件 高 端 人 才 修 炼 系 列 企 业 级 应 用 软 件 架 构 开 发 过 程 与 实 践 第 一 章 版 本 0.8 胡 协 刚 首 席 软 件 架 构 师 szjinco@public.szptt.net.cn www.chinaarchitect.org 中 国 软 件 架 构 师 网, 2006 Page 1 of 31

目 录 第 一 章 软 件 与 软 件 的 特 性 从 业 务 上 下 文 出 发 的 软 件 图 景...4 第 一 节 软 件 的 缘 起 与 信 息 技 术 对 传 统 行 业 的 改 造...5 软 件 的 缘 起...5 传 统 的 业 务 执 行 过 程...6 信 息 技 术 对 传 统 行 业 的 改 造...7 软 件 与 硬 件 的 分 工 协 作...8 软 件 是 对 现 实 世 界 的 一 种 映 像...9 第 二 节 软 件 的 特 性 及 其 意 义...12 软 件 中 的 精 确 性 与 模 糊 性...12 软 件 的 复 杂 性...14 软 件 元 素 之 间 的 关 联 复 杂 性...16 软 件 的 不 一 致 性 多 样 性...17 软 件 的 不 可 视 性 与 主 观 性...18 软 件 的 易 变 性 ( 可 塑 性 ) 与 不 确 定 性...18 软 件 的 复 制 式 生 产...20 第 三 节 软 件 质 量...21 软 件 的 质 量 与 质 量 保 证...21 软 件 功 能 性 Functional 要 求...23 软 件 可 用 性 Usability 要 求 ( 易 用 性 )...24 软 件 可 靠 性 Reliability 要 求...26 软 件 性 能 Performance 与 效 率 Efficiency 要 求...27 软 件 可 支 持 Supportability 与 维 护 性 Maintainability 要 求...28 移 植 适 应 性 Portability 与 可 扩 展 性 Extensibility 要 求...29 软 件 开 发 阶 段 内 部 质 量 要 求...29 中 国 软 件 架 构 师 网, 2006 Page 2 of 31

软 件 质 量 属 性 的 相 互 关 系...30 本 章 小 节...31 中 国 软 件 架 构 师 网, 2006 Page 3 of 31

第 一 章 软 件 与 软 件 的 特 性 从 业 务 上 下 文 出 发 的 软 件 图 景 软 件 是 人 类 有 史 以 来 创 造 的 一 种 非 常 特 别 的 制 品, 它 具 备 与 传 统 制 品 完 全 不 同 的 特 性 由 于 软 件 最 初 的 形 态 只 是 用 于 科 学 计 算 的 简 单 程 序, 这 使 得 人 们 ( 特 别 是 刚 刚 学 习 编 程 的 初 学 者 ) 往 往 倾 向 于 将 软 件 看 作 是 一 种 相 对 独 立 的 事 物 传 统 软 件 工 程 也 是 从 软 件 需 求 开 始 来 阐 述 软 件 的 生 命 周 期, 并 给 人 一 种 错 觉, 即 软 件 需 求 早 就 存 在 于 用 户 那 里, 我 们 要 做 的 只 是 去 发 现 它 们 ( 需 求 获 取 ) 这 使 得 人 们 常 常 忽 略 一 个 简 单 的 事 实 软 件 是 为 了 支 持 客 户 的 业 务 ( 或 解 决 领 域 问 题 ) 而 被 开 发 的 ( 需 求 规 格 是 被 开 发 出 来 的, 换 句 话 说 是 被 设 计 出 来 的 ), 其 内 在 特 性 受 其 上 下 文 的 制 约, 甚 至 就 是 上 下 文 的 一 种 直 接 反 映 我 们 在 研 究 软 件 的 时 候, 不 能 脱 离 于 它 的 上 下 文, 例 如 软 件 的 复 杂 性 根 本 上 源 至 其 问 题 域 的 复 杂 性 只 有 从 业 务 ( 问 题 域 ) 上 下 文 入 手, 我 们 才 能 真 正 看 到 软 件 的 真 实 图 景 本 章 试 图 从 一 个 更 为 广 泛 的 视 角, 来 分 析 软 件 还 有 软 件 的 特 性 ; 而 软 件 及 其 架 构 的 开 发 策 略 与 方 法 的 研 究, 则 始 于 人 们 对 软 件 自 身 特 性 所 引 发 的 固 有 问 题 的 一 种 解 决 努 力 中 国 软 件 架 构 师 网, 2006 Page 4 of 31

第 一 节 软 件 的 缘 起 与 信 息 技 术 对 传 统 行 业 的 改 造 我 们 要 构 造 软 件, 所 以 必 须 先 要 了 解 软 件 ; 而 直 接 了 解 软 件 本 身 还 不 够, 还 应 当 从 其 上 下 文 入 手, 理 解 它 的 缘 起 以 及 相 关 的 来 龙 去 脉 人 们 对 软 件 往 往 充 满 了 误 解, 倾 向 于 将 软 件 看 作 是 一 种 特 殊 而 相 对 独 立 的 事 物, 这 阻 碍 了 人 们 更 有 效 地 开 发 和 应 用 软 件 软 件 技 术 并 非 独 立 的 技 术, 它 属 于 信 息 技 术 的 一 部 分 ; 它 与 硬 件 技 术 一 道 用 来 解 决 人 类 所 面 临 的 各 种 与 信 息 有 关 的 问 题 信 息 技 术 的 产 生 源 自 计 算 机 技 术 的 革 命 性 发 展 ; 而 信 息 技 术 的 大 规 模 运 用, 则 要 依 赖 于 软 件 技 术 的 成 熟 我 们 在 这 里 回 顾 一 下 软 件 的 缘 起, 或 许 能 让 我 们 澄 清 以 往 的 一 些 误 区 与 模 糊 认 识 软 件 的 缘 起 计 算 机 刚 刚 出 现 之 时, 其 主 要 应 用 场 景 是 替 代 人 来 承 担 那 些 复 杂 的 数 值 计 算 ; 人 们 在 计 算 机 上 编 制 一 些 最 终 通 过 转 化 能 让 计 算 机 识 别 的 代 码, 来 控 制 科 学 计 算 流 程 的 执 行, 这 便 是 编 程 programing 的 由 来 数 值 计 算 本 身 其 实 也 是 一 种 信 息 的 处 理 过 程, 但 是 非 常 初 级 和 范 围 狭 窄 这 也 使 得 人 们 倾 向 于 忽 略 所 关 联 的 科 学 计 算 问 题, 而 将 程 序 当 作 一 种 相 对 独 立 的 事 物 来 看 待 人 类 世 界 存 在 着 海 量 的 信 息 急 待 处 理, 人 们 使 用 手 工 方 式 来 处 理, 其 速 度 和 工 效 已 经 远 远 满 足 不 了 要 求 例 如, 随 着 银 行 业 务 的 急 剧 膨 胀, 其 资 金 账 户 的 数 量 增 长 到 千 万 甚 至 是 亿 万 ; 银 行 柜 员 为 了 给 储 户 取 款, 需 要 找 到 对 应 的 账 户 记 录, 并 核 对 其 余 额 是 否 足 够 ; 虽 然 单 个 营 业 点 的 账 户 数 量 可 能 较 少, 在 数 万 之 间, 但 查 找 的 难 度 仍 然 很 大 ; 而 目 前 银 行 业 已 经 转 向 了 大 集 中 的 业 务 模 式, 所 有 账 户 都 存 放 于 一 个 数 据 中 心, 手 工 方 式 显 然 已 经 不 可 能 应 付 这 种 处 理 量 巨 大 的 场 景 人 们 于 是 自 然 地 联 想 到 计 算 机, 它 既 然 能 够 对 简 单 的 数 值 数 据 进 行 处 理, 那 么 它 能 否 处 理 更 为 复 杂 的 数 据, 乃 至 是 富 有 领 域 意 义 的 信 息 本 身 呢? 随 着 计 算 机 处 理 指 令 越 来 越 强 大 ( 具 备 对 数 据 进 行 排 序 对 比 等 复 杂 的 处 理 ), 存 储 器 的 成 本 不 断 缩 减 ( 较 低 成 本 地 保 存 海 量 信 息 ),I/O 设 备 的 功 能 越 来 越 丰 富 ( 方 便 人 们 使 用 计 算 机, 和 将 现 实 世 界 的 信 息 导 入 计 算 机 ), 人 们 终 于 成 功 地 实 现 了 利 用 计 算 机 来 替 代 人 处 理 信 息 的 目 标 另 外, 网 络 技 术 的 完 善, 使 得 信 息 处 理 的 模 式 首 次 打 破 了 地 域 的 界 限 上 文 所 述 的 银 行 大 集 中 业 务 模 式, 便 得 益 于 网 络 技 术 的 发 展 为 了 处 理 不 同 业 务 所 涉 及 的 各 类 信 息, 人 们 需 要 改 变 原 来 面 向 科 学 计 算 的 简 单 编 程 模 式 编 程 的 关 注 焦 点 从 控 制 计 算 的 执 行 顺 序, 转 向 如 何 处 理 各 类 代 表 了 领 域 意 义 的 数 据 ( 例 如, 银 行 的 资 金 账 户 数 据 ) 最 后, 编 程 的 实 质 已 演 变 成 为 如 何 利 用 各 类 计 算 机 资 源 来 解 决 各 种 领 域 问 题 此 时, 仍 然 使 用 程 序 program 来 称 呼 这 些 复 杂 度 与 规 模 提 高 了 若 干 数 量 级 的 代 码, 显 然 已 经 不 能 真 实 地 表 达 其 背 后 的 含 义 ; 于 是, 软 件 software 这 个 概 念 被 引 入, 它 与 硬 件 hardware 一 起 组 合 成 为 实 现 某 种 应 用 的 完 整 系 统 中 国 软 件 架 构 师 网, 2006 Page 5 of 31

system 上 述 编 程 模 式 的 转 换, 其 意 义 远 比 想 象 的 更 为 重 大, 它 带 来 了 一 种 全 新 的 思 路 应 用 信 息 技 术 来 解 决 传 统 行 业 所 面 临 的 各 类 问 题 从 程 序 员 到 软 件 工 程 师 笔 者 于 80 年 代 末 进 入 大 学, 开 始 学 习 计 算 机 和 程 序 设 计 相 关 ( 甚 至 也 包 括 数 据 库 ) 的 课 程 ; 这 些 课 程 的 学 习 显 然 没 有 让 我 真 正 理 解 软 件 是 怎 么 回 事 ; 我 学 懂 了 编 程 语 言, 但 没 有 学 会 如 何 为 实 现 某 种 领 域 应 用 而 编 程 记 得 我 们 在 学 习 数 据 库 技 术 时, 花 费 了 不 少 精 力 来 开 发 一 个 模 拟 程 序, 将 DBase III 的 插 入 删 除 记 录 等 指 令 都 调 用 一 遍 ; 但 当 时 就 是 没 有 人 想 到, 用 DBase III 来 开 发 一 个 诸 如 管 理 学 生 每 个 学 期 选 修 课 程 报 名 情 况 的 简 单 应 用 没 有 开 发 实 际 应 用 软 件 的 经 验, 使 得 我 们 很 难 从 简 单 编 程 的 思 维 层 面, 上 升 到 软 件 开 发 的 思 维 层 面 本 书 主 要 面 向 那 些 期 望 成 为 软 件 架 构 师 的 人, 而 要 成 为 一 名 称 职 的 架 构 师, 首 先 必 须 成 为 一 名 合 格 的 软 件 工 程 师 软 件 工 程 师 要 面 对 的 是 软 件, 而 不 是 纯 粹 的 程 序 代 码 ; 软 件 所 涵 盖 的 范 围 比 程 序 本 身 大 一 到 两 个 数 量 级, 涉 及 到 大 量 的 我 们 在 学 校 不 曾 学 习 或 被 忽 略 的 其 它 方 面 知 识 例 如, 软 件 开 发 的 最 上 游 活 动, 并 非 需 求 开 发, 而 是 用 来 理 解 软 件 上 下 文 的 业 务 ( 领 域 ) 建 模 传 统 的 业 务 执 行 过 程 考 察 现 实 世 界 中 的 主 要 业 务 组 织, 从 其 静 态 结 构 看, 我 们 可 以 抽 象 出 : 人 工 作 场 所 与 工 具 被 加 工 的 物 质, 以 及 相 关 的 信 息 ( 这 些 信 息 大 部 分 附 着 于 前 述 元 素 之 上 ) 等 元 素 ; 而 从 其 动 态 行 为 看, 又 可 以 抽 象 出 : 物 质 流 与 信 息 流 ( 财 务 上 还 存 在 资 金 流 的 概 念, 其 客 观 上 表 现 为 物 资 流 的 形 态, 但 实 质 上 以 信 息 流 的 方 式 发 生 作 用 ); 为 了 驱 动 业 务 组 织 的 运 作, 每 个 组 织 都 有 相 应 的 业 务 目 标, 它 贯 穿 于 组 织 的 行 为 和 结 构 之 间, 是 组 织 生 存 的 理 由 之 所 在 中 国 软 件 架 构 师 网, 2006 Page 6 of 31

图 1.1 业务组织结构与活动示意 我们来观察传统的银行储蓄所为某个储户取款的业务过程 如上图所示 左边的 输入物是储户递交给银行柜员的取款单和存折 取款单上承载了储户的基本资料 取 款金额等信息 银行柜员接下来依据其掌握的工具操作知识 技能信息 操作带索 引的账簿存储柜这类工具 存储柜的面板上有账簿的编号范围信息 找到储户的资 金账户记录 上面记录了储户的资金余额 历史交易等信息 然后依据业务规则 被 柜员记忆在大脑中的规则信息 检查账户上余额是否足够等等 最后 银行柜员将 清点正确的现金 连同存折 此时其上的余额信息已经被修改 等产出物交回给储户 从上述案例的分析 我们可以看到 信息 以及信息的流动 实际上是业务活动 中必不可少的内容 而具体到储户取款过程 信息的处理实际上是其最核心的内容 计算机出现之前 还没有能帮助人们处理信息的强有力工具 这个时期的信息处理基 本上由人来承担 人类对普通信息 创新型信息除外 的处理 其准确性和速度工效 都不高 这严重地阻碍了传统行业生产率的提高 于是信息技术被发展起来 人们使 用信息系统来替代人完成那些繁琐而容易出错的信息处理工作 信息技术对传统行业的改造 信息技术具备传统行业所欠缺的诸多优势 目前利用信息技术来改造传统行业的 模式主要有 中国软件架构师网, 2006 Page 7 of 31

利 用 信 息 技 术 高 效 与 灵 活 的 特 点, 来 改 进 原 有 手 工 的 业 务 活 动, 从 而 提 高 整 体 的 工 作 效 率, 但 是 并 不 改 变 业 务 本 身 的 内 容 和 主 要 流 程 例 如, 原 有 的 文 案 工 作 主 要 靠 人 们 使 用 纸 张 和 笔 来 完 成, 而 现 在 一 般 都 会 使 用 文 字 处 理 软 件 来 编 制 电 子 文 档 引 入 信 息 技 术 中 的 先 进 功 能, 以 重 新 组 织 和 排 列 业 务 流 程 中 的 各 项 活 动, 从 而 革 命 性 地 提 高 业 务 的 生 产 率 ; 这 种 模 式 改 变 了 已 有 的 工 作 方 式, 甚 至 创 造 出 全 新 的 业 务 与 模 式 ( 业 务 流 程 再 造 与 创 新 ) 例 如, 银 行 利 用 互 联 网 技 术, 将 传 统 的 转 账 查 账 等 业 务 功 能, 直 接 延 伸 到 客 户 安 装 有 浏 览 器 的 桌 面 电 脑, 让 客 户 在 家 中 就 能 够 方 便 地 操 作 相 关 业 务 利 用 信 息 系 统 的 自 动 化 执 行 能 力, 对 业 务 ( 或 工 厂 的 设 备 ) 的 运 作 进 行 实 时 的 监 督 和 控 制 ; 人 类 的 生 理 与 心 理 特 性, 决 定 了 人 类 不 能 24 小 时 不 间 断 工 作, 也 不 适 应 长 时 间 从 事 枯 燥 与 乏 味 的 工 作 ; 信 息 系 统 正 好 能 够 弥 补 人 类 的 这 些 缺 陷 例 如, 证 券 交 易 公 司 需 要 实 时 监 督 股 民 的 股 票 买 卖 交 易, 一 旦 发 现 有 人 违 规 操 作 或 有 诈 骗 嫌 疑, 公 司 必 须 及 时 进 行 干 涉, 以 避 免 资 金 的 损 失 ; 目 前 的 证 券 交 易 软 件 通 常 都 会 提 供 上 述 的 实 时 监 督 功 能 企 业 级 核 心 应 用 软 件 的 特 性 支 撑 业 务 的 企 业 级 核 心 应 用 软 件 通 常 具 有 如 下 特 性 : 对 需 要 永 久 化 的 各 类 业 务 信 息 进 行 处 理 ( 引 申 为 永 久 化 的 各 类 数 据 ) 牵 涉 的 数 据 量 极 为 庞 大, 需 要 专 门 的 机 制 加 以 存 储 访 问 与 管 理 有 大 量 的 用 户 同 时 存 取 这 些 数 据 需 要 与 其 他 的 企 业 应 用 软 件 集 成 协 作 以 完 成 附 加 值 更 高 的 工 作 不 同 的 应 用 软 件 业 务 逻 辑 对 同 一 数 据 的 含 义, 其 理 解 可 能 完 全 相 反 运 作 的 环 境 往 往 在 地 理 上 呈 分 布 状, 同 时 硬 件 操 作 系 统 为 异 构 环 境 企 业 的 业 务 逻 辑 非 常 复 杂 而 且 多 变, 特 别 是 有 些 业 务 规 则 往 往 在 逻 辑 上 没 有 明 显 的 意 义, 例 如 可 能 有 的 销 售 部 门 要 求 财 务 周 期 比 公 司 的 时 间 提 前 两 天, 仅 仅 为 了 与 客 户 的 财 务 周 期 保 持 同 步 软 件 与 硬 件 的 分 工 协 作 信 息 系 统 包 含 硬 件 和 软 件 两 个 范 畴 硬 件 包 括 : 计 算 机 计 算 机 网 络 以 及 各 类 外 围 设 备 等 ; 而 在 硬 件 上 执 行 的 代 码, 则 属 于 软 件 范 畴 现 实 的 业 务 对 信 息 系 统 提 出 了 相 应 的 信 息 处 理 需 求, 这 些 需 求 最 终 要 落 实 到 系 统 的 软 件 或 硬 件 之 上 那 么 如 何 向 软 件 与 硬 件 分 配 那 些 信 息 处 理 的 需 求 呢? 业 务 过 程 本 身 其 实 也 包 含 功 能 与 性 能 两 个 不 同 的 范 畴 一 方 面, 为 了 支 持 业 务 的 中 国 软 件 架 构 师 网, 2006 Page 8 of 31

功 能 行 为, 信 息 系 统 必 须 能 够 处 理 各 种 不 同 类 型 的 信 息, 而 且 其 处 理 逻 辑 可 能 也 是 多 样 化 的 ; 另 一 方 面, 为 了 满 足 业 务 的 执 行 效 率 等 要 求, 信 息 系 统 在 处 理 信 息 时, 其 速 度 吞 吐 量 等 必 须 达 到 某 种 指 标 这 便 是 所 谓 的 功 能 需 求 和 非 功 能 需 求 概 念 我 们 将 偏 向 于 利 用 软 件 来 承 担 复 杂 而 易 变 的 ( 信 息 的 ) 逻 辑 处 理, 从 而 实 现 种 类 繁 多 的 行 为 功 能 ( 各 类 具 体 的 信 息 处 理 步 骤 ); 而 利 用 硬 件 来 提 供 必 要 的 基 本 运 行 能 力, 并 尽 可 能 从 硬 件 来 获 取 性 能 ( 例 如 使 用 巨 型 机, 以 便 支 持 软 件 从 亿 万 数 量 级 的 资 金 账 户 中 很 快 找 到 储 户 的 余 额 数 据 ) 可 靠 性 ( 例 如 主 机 的 热 备 份 技 术 ) 分 布 处 理 等 非 功 能 特 性 在 上 面 的 文 案 工 作 例 子 中, 鼠 标 键 盘 ( 或 者 还 包 括 手 写 输 入 板 ) 等 硬 件 提 供 了 文 秘 工 作 者 输 入 文 字 和 控 制 编 辑 的 物 理 手 段, 显 示 器 则 让 她 能 看 到 工 作 的 结 果 ; 然 而, 具 体 输 入 什 么 字 母 或 汉 字, 当 前 的 编 辑 是 复 制 还 是 删 除, 显 示 器 上 显 示 哪 些 内 容, 这 些 逻 辑 功 能 则 是 由 文 字 处 理 软 件 和 操 作 系 统 软 件 来 承 担 的 另 外, 如 果 文 秘 工 作 者 处 理 的 文 档 比 较 大, 主 机 的 处 理 器 主 频 和 内 存 的 配 置 则 必 须 足 够 高, 否 则 其 工 作 速 度 将 慢 得 难 以 忍 受, 甚 至 让 人 有 重 新 拿 起 纸 和 笔 的 冲 动 性 能 等 非 功 能 属 性 不 可 能 独 立 存 在, 它 从 属 于 功 能 属 性 因 为 性 能 等 非 功 能 属 性 经 常 是 类 似 的, 这 样 不 同 的 业 务 场 景, 其 使 用 的 硬 件 可 能 完 全 相 同, 而 软 件 则 不 大 可 能 一 样 可 以 说, 当 前 信 息 技 术 对 传 统 行 业 的 改 造, 其 核 心 工 作 主 要 集 中 于 软 件 上 提 升 系 统 性 能 的 着 眼 点 软 件 具 备 功 能 扩 展 的 灵 活 性, 在 满 足 基 本 的 性 能 要 求 下, 实 现 系 统 功 能 需 求 相 对 开 销 较 小, 但 要 进 一 步 提 高 软 件 执 行 效 率 则 非 常 困 难 ( 除 非 开 始 的 设 计 就 存 在 重 大 性 能 漏 洞, 否 则 在 原 有 基 础 上 提 高 哪 怕 是 30% 的 性 能 都 可 能 是 奇 迹 ); 而 且 常 常 会 为 了 性 能 而 破 坏 软 件 的 结 构 与 可 理 解 性 ( 例 如, 数 据 库 存 储 过 程 的 引 入 是 为 了 提 高 性 能, 但 破 坏 了 纯 面 向 对 象 的 开 发 范 式 ); 总 之, 很 多 情 况 下 从 软 件 方 面 来 改 进 系 统 总 体 性 能 成 本 过 高 另 一 方 面, 硬 件 具 备 极 大 的 性 能 可 选 择 范 围, 从 普 通 的 PC 服 务 器 到 高 端 服 务 器 到 小 型 机 甚 至 是 巨 型 机, 完 全 能 够 支 持 不 同 数 量 级 的 性 能 要 求, 而 且 硬 件 的 升 级 符 合 摩 尔 定 律, 加 之 服 务 器 集 群 技 术 的 发 展 ( 例 如, 增 加 一 倍 的 服 务 器 数 量, 系 统 总 体 性 能 提 高 接 近 一 倍 是 比 较 容 易 的 ), 使 得 其 成 本 下 降 非 常 迅 速 软 件 是 对 现 实 世 界 的 一 种 映 像 当 程 序 刚 刚 出 现, 只 是 用 于 科 学 计 算 之 时, 程 序 与 现 实 世 界 中 的 各 行 业 领 域 基 本 上 没 有 明 显 的 关 系 这 个 时 期, 计 算 机 是 名 副 其 实 的 计 算 机 computer; 程 序 代 码 中 国 软 件 架 构 师 网, 2006 Page 9 of 31

描 述 的 是 如 何 对 数 值 ( 数 据 ) 进 行 各 类 运 算 ; 程 序 与 其 解 决 的 问 题 之 间 并 没 有 明 显 的 界 线 而 当 计 算 机 被 当 作 信 息 处 理 设 备, 来 解 决 各 行 业 领 域 问 题 时, 情 况 则 发 生 了 革 命 性 的 变 化 ; 行 业 领 域 中 的 信 息, 不 是 简 单 的 数 值, 它 们 承 载 了 领 域 的 内 涵 ; 而 这 些 信 息 只 有 被 表 示 为 机 器 能 够 识 别 的 数 据 格 式, 才 可 能 为 计 算 机 系 统 所 处 理 ; 于 是, 计 算 机 域 与 业 务 领 域 之 间 出 现 了 明 显 的 界 线 我 们 必 须 先 将 现 实 世 界 中 的 信 息 进 行 抽 象, 映 射 为 计 算 机 及 其 软 件 所 能 识 别 的 数 据, 然 后 才 能 设 计 软 件 的 行 为 来 处 理 它 们 也 就 是 说, 软 件 中 的 数 据 是 现 实 世 界 中 信 息 的 一 种 映 像, 而 软 件 运 行 时 刻 所 表 现 的 行 为 则 是 现 实 世 界 中 信 息 流 的 一 种 映 像 为 了 表 达 现 实 世 界 的 信 息 及 其 变 化, 人 们 开 发 了 不 同 的 计 算 机 语 言 来 描 述 它 们, 并 将 它 们 映 射 到 计 算 机 域 从 下 图 可 以 看 到, 计 算 机 语 言 的 发 展 趋 势, 便 是 帮 助 人 们 更 加 方 便 地 表 达 问 题 域 ( 信 息 ) 在 机 器 码 或 者 汇 编 语 言 的 时 代, 人 们 的 主 要 精 力 耗 费 在 如 何 控 制 CPU 本 身 的 执 行 细 节 上 面 向 过 程 语 言 的 出 现, 将 程 序 员 从 繁 琐 的 机 器 底 层 细 节 中 解 放 出 来, 使 得 他 们 还 有 余 力 去 思 考 问 题 域 中 的 相 关 内 容 而 面 向 对 象 语 言 的 产 生, 则 使 得 程 序 员 第 一 次 能 够 直 接 从 问 题 域 角 度 来 思 考 编 程 的 内 容 ( 如 果 说 面 向 过 程 语 言 中 的 数 据 结 构, 多 少 还 能 让 人 联 想 到 0/1 比 特 或 字 节 的 概 念, 那 么, 对 象 几 乎 已 经 看 不 到 其 背 后 计 算 机 的 踪 影 了 ) 到 了 MDD 模 型 驱 动 开 发 的 时 代, 开 发 人 员 关 注 的 焦 点, 已 经 完 全 从 机 器 转 向 了 问 题 域 建 模 语 言 ( 例 如 UML 语 言 ) 帮 助 分 析 人 员 去 抽 象 现 实 世 界 的 业 务 内 容, 并 形 成 反 映 现 实 世 界 的 模 型 ; 这 个 模 型 随 后 被 推 演, 从 而 得 到 对 应 的 解 决 方 案 ; 最 后, 解 决 方 案 模 型 可 以 直 接 转 化 为 中 间 语 言, 进 而 编 译 成 为 可 执 行 的 机 器 码 ( 软 件 交 付 ), 并 部 署 到 机 器 上 去 运 行 中 国 软 件 架 构 师 网, 2006 Page 10 of 31

图 1.2 计 算 机 语 言 的 发 展 示 意 软 件 所 面 对 的 ( 业 务 ) 问 题 域 非 常 广 泛 和 复 杂, 存 在 大 量 形 态 各 异 灵 活 多 变 的 处 理 逻 辑 ( 功 能 ) 和 丰 富 多 彩 的 领 域 内 容 ; 而 计 算 机 本 身 只 提 供 功 能 简 单 形 式 单 一 的 指 令 集, 和 最 基 本 的 数 据 表 示 方 式 ; 软 件 工 程 师 需 要 充 分 发 挥 其 聪 明 才 智, 通 过 创 造 性 地 组 合 那 些 功 能 简 单 的 指 令, 来 实 现 极 其 复 杂 的 业 务 逻 辑 传 统 的 业 务 活 动 都 是 由 人 自 己 来 执 行 的, 因 为 人 类 思 维 的 不 精 确 性 与 随 意 性, 造 成 业 务 执 行 过 程 含 糊 多 变 ( 国 内 单 位 因 为 管 理 不 规 范, 这 种 人 为 的 不 确 定 性 更 为 突 出 ) 甚 至 充 满 了 矛 盾 ; 然 而, 计 算 机 只 能 接 受 严 格 无 二 意 的 精 确 指 令, 任 何 存 在 二 意 的 表 示, 将 使 得 计 算 机 进 入 不 可 预 知 的 状 态 ; 开 发 团 队 必 须 发 挥 极 高 的 主 观 能 动 性, 去 排 除 现 实 世 界 中 的 矛 盾 和 不 确 定, 将 模 糊 转 化 为 精 确 用 户 或 领 域 专 家 熟 悉 相 关 的 业 务, 但 是 他 们 不 了 解 计 算 机 技 术, 他 们 无 法 提 出 具 体 和 完 整 的 系 统 需 求 来 支 持 其 业 务 ; 另 一 方 面, 让 计 算 机 来 处 理 业 务, 只 是 将 业 务 内 容 表 示 清 楚 还 远 远 不 够, 大 量 繁 琐 难 懂 的 底 层 细 节, 等 着 软 件 工 程 师 来 一 一 实 现 ; 开 发 团 队 将 面 临 如 何 去 填 补 这 其 中 巨 大 鸿 沟 的 挑 战 计 算 机 语 言, 特 别 是 建 模 语 言 的 发 明, 实 际 上 是 帮 助 人 们 来 填 补 上 述 问 题 域 与 计 算 机 域 之 间 巨 大 鸿 沟 的 主 要 工 具 另 外, 人 们 设 计 了 不 同 的 开 发 方 法 ( 开 发 生 命 周 期 ) 来 解 决 上 述 鸿 沟, 本 书 将 在 后 续 的 软 件 工 程 相 关 章 节 继 续 深 入 探 讨 这 些 话 题 中 国 软 件 架 构 师 网, 2006 Page 11 of 31

第 二 节 软 件 的 特 性 及 其 意 义 我 们 对 软 件 的 大 体 映 像, 建 立 于 其 根 本 特 性 之 上 ; 而 软 件 的 外 部 行 为 表 现 和 内 部 结 构 等, 均 受 这 些 特 性 的 影 响 和 制 约, 并 反 反 复 复 地 印 证 着 那 些 特 性 人 们 往 往 不 愿 意 浪 费 时 间 去 认 真 思 考 软 件 的 本 质 特 性, 其 后 果 常 常 是 使 用 了 错 误 的 方 法 去 开 发 软 件 软 件 是 人 类 有 史 以 来 创 造 的 一 种 非 常 特 别 的 制 品, 它 具 备 与 传 统 制 品 完 全 不 同 的 特 性 而 软 件 的 这 些 特 性 既 来 自 信 息 技 术 本 身, 也 来 自 其 所 要 解 决 的 问 题 域 正 是 它 的 这 种 特 殊 性, 使 得 人 类 至 今 仍 然 在 苦 苦 寻 觅 解 决 软 件 开 发 问 题 的 终 极 手 段 所 谓 一 枪 毙 命 的 银 弹 注 : 在 西 方 传 说 中, 有 一 种 人 狼 的 怪 物, 任 何 普 通 的 刀 剑 枪 弹 都 杀 不 死 它 ; 只 有 使 用 一 种 银 质 的 子 弹, 才 能 将 其 一 枪 毙 命 在 人 月 神 话 这 本 书 中, 作 者 用 银 弹 来 比 喻 解 决 软 件 开 发 问 题 的 灵 药 ; 但 作 者 认 为, 到 目 前 为 止, 这 种 使 得 软 件 项 目 的 成 功 成 为 大 概 率 事 件 的 技 术 还 不 存 在 软 件 中 的 精 确 性 与 模 糊 性 大 部 分 人 造 物, 比 如 象 建 筑, 都 可 以 允 许 一 定 的 误 差 存 在 我 们 在 修 建 公 路 时, 并 不 苛 求 最 终 的 路 面 位 置 与 设 计 图 中 的 坐 标 值 丝 毫 不 差 ; 在 建 造 楼 房 时, 也 不 要 求 施 工 队 浇 注 的 钢 筋 混 泥 土 框 架 与 设 计 的 承 重 指 标 精 确 相 符 一 方 面, 这 是 因 为 人 类 还 没 有 能 力 以 合 理 的 成 本 在 建 筑 上 实 现 极 高 的 精 度 ; 另 一 方 面, 人 类 可 以 通 过 留 有 余 量 的 手 段 来 解 决 误 差 问 题 例 如 建 筑 师 在 设 计 楼 房 时, 会 为 承 重 指 标 留 一 定 的 余 量, 即 使 施 工 队 浇 注 的 框 架 结 构 强 度 比 设 计 指 标 低 一 点, 也 不 会 因 为 这 种 不 精 确 而 导 致 其 坍 塌 ( 留 余 量 多 付 出 一 定 的 代 价 以 规 避 风 险 的 做 法, 实 际 上 是 传 统 工 程 的 一 种 通 行 原 则, 称 为 Overengineering 过 度 工 程 或 过 度 设 计 ; 极 端 的 例 子 是 运 载 火 箭 上 的 控 制 设 备 至 少 备 有 三 套, 以 防 控 制 指 令 出 错 ) 但 是 软 件 却 不 像 上 述 其 它 人 工 制 品, 软 件 的 最 终 交 付 形 态 是 二 进 制 的 可 执 行 码, 执 行 码 是 不 能 容 忍 误 差 的 想 象 一 下, 我 们 复 制 一 段 可 执 行 文 件 到 主 机 上 去 运 行, 如 果 文 件 中 的 某 个 字 节 出 现 了 错 误, 这 时 我 们 恐 怕 只 能 向 上 帝 祷 告, 祈 求 系 统 不 要 突 然 挡 机 了 据 说 欧 洲 亚 利 安 娜 火 箭 一 次 发 射 失 败 的 主 要 原 因, 就 是 其 飞 行 控 制 软 件 中 的 一 行 代 码 有 误 所 造 成 的 实 际 上, 程 序 代 码 中 的 任 何 误 差, 都 可 能 导 致 软 件 的 整 体 失 效 ; 人 们 也 无 法 通 过 简 单 地 留 余 量 的 ( 过 度 工 程 ) 方 式 来 解 决 这 种 问 题 其 背 后 的 原 理 是 : 建 筑 设 计 的 客 体 内 容 ( 结 构 材 料 工 艺 等 ) 本 身 并 不 是 精 确 的 东 西 ( 取 值 是 连 续 的 ); 而 软 件 开 发 的 客 体, 是 计 算 机 的 执 行 序 列 码, 它 本 身 是 绝 对 精 确 的 东 西 ( 取 值 是 离 散 的, 最 终 会 转 化 为 机 器 中 代 表 0/1 的 电 平 信 号 ), 不 允 许 误 差 的 存 在 ( 当 然, 如 果 未 来 哪 一 天, 神 经 元 计 算 体 系 取 代 目 前 的 冯 诺 依 曼 体 系, 局 面 可 能 就 完 全 不 同 了 ) 中 国 软 件 架 构 师 网, 2006 Page 12 of 31

软 件 的 这 种 精 确 性, 迫 使 人 们 在 开 发 时, 必 须 投 入 大 量 的 精 力 来 确 保 代 码 的 正 确 性 而 人 类 的 思 维 特 性 正 好 与 之 相 反, 是 模 糊 和 充 满 误 差 的 因 此, 程 序 员 很 难 在 第 一 次 就 写 出 正 确 的 代 码 ; 他 总 是 要 不 断 的 测 试 这 些 代 码, 然 后 调 试 跟 踪, 进 行 除 错, 直 到 获 得 正 确 的 结 果 这 样, 软 件 的 测 试 与 验 证 在 开 发 活 动 中 就 占 据 了 极 其 重 要 的 地 位 另 外, 其 它 行 业 中 很 少 会 出 现 软 件 开 发 中 的 一 种 特 有 现 象 程 序 员 大 部 分 时 间 中 不 是 在 编 写 新 的 代 码, 而 是 在 排 除 已 有 代 码 中 的 各 种 bug; 更 要 命 的 是, 程 序 员 自 己 也 没 有 把 握, 在 其 承 诺 的 时 间 内, 将 主 要 的 缺 陷 都 排 除 掉 软 件 的 精 确 性 还 体 现 在 软 件 的 规 格 定 义 上, 如 果 软 件 的 需 求 规 格 没 有 定 义 准 确, 那 么 据 此 所 开 发 出 来 的 交 付 也 不 大 可 能 符 合 用 户 的 要 求 修 复 bug 的 痛 苦 之 旅 由 于 人 类 的 思 维 局 限 性, 造 成 任 何 人 造 制 品 中 都 可 能 出 现 错 误 或 瑕 疵 软 件 对 精 确 性 的 高 要 求, 以 及 其 本 身 的 复 杂 与 不 可 视 性, 使 得 软 件 开 发 过 程 中 引 入 缺 陷 的 概 率 比 其 它 行 业 大 了 一 个 数 量 级 ; 同 时, 其 修 复 缺 陷 的 难 度 也 高 得 多 笔 者 在 以 往 编 码 生 涯 中, 感 觉 最 痛 苦 的 事 情, 莫 过 于 去 排 除 程 序 中 的 bug 修 改 bug 本 身 其 实 并 不 难, 真 正 的 困 难 在 于 如 何 从 成 千 上 万 行 代 码 中 找 到 它 的 病 根 软 件 bug 之 所 以 被 发 现, 是 因 为 可 以 观 察 到 其 症 状 的 表 现 ; 但 是, 引 起 症 状 的 根 源 却 隐 藏 在 软 件 内 部 的 任 何 一 行 或 多 行 代 码 中, 并 不 能 直 接 看 到 它 们 定 位 bug 的 根 源, 很 多 时 候 是 需 要 极 高 的 耐 心 与 毅 力 的 程 序 员 在 缺 乏 排 除 类 似 bug 的 经 验 时, 只 能 先 努 力 观 测 症 状, 再 去 猜 想 bug 可 能 的 根 源, 然 后 尝 试 修 改 对 应 的 代 码, 之 后 运 行 之, 以 验 证 bug 是 否 被 消 除 如 果 运 气 足 够 好 话,bug 的 症 状 可 能 就 不 再 出 现 ; 这 意 味 着, 程 序 员 也 许 终 于 不 必 再 重 复 上 述 观 测 猜 想 尝 试 和 验 证 的 过 程 了 然 而, 猜 想 最 终 被 证 实 大 多 是 要 经 历 无 数 次 反 复 的 另 外, 很 有 可 能, 程 序 员 甚 至 永 远 也 猜 不 透 那 个 bug 的 谜 底 改 善 缺 陷 修 复 效 率 的 主 要 途 径, 一 是 单 元 测 试, 这 是 因 为 每 个 单 元 的 代 码 可 以 控 制 在 几 百 行 甚 至 几 十 行 之 内, 一 旦 在 单 元 测 试 中 观 察 到 bug 的 症 状, 那 么, 这 个 bug 的 根 源 只 是 局 限 在 这 几 百 行 代 码 中 而 已 ; 另 外 就 是 增 量 式 的 开 发, 每 次 只 是 增 加 几 百 行 代 码, 然 后 就 进 行 全 面 的 系 统 测 试 ( 这 便 是 所 谓 的 持 续 验 证 测 试 ), 一 旦 发 现 bug, 那 么 其 根 源 隐 藏 在 新 增 少 量 代 码 中 的 概 率 非 常 大 ( 增 量 式 开 发 加 上 持 续 验 证, 能 够 解 决 单 元 测 试 所 不 能 解 决 的 系 统 级 bug 定 位 问 题 ) 中 国 软 件 架 构 师 网, 2006 Page 13 of 31

理 论 上 已 经 证 明, 程 序 的 百 分 之 百 正 确 性 是 不 可 能 实 现 的 因 此 软 件 同 样 无 可 奈 何 地 需 要 容 忍 一 定 误 差 的 存 在, 但 这 种 误 差 主 要 体 现 在 软 件 的 某 些 质 量 范 围 上, 而 软 件 的 功 能 本 身 在 逻 辑 上 仍 然 是 排 斥 误 差 的 软 件 中 的 可 以 接 受 的 误 差 或 不 精 确 主 要 体 现 在 : 交 付 的 可 靠 性 误 差 用 户 对 交 付 中 缺 陷 的 接 纳 程 度 ( 用 户 能 够 接 受 一 些 非 关 键 功 能 的 失 效 ) 开 发 组 总 是 尽 量 减 少 交 付 中 的 缺 陷 数 量, 但 实 现 零 缺 陷 在 理 论 上 是 做 不 到 的 ; 因 此, 只 要 将 交 付 的 缺 陷 率 控 制 在 一 定 范 围 之 内, 能 够 为 用 户 所 容 忍 就 行 了 软 件 的 健 壮 性 误 差 软 件 对 规 格 定 义 之 外 的 异 常 状 况 的 适 应 能 力 ( 用 户 总 是 可 能 执 行 一 些 非 法 的 操 作 等 ) 开 发 组 应 当 在 规 格 定 义 中 就 将 异 常 处 理 囊 括 进 去, 并 在 设 计 时 考 虑 更 多 的 异 常 处 理 场 景 ; 这 样 用 户 的 非 法 操 作 不 至 于 引 起 系 统 的 崩 溃 系 统 的 性 能 误 差 软 件 性 能 处 于 用 户 能 够 接 受 的 范 围 之 内 开 发 组 尽 力 设 计 性 能 最 优 的 方 案, 比 用 户 的 接 受 标 准 更 高, 为 今 后 系 统 的 演 进 留 下 更 大 的 余 量 ( 例 如 用 户 数 量 随 业 务 的 发 展 而 呈 几 何 指 数 增 长 ) 范 围 类 规 格 误 差 软 件 中 涉 及 到 一 些 规 格 定 义, 这 些 规 格 本 身 是 一 种 范 围 定 义 ; 开 发 组 在 不 确 定 的 时 候, 可 以 选 择 定 义 更 大 的 范 围 值 来 规 避 风 险 例 如, 为 了 避 免 数 组 的 溢 出, 开 发 组 可 以 尽 量 定 义 更 长 的 数 组 结 构 ; 某 个 函 数 的 某 个 输 入 参 数, 在 运 行 时 刻 可 能 会 是 很 大 的 整 数, 开 发 组 将 选 择 长 整 型 作 为 参 数 的 类 型 规 格 其 它 误 差 例 如, 软 件 的 易 用 性 本 身 就 是 一 个 相 对 模 糊 的 概 念, 开 发 组 有 很 大 的 自 由 空 间 来 满 足 它 软 件 的 复 杂 性 与 软 件 类 似 的 是 数 字 电 路, 它 同 样 不 能 容 忍 误 差 的 存 在 ; 但 幸 运 的 是, 数 字 电 路 的 复 杂 程 度 不 如 软 件 那 么 高, 这 避 免 了 追 求 精 确 与 复 杂 性 交 织 在 一 起 所 带 来 的 巨 大 挑 战 从 规 模 上 看, 先 进 的 CPU 可 能 集 成 了 几 千 万 个 晶 体 管 ; 但 是 这 些 晶 体 管 元 素 的 结 构 存 在 惊 人 的 相 似 性 例 如, 一 个 主 流 的 CPU 可 能 具 有 4Mbyte 大 小 的 2 级 缓 存, 但 其 存 储 单 元 的 基 本 结 构 都 是 一 样 的, 只 是 重 复 了 四 百 万 次 而 已 这 样, 我 们 在 设 计 这 个 CPU 时,2 级 缓 存 部 分 实 际 上 只 需 要 设 计 一 个 存 储 单 元, 其 余 的 都 是 机 械 的 复 制 而 已 因 此, 数 字 电 路 的 复 杂 度, 并 不 与 其 晶 体 管 的 数 量 成 正 比 参 考 下 图 中 Intel 双 核 处 理 器 芯 片 的 晶 圆 照 片, 我 们 可 以 看 到 其 结 构 整 齐 划 一, 大 片 的 细 节 都 非 常 相 象 中 国 软 件 架 构 师 网, 2006 Page 14 of 31

Intel Dual Core Processor Die 图 1.3 Intel 最 新 的 双 核 处 理 器 芯 片 晶 圆 照 片 相 对 应 的, 在 开 发 一 个 百 万 行 源 代 码 级 的 软 件 时, 却 享 受 不 到 这 种 重 复 的 乐 趣 实 际 上, 软 件 中 如 果 存 在 大 量 拷 贝 粘 贴 式 的 重 复 的 话, 反 而 会 给 其 维 护 带 来 灾 难 性 的 后 果 软 件 与 数 字 电 路 不 同, 功 能 完 全 一 样 的 元 素, 在 代 码 上 都 应 当 力 求 只 出 现 一 次 面 向 过 程 的 语 言, 支 持 人 们 将 重 复 的 功 能 抽 取 成 单 独 的 子 函 数, 并 被 重 复 调 用 ; 而 面 向 对 象 的 语 言, 则 进 一 步 提 供 了 实 例 化 机 制 的 支 持, 鼓 励 人 们 将 重 复 的 内 容 定 义 一 次 ( 类 ), 然 后 在 运 行 时 刻 大 量 地 实 例 化 它 们 ( 对 象 ) 因 此, 一 个 结 构 良 好 ( 底 冗 余 度 ) 的 软 件, 其 源 代 码 行 数 基 本 上 能 够 反 映 它 的 规 模 和 复 杂 度 如 果 要 寻 找 一 种 指 标, 来 衡 量 人 类 对 复 杂 事 物 的 最 高 驾 驭 能 力, 那 么, 统 计 现 有 最 复 杂 最 具 挑 战 性 的 软 件 的 所 有 源 代 码 行 数, 也 许 是 最 有 说 服 力 的 做 法 中 国 软 件 架 构 师 网, 2006 Page 15 of 31

摩 尔 定 律 的 幻 觉 IT 界 中 有 一 个 著 名 的 摩 尔 定 律, 即 电 脑 芯 片 中 晶 体 管 的 数 量 每 18 个 月 将 翻 一 番 这 常 常 给 人 一 种 幻 觉, 以 为 数 字 电 路 的 复 杂 度 在 急 剧 地 膨 胀, 因 而 人 类 处 理 复 杂 事 物 的 潜 力 也 几 乎 没 有 极 限 上 文 所 述 的 2 级 缓 存 例 子, 说 明 了 一 个 事 实 摩 尔 定 律 的 存 在, 并 不 能 证 明 人 类 的 能 力, 真 的 象 晶 体 管 数 量 每 18 个 月 就 翻 番 一 样, 在 同 步 地 提 高 相 反, 微 软 Vista 操 作 系 统 的 不 断 跳 票, 若 干 大 规 模 软 件 的 最 终 失 败, 以 至 于 所 谓 软 件 危 机 概 念 的 提 出, 却 实 实 在 在 地 严 重 打 击 了 人 类 在 解 决 复 杂 问 题 时 的 自 信 心 在 第 一 节, 我 们 已 经 阐 明 软 件 用 于 处 理 业 务 ( 或 者 其 它 人 造 系 统, 比 如 国 防 武 器 系 统 ) 领 域 中 的 各 类 信 息 ; 也 就 是 说, 软 件 的 内 容 要 反 映 其 所 面 对 问 题 域 中 的 事 物 正 是 因 为 软 件 所 承 载 的 问 题 领 域 极 其 广 泛 和 复 杂, 使 得 软 件 空 前 地 复 杂 和 规 模 庞 大 例 如 微 软 的 Vista 操 作 系 统, 其 源 代 码 行 数 已 进 入 千 万 数 量 级 ; 可 以 理 解 的 是, 为 了 兼 容 成 千 上 万 种 不 同 厂 家 所 生 产 的 硬 件 设 备, 每 种 设 备 都 开 发 对 应 的 驱 动, 那 么, 光 是 这 些 驱 动 软 件, 恐 怕 就 占 据 了 千 万 行 源 代 码 中 的 相 当 比 例 总 之, 软 件 的 复 杂 性 来 源 于 其 面 对 问 题 域 的 复 杂 性, 和 为 了 支 持 问 题 的 解 决, 设 计 软 件 本 身 所 带 来 的 复 杂 性 问 题 域 本 身 的 根 本 复 杂 多 样 性, 通 过 工 具 或 普 通 方 法 是 解 决 不 了 的 ; 而 因 为 象 使 用 汇 编 语 言 来 开 发 业 务 软 件 之 类 做 法, 所 带 来 的 附 加 复 杂 性, 则 完 全 有 可 能 使 用 更 先 进 的 工 具 来 彻 底 解 决 掉 ( 软 件 是 对 现 实 世 界 的 一 种 映 像 段 落 图 示 中,UML 等 建 模 语 言 在 描 述 业 务 时, 就 远 比 汇 编 语 言 来 的 高 效 ) 消 除 冗 余 的 终 极 手 段 如 何 消 除 软 件 中 的 冗 余, 实 际 上 是 软 件 架 构 设 计 中 的 一 个 核 心 问 题 ; 有 多 种 途 径 来 去 冗 余, 例 如 继 承 元 数 据 驱 动 技 术 等, 我 们 将 在 后 续 章 节 专 门 做 深 入 的 探 讨 假 设 未 来 某 一 天, 数 字 电 路 的 运 作 原 理 发 生 革 命 性 突 破, 我 们 或 许 可 以 模 仿 软 件 的 机 制, 先 定 义 好 单 个 存 储 单 元 的 结 构, 然 后 由 cpu 自 己 在 物 理 上 实 例 化 出 四 百 万 个 一 摸 一 样 的 存 储 单 元 来 这 样, 数 字 电 路 的 物 理 实 现 上 便 同 样 不 再 存 在 简 单 的 复 制 类 冗 余 软 件 元 素 之 间 的 关 联 复 杂 性 中 国 软 件 架 构 师 网, 2006 Page 16 of 31

人 类 对 于 复 杂 的 事 物, 通 常 采 用 分 而 治 之 的 途 径 来 解 决 它 以 往 行 业, 比 如 汽 车 制 造, 可 以 将 整 车 划 分 为 若 干 个 零 件, 先 将 这 些 零 件 制 造 好, 然 后 再 组 装 起 来 汽 车 零 件 相 对 独 立, 相 互 之 间 的 依 赖 比 较 松 散 ; 只 要 各 个 零 部 件 的 质 量 过 关, 最 后 组 装 起 来 的 整 车 也 基 本 没 问 题 软 件 的 内 部 组 成 部 件, 通 过 良 好 的 设 计, 同 样 可 以 做 到 一 定 的 相 互 对 立 性 ; 然 而 无 论 如 何, 集 成 后 的 整 体 软 件 行 为, 与 单 个 部 件 的 行 为 之 间 还 是 存 在 着 巨 大 的 差 异 所 有 软 件 单 元 的 质 量 通 过 了 验 证, 并 不 等 于 集 成 后 的 交 付 也 能 够 通 过 验 证 造 成 上 述 这 种 现 象 的 根 源, 在 于 软 件 内 部 部 件 之 间 的 关 联 比 其 它 产 品 要 复 杂 很 多 软 件 所 支 持 的 问 题 域 本 身, 其 元 素 之 间 的 关 联 与 依 赖 关 系 就 比 较 复 杂 ; 而 软 件 本 身 所 使 用 的 各 项 技 术, 通 常 相 互 交 织 一 团, 并 与 问 题 域 的 内 容 整 合 在 一 起, 造 成 部 件 之 间 的 关 系 复 杂 度 增 高 一 个 数 量 级 传 统 项 目, 例 如 公 路 项 目, 投 入 的 人 力 与 工 期 能 够 互 换 ; 即 增 加 人 力, 可 以 成 比 例 地 缩 短 项 目 的 工 期 然 而, 软 件 项 目, 由 于 软 件 元 素 之 间 的 关 联 过 于 复 杂, 使 得 项 目 成 员 无 论 如 何 组 织 和 分 配 任 务, 其 相 互 之 间 的 依 赖 性 都 很 强 依 赖 的 存 在, 造 成 项 目 成 员 难 以 并 行 工 作, 在 已 有 成 员 都 可 能 被 迫 停 下 工 作 来 等 待 时, 增 加 的 人 力 无 法 对 项 目 产 生 贡 献 元 素 间 众 多 复 杂 的 关 联 关 系, 使 得 承 担 不 同 元 素 的 项 目 成 员 之 间, 需 要 就 这 些 关 联 进 行 对 应 的 沟 通, 这 种 沟 通 量 将 随 参 与 人 数 成 几 何 指 数 增 长 ; 因 此, 增 加 人 力 后, 即 使 能 分 担 一 定 工 作 量, 但 其 同 时 又 增 添 了 沟 通 上 的 不 必 要 开 销 总 之, 软 件 项 目 中, 人 月 不 能 互 换 ( 参 见 人 月 神 话 ) 软 件 的 不 一 致 性 多 样 性 普 通 行 业 的 问 题 域 只 有 一 个, 例 如 建 筑 设 计 面 对 的 问 题 不 外 乎 就 是 如 何 设 计 合 适 的 受 力 结 构 使 用 合 适 的 材 料 来 构 建 一 个 满 足 各 类 建 筑 规 则 ( 力 学 等 ) 的 建 筑 体 ; 另 外, 建 筑 行 业 经 过 多 年 的 发 展, 已 经 非 常 成 熟, 建 筑 师 能 够 利 用 大 量 的 现 成 经 验, 使 得 其 设 计 ( 解 ) 空 间 比 较 窄 小 软 件 则 要 同 时 面 对 两 个 问 题 域 除 了 业 务 运 作 的 问 题 域 本 身, 还 存 在 如 何 设 计 软 件 来 支 持 解 决 业 务 问 题 的 工 作 在 软 件 是 对 现 实 世 界 的 一 种 映 像 段 落 中, 我 们 看 到 问 题 域 距 离 计 算 机 域 非 常 遥 远 ; 要 将 目 标 问 题 域 最 终 转 化 为 软 件 解 决 ( 机 器 码 ), 中 间 还 有 大 量 工 作 要 做 软 件 的 解 决 方 案, 从 普 遍 意 义 上 看, 不 像 建 筑 设 计 那 样, 存 在 明 显 一 致 的 模 式 来 套 用, 也 没 有 一 致 的 规 律 可 循 企 业 级 业 务 应 用 软 件 所 采 用 的 架 构 样 式, 与 CAD 桌 面 软 件 的 就 很 不 一 样 ; 实 时 软 件 常 用 的 设 计 模 式, 与 网 站 应 用 软 件 就 毫 无 瓜 葛 企 业 业 务 流 程 的 一 个 重 要 特 点, 就 是 其 多 样 性 和 创 新 性 因 为 市 场 的 竞 争 压 力, 企 业 业 务 流 程 不 能 同 质 化, 而 且 变 化 非 常 频 繁 业 务 问 题 域 的 多 样 性, 带 来 了 软 件 的 多 样 性 另 外, 普 通 行 业 的 问 题 域, 关 注 的 是 最 终 目 标 产 品, 例 如 建 筑 设 计 关 注 目 标 建 筑 本 身 的 规 律 和 约 束 而 软 件 的 问 题 域, 关 注 目 标 却 要 涵 盖 产 品 生 产 的 整 个 过 程 例 如, 中 国 软 件 架 构 师 网, 2006 Page 17 of 31

我 们 如 果 开 发 一 个 建 筑 的 设 计 辅 助 软 件, 我 们 要 研 究 建 筑 体 本 身 的 规 律 和 约 束, 但 同 时, 我 们 更 关 注 如 何 进 行 建 筑 设 计 的 过 程 和 方 法 ; 因 此 软 件 问 题 域 的 范 围 极 大 地 被 扩 展 了 软 件 的 不 可 视 性 与 主 观 性 从 严 格 的 意 义 上 来 讲, 软 件 没 有 对 应 的 物 理 存 在 形 式 一 张 软 件 交 付 光 碟, 光 碟 ( 物 质 ) 本 身 只 是 一 个 载 体 或 媒 介, 而 软 件 则 附 着 于 那 些 0/1 比 特 所 构 成 的 表 示 之 上 虽 然 我 们 可 以 使 用 工 具 来 间 接 观 察 软 件 的 内 容, 但 是 在 其 被 计 算 机 执 行 之 前, 我 们 还 是 不 能 直 接 领 会 这 些 0/1 比 特 所 代 表 的 真 实 意 义 因 此, 与 其 它 物 品 不 同, 软 件 在 物 理 上 是 不 可 视 的, 而 且 也 不 能 通 过 简 单 的 工 具 来 观 察 它 人 们 完 整 和 准 确 地 感 知 软 件 的 唯 一 途 径, 是 在 主 机 系 统 上 运 行 软 件 ; 通 过 给 系 统 以 输 入, 然 后 观 察 系 统 的 响 应 输 出, 来 观 察 系 统 当 前 所 运 行 软 件 的 行 为 如 果 软 件 使 用 了 GUI 图 形 界 面 的 话, 人 们 将 对 软 件 产 生 形 象 上 的 感 知 另 外, 人 们 还 可 以 感 知 软 件 执 行 所 表 现 出 的 在 秒 级 以 上 范 围 的 性 能 属 性 ; 对 于 毫 秒 级 的 性 能, 人 们 不 能 直 接 感 知 到, 只 能 通 过 数 据 收 集, 以 生 成 分 析 报 告 的 方 式 来 认 识 它 们 ( 性 能 测 试 比 功 能 测 试 困 难 的 原 因 就 在 于 此 ) 对 于 业 务 软 件 而 言, 其 支 撑 的 业 务 过 程 本 身 也 存 在 不 可 视 的 问 题 业 务 活 动 是 动 态 的, 我 们 不 能 以 静 态 的 方 式 来 观 察 它 ; 同 时, 业 务 过 程 又 是 长 期 的, 我 们 无 法 以 业 务 活 动 的 某 个 片 断 来 揭 示 整 个 业 务 的 形 态 这 样, 业 务 软 件 因 为 业 务 本 身 的 不 可 视 性, 变 得 更 为 难 以 观 察 与 感 知 软 件 的 不 可 视 性 还 表 现 在 软 件 的 开 发 过 程 上 传 统 工 程, 例 如 修 建 一 条 公 路, 设 计 师 只 要 拿 出 设 计 图 纸, 那 么 整 个 工 程 的 工 作 量 成 本 就 可 以 较 为 准 确 地 估 算 出 来 然 而, 在 软 件 交 付 完 成 之 前, 人 们 却 永 远 也 不 能 真 正 精 确 地 估 计 开 发 的 工 作 量 软 件 的 不 可 视, 给 软 件 开 发 活 动 带 来 了 更 多 的 主 观 性 色 彩 软 件 被 正 确 验 证, 取 决 于 对 软 件 交 付 行 为 的 准 确 观 察 而 不 能 被 执 行 的 软 件 半 成 品, 是 不 可 视 的 传 统 瀑 布 生 命 周 期 开 发 模 型 的 失 效, 很 多 时 候 源 自 需 求 和 设 计 没 有 被 真 正 验 证 ; 瀑 布 模 型 下, 可 运 行 的 交 付 在 项 目 后 期 才 能 得 到 ; 在 这 之 前, 人 们 只 能 通 过 评 审 等 手 段 来 验 证 设 计 ; 而 评 审 不 能 直 接 观 察 软 件 的 行 为, 自 然 也 就 不 能 客 观 地 对 软 件 设 计 质 量 进 行 评 判 软 件 开 发 工 作 量 成 本 难 以 准 确 估 算, 使 得 软 件 项 目 计 划 总 是 充 满 了 主 观 臆 断 而 项 目 的 进 展 是 否 健 康, 项 目 经 理 也 常 常 只 能 依 赖 其 经 验 来 做 主 观 的 判 断 测 试 是 软 件 验 证 活 动 中 唯 一 客 观 也 是 最 为 可 靠 的 途 径 业 务 过 程 的 长 期 动 态 特 性, 使 得 对 应 软 件 的 测 试 工 作 难 度 成 倍 增 大 软 件 的 易 变 性 ( 可 塑 性 ) 与 不 确 定 性 软 件 所 面 对 的 问 题 域 本 身 经 常 就 是 含 混 与 不 确 定 的, 这 迫 使 软 件 需 求 要 随 着 领 域 中 国 软 件 架 构 师 网, 2006 Page 18 of 31

的 变 化 而 进 行 调 整 另 外, 软 件 对 同 样 的 业 务, 可 以 有 不 同 的 需 求 方 案 ( 软 件 复 杂 一 些, 使 得 业 务 的 自 动 化 程 度 高 一 些 ; 而 软 件 简 单 一 点, 同 样 也 能 改 进 业 务 的 效 率 ), 这 造 成 了 软 件 需 求 的 不 确 定 软 件 设 计 中, 针 对 同 一 需 求, 可 能 存 在 多 种 实 现 方 案 ; 这 也 增 加 了 软 件 开 发 的 不 确 定 性 另 一 方 面, 软 件 本 身 容 易 被 更 改, 可 塑 性 malleable 较 强 ; 这 使 得 人 们 常 常 忽 视 变 更 背 后 的 成 本 和 潜 在 风 险, 更 倾 向 于 去 决 定 变 更 软 件 例 如, 有 的 客 户 往 往 不 情 愿 在 一 开 始 就 与 开 发 者 将 需 求 的 细 节 讨 论 清 楚, 并 确 定 下 来 ; 而 是 指 望 在 发 现 问 题 后, 开 发 者 有 神 通 能 迅 速 地 修 改 好 而 程 序 员 往 往 也 不 喜 欢 花 费 太 多 的 时 间 先 去 完 善 设 计, 而 是 直 接 投 入 编 码, 等 到 发 现 一 大 堆 bug 后, 再 去 一 一 修 改 软 件 的 不 确 定, 迫 使 软 件 不 得 不 变 化 ; 而 软 件 容 易 被 更 改, 又 加 重 了 人 们 轻 易 地 决 定 变 更 软 件 的 冲 动 软 件 易 变 性 也 有 其 有 利 的 一 面 人 类 思 维 的 局 限 性, 使 得 人 们 不 可 能 一 开 始 就 做 出 一 个 完 美 的 设 计 软 件 的 可 塑 性, 则 支 持 人 们 逐 步 精 化 改 进 软 件, 乃 至 增 量 式 地 开 发 软 件 例 如, 一 条 设 计 为 四 车 道 的 公 路 已 经 构 筑 了 一 半, 突 然 更 改 设 计 变 为 六 车 道, 经 过 工 人 们 的 努 力, 总 算 变 更 成 功 ; 然 而, 我 们 总 是 会 很 容 易 地 看 出 这 条 公 路 被 改 造 过 的 痕 迹 ( 感 官 上 将 很 别 扭 ) 相 对 的, 软 件 发 生 重 大 变 更 时, 只 要 变 更 不 超 出 可 控 范 围, 经 过 努 力 是 有 可 能 不 在 最 终 交 付 中 留 下 任 何 被 更 改 痕 迹 的 ( 我 们 阅 读 一 段 最 终 交 付 代 码, 如 果 没 有 变 更 记 录 的 话, 通 常 很 难 看 出 它 们 到 底 经 历 了 多 少 次 的 修 改 ) 有 些 预 研 性 的 软 件, 一 开 始 很 难 想 象 其 整 体 架 构 的 模 样 ; 于 是 可 以 先 从 某 个 局 部 开 始 进 行 探 索 式 开 发, 逐 次 开 发 一 些 代 码 来 解 决 不 同 的 问 题, 最 后 以 滚 雪 球 的 方 式 整 合 出 最 终 交 付 这 实 质 上 是 一 种 自 底 往 向 上 的 开 发 模 式 软 件 的 可 塑 性 使 得 自 底 往 向 上 的 开 发 顺 序 在 一 定 范 围 内 有 效 例 如, 汽 车 的 生 产 过 程, 是 先 制 造 好 所 有 的 零 部 件, 然 后 装 配 成 整 车 的 ; 然 而, 那 些 零 件 是 根 据 事 先 设 计 好 的 规 格 来 制 造 的, 否 则 它 们 无 法 被 整 装 在 一 起 ; 汽 车 的 生 产, 实 质 上 是 先 自 顶 向 下 进 行 设 计, 然 后 自 底 往 向 上 进 行 构 造 而 软 件 的 自 底 往 向 上, 很 多 时 候 是 脱 离 整 体 设 计 而 自 然 发 生 的 ; 软 件 的 可 塑 性, 使 得 人 们 在 集 成 时, 可 以 重 构 这 些 原 本 独 自 开 发 的 部 件 ( 对 于 不 能 更 改 的 部 件, 还 可 以 使 用 适 配 机 制 ), 最 终 将 它 们 集 成 为 一 个 完 整 的 交 付 实 际 上, 任 何 主 要 由 人 类 思 维 来 加 工 的 制 品, 都 具 有 一 定 的 可 塑 性 回 顾 上 文 中 汽 车 的 例 子, 虽 然 到 了 物 理 生 产 阶 段, 汽 车 很 难 再 被 更 改 ; 但 是 在 设 计 阶 段, 设 计 师 却 还 有 一 定 的 空 间 来 修 改 他 的 设 计 方 案 这 是 因 为 物 理 形 态 的 汽 车 变 更 成 本 高 昂, 而 承 载 人 类 思 维 成 果 的 图 纸 或 模 型, 变 更 则 比 较 容 易 软 件 实 质 上 是 反 映 人 类 解 决 领 域 问 题 成 果 的 一 种 载 体, 其 物 理 形 态 主 要 为 源 代 码, 变 更 的 成 本 较 低 中 国 软 件 架 构 师 网, 2006 Page 19 of 31

不 要 被 软 件 易 变 性 的 表 象 所 蒙 蔽 国 内 的 软 件 项 目, 需 求 的 频 繁 变 更, 往 往 成 为 项 目 失 败 的 最 主 要 原 因 人 月 神 话 中 将 软 件 的 易 变 性, 列 为 软 件 最 重 要 的 四 大 特 性 之 一 从 软 件 是 对 现 实 世 界 的 一 种 映 像 段 落 的 分 析 中, 我 们 可 以 看 到, 软 件 易 变 性, 归 根 结 底 来 源 于 业 务 领 域 的 不 确 定 性 如 果 客 户 的 业 务 本 身 非 常 混 乱, 那 么, 开 发 团 队 首 先 要 做 的, 不 是 去 考 虑 要 开 发 一 个 什 么 样 的 软 件, 而 是 要 帮 助 客 户 将 其 业 务 梳 理 清 楚 ; 否 则, 开 发 团 队 将 不 得 不 面 对 客 户 需 求 不 断 变 更 的 窘 境 另 外, 软 件 需 求 并 不 能 直 接 从 客 户 或 用 户 那 里 获 取 ; 开 发 人 员 从 用 户 那 里 了 解 到 的 是 他 们 对 软 件 的 期 望 和 要 求 软 件 的 复 制 式 生 产 与 其 它 人 造 制 品 的 生 产 不 同, 人 们 能 够 通 过 几 乎 零 成 本 的 复 制 方 式 来 批 量 生 产 软 件 这 是 因 为 软 件 本 身 也 是 一 种 信 息, 而 信 息 是 能 够 几 乎 零 成 本 地 被 复 制 的 正 是 这 种 零 成 本 的 复 制 生 产 方 式, 凸 现 了 软 件 的 可 塑 性 对 软 件 代 码 的 任 何 修 改, 只 要 使 用 工 具 重 新 自 动 编 译 一 遍, 就 能 轻 易 得 到 新 的 源 本, 之 后 再 大 量 的 复 制, 新 的 一 批 软 件 产 品 便 这 样 被 生 产 出 来 了 这 也 决 定 了 软 件 的 质 量, 在 生 产 阶 段 是 没 有 太 多 实 际 意 义 的, 因 为 软 件 的 复 制 过 程, 可 以 非 常 容 易 地 保 证 副 本 与 源 本 不 出 现 任 何 偏 差 我 们 所 关 注 的 软 件 质 量, 应 当 是 它 被 开 发 出 来 的 那 个 原 始 样 本 的 质 量 中 国 软 件 架 构 师 网, 2006 Page 20 of 31

第 三 节 软 件 质 量 我 们 了 解 软 件 的 上 下 文, 了 解 它 的 本 质 特 性, 其 目 的 仍 然 是 为 了 开 发 或 应 用 软 件 ; 而 开 发 软 件 的 关 注 焦 点 则 是 如 何 得 到 令 人 满 意 的 高 质 量 软 件 交 付 我 们 必 须 清 晰 地 理 解 软 件 的 质 量 属 性 及 其 之 间 的 关 系, 方 能 采 取 正 确 的 渠 道 来 获 得 这 些 质 量 结 果 由 于 软 件 自 身 的 特 殊 性, 使 得 其 质 量 属 性 的 内 涵 更 为 丰 富, 不 同 的 质 量 属 性 之 间 可 能 相 互 加 强 也 可 能 相 互 冲 突 ; 评 估 这 些 复 杂 的 属 性 是 非 常 困 难 的, 人 们 需 要 采 用 与 以 往 完 全 不 同 的 方 式 来 管 理 软 件 的 质 量 软 件 的 质 量 与 质 量 保 证 与 对 待 其 它 人 造 制 品 一 样, 人 们 要 求 软 件 产 品 可 靠 容 易 使 用, 能 够 满 足 用 户 或 客 户 的 需 要 这 些 都 属 于 软 件 的 质 量 属 性 软 件 被 用 来 帮 助 用 户 执 行 业 务 活 动 或 解 决 领 域 问 题, 因 此 其 质 量 属 性 体 现 了 其 对 解 决 业 务 或 领 域 问 题 的 支 持 良 好 程 度 业 务 活 动 本 身 同 样 有 正 确 可 靠 高 效 迅 速 等 相 关 的 质 量 要 求, 人 们 在 设 计 业 务 流 程 时 就 开 始 考 虑 如 何 满 足 这 些 质 量 约 束, 但 最 终 这 些 约 束 大 部 分 还 是 要 落 实 到 软 件 对 应 的 质 量 属 性 上 ( 例 如 功 能 正 确 性 可 靠 性 性 能 等 ) 另 外, 软 件 通 常 被 人 操 作 来 完 成 业 务 任 务, 人 的 因 素 在 此 影 响 重 大, 因 此 软 件 的 很 多 质 量 属 性 与 用 户 相 关 ( 例 如 易 用 性 操 作 健 壮 性 等 ) 软 件 的 质 量 与 其 成 本 ( 包 括 获 取 与 使 用 成 本 ) 交 付 时 间 一 道, 成 为 客 户 是 否 愿 意 接 受 它 的 三 个 要 素 软 件 的 质 量 如 果 不 能 达 到 用 户 所 能 接 受 的 最 低 水 平 时, 客 户 将 放 弃 此 软 件 ; 而 当 质 量 满 足 最 低 要 求 时, 质 量 的 高 低 将 成 为 影 响 软 件 总 体 拥 有 成 本 的 关 键 因 素 质 量 较 低 的 软 件 也 许 只 须 付 出 较 低 的 开 发 成 本, 但 其 学 习 成 本 操 作 成 本 较 高 ( 不 方 便 容 易 出 错 常 常 死 机 等, 使 得 用 户 时 常 要 付 出 额 外 的 努 力 ), 并 且 维 护 成 本 高, 因 此 其 总 体 拥 有 成 本 并 一 定 较 低 实 际 上, 在 三 要 素 中, 质 量 通 常 是 刚 性 的 指 标, 人 们 可 以 缩 减 范 围 增 加 成 本 来 保 证 工 期, 但 降 低 质 量 要 求 的 做 法 是 非 常 危 险 和 难 以 被 人 接 受 的 从 不 同 涉 众 的 角 度 来 划 分, 软 件 具 备 外 部 与 内 部 两 种 质 量 属 性 ; 客 户 或 用 户 所 关 注 的 可 靠 reliable 有 效 efficient 和 容 易 使 用 easy to use 等 属 于 外 部 质 量 属 性 ; 而 软 件 开 发 者 所 关 注 的 可 验 证 verifiable 易 维 护 maintainable 可 移 植 portable 和 可 扩 展 extensible 等, 则 属 于 内 部 质 量 属 性 用 户 所 期 望 的 软 件 外 部 质 量, 依 赖 于 其 开 发 者 对 内 部 质 量 的 追 求 而 最 终 得 以 被 实 现 从 软 件 产 品 本 身 与 开 发 它 的 过 程 来 区 分, 又 包 含 软 件 产 品 质 量 与 软 件 的 开 发 过 程 质 量 两 个 范 畴 现 代 质 量 管 理 理 论, 认 为 产 品 的 质 量 是 由 制 造 它 的 过 程 所 决 定 的 质 量 保 证 部 门 将 通 过 控 制 软 件 过 程 的 质 量, 进 而 来 达 到 控 制 软 件 产 品 交 付 的 质 量 现 代 工 业 制 品 都 要 经 历 一 系 列 的 工 序, 最 后 才 被 生 产 出 来 软 件 同 样 如 此, 这 样 整 个 软 件 的 开 发 过 程 中, 将 出 现 若 干 中 间 制 品 ( 半 成 品 ) 序 列, 越 靠 后 的 中 间 制 品 将 越 接 近 于 最 终 交 付 产 品 其 间 的 质 量 管 理 原 理, 在 于 确 保 每 个 中 间 制 品 的 质 量 ( 软 件 中 国 软 件 架 构 师 网, 2006 Page 21 of 31

的 内 部 质 量 属 性 ), 从 而 实 现 最 终 交 付 产 品 的 质 量 ( 软 件 的 外 部 质 量 属 性 ) 确 定 项 目 中 要 开 发 哪 些 中 间 制 品, 中 间 制 品 的 质 量 如 何 被 验 证, 相 关 的 活 动 顺 序 如 何 安 排, 开 发 组 人 员 如 何 组 织 等, 这 些 都 属 于 软 件 过 程 的 范 畴 开 发 组 织 不 会 每 个 项 目 都 重 新 去 探 索 一 套 新 的 开 发 方 法, 相 反 有 大 量 现 成 的 被 验 证 为 有 效 的 过 程 可 以 给 开 发 组 参 照 ; 开 发 组 只 要 严 格 地 遵 循 那 些 过 程, 项 目 最 终 成 功 的 可 能 性 就 非 常 大 因 此 开 发 组 在 项 目 展 开 之 前 就 会 选 定 一 种 合 适 的 软 件 过 程, 据 此 制 定 项 目 计 划 ; 开 发 组 按 计 划 遵 照 既 定 的 过 程 来 开 展 项 目 ; 而 质 量 保 证 部 门 将 监 督 过 程 的 执 行 是 否 偏 离 既 定 的 规 范, 在 此, 过 程 质 量 就 是 过 程 被 开 发 组 遵 循 的 良 好 程 度 图 1.4 软 件 开 发 过 程 质 量 保 证 原 理 示 意 实 际 上, 现 代 软 件 质 量 管 理 人 员 也 相 应 地 被 划 分 为 两 类, 一 类 是 QC 质 量 控 制 人 员, 他 们 负 责 测 试 与 验 收 软 件 交 付 与 中 间 制 品, 以 确 保 制 品 本 身 的 质 量 ; 另 一 类 是 QA 质 量 保 证 人 员 ( 很 多 人 将 QA 和 QC 混 为 一 谈 ), 他 们 监 督 开 发 过 程 是 否 被 遵 循, 通 过 确 保 过 程 的 质 量 来 保 证 项 目 能 够 重 复 以 往 的 成 功 中 国 软 件 架 构 师 网, 2006 Page 22 of 31

软 件 的 质 量 属 性 与 折 衷 软 件 质 量 属 性 在 软 件 被 开 发 之 前 便 会 被 定 义, 成 为 软 件 开 发 的 主 要 需 求 之 一 与 功 能 性 需 求 以 及 环 境 需 求 不 同, 质 量 需 求 描 述 的 是 对 系 统 好 坏 的 要 求, 体 现 系 统 量 方 面 的 差 别 不 同 的 质 量 需 求 对 系 统 的 实 现 可 能 产 生 不 同 甚 至 相 反 的 影 响 ( 例 如 实 现 可 审 计 性 将 增 加 处 理 时 间 ), 因 此 系 统 的 开 发 将 是 对 各 项 需 求 的 折 衷 过 程 因 此 质 量 需 求 往 往 难 以 全 部 百 分 之 百 地 被 实 现 软 件 功 能 性 Functional 要 求 软 件 必 须 具 备 满 足 用 户 相 关 应 用 目 标 ( 支 持 用 户 的 业 务 活 动, 或 解 决 领 域 问 题 ) 的 基 本 能 力, 为 客 户 提 供 可 见 的 使 用 价 值, 也 就 是 说 软 件 要 有 用 软 件 的 用 处, 在 于 其 功 能, 并 体 现 为 功 能 性 质 量 属 性 它 们 属 于 软 件 外 在 的 与 其 使 用 价 值 有 关 质 量 属 性, 用 于 衡 量 软 件 为 客 户 所 提 供 的 价 值 适 宜 性 Suitability 软 件 支 持 业 务 ( 或 领 域 应 用 ) 的 必 要 功 能 必 须 存 在, 这 些 功 能 应 当 与 其 应 用 的 业 务 ( 或 领 域 ) 场 景 相 适 宜, 否 则 软 件 就 失 去 了 其 使 用 价 值 适 宜 性 是 软 件 最 根 本 的 质 量 属 性, 满 足 不 了 它, 软 件 将 一 钱 不 值 正 确 性 Correctness 软 件 交 付 是 精 确 的, 符 合 在 计 算 机 上 运 行 的 所 有 要 求 ; 同 时 其 执 行 将 准 确 地 实 现 事 先 所 定 义 的 功 能 规 格, 从 而 满 足 用 户 的 需 要 正 确 性 包 含 两 个 方 面 : 软 件 的 行 为 是 准 确 的, 不 能 与 规 格 定 义 有 偏 差 ; 而 软 件 要 在 主 机 上 运 行, 其 执 行 码 哪 怕 是 存 在 一 个 字 节 的 误 差, 都 会 导 致 其 整 体 失 效, 因 此 它 同 时 也 必 须 是 精 确 的 完 备 性 Completeness 软 件 提 供 的 功 能, 相 对 于 业 务 ( 或 领 域 应 用 ) 和 用 户 操 作 的 需 要 而 言, 应 当 是 完 备 和 全 面 的 软 件 功 能 如 果 缺 少 对 某 些 业 务 环 节 的 支 持, 将 可 能 严 重 影 响 业 务 运 作 效 率 ; 而 缺 少 相 关 的 用 户 操 作 途 径, 则 可 能 阻 碍 用 户 的 工 作 互 用 性 ( 互 操 作 性 )Interoperability 用 户 常 常 需 要 将 目 标 系 统 与 其 它 系 统 或 工 具 一 同 配 合 使 用, 来 完 成 相 关 业 务 活 动 ; 因 此 软 件 必 须 具 备 和 特 定 系 统 互 相 作 用 ( 协 同 ) 的 能 力, 并 与 环 境 和 其 它 系 统 相 适 配 而 不 冲 突 依 从 性 Compliance 软 件 产 品 必 须 依 从 法 律 或 类 似 规 定 中 与 应 用 程 序 相 关 的 标 准 协 定 规 章, 否 则 可 能 产 生 法 律 纠 纷 或 带 来 其 它 的 不 便 安 全 性 Security 软 件 产 品 需 要 具 备 防 止 未 经 授 权 访 问 程 序 或 数 据 的 能 力, 以 免 造 成 意 外 的 损 失 软 件 有 用, 首 先 源 至 其 使 用 价 值, 即 软 件 对 业 务 或 领 域 应 用 的 功 能 适 宜 性 ; 同 时, 软 件 还 必 须 正 确 地 执 行 这 些 适 宜 的 功 能, 以 满 足 正 确 性 要 求, 否 则 其 使 用 价 值 无 法 真 正 被 实 现 而 功 能 的 完 备 性, 则 体 现 了 软 件 使 用 价 值 的 完 备 性 除 此 之 外, 软 件 具 备 中 国 软 件 架 构 师 网, 2006 Page 23 of 31

一 定 的 互 用 性, 则 能 够 进 一 步 增 大 其 附 加 值 软 件 的 依 从 性 和 安 全 性, 确 保 用 户 在 获 得 其 使 用 价 值 的 同 时, 不 会 带 来 令 人 不 快 的 副 作 用 ( 法 律 纠 纷 意 外 损 失 等 ) 软 件 可 用 性 Usability 要 求 ( 易 用 性 ) 软 件 有 用, 但 是 如 果 操 作 起 来 相 当 繁 琐 不 好 理 解 和 难 以 记 忆, 让 用 户 感 觉 别 扭, 那 么 用 户 仍 然 不 会 愿 意 使 用 它 可 用 性 质 量 属 性 主 要 体 现 了 系 统 对 用 户 的 友 好 性 ( 交 互 质 量 ), 将 直 接 影 响 用 户 使 用 软 件 的 意 愿 它 们 都 属 于 软 件 外 在 的 与 其 操 作 难 易 程 度 有 关 的 质 量 属 性 简 单 明 了 Conciseness 软 件 的 操 作 方 式 应 当 简 洁 没 有 复 杂 而 繁 琐 的 步 骤 ; 其 行 为 表 现 直 观 明 了, 让 人 容 易 把 握 ( 风 格 ) 一 致 性 Consistency 软 件 操 作 的 风 格 模 式, 表 达 的 概 念 以 及 逻 辑 关 系, 应 当 是 一 致 的 例 如, 界 面 上 通 常 使 用 带 阴 影 的 独 立 3D 圆 角 矩 形 来 表 示 按 钮 button 控 件, 如 果 同 时 又 用 它 来 凸 现 highlight 需 要 引 起 注 意 的 文 本, 那 么 这 种 不 一 致 将 让 用 户 感 到 困 惑, 并 容 易 导 致 误 操 作 可 理 解 性 Understandability 软 件 的 操 作 方 式 与 行 为 表 现, 应 当 符 合 常 识, 不 与 用 户 的 认 知 习 惯 相 冲 突 软 件 任 何 逻 辑 上 的 不 合 理, 都 将 使 得 用 户 难 以 理 解 其 操 作, 并 最 终 严 重 阻 碍 用 户 的 使 用 可 学 习 性 Learnability 与 用 户 学 习 软 件 操 作 所 需 努 力 程 度 相 关 的 软 件 属 性 一 般 体 现 为 软 件 所 配 备 演 示 程 序 试 用 示 例 用 户 手 册 在 线 帮 助 与 培 训 材 料 等 的 完 备 性 与 质 量 等 可 操 作 性 / 易 访 问 性 Operability 与 用 户 操 作 控 制 软 件 所 需 努 力 程 度 相 关 的 软 件 属 性 包 括 : 系 统 的 可 见 性 ( 足 够 的 反 馈 信 息, 友 好 的 提 示 ) 操 作 方 便 性 ( 诸 如 较 少 的 操 作 以 完 成 较 大 的 功 能 等 ) 响 应 一 致 性 ( 系 统 的 行 为 表 现 与 用 户 的 操 作 意 图 相 一 致 ) 操 作 健 壮 性 Robustness 软 件 对 用 户 错 误 操 作 或 外 部 异 常 输 入 的 免 疫 能 力 等 相 关 质 量 属 性 软 件 操 作 的 简 单 明 了 和 风 格 一 致 是 获 得 其 它 易 用 性 质 量 的 基 础 条 件 而 软 件 的 可 理 解, 是 用 户 愿 意 并 能 够 操 作 软 件 的 前 提 条 件 ; 不 可 理 解 的 东 西, 其 可 学 习 性 和 可 操 作 性 也 就 无 从 谈 起 可 学 习 性 强 的 软 件, 极 大 地 降 低 了 其 推 广 应 用 的 门 槛, 同 时 还 节 省 了 培 训 成 本 软 件 的 操 作 性 强, 则 方 便 了 用 户 的 使 用, 并 提 高 了 用 户 处 理 业 务 的 效 率 另 一 方 面, 人 非 机 器, 操 作 软 件 时 总 是 容 易 出 错, 如 果 软 件 应 付 不 了, 并 因 此 而 失 效 或 崩 溃, 将 会 引 发 用 户 的 严 重 抵 触 情 绪 此 外, 以 下 各 项 属 性 也 属 于 与 操 作 有 关 的 质 量 属 性, 它 们 体 现 了 用 户 交 互 与 界 面 的 质 量 : 可 见 性 Visibility 好 的 软 件 界 面 应 当 让 用 户 通 过 简 单 的 观 察, 就 能 领 会 如 中 国 软 件 架 构 师 网, 2006 Page 24 of 31

何 进 行 操 作 改 善 界 面 可 视 性 的 途 径 有 : 提 供 可 视 的 指 示 来 引 导 用 户 User guidance/ Prompting ; 在 界 面 上 对 类 似 的 功 能 与 显 示 内 容 进 行 分 组 Grouping/distinction of items, 方 便 用 户 感 知 ; 随 着 操 作 的 展 开 逐 步 启 发 用 户 Incremental Revealing 暗 示 Affordance 软 件 界 面 上 各 类 对 象 的 形 态, 应 当 直 观 地 提 示 用 户 其 作 用 和 应 当 如 何 被 使 用 常 用 的 暗 示 方 式 有 : 隐 喻 Metaphors 例 如,Windows 图 形 界 面 借 用 了 桌 面 的 概 念, 它 隐 喻 了 Windows 主 界 面 的 一 些 基 本 操 作 方 式 ; 另 一 个 例 子, 是 按 钮 控 件 都 显 示 为 3D 凸 现 的 形 态, 暗 示 用 户 可 以 按 下 它 自 然 应 对 Natural Mapping 针 对 用 户 想 要 完 成 的 任 务, 软 件 提 供 清 晰 和 自 然 的 对 应 机 制 来 实 现 软 件 的 界 面 及 交 互 方 式, 与 其 实 现 的 任 务 之 间 是 协 调 的 Compatibility 相 称 的 ; 任 何 不 自 然 别 扭 的 做 法, 都 会 降 低 软 件 的 可 理 解 性 约 束 ( 交 互 行 为 )Constraints 软 件 在 交 互 设 计 上, 有 意 地 限 制 用 户 的 操 作 路 线, 从 而 减 少 用 户 为 了 执 行 相 关 任 务 所 需 掌 握 的 知 识 对 应 的 做 法 有 : 最 少 化 行 动 步 骤 Minimizing actions, 即 将 完 成 一 项 工 作 所 需 的 操 作 步 骤 减 少 到 最 低 数 目 ; 自 解 释 Self-explanation, 即 界 面 的 展 现 能 够 说 明 用 户 操 作 的 意 图 以 及 系 统 响 应 的 变 化 结 果, 例 如, 界 面 的 布 局 layout 随 用 户 的 操 作 而 发 生 变 化, 但 用 户 一 眼 就 能 看 出 他 一 直 与 之 交 互 的 界 面 元 素 在 何 处 ( 交 互 ) 概 念 模 型 Conceptual Models 软 件 的 交 互 过 程 应 当 遵 循 一 定 的 规 则 ; 例 如, 为 了 完 成 某 个 任 务, 用 户 需 要 提 供 足 够 的 信 息, 并 对 系 统 下 达 相 应 的 指 令, 而 系 统 的 响 应 与 执 行 结 果 要 符 合 用 户 的 期 望 ; 用 户 对 系 统 交 互 行 为 的 一 种 理 解 和 预 期, 被 抽 象 为 某 种 ( 交 互 ) 概 念 模 型 遵 从 概 念 模 型 的 软 件, 使 得 用 户 能 够 理 解 并 预 期 系 统 的 响 应 具 体 的 做 法 有 : 在 界 面 上 使 用 意 义 明 显 的 代 码 ( 标 识 ) 或 名 称 Significance of codes, 以 便 用 户 理 解 其 背 后 所 引 用 的 含 义 ; 确 保 软 件 的 交 互 行 为 ( 输 入 输 出 以 及 对 话 ) 与 用 户 的 特 点 ( 心 智 水 平 知 识 技 能 等 ), 以 及 目 标 任 务 的 特 性 相 协 调 Compatibility, 另 外, 这 种 协 调 关 系 也 着 眼 于 应 用 软 件 与 其 环 境 平 台 之 间 明 确 的 控 制 Explicit control 为 了 避 免 软 件 的 行 为 失 控, 软 件 交 互 的 设 计 必 须 是 明 确 而 无 二 义 的 一 方 面, 用 户 的 动 作 explicit user action 与 软 件 对 应 的 处 理 之 间 是 关 系 明 确 而 无 二 义 的 ( 例 如, 系 统 只 处 理 那 些 用 户 真 正 需 要 的 行 动, 而 且 是 在 用 户 确 实 发 出 了 请 求 的 时 候 ); 另 一 方 面, 系 统 任 何 时 候 都 应 当 处 于 用 户 可 控 user control 的 状 态, 即 系 统 必 须 响 应 用 户 的 指 令 ( 例 如, 中 断 暂 停 取 消 或 继 续 系 统 的 工 作 等 ) ( 系 统 ) 响 应 Feedback 软 件 应 当 及 时 给 用 户 的 操 作 以 反 馈, 以 便 用 户 把 握 任 务 执 行 ( 交 互 ) 的 进 度 和 状 态, 防 止 用 户 接 下 来 执 行 错 误 的 行 动, 使 得 交 互 过 程 陷 入 混 乱 和 失 控 具 体 策 略 包 括 : 系 统 及 时 地 反 馈 Immediate Feedback, 并 且 反 馈 的 内 容 让 用 户 容 易 理 解 和 辨 认 Legibility( 例 如, 以 闪 烁 中 国 软 件 架 构 师 网, 2006 Page 25 of 31

的 方 式 凸 现 需 要 被 重 点 关 注 的 文 本 ) ( 操 作 ) 安 全 可 靠 Safety 用 户 容 易 出 错, 因 此 软 件 应 当 足 够 健 壮, 能 够 让 用 户 较 为 随 意 地 操 作, 不 必 担 心 因 为 不 小 心 而 造 成 重 大 损 失 具 体 策 略 包 括 : 使 用 错 误 预 防 Error Prevention 技 术 来 避 免 用 户 执 行 错 误 操 作 ; 如 果 不 幸 出 错, 则 软 件 具 备 错 误 修 正 Error Correction 能 力, 帮 助 用 户 进 行 扑 救 ; 另 外, 软 件 通 过 专 门 的 设 计, 能 够 容 纳 ( 宽 限 )Forgiveness 用 户 的 某 些 错 误 操 作, 自 动 地 修 正 那 些 明 显 的 错 误 适 应 Adaptability 能 力 用 户 在 操 作 软 件 的 过 程 中 常 常 临 时 改 变 心 意, 这 要 求 软 件 必 须 提 供 足 够 的 弹 性, 来 适 应 各 种 变 化 一 方 面, 需 要 提 高 软 件 的 弹 性 flexibility, 使 得 其 行 为 表 现 能 适 应 不 同 的 上 下 文 场 景 和 用 户 的 多 样 化 要 求 与 偏 好 ; 另 一 方 面, 这 种 适 应 能 力 最 终 将 影 响 用 户 的 体 验 user experience 感 受 软 件 可 靠 性 Reliability 要 求 软 件 有 用, 而 且 好 用, 但 是 如 果 经 常 突 然 挡 机 或 无 法 使 用, 用 户 肯 定 不 会 满 意 这 种 提 心 吊 胆 的 感 觉 因 此 软 件 还 必 须 可 靠, 让 人 放 心 使 用 可 靠 性 质 量 属 性, 主 要 体 现 了 系 统 持 续 不 间 断 地 满 足 客 户 相 关 应 用 目 标 的 能 力 它 们 属 于 软 件 外 在 的 与 其 使 用 价 值 可 获 取 度 有 关 的 质 量 属 性 有 效 性 Availability 与 软 件 持 续 正 常 运 行, 而 可 供 用 户 使 用 相 关 的 软 件 属 性 例 如 平 均 可 用 时 间 等 如 果 在 用 户 急 需 软 件 来 完 成 某 项 任 务 时, 系 统 却 不 能 使 用, 那 么 将 有 可 能 严 重 损 坏 客 户 的 利 益 成 熟 性 Maturity 与 由 软 件 中 的 缺 陷 而 造 成 故 障 的 频 度 相 关 的 软 件 属 性 例 如 软 件 的 系 统 缺 陷 率 平 均 无 故 障 时 间 MTBF 等 故 障 承 受 能 力 Fault tolerance 软 件 在 运 行 时, 有 可 能 会 遇 到 故 障 ( 例 如 硬 件 失 效 ), 或 者 其 某 些 特 定 接 口 部 分 遭 到 侵 害 ; 在 此 情 形 下, 软 件 应 当 仍 然 保 持 一 定 工 作 能 力, 从 而 避 免 彻 底 中 断 服 务 而 造 成 的 更 大 损 失 可 恢 复 性 Recoverability 一 旦 遇 到 故 障, 软 件 重 新 恢 复 工 作 性 能 所 需 的 时 间 越 短, 受 损 数 据 的 修 复 程 度 越 高, 则 因 故 障 而 造 成 的 损 坏 就 越 轻 可 预 测 性 Predictability 软 件 的 运 行 状 态 与 行 为 是 可 以 预 测 和 把 握 的 行 为 不 可 预 测 的 软 件, 将 使 得 用 户 无 法 掌 控 它 的 运 作, 会 给 客 户 带 来 巨 大 的 风 险 用 户 关 注 软 件 所 带 来 的 使 用 价 值, 而 这 种 使 用 价 值 必 须 是 随 时 能 够 获 得 的 ; 也 就 是 说, 软 件 有 用 好 用, 还 要 可 靠 能 用 软 件 有 效 性 体 现 了 它 持 续 能 用 的 程 度 ; 成 熟 性 是 软 件 在 正 常 情 形 下 确 保 有 效 性 的 基 础 ; 而 故 障 承 受 能 力 和 可 恢 复 性 则 是 软 件 在 异 常 情 形 下 提 高 有 效 性 的 主 要 途 径 ; 另 外, 可 预 测 性 帮 助 用 户 消 除 因 使 用 软 件 而 带 来 风 险 的 疑 虑 软 件 可 靠 性 质 量, 往 往 难 以 独 立 于 硬 件 之 外 来 单 独 度 量, 而 且 其 本 身 与 硬 件 有 密 中 国 软 件 架 构 师 网, 2006 Page 26 of 31

切 的 关 系, 但 与 性 能 效 率 等 不 同, 其 本 质 上 还 是 属 于 软 件 的 一 种 属 性 软 件 性 能 Performance 与 效 率 Efficiency 要 求 软 件 有 用, 且 好 用, 同 时 也 很 可 靠, 但 是 如 果 用 户 执 行 一 项 简 单 的 操 作, 就 得 等 上 几 分 钟, 恐 怕 谁 也 没 有 这 么 好 的 耐 心 来 忍 受 这 种 等 待 的 煎 熬 ; 因 此, 软 件 的 执 行 必 须 具 备 让 人 可 以 接 受 的 性 能 性 能 等 质 量 属 性, 是 软 件 与 硬 件 一 同 协 作, 所 体 现 出 的 系 统 满 足 客 户 对 相 关 运 行 效 率 速 度 与 规 模 方 面 要 求 的 能 力 它 们 属 于 软 件 外 在 的 与 其 时 空 特 性 有 关 的 质 量 属 性 时 间 行 为 Time behaviour 上 的 效 率 与 响 应 处 理 时 间 以 及 执 行 功 能 时 的 吞 吐 率 相 关 的 软 件 属 性 响 应 时 间 : 系 统 从 用 户 提 交 请 求 到 返 回 处 理 结 果 的 时 间 响 应 速 度 : 系 统 对 用 户 操 作 的 反 馈 速 度 有 反 馈 并 不 意 味 系 统 已 有 了 处 理 结 果 ; 在 响 应 时 间 过 长 的 情 形 下, 中 途 插 入 及 时 的 反 馈, 可 以 避 免 用 户 对 系 统 是 否 死 机 的 疑 虑 处 理 时 间 : 系 统 处 理 用 户 所 提 交 请 求 的 时 间 延 迟 时 间 : 用 户 提 交 的 请 求 传 递 给 系 统, 和 系 统 的 反 馈 结 果 返 还 用 户 所 花 费 的 时 间 吞 吐 量 ( 扇 入 扇 出 量 ): 系 统 在 单 位 时 间 内 完 成 的 处 理 量 负 载 ( 并 发 性 ): 系 统 在 单 位 时 间 内 同 时 被 服 务 的 用 户 数 量 处 理 能 力 : 系 统 可 有 效 支 持 的 最 大 负 载 ( 通 常 是 能 够 满 足 可 接 受 的 响 应 时 间 阀 值 之 下 的 最 大 负 载 ) 另 外, 还 有 关 机 时 间 开 机 时 间 恢 复 时 间 等 资 源 行 为 Resource behaviour 上 的 效 率 与 系 统 完 成 某 项 任 务 时, 所 使 用 的 资 源 数 量 及 其 持 续 时 间 相 关 的 软 件 属 性 包 括 : 内 存 占 用 量 存 储 空 间 CPU 的 占 用 率 网 络 带 宽 使 用 率 等 软 件 的 功 能 属 性 体 现 了 其 使 用 价 值 中 质 的 方 面, 而 性 能 等 属 性 则 体 现 了 其 使 用 价 值 中 量 的 方 面 例 如, 负 载 或 并 发 用 户 数 体 现 了 软 件 使 用 价 值 在 空 间 上 的 量 ; 而 响 应 时 间 则 体 现 了 软 件 使 用 价 值 在 时 间 上 的 量 换 句 话 说, 性 能 等 属 性 代 表 了 软 件 功 能 行 为 在 时 空 上 所 表 现 的 附 属 特 性 软 件 有 用 好 用, 而 且 可 靠, 同 时 还 要 速 度 快, 这 样 单 个 用 户 才 有 长 期 使 用 它 的 意 愿 ; 而 软 件 还 应 支 持 更 多 的 负 载, 这 样 才 能 让 众 多 的 用 户 来 接 受 它 软 件 的 性 能, 与 可 靠 性 易 用 性 一 样, 都 会 直 接 影 响 软 件 运 行 过 程 中 的 使 用 成 本 例 如, 性 能 低 下 的 软 件 将 浪 费 用 户 大 量 的 时 间 用 于 等 待 软 件 性 能 等 质 量 属 性, 不 能 独 立 于 硬 件 来 度 量, 而 且 其 本 身 体 现 的 就 是 软 件 对 硬 件 资 源 的 利 用 效 率 我 们 无 法 脱 离 硬 件 来 单 独 定 义 软 件 的 性 能 规 格, 因 此, 在 定 义 性 能 需 求 时, 必 须 列 出 对 应 的 硬 件 配 置 规 格 ( 笔 者 曾 经 见 到 不 少 项 目 的 需 求 规 格 说 明 中, 在 性 能 需 求 这 一 项, 就 没 有 列 出 对 应 的 硬 件 配 置 ) 中 国 软 件 架 构 师 网, 2006 Page 27 of 31

软 件 可 支 持 Supportability 与 维 护 性 Maintainability 要 求 软 件 的 外 部 质 量 属 性, 归 根 结 底 是 由 其 内 部 质 量 属 性 所 决 定 的 这 些 内 部 属 性 中, 诸 如 软 件 架 构 质 量 源 代 码 质 量 其 它 中 间 制 品 质 量 等, 主 要 用 于 衡 量 开 发 过 程 中 间 产 出 的 质 量 属 性, 并 为 软 件 开 发 者 所 关 注 ; 而 类 似 软 件 可 支 持 可 维 护 性 可 扩 展 性 等, 主 要 在 软 件 开 发 成 功 之 后, 用 以 衡 量 软 件 满 足 客 户 长 期 应 用 系 统 而 保 持 较 低 成 本 的 能 力 后 者 将 同 时 为 客 户 开 发 者 所 关 注 软 件 被 交 付 之 后, 并 不 意 味 着 开 发 者 的 工 作 可 以 完 结 用 户 在 使 用 软 件 的 过 程 中, 总 是 可 能 发 现 遗 留 下 来 的 bug; 或 者 发 现 有 的 功 能 操 作 不 便, 需 要 改 进 这 些 问 题 都 需 要 开 发 者 来 加 以 解 决 而 下 列 软 件 的 内 部 相 关 质 量 属 性, 将 直 接 影 响 到 整 个 维 护 过 程 中 的 成 本 可 验 证 ( 测 试 ) 性 Testability 与 验 证 被 修 改 软 件 所 需 努 力 相 关 的 软 件 属 性 软 件 具 有 不 可 视 的 特 性, 测 试 是 让 软 件 可 视, 同 时 也 是 唯 一 能 客 观 验 证 软 件 质 量 的 途 径 然 而 测 试 是 需 要 付 出 代 价 的, 如 果 没 有 针 对 测 试 进 行 专 门 设 计 的 话, 测 试 的 成 本 将 非 常 高 昂 ( 例 如, 准 备 大 量 的 数 据 配 置 复 杂 的 前 置 条 件 等 ) 高 可 测 试 性, 能 够 大 幅 度 降 低 开 发 成 本, 和 降 低 软 件 质 量 风 险 可 分 析 性 Analyzability 与 诊 断 缺 陷 故 障, 或 者 确 定 需 要 修 改 的 部 分 所 需 努 力 相 关 的 软 件 属 性 分 析 的 字 面 解 释 是 : 把 物 质 分 为 若 干 成 分 来 确 定 它 们 的 性 质 ( 定 性 分 析 ) 或 比 例 ( 定 量 分 析 ) 为 了 定 位 软 件 缺 陷 的 根 源, 通 常 要 划 分 不 同 的 区 域 来 分 别 进 行 判 断 与 尝 试 确 诊 ; 而 软 件 的 内 部 结 构 支 撑 了 这 种 划 分 所 谓 可 分 析 性 主 要 受 软 件 结 构 的 良 好 与 可 理 解 性 代 码 的 可 读 性 元 素 间 的 低 耦 合 性 等 因 素 的 影 响 可 变 性 Changeability 与 修 改 去 除 错 误 实 施 需 求 或 设 计 变 更 ( 例 如 改 变 运 行 环 境 ) 等 难 易 程 度 相 关 的 软 件 属 性 这 是 度 量 软 件 内 部 架 构 合 理 性 代 码 冗 余 度 可 读 性 元 素 间 耦 合 性 等 质 量 的 重 要 指 标 稳 定 性 Stability 与 修 改 过 程 中 未 预 料 到 作 用 的 风 险 相 关 的 软 件 属 性 软 件 容 易 修 改 和 变 更, 但 是 如 果 一 旦 实 施 了 变 更, 就 会 造 成 软 件 的 崩 溃 与 失 效, 并 引 入 更 多 新 的 bug, 那 么 可 变 性 仍 然 只 是 一 句 空 话 可 审 计 性 Auditability 与 找 出 客 观 的 证 据 来 检 验 软 件 是 否 符 合 标 准 规 范 或 既 定 规 格 之 难 易 程 度 相 关 的 软 件 属 性 为 了 避 免 人 为 的 主 观 因 素 影 响, 应 当 尽 量 使 用 客 观 的 证 据 来 证 实 软 件 的 质 量 开 发 进 度 等 内 容 所 谓 审 计 是 一 种 事 后 的 核 查 措 施, 因 此 那 些 用 于 审 计 的 证 据, 主 要 是 可 以 被 记 录 并 长 期 保 存 的 工 件 这 些 工 件 与 软 件 交 付 的 关 系 愈 密 切, 记 录 完 备 与 保 存 完 好 程 度 愈 高, 软 件 的 可 审 计 性 就 愈 强 配 置 管 理 中 的 逻 辑 审 计 与 物 理 审 计 是 软 件 项 目 中 的 主 要 审 计 途 径 可 维 护 性 Maintainability 与 软 件 在 使 用 过 程 中 被 修 改 更 新 演 进 和 修 复 所 需 努 力 相 关 的 软 件 属 性 它 基 本 上 由 上 述 其 它 可 支 持 性 质 量 属 性 所 综 合 决 中 国 软 件 架 构 师 网, 2006 Page 28 of 31

定 移 植 适 应 性 Portability 与 可 扩 展 性 Extensibility 要 求 软 件 被 交 付 之 后, 除 了 普 通 的 维 护 需 求 之 外, 很 多 时 候 还 会 遇 到 客 户 的 其 它 要 求 客 户 有 可 能 升 级 了 新 的 硬 件 设 备, 而 原 有 软 件 并 不 能 直 接 在 新 的 平 台 环 境 下 运 行 ; 客 户 的 业 务 不 断 发 展, 业 务 量 急 剧 增 长, 原 有 系 统 的 性 能 无 法 支 撑 ; 客 户 面 临 很 大 的 竞 争 压 力, 需 要 开 展 新 的 业 务, 而 原 有 软 件 不 具 备 相 应 的 功 能 这 些 问 题 最 终 都 依 靠 开 发 者 来 加 以 解 决 下 列 软 件 的 内 部 相 关 质 量 属 性, 将 直 接 影 响 到 解 决 前 述 这 些 问 题 的 成 本 下 面 的 质 量 属 性 主 要 体 现 了 系 统 满 足 客 户 不 同 的 应 用 场 景 与 环 境 要 求 的 能 力 : 适 应 性 Adaptability 与 是 否 能 适 应 在 不 同 环 境 下 运 行 使 用 相 关 的 软 件 属 性 一 致 性 / 兼 容 性 Conformance 软 件 与 特 定 标 准 协 定, 以 及 平 台 环 境 相 容 的 软 件 属 性 可 配 置 性 Configurability 与 软 件 为 了 适 应 不 同 的 环 境 和 应 用 场 景, 而 进 行 简 单 的 配 置 以 便 实 现 此 目 的 所 付 出 努 力 相 关 的 软 件 属 性 可 移 植 性 Portability 将 软 件 通 过 重 新 编 译 或 改 造, 从 而 能 够 在 新 的 环 境 下 被 运 行 使 用, 为 此 所 需 要 付 出 努 力 相 关 的 软 件 属 性 例 如 平 台 移 植 本 地 化 移 植 等 可 安 装 性 Installability 与 将 软 件 安 装 在 指 定 环 境 中 所 需 努 力 相 关 的 软 件 属 性 下 面 的 质 量 属 性 主 要 体 现 了 系 统 满 足 客 户 未 来 发 展 与 变 化 了 的 应 用 场 景 与 规 模 要 求 的 能 力 : 功 能 可 扩 充 性 Extensibility 向 系 统 增 加 新 功 能 的 能 力 性 能 可 伸 缩 性 Scalability 通 过 扩 充 硬 件 效 能, 而 实 现 提 高 系 统 处 理 效 能 的 能 力 软 件 支 持 维 护 性 以 及 移 植 扩 展 性 等 质 量 属 性, 实 际 上 不 仅 仅 只 在 软 件 交 付 之 后 发 生 作 用, 它 们 同 样 会 影 响 软 件 开 发 本 身 例 如, 软 件 开 发 过 程 中 总 是 有 大 量 的 测 试 与 bug 修 复 活 动, 较 高 的 可 验 证 ( 测 试 ) 性 可 分 析 性 可 变 性 以 及 稳 定 性 等 都 直 接 有 助 于 上 述 活 动 的 执 行 ; 又 如, 软 件 的 构 造 过 程, 总 是 从 部 分 到 全 部 逐 步 完 成 的, 高 可 扩 充 性 的 架 构, 使 得 开 发 者 能 够 逐 次 地 向 软 件 交 付 添 加 功 能 增 量 ( 实 际 上, 迭 代 开 发 就 严 重 依 赖 于 这 一 内 在 的 质 量 属 性 ) 软 件 开 发 阶 段 内 部 质 量 要 求 软 件 在 交 付 之 后 的 质 量 属 性, 无 论 是 外 部 属 性 还 是 内 部 属 性, 都 是 由 软 件 在 开 发 中 国 软 件 架 构 师 网, 2006 Page 29 of 31

阶 段 的 内 部 质 量 属 性 所 决 定 的 这 些 质 量 属 性, 主 要 体 现 于 不 同 中 间 制 品 的 质 量 属 性 上 业 务 建 模 质 量 属 性 业 务 模 型 应 当 准 确 ( 性 ) 地 反 映 客 户 的 业 务 现 状 isbe 或 期 望 状 况 tobe; 同 时 它 还 是 完 备 ( 性 ) 的, 能 够 反 映 客 户 业 务 的 全 局 关 系 ; 另 外, 业 务 模 型 必 须 是 可 理 解 ( 性 ) 的, 方 便 涉 众 进 行 沟 通 时 使 用 需 求 质 量 属 性 软 件 规 格 定 义 ( 需 求 ) 相 对 于 其 支 持 的 业 务 或 领 域 应 用 而 言 应 当 是 适 宜 ( 性 ) 的, 以 满 足 业 务 和 用 户 操 作 的 需 要 ; 它 同 时 还 必 须 是 精 确 ( 无 二 义 性 ) 的, 以 避 免 理 解 偏 差 和 最 终 交 付 的 不 一 致 ; 而 需 求 规 格 定 义 的 完 备 性 则 决 定 了 软 件 交 付 的 功 能 完 备 性 ; 为 了 实 现 软 件 的 易 用 性 质 量 属 性, 需 要 交 互 设 计 良 好, 以 消 除 交 互 逻 辑 上 的 缺 陷 ; 需 求 的 可 理 解 性 往 往 也 决 定 了 软 件 操 作 的 可 理 解 性 ; 最 后, 需 求 必 须 是 可 验 证 ( 性 ) 的, 否 则 软 件 交 付 将 失 去 验 收 的 客 观 依 据 架 构 与 分 析 设 计 质 量 属 性 软 件 设 计 必 须 是 正 确 ( 性 ) 的, 要 满 足 各 类 功 能 与 非 功 能 需 求 ; 架 构 设 计 应 当 结 构 良 好, 模 块 的 划 分 是 合 适 的, 职 责 的 分 配 是 自 然 的 ; 软 件 架 构 应 当 是 健 壮 ( 性 ) 的 和 可 扩 展 ( 性 ) 的, 支 持 方 便 地 添 加 功 能, 同 时 又 不 打 破 原 有 结 构 ; 设 计 的 各 个 模 块 或 元 素 本 身 应 当 是 高 内 聚 ( 性 ) 的, 模 块 或 元 素 之 间 的 关 联 应 当 是 低 耦 合 ( 性 ) 的 ; 软 件 设 计 在 整 体 上 是 低 冗 余 ( 性 ) 的 ; 另 外, 设 计 模 型 应 当 简 洁 优 雅 ( 性 ) 具 备 较 强 的 可 理 解 性, 方 便 开 发 人 员 掌 握 和 遵 照 实 施 ; 最 后, 软 件 架 构 还 应 当 具 备 较 强 的 可 测 试 性, 大 幅 减 少 测 试 成 本, 并 最 终 有 助 于 提 升 软 件 交 付 的 质 量 代 码 质 量 属 性 代 码 必 须 正 确 ( 性 ) 地 实 现 设 计 规 格 中 所 定 义 的 功 能 ; 同 时 还 提 供 一 定 的 健 壮 ( 性 ), 以 容 纳 一 些 超 出 规 格 定 义 之 外 的 输 入 参 数 以 及 错 误 调 用 ; 另 外, 代 码 应 当 具 备 良 好 的 可 读 ( 性 ), 例 如 使 用 意 义 明 确 的 命 名, 书 写 足 够 的 注 释 等 测 试 质 量 属 性 测 试 案 例 必 须 是 非 常 具 体 而 可 执 行 ( 性 ) 的 ; 通 过 执 行 这 些 测 试 案 例, 能 够 达 到 要 求 的 代 码 语 句 或 分 支 等 覆 盖 率 ; 测 试 活 动 应 当 是 有 效 ( 性 ) 的, 能 够 最 大 限 度 地 发 现 代 码 中 隐 藏 的 缺 陷 部 署 质 量 属 性 软 件 交 付 应 当 是 易 部 署 ( 性 ) 的, 例 如, 提 供 了 自 动 安 装 工 具 ; 部 署 后 的 软 件 副 本 应 当 是 易 配 置 ( 性 ) 的, 方 便 客 户 进 行 调 整 来 适 应 其 不 同 的 要 求 本 书 将 在 后 续 章 节 具 体 讨 论 上 述 质 量 属 性, 特 别 是 如 何 来 实 现 它 们, 从 而 最 终 实 现 软 件 交 付 之 后 的 各 项 质 量 属 性 软 件 质 量 属 性 的 相 互 关 系 软 件 的 质 量 属 性 种 类 繁 多, 分 别 涉 及 到 软 件 的 多 个 方 面 而 这 些 质 量 属 性 之 间 存 在 着 密 切 的 关 联 关 系 : 有 的 质 量 属 性 被 其 它 质 量 属 性 所 支 持 ; 而 有 些 质 量 属 性 则 相 互 增 强 对 方 ; 另 外, 也 存 在 一 些 质 量 属 性, 它 们 之 间 存 在 相 互 冲 突 中 国 软 件 架 构 师 网, 2006 Page 30 of 31

下 面 的 图 表, 列 出 了 主 要 质 量 属 性 之 间 的 相 互 关 系 图 1.5 软 件 质 量 属 性 关 系 示 意 本 章 小 节 要 构 造 软 件, 包 括 设 计 软 件 的 架 构, 就 必 须 先 理 解 软 件 是 什 么, 有 什 么 特 性 我 们 应 当 从 更 大 的 视 角 来 看 待 软 件, 从 历 史 中 了 解 它 的 缘 起 及 其 来 龙 去 脉 ; 从 其 上 下 文 出 发, 消 除 将 软 件 看 作 是 一 种 特 殊 而 相 对 独 立 的 事 物 的 误 解, 理 解 软 件 属 于 信 息 技 术 的 一 部 分, 是 与 硬 件 技 术 一 道 用 来 解 决 人 类 所 面 临 的 各 种 与 信 息 有 关 的 问 题 软 件 是 人 类 有 史 以 来 创 造 的 一 种 非 常 特 别 的 制 品, 它 具 备 与 传 统 制 品 完 全 不 同 的 特 性 ; 我 们 对 软 件 的 大 体 映 像, 便 建 立 于 这 些 根 本 特 性 之 上 软 件 的 特 性 既 来 自 信 息 技 术 本 身, 也 来 自 其 所 要 解 决 的 问 题 域 我 们 开 发 软 件 的 关 注 焦 点 是 如 何 得 到 令 人 满 意 的 高 质 量 软 件 交 付 我 们 必 须 清 晰 地 理 解 软 件 的 质 量 属 性, 方 能 采 取 正 确 的 渠 道 来 获 得 这 些 质 量 结 果 由 于 软 件 自 身 的 特 殊 性, 使 得 其 质 量 属 性 的 内 涵 更 为 丰 富, 一 种 质 量 属 性 可 能 支 持 其 它 质 量 属 性 的 实 现, 也 可 能 与 其 它 质 量 属 性 相 互 加 强 或 者 相 互 冲 突 中 国 软 件 架 构 师 网, 2006 Page 31 of 31