內容簡介
《軟件工程:麵嚮對象和傳統的方法(原書第8版)》是軟件工程領域的經典著作,被加州大學伯剋利分校等180多所美國高校選作教材。該書第8版繼續保持瞭前七版的特色,采用傳統方法與麵嚮對象方法並重的方式,全麵係統地介紹軟件工程的理論與實踐,並新增瞭第10章(第1部分的關鍵內容)和第18章(新興技術)兩章內容。全書分為兩大部分,第1部分介紹軟件工程概念,第二部分著重軟件工程技術,教師可根據不同教學目的從任一部分開始講授課程。
《軟件工程:麵嚮對象和傳統的方法(原書第8版)》是高等院校軟件工程課程的理想教材,同時也是專業軟件開發人員和管理者的理想參考書。
作者簡介
作者:(美國)沙赫 (Stephen R.Schach) 譯者:鄧迎春 韓鬆 等
目錄
齣版者的話
譯者序
前言
第1章 軟件工程的範疇
1.1 曆史方麵
1.2 經濟方麵
1.3 維護性方麵
1.3.1 維護的傳統和現代觀點
1.3.2 交付後維護的重要性
1.4 需求、分析和設計方麵
1.5 小組編程方麵
1.6 為什麼沒有計劃階段
1.7 為什麼沒有測試階段
1.8 為什麼沒有文檔階段
1.9 麵嚮對象範型
1.10 正確看待麵嚮對象範型
1.11 術語
1.12 道德問題
本章迴顧
進一步閱讀指導
習題
第一部分 軟件工程概念
第2章 軟件生命周期模型
2.1 理論上的軟件開發
2.2 Winburg小型實例研究
2.3 Winburg小型實例研究心得
2.4 野鴨拖拉機公司小型實例研究
2.5 迭代和遞增
2.6 修訂的Winburg小型實例研究
2.7 迭代和遞增的風險和其他方麵
2.8 迭代和遞增的控製
2.9 其他生命周期模型
2.9.1 編碼-修補生命周期模型
2.9.2 瀑布生命周期模型
2.9.3 快速原型開發生命周期模型
2.9.4 開源生命周期模型
2.9.5 敏捷過程
2.9.6 同步-穩定生命周期模型
2.9.7 螺鏇生命周期模型
2.10 生命周期模型的比較
本章迴顧
進一步閱讀指導
習題
第3章 軟件過程
3.1 統一過程
3.2 麵嚮對象範型內的迭代和遞增
3.3 需求流
3.4 分析流
3.5 設計流
3.6 實現流
3.7 測試流
3.7.1 需求製品
3.7.2 分析製品
3.7.3 設計製品
3.7.4 實現製品
3.8 交付後維護
3.9 退役
3.10 統一過程的各階段
3.10.1 開始階段
3.10.2 細化階段
3.10.3 構建階段
3.10.4 轉換階段
3.11 一維與二維生命周期模型
3.12 改進軟件過程
3.13 能力成熟度模型
3.14 軟件過程改進方麵的其他努力
3.15 軟件過程改進的代價和收益
本章迴顧
進一步閱讀指導
習題
第4章 軟件小組
4.1 小組組織
4.2 民主小組方法
4.3 傳統的主程序員小組方法
4.3.1 《紐約時報》項目
4.3.2 傳統的主程序員小組方法的不實用性
4.4 主程序員小組和民主小組之外的編程小組
4.5 同步-穩定小組
4.6 敏捷過程小組
4.7 開源編程小組
4.8 人員能力成熟度模型
4.9 選擇閤適的小組組織
本章迴顧
進一步閱讀指導
習題
第5章 軟件工程工具
5.1 逐步求精法
5.2 成本-效益分析法
5.3 分治
5.4 關注分離
5.5 軟件度量
5.6 CASE
5.7 CASE的分類
5.8 CASE的範圍
5.9 軟件版本
5.9.1 修訂版
5.9.2 變種版
5.10 配置控製
5.10.1 交付後維護期間的配置控製
5.10.2 基準
5.10.3 産品開發過程中的配置控製
5.11 建造工具
5.12 使用CASE技術提高生産力
本章迴顧
進一步閱讀指導
習題
第6章 測試
6.1 質量問題
6.1.1 軟件質量保證
6.1.2 管理獨立
6.2 非執行測試
6.2.1 走查
6.2.2 管理走查
6.2.3 審查
6.2.4 審查與走查的對比
6.2.5 評審的優缺點
6.2.6 審查的度量
6.3 執行測試
6.4 應該測試什麼
6.4.1 實用性
6.4.2 可靠性
6.4.3 健壯性
6.4.4 性能
6.4.5 正確性
6.5 測試與正確性證明
6.5.1 正確性證明的例子
6.5.2 正確性證明小型實例研究
6.5.3 正確性證明和軟件工程
6.6 誰應當完成執行測試
6.7 測試什麼時候停止
本章迴顧
進一步閱讀指導
習題
第7章 從模塊到對象
7.1 什麼是模塊
7.2 內聚
7.2.1 偶然性內聚
7.2.2 邏輯性內聚
7.2.3 時間性內聚
7.2.4 過程性內聚
7.2.5 通信性內聚
7.2.6 功能性內聚
7.2.7 信息性內聚
7.2.8 內聚示例
7.3 耦閤
7.3.1 內容耦閤
7.3.2 共用耦閤
7.3.3 控製耦閤
7.3.4 印記耦閤
7.3.5 數據耦閤
7.3.6 耦閤示例
7.3.7 耦閤的重要性
7.4 數據封裝
7.4.1 數據封裝和産品開發
7.4.2 數據封裝和産品維護
7.5 抽象數據類型
7.6 信息隱藏
7.7 對象
7.8 繼承、多態和動態綁定
7.9 麵嚮對象範型
本章迴顧
進一步閱讀指導
習題
第8章 可重用性和可移植性
8.1 重用的概念
8.2 重用的障礙
8.3 重用實例研究
8.3.1 Raytheon導彈係統部
8.3.2 歐洲航天局
8.4 對象和重用
8.5 設計和實現期間的重用
8.5.1 設計重用
8.5.2 應用框架
8.5.3 設計模式
8.5.4 軟件體係結構
8.5.5 基於組件的軟件工程
8.6 其他設計模式
8.6.1 FLIC小型實例研究
8.6.2 適配器設計模式
8.6.3 橋設計模式
8.6.4 迭代器設計模式
8.6.5 抽象工廠設計模式
8.7 設計模式的種類
8.8 設計模式的優缺點
8.9 重用及互聯網
8.10 重用和交付後維護
8.11 可移植性
8.11.1 硬件的不兼容性
8.11.2 操作係統的不兼容性
8.11.3 數值計算軟件的不兼容性
8.11.4 編譯器的不兼容性
8.12 為什麼需要可移植性
8.13 實現可移植性的技術
8.13.1 可移植的係統軟件
8.13.2 可移植的應用軟件
8.13.3 可移植的數據
8.13.4 模型驅動結構
本章迴顧
進一步閱讀指導
習題
第9章 計劃和估算
9.1 計劃和軟件過程
9.2 周期和成本估算
9.2.1 産品規模的度量
9.2.2 成本估算技術
9.2.3 中間COCOMO
9.2.4 COCOMO II
9.2.5 跟蹤周期和成本估算
9.3 軟件項目管理計劃的組成
9.4 軟件項目管理計劃框架
9.5 IEEE 軟件項目管理計劃
9.6 計劃測試
9.7 計劃麵嚮對象的項目
9.8 培訓需求
9.9 文檔標準
9.10 用於計劃和估算的CASE工具
9.11 測試軟件項目管理計劃
本章迴顧
進一步閱讀指導
習題
第二部分 軟件生命周期的工作流
第10章 第一部分的關鍵內容
10.1 軟件開發:理論與實踐
10.2 迭代和遞增
10.3 統一過程
10.4 工作流概述
10.5 軟件小組
10.6 成本-效益分析法
10.7 度量
10.8 CASE
10.9 版本和配置
10.10 測試術語
10.11 執行測試和非執行測試
10.12 模塊性
10.13 重用
10.14 軟件項目管理計劃
本章迴顧
習題
第11章 需求
11.1 確定客戶需要什麼
11.2 需求流概述
11.3 理解應用域
11.4 業務模型
11.4.1 訪談
11.4.2 其他技術
11.4.3 用例
11.5 初始需求
11.6 對應用域的初始理解:MSG基金實例研究
11.7 初始業務模型:MSG基金實例研究
11.8 初始需求:MSG基金實例研究
11.9 繼續需求流:MSG基金實例研究
11.10 修訂需求:MSG基金實例研究
11.11 測試流:MSG基金實例研究
11.12 傳統的需求階段
11.13 快速原型開發
11.14 人的因素
11.15 重用快速原型
11.16 需求流的CASE工具
11.17 需求流的度量
11.18 需求流麵臨的挑戰
本章迴顧
進一步閱讀指導
習題
第12章 傳統的分析
12.1 規格說明文檔
12.2 非形式化規格說明
12.3 結構化係統分析
12.4 結構化係統分析:MSG基金實例研究
12.5 其他半形式化技術
12.6 建造實體-關係模型
12.7 有窮狀態機
12.8 Petri網
12.9 Z
12.9.1 Z:電梯問題實例研究
12.9.2 Z的分析
12.10 其他的形式化技術
12.11 傳統分析技術的比較
12.12 在傳統分析階段測試
12.13 傳統分析階段的CASE工具
12.14 傳統分析階段的度量
12.15 軟件項目管理計劃:MSG基金實例研究
12.16 傳統分析階段麵臨的挑戰
本章迴顧
進一步閱讀指導
習題
第13章 麵嚮對象分析
13.1 分析流
13.2 抽取實體類
13.3 麵嚮對象分析:電梯問題實例研究
13.4 功能建模:電梯問題實例研究
13.5 實體類建模:電梯問題實例研究
13.5.1 名詞抽取
13.5.2 CRC卡片
13.6 動態建模:電梯問題實例研究
13.7 測試流:麵嚮對象分析
13.8 抽取邊界類和控製類
13.9 初始功能模型:MSG基金實例研究
13.10 初始類圖:MSG基金實例研究
13.11 初始動態模型:MSG基金實例研究
13.12 修訂實體類:MSG基金實例研究
13.13 抽取邊界類:MSG基金實例研究
13.14 抽取控製類:MSG基金實例研究
13.15 用例實現:MSG基金實例研究
13.15.1 Estimate Funds Available for Week用例
13.15.2 Manage an Asset用例
13.15.3 Update Estimated Annual Operating Expenses用例
13.15.4 Produce a Report用例
13.16 類圖遞增:MSG基金實例研究
13.17 測試流:MSG基金實例研究
13.18 統一過程中的規格說明文檔
13.19 關於參與者和用例更詳細的內容
13.20 麵嚮對象分析流的CASE工具
13.21 麵嚮對象分析流的度量
13.22 麵嚮對象分析流麵臨的挑戰
本章迴顧
進一步閱讀指導
習題
第14章 設計
14.1 設計和抽象
14.2 麵嚮操作設計
14.3 數據流分析
14.3.1 小型實例研究:字數統計
14.3.2 數據流分析擴展
14.4 事務分析
14.5 麵嚮數據設計
14.6 麵嚮對象設計
14.7 麵嚮對象設計:電梯問題實例研究
14.8 麵嚮對象設計:MSG基金實例研究
14.9 設計流
14.10 測試流:設計
14.11 測試流:MSG基金實例研究
14.12 詳細設計的形式化技術
14.13 實時設計技術
14.14 設計的CASE工具
14.15 設計的度量
14.16 設計流麵臨的挑戰
本章迴顧
進一步閱讀指導
習題
第15章 實現
15.1 編程語言的選擇
15.2 第四代語言
15.3 良好的編程實踐
15.3.1 使用一緻和有意義的變量名
15.3.2 自文檔代碼的問題
15.3.3 使用參數
15.3.4 為增加可讀性的代碼編排
15.3.5 嵌套的if語句
15.4 編碼標準
15.5 代碼重用
15.6 集成
15.6.1 自頂嚮下的集成
15.6.2 自底嚮上的集成
15.6.3 三明治集成
15.6.4 麵嚮對象産品的集成
15.6.5 集成的管理
15.7 實現流
15.8 實現流:MSG基金實例研究
15.9 測試流:實現
15.10 測試用例選擇
15.10.1 規格說明測試與代碼測試
15.10.2 規格說明測試的可行性
15.10.3 代碼測試的可行性
15.11 黑盒單元測試技術
15.11.1 等價測試和邊界值分析
15.11.2 功能測試
15.12 黑盒測試用例:MSG基金實例研究
15.13 玻璃盒單元測試技術
15.13.1 結構測試:語句、分支和路徑覆蓋
15.13.2 復雜性度量
15.14 代碼走查和審查
15.15 單元測試技術的比較
15.16 淨室
15.17 測試對象時潛在的問題
15.18 單元測試的管理方麵
15.19 何時該重實現而不是調試代碼製品
15.20 集成測試
15.21 産品測試
15.22 驗收測試
15.23 測試流:MSG基金實例研究
15.24 實現的CASE工具
15.24.1 軟件開發全過程的CASE工具
15.24.2 集成化開發環境
15.24.3 商業應用環境
15.24.4 公共工具基礎結構
15.24.5 環境的潛在問題
15.25 測試流的CASE工具
15.26 實現流的度量
15.27 實現流麵臨的挑戰
本章迴顧
進一步閱讀指導
習題
第16章 交付後維護
16.1 開發與維護
16.2 為什麼交付後維護是必要的
16.3 對交付後維護程序員的要求是什麼
16.4 交付後維護小型實例研究
16.5 交付後維護的管理
16.5.1 缺陷報告
16.5.2 批準對産品的修改
16.5.3 確保可維護性
16.5.4 迭代維護造成的問題
16.6 麵嚮對象軟件的維護
16.7 交付後維護技能與開發技能
16.8 逆嚮工程
16.9 交付後維護期間的測試
16.10 交付後維護的CASE工具
16.11 交付後維護的度量
16.12 交付後維護:MSG基金實例研究
16.13交付後維護麵臨的挑戰
本章迴 顧
進一步閱讀指導
習題
第17章 UML的進一步討論
17.1 UML不是一種方法
17.2 類圖
17.2.1 聚閤
17.2.2 多重性
17.2.3 組閤
17.2.4 泛化
17.2.5 關聯
17.3 注解
17.4 用例圖
17.5 構造型
17.6 交互圖
17.7 狀態圖
17.8 活動圖
17.9 包
17.10 組件圖
17.11 部署圖
17.12 UML圖迴顧
17.13 UML和迭代
本章迴顧
進一步閱讀指導
習題
第18章 新興技術
18.1 麵嚮層麵技術
18.2 模型驅動技術
18.3 基於組件技術
18.4 麵嚮服務技術
18.5 麵嚮服務技術和基於組件技術的比較
18.6 社交計算
18.7 Web工程
18.8 雲技術
18.9 Web 3.0
18.10 計算機安全
18.11 模型檢查
18.12 目前和未來
本章迴顧
進一步閱讀指導
附錄
附錄A 學期項目:巧剋力愛好者匿名
附錄B 軟件工程資源
附錄C 需求流:MSG基金實例研究
附錄D 結構化係統分析:MSG基金實例研究
附錄E 分析流:MSG基金實例研究
附錄F 軟件項目管理計劃:MSG基金實例研究
附錄G 設計流:MSG基金實例研究
附錄H 實現流:MSG基金實例研究(C++版)
附錄I 實現流:MSG基金實例研究(Java版)
附錄J 測試流:MSG基金實例研究
前言/序言
軟件工程:麵嚮對象和傳統的方法(原書第8版) 下載 mobi epub pdf txt 電子書 格式