軟體工程:面向對象和傳統的方法(原書第8版)

軟體工程:面向對象和傳統的方法(原書第8版)

《軟體工程:面向對象和傳統的方法(原書第8版)》是2019年12月機械工業出版社出版的圖書,作者是韓松。

基本介紹

  • 中文名:軟體工程:面向對象和傳統的方法(原書第8版)
  • 作者:韓松
  • 出版社:機械工業出版社
  • 出版時間:2019年12月
  • 定價:65 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787111362739
內容簡介,圖書目錄,

內容簡介

本書是軟體工程領域的經典著作,被加州大學伯克利分校等180多所美國高校選作教材。本書第8版繼續保持了前七版的特色,採用傳統方法與面向對象方法並重的方式,全面系統地介紹軟體工程的理論與實踐,並新增了第10章(第一部分的關鍵內容)和第18章(新興技術)兩章內容。全書分為兩大部分,第一部分介紹軟體工程概念,第二部分著重軟體工程技術,教師可根據不同教學目的從任一部分開始講授課程。本書是高等院校軟體工程課程的理想教材,同時也是專業軟體開發人員和管理者的理想參考書。

圖書目錄

ObjectOriented and Classical Software Engineering,8E
出版者的話
譯者序
前言
第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.2Winburg小型實例研究
2.3Winburg小型實例研究心得
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.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.6CASE
5.7CASE的分類
5.8CASE的範圍
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.1Raytheon飛彈系統部
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.1FLIC小型實例研究
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.4COCOMO II
9.2.5跟蹤周期和成本估算
9.3軟體項目管理計畫的組成
9.4軟體項目管理計畫框架
9.5IEEE 軟體項目管理計畫
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.8CASE
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.8Petri網
12.9Z
12.9.1Z:電梯問題實例研究
12.9.2Z的分析
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.2CRC卡片
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.1Estimate Funds Available for Week用例
13.15.2Manage an Asset用例
13.15.3Update Estimated Annual Operating Expenses用例
13.15.4Produce 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.1UML不是一種方法
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.12UML圖回顧
17.13UML和疊代
本章回顧
進一步閱讀指導
習題
第18章新興技術
18.1面向層面技術
18.2模型驅動技術
18.3基於組件技術
18.4面向服務技術
18.5面向服務技術和基於組件技術的比較
18.6社交計算
18.7Web工程
18.8雲技術
18.9Web 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基金實例研究

相關詞條

熱門詞條

聯絡我們