買這商品的人也買了...
- 
                
                   $726深入理解計算機系統, 3/e (Computer Systems: A Programmer's Perspective, 3/e) $726深入理解計算機系統, 3/e (Computer Systems: A Programmer's Perspective, 3/e)
- 
                
                   Ansible : 建置與執行, 2/e (Ansible : Up and Running : Automating Configuration Management and Deployment the Easy Way, 2/e) Ansible : 建置與執行, 2/e (Ansible : Up and Running : Automating Configuration Management and Deployment the Easy Way, 2/e)$680$537
- 
                
                   Java 最強入門邁向頂尖高手之路:王者歸來, 2/e (全彩版) Java 最強入門邁向頂尖高手之路:王者歸來, 2/e (全彩版)$1,000$790
- 
                
                   $607Java 程序性能優化實戰 $607Java 程序性能優化實戰
- 
                
                   Excel 函數庫最完整職場商業應用王者歸來 Excel 函數庫最完整職場商業應用王者歸來$620$434
- 
                
                   人工智慧大現場 - 實用篇-35天從入門到完成專案 人工智慧大現場 - 實用篇-35天從入門到完成專案$690$538
- 
                
                   CQRS 命令查詢職責分離模式 (Command Query Responsibility Segregation) CQRS 命令查詢職責分離模式 (Command Query Responsibility Segregation)$500$390
- 
                
                   Power BI 入門 大數據視覺化 + 智慧決策 + 雲端分享 王者歸來 (全彩印刷) Power BI 入門 大數據視覺化 + 智慧決策 + 雲端分享 王者歸來 (全彩印刷)$620$490
- 
                
                   $297CKA/CKAD 應試指南 : 從 Docker 到 Kubernetes 完全攻略 $297CKA/CKAD 應試指南 : 從 Docker 到 Kubernetes 完全攻略
- 
                
                   OpenCV 影像創意邁向 AI 視覺王者歸來 (全彩印刷) OpenCV 影像創意邁向 AI 視覺王者歸來 (全彩印刷)$890$703
- 
                
                   Qt Creator 快速入門, 4/e Qt Creator 快速入門, 4/e$588$559
- 
                
                   $505自然語言處理的 Python 實踐 $505自然語言處理的 Python 實踐
- 
                
                   逆向分析實戰, 2/e 逆向分析實戰, 2/e$599$569
- 
                
                   $356HBase入門與實踐(第2版) $356HBase入門與實踐(第2版)
- 
                
                   $301軟件項目開發實戰 — App 全棧 $301軟件項目開發實戰 — App 全棧
- 
                
                   $454大數據分析師面試筆試寶典 $454大數據分析師面試筆試寶典
- 
                
                   $454HTML5 + Vue.js 3.x 從入門到精通 (視頻教學版) $454HTML5 + Vue.js 3.x 從入門到精通 (視頻教學版)
- 
                
                   $408物聯網鴻蒙系統App開發 $408物聯網鴻蒙系統App開發
- 
                
                   $505深度探索 Flutter — 企業應用開發實戰 $505深度探索 Flutter — 企業應用開發實戰
- 
                
                   $556AR Foundation 增強現實開發實戰 (ARCore版) $556AR Foundation 增強現實開發實戰 (ARCore版)
- 
                
                   $301邊緣計算 $301邊緣計算
- 
                
                   你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書) 你就是不寫測試才會沒時間:Kuma 的單元測試實戰 -- Java篇(iThome鐵人賽系列書)$650$507
- 
                
                   去園區當 ARM 工程師 - 嵌入式 C語言全高度昇華 去園區當 ARM 工程師 - 嵌入式 C語言全高度昇華$1,080$853
- 
                
                   高速建立大型桌面應用 - 全新 Electron 框架現在就動手做 高速建立大型桌面應用 - 全新 Electron 框架現在就動手做$880$695
- 
                
                   Code That Fits in Your Head|軟體工程的啟發式方法 Code That Fits in Your Head|軟體工程的啟發式方法$580$458
商品描述
<內容簡介>
本書自第1版出版至今,30多年來在軟件工程界產生了巨大而深遠的影響。第8版不僅加入了移動應用軟件項目等與時俱進的內容,而且調整了篇章結構,更利於教師針對不同課程進行選擇。同時,第8版全面繼承了之前版本的風格與優勢,全面且系統地講解軟件過程、建模、質量管理、項目管理等基礎知識,涵蓋相關概念、原則、方法和工具,並且提供豐富的輔助閱讀資源和網絡資源,指導有興趣的讀者進行更深入的學習和研究。本書適合作為軟件工程相關專業高年級本科生和研究生教材,也可供軟件專業技術人員和管理人員閱讀參考。
<章節目錄>
譯者序
前言
作者簡介
第1章軟件的本質1 
1.1軟件的本質3 
1.1.1定義軟件3 
1.1.2軟件應用領域4 
1.1.3遺留軟件5 
1.2軟件的變更本質6 
1.2.1 WebApp 6 
1.2.2移動App 7 
1.2.3雲計算7 
1.2.4產品線軟件8 
1.3小結8 
習題與思考題8 
擴展閱讀與信息資源9 
第2章軟件工程10 
2.1定義軟件工程學科11 
2.2軟件過程11 
2.2.1過程框架12 
2.2.2普適性活動12 
2.2.3過程的適應性調整13 
2.3軟件工程實踐13 
2.3.1實踐的精髓14 
2.3.2通用原則14 
2.4軟件開發神話16 
2.5這一切是如何開始的18 
2.6小結19 
習題與思考題19 
擴展閱讀與信息資源19 
第一部分軟件過程
第3章軟件過程結構22 
3.1通用過程模型23 
3.2定義框架活動24 
3.3明確任務集24 
3.4過程模式25 
3.5過程評估與改進27 
3.6小結28 
習題與思考題28 
擴展閱讀與信息資源28 
第4章過程模型29 
4.1慣用過程模型30 
4.1.1瀑布模型30 
4.1.2增量過程模型32 
4.1.3演化過程模型32 
4.1.4並發模型36 
4.1.5演化過程的最終評述37 
4.2專用過程模型38 
4.2.1基於構件的開發38 
4.2.2形式化方法模型39 
4.2.3面向方面的軟件開發39 
4.3統一過程40 
4.3.1統一過程的簡史41 
4.3.2統一過程的階段41 
4.4個人過程模型和團隊過程模型42 
4.4.1個人軟件過程42 
4.4.2團隊軟件過程43 
4.5過程技術44 
4.6產品和過程45 
4.7小結46 
習題與思考題46 
擴展閱讀與信息資源47 
第5章敏捷開發48 
5.1什麼是敏捷49 
5.2敏捷及變更成本50 
5.3什麼是敏捷過程50 
5.3.1敏捷原則51 
5.3.2敏捷開發戰略52 
5.4極限編程52 
5.4.1極限編程過程52 
5.4.2工業極限編程54 
5.5其他敏捷過程模型56 
5.5.1 Scrum 56 
5.5.2動態系統開發方法57 
5.5.3敏捷建模58 
5.5.4敏捷統一過程59 
5.6敏捷過程工具集60 
5.7小結61 
習題與思考題61 
擴展閱讀與信息資源62 
第6章軟件工程的人員方面64 
6.1軟件工程師的特質64 
6.2軟件工程心理學65 
6.3軟件團隊66 
6.4團隊結構67 
6.5敏捷團隊68 
6.5.1通用敏捷團隊68 
6.5.2 XP團隊69 
6.6社交媒體的影響70 
6.7軟件工程中雲的應用71 
6.8協作工具71 
6.9全球化團隊72 
6.10小結73 
習題與思考題73 
擴展閱讀與信息資源74 
第二部分建模
第7章指導實踐的原則76 
7.1軟件工程知識77 
7.2核心原則77 
7.2.1指導過程的原則78 
7.2.2指導實踐的原則78 
7.3指導每個框架活動的原則80 
7.3.1溝通原則80 
7.3.2策劃原則81 
7.3.3建模原則83 
7.3.4構建原則87 
7.3.5部署原則89 
7.4工作實踐90 
7.5小結91 
習題與思考題92 
擴展閱讀與信息資源92 
第8章理解需求94 
8.1需求工程95 
8.2建立根基100 
8.2.1確認利益相關者100 
8.2.2識別多重觀點100 
8.2.3協同合作101 
8.2.4首次提問101 
8.2 .5非功能需求102 
8.2.6可追溯性102 
8.3獲取需求103 
8.3.1協作收集需求103 
8.3.2質量功能部署105 
8.3.3使用場景106 
8.3.4獲取工作產品106 
8.3.5敏捷需求獲取107 
8.3.6面向服務的方法107 
8.4開髮用例107 
8.5構建分析模型111 
8.5.1分析模型的元素112 
8.5.2分析模式114 
8.5.3敏捷需求工程114 
8.5.4自適應系統的需求114 
8.6協商需求115 
8.7需求監控116 
8.8確認需求117 
8.9避免常見錯誤117 
8.10小結118 
習題與思考題118 
擴展閱讀與信息資源119 
第9章需求建模:基於場景的
方法121 
9.1需求分析122 
9.1.1總體目標和原理122 
9.1.2分析的經驗原則123 
9.1.3域分析123 
9.1.4需求建模的方法125 
9.2基於場景建模126 
9.2.1創建初始用例126 
9.2.2細化初始用例128 
9.2.3編寫正式用例129 
9.3補充用例的UML模型131 
9.3.1開發活動圖131 
9.3.2泳道圖132 
9.4小結133 
習題與思考題133 
擴展閱讀與信息資源133 
第10章需求建模:基於類的方法135 
10.1識別分析類135 
10.2描述屬性138 
10.3定義操作138 
10.4類–職責–協作者建模140 
10.5關聯和依賴145 
10.6分析包145 
10.7小結146 
習題與思考題146 
擴展閱讀與信息資源146 
第11章需求建模:行為、模式和Web /移動App 148 
11.1生成行為模型148 
11.2識別用例事件149 
11.3狀態表達149 
11.4需求建模的模式152 
11.4.1發現分析模式152 
11.4.2需求模式舉例:執行器–傳感器153 
11.5 Web /移動App的需求建模156 
11.5.1多少分析才夠用156 
11.5.2需求建模的輸入157 
11.5.3需求建模的輸出157 
11.5.4內容模型158 
11.5.5 WebApp和移動App的交互模型159 
11.5.6功能模型159 
11.5.7 WebApp的配置模型160 
11.5.8導航建模161 
11.6小結161 
習題與思考題162 
擴展閱讀與信息資源162 
第12章設計概念163 
12.1軟件工程中的設計164 
12.2設計過程166 
12.2.1軟件質量指導原則和屬性166 
12.2.2軟件設計的演化168 
12.3設計概念169 
12.3.1抽象169 
12.3.2體系結構169 
12.3.3模式170 
12.3.4關註點分離170 
12.3.5模塊化171 
12.3.6信息隱蔽171 
12.3.7功能獨立172 
12.3.8求精172 
12.3.9方面173 
12.3.10重構173 
12.3.11面向對象的設計概念174 
12.3.12設計類174 
12.3.13依賴倒置176 
12.3.14測試設計177 
12.4設計模型177 
12.4.1數據設計元素178 
12.4.2體系結構設計元素178 
12.4.3接口設計元素179 
12.4.4構件級設計元素180 
12.4 .5部署級設計元素181 
12.5小結181 
習題與思考題182 
擴展閱讀與信息資源183 
第13章體系結構設計184 
13.1軟件體系結構185 
13.1.1什麼是體系結構185 
13.1.2體系結構為什麼重要186 
13.1 .3體系結構描述186 
13.1.4體系結構決策187 
13.2體系結構類型188 
13.3體系結構風格188 
13.3.1體系結構風格的簡單分類189 
13.3.2體系結構模式191 
13.3.3組織和求精192 
13.4體系結構考慮要素192 
13.5體系結構決策194 
13.6體系結構設計194 
13.6.1系統環境的表示195 
13.6.2定義原型195 
13.6.3將體系結構細化為構件196 
13.6.4描述系統實例197 
13.6.5 WebApp的體系結構設計198 
13.6.6移動App的體系結構設計198 
13.7評估候選的體系結構設計199 
13.7.1體系結構描述語言200 
13.7.2體系結構評審201 
13.8經驗學習201 
13.9基於模式的體系結構評審202 
13.10體系結構一致性檢查203 
13.11敏捷性與體系結構203 
13.12小結204 
習題與思考題205 
擴展閱讀與信息資源205 
第14章構件級設計207 
14.1什麼是構件208 
14.1.1面向對象的觀點208 
14.1. 2傳統的觀點209 
14.1.3過程相關的觀點211 
14.2設計基於類的構件212 
14.2.1基本設計原則212 
14.2.2構件級設計指導方針214 
14.2.3內聚性215 
14.2.4耦合性216 
14.3實施構件級設計217 
14.4 WebApp的構件級設計222 
14.4.1構件級內容設計222 
14.4.2構件級功能設計222 
14.5移動App的構件級設計222 
14.6設計傳統構件223 
14.7基於構件的開發223 
14.7.1領域工程223 
14.7.2構件的合格性檢驗、適應性修改與組合224 
14.7.3體系結構不匹配225 
14.7.4復用的分析與設計226 
14.7.5構件的分類與檢索226 
14.8小結227 
習題與思考題228 
擴展閱讀與信息資源228 
第15章用戶界面設計230 
15.1黃金規則231 
15.1.1把控制權交給用戶231 
15.1.2減輕用戶的記憶負擔232 
15.1.3保持界面一致233 
15.2用戶界面的分析和設計234 
15.2.1用戶界面分析和設計模型234 
15.2.2過程235 
15.3界面分析236 
15.3.1用戶分析236 
15.3.2任務分析和建模237 
15.3.3顯示內容分析240 
15.3.4工作環境分析240 
15.4界面設計步驟241 
15.4.1應用界面設計步驟241 
15.4.2用戶界面設計模式243 
15.4.3設計問題243 
15.5 WebApp和移動App的界面設計245 
15.5.1界面設計原則與指導方針245 
15.5. 2 WebApp和移動App的界面設計工作流248 
15.6設計評估249 
15.7小結250 
習題與思考題250 
擴展閱讀與信息資源251 
第16章基於模式的設計253 
16.1設計模式254 
16.1.1模式的種類255 
16.1. 2框架256 
16.1.3描述模式257 
16.1.4模式語言和模式庫258 
16.2基於模式的軟件設計258 
16.2.1不同環境下基於模式的設計258 
16.2.2用模式思考259 
16.2.3設計任務260 
16.2 .4建立模式組織表260 
16.2.5常見設計錯誤261 
16.3體系結構模式262 
16.4構件級設計模式263 
16.5用戶界面設計模式264 
16.6 WebApp設計模式266 
16.6.1設計焦點266 
16.6.2設計粒度266 
16.7移動App模式267 
16.8小結268 
習題與思考題268 
擴展閱讀與信息資源269 
第17章WebApp設計271 
17.1 WebApp設計質量272 
17.2設計目標273 
17.3 WebApp設計金字塔274 
17.4 WebApp界面設計274 
17.5美學設計275 
17.5.1佈局問題276 
17.5.2平面設計問題276 
17.6內容設計277 
17.6.1內容對象277 
17.6.2內容設計問題278 
17.7體系結構設計278 
17.7.1內容體系結構279 
17.7.2 WebApp體系結構280 
17.8導航設計281 
17.8 .1導航語義281 
17.8.2導航語法283 
17.9構件級設計283 
17.10小結283 
習題與思考題284 
擴展閱讀與信息資源284 
第18章移動App設計286 
18.1挑戰287 
18.1.1開發因素287 
18.1.2技術因素288 
18.2開發移動App 289 
18.2.1移動App質量290 
18.2.2用戶界面設計291 
18.2.3環境感知App 292 
18.2.4經驗教訓293 
18.3移動App設計的最佳實踐294 
18.4移動開發環境295 
18.5雲297 
18.6傳統軟件工程的適用性298 
18.7小結298 
習題與思考題299 
擴展閱讀與信息資源299 
第三部分質量管理
第19章質量概念302 
19.1什麼是質量303 
19.2軟件質量304 
19.2.1 Garvin的質量維度304 
19.2.2 McCall的質量因素305 
19.2.3 ISO 9126質量因素306 
19.2.4定向質量因素306 
19.2.5過渡到量化觀點307 
19.3軟件質量困境308 
19.3.1 “足夠好”的軟件308 
19.3.2質量的成本309 
19.3.3風險311 
19.3.4疏忽和責任311 
19.3.5質量和安全312 
19.3.6管理活動的影響312 
19.4實現軟件質量313 
19.4.1軟件工程方法313 
19.4.2項目管理技術313 
19.4.3質量控制313 
19.4.4質量保證313 
19.5小結314 
習題與思考題314 
擴展閱讀與信息資源314 
第20章評審技術316 
20.1軟件缺陷對成本的影響317 
20.2缺陷的放大和消除318 
20.3評審度量及其應用319 
20.3.1分析度量數據320 
20.3.2評審的成本效益320 
20.4評審的正式程度321 
20.5非正式評審322 
20.6正式技術評審323 
20.6.1評審會議324 
20.6.2評審報告和記錄保存324 
20.6.3評審指導原則325 
20.6.4樣本驅動評審326 
20.7產品完成後評估327 
20.8小結327 
習題與思考題327 
擴展閱讀與信息資源328 
第21章軟件質量保證329 
21.1背景問題330 
21.2軟件質量保證的要素330 
21.3軟件質量保證的過程和產品特性332 
21.4軟件質量保證的任務、目標和度量332 
21.4.1軟件質量保證的任務332 
21.4.2目標、屬性和度量333 
21.5軟件質量保證的形式化方法334 
21.6統計軟件質量保證335 
21.6.1一個普通的例子335 
21.6.2軟件工程中的六西格瑪336 
21.7軟件可靠性337 
21.7.1可靠性和可用性的測量337 
21.7.2軟件安全338 
21.8 ISO 9000質量標準339 
21.9軟件質量保證計劃340 
21.10小結341 
習題與思考題341 
擴展閱讀與信息資源341 
第22章軟件測試策略343 
22.1軟件測試的策略性方法344 
22.1.1驗證與確認344 
22.1.2軟件測試組織345 
22.1 .3軟件測試策略——宏觀346 
22.1.4測試完成的標準347 
22.2策略問題348 
22.3傳統軟件的測試策略348 
22.3.1單元測試348 
22.3.2集成測試350 
22.4面向對象軟件的測試策略354 
22.4. 1面向對象環境中的單元測試354 
22.4.2面向對象環境中的集成測試354 
22.5 WebApp的測試策略355 
22.6移動App的測試策略355 
22.7確認測試356 
22.7.1確認測試準則356 
22.7.2配置評審356 
22.7.3 α測試和β測試356 
22.8系統測試358 
22.8.1恢復測試358 
22.8.2安全測試358 
22.8.3壓力測試358 
22.8.4性能測試359 
22.8.5部署測試359 
22.9調試技巧360 
22.9.1調試過程360 
22.9.2心理因素361 
22.9.3調試策略362 
22.9.4糾正錯誤363 
22.10小結363 
習題與思考題364 
擴展閱讀與信息資源364 
第23章測試傳統的應用軟件366 
23.1軟件測試基礎367 
23.2測試的內部視角和外部視角368 
23.3白盒測試369 
23.4基本路徑測試369 
23.4.1流圖表示369 
23.4.2獨立程序路徑371 
23.4.3生成測試用例372 
23.4.4圖矩陣374 
23.5控制結構測試375 
23.6黑盒測試376 
23.6.1基於圖的測試方法376 
23.6.2等價類劃分378 
23.6.3邊界值分析378 
23.6.4正交數組測試379 
23.7基於模型的測試381 
23.8文檔測試和幫助設施測試381 
23.9實時系統的測試382 
23.10軟件測試模式383 
23.11小結384 
習題與思考題384 
擴展閱讀與信息資源385 
第24章測試面向對象的應用386 
24.1擴展測試的視野387 
24.2測試OOA和OOD模型387 
24.2. 1 OOA和OOD模型的正確性388 
24.2.2面向對像模型的一致性388 
24.3面向對象測試策略389 
24.3.1面向對象環境中的單元測試389 
24.3.2面向對象環境中的集成測試390 
24.3.3面向對象環境中的確認測試390 
24.4面向對象測試方法390 
24.4.1面向對象概念的測試用例設計含義391 
24.4.2傳統測試用例設計方法的可應用性391 
24.4.3基於故障的測試391 
24.4.4基於場景的測試設計392 
24.5類級可應用的測試方法392 
24.5.1面向對像類的隨機測試392 
24.5.2類級的劃分測試393 
24.6類間測試用例設計394 
24.6.1多類測試394 
24.6. 2從行為模型導出的測試395 
24.7小結396 
習題與思考題396 
擴展閱讀與信息資源397 
第25章測試WebApp 398 
25.1 WebApp的測試概念398 
25.1.1質量維度399 
25.1.2 WebApp環境中的錯誤399 
25.1 .3測試策略400 
25.1.4測試計劃400 
25.2測試過程概述401 
25.3內容測試402 
25.3.1內容測試的目標402 
25.3.2數據庫測試403 
25.4用戶界面測試404 
25.4.1界面測試策略404 
25.4.2測試界面機制405 
25.4.3測試界面語義406 
25.4.4可用性測試406 
25.4.5兼容性測試408 
25.5構件級測試409 
25.6導航測試409 
25.6.1測試導航語法409 
25.6.2測試導航語義? 410 
25.7配置測試411 
25.7.1服務器端問題411 
25.7.2客戶端問題411 
25.8安全性測試412 
25.9性能測試413 
25.9.1性能測試的目標413 
25.9.2負載測試414 
25.9.3壓力測試414 
25.10小結415 
習題與思考題416 
擴展閱讀與信息資源417 
第26章測試移動App 418 
26.1測試準則419 
26.2測試策略420 
26.2.1傳統方法適用嗎420 
26.2.2對自動化的要求421 
26.2.3建立測試矩陣422 
26.2.4壓力測試422 
26.2.5生產環境中的測試423 
26.3與用戶交互的各種情況424 
26.3.1手語測試425 
26.3.2語音輸入和識別425 
26.3.3虛擬鍵盤輸入425 
26.3.4警報和異常條件426 
26.4跨界測試426 
26.5實時測試問題427 
26.6測試工具和環境427 
26.7小結428 
習題與思考題429 
擴展閱讀與信息資源430 
第27章安全性工程431 
27.1安全性需求分析432 
27.2網絡世界中的安全性與保密性433 
27.2.1社交媒體433 
27.2.2移動App 434 
27.2.3雲計算434 
27.2.4物聯網434 
27.3安全性工程分析434 
27.3.1安全性需求獲取435 
27.3.2安全性建模435 
27.3 .3測度設計436 
27.3.4正確性檢查436 
27.4安全性保證437 
27.4.1安全性保證過程437 
27.4.2組織和管理438 
27.5安全性風險分析438 
27.6傳統軟件工程活動的作用440 
27.7可信性系統驗證441 
27.8小結442 
習題與思考題443 
擴展閱讀與信息資源443 
第28章形式化建模與驗證445 
28.1淨室策略446 
28.2功能規格說明447 
28.2.1黑盒規格說明448 
28.2.2狀態盒規格說明449 
28.2.3清晰盒規格說明449 
28.3淨室設計449 
28.3.1設計細化450 
28.3.2設計驗證450 
28.4淨室測試451 
28.4.1統計使用測試451 
28.4.2認證452 
28.5重新思考形式化方法453 
28.6形式化方法的概念454 
28.7其他爭論457 
28.8小結457 
習題與思考題458 
擴展閱讀與信息資源459 
第29章軟件配置管理460 
29.1軟件配置管理概述461 
29.1.1 SCM場景461 
29.1.2配置管理系統的元素462 
29.1.3基線463 
29.1.4軟件配置項464 
29.1.5依賴性和變更管理464 
29.2 SCM中心存儲庫465 
29.2.1一般特徵和內容465 
29.2.2 SCM特徵466 
29.3 SCM過程466 
29.3.1軟件配置中的對象標識467 
29.3.2版本控制468 
29.3.3變更控制469 
29.3.4影響管理471 
29.3.5配置審核472 
29.3.6狀態報告472 
29.4 WebApp和移動App的配置管理473 
29.4.1主要問題473 
29.4.2配置對象474 
29.4.3內容管理475 
29.4.4變更管理477 
29.4.5版本控制479 
29.4.6審核和報告479 
29.5小結480 
習題與思考題481 
擴展閱讀與信息資源481 
第30章產品度量483 
30.1產品度量框架484 
30.1.1測度、度量和指標484 
30.1.2產品度量的挑戰484 
30.1.3測量原則485 
30.1.4面向目標的軟件測量485 
30.1.5有效軟件度量的屬性486 
30.2需求模型的度量487 
30.2.1基於功能的度量487 
30.2.2規格說明質量的度量490 
30.3設計模型的度量491 
30.3.1體系結構設計的度量491 
30.3.2面向對象設計的度量493 
30.3.3面向類的度量——CK度量集493 
30.3.4面向類的度量——MOOD度量集495 
30.3.5 Lorenz和Kidd提出的面向對象的度量496 
30.3.6構件級設計的度量496 
30.3. 7面向操作的度量496 
30.3.8用戶界面設計的度量497 
30.4 WebApp和移動App的設計度量497 
30.5源代碼的度量499 
30.6測試的度量500 
30.6.1用於測試的Halstead度量500 
30.6.2面向對象測試的度量500 
30.7維護的度量501 
30.8小結502 
習題與思考題503 
擴展閱讀與信息資源503 
第四部分管理軟件項目
第31章項目管理概念506 
31.1管理涉及的範圍507 
31.1.1人員507 
31.1.2產品507 
31.1.3過程508 
31.1.4項目508 
31.2人員508 
31.2.1利益相關者508 
31.2.2團隊負責人509 
31.2.3軟件團隊509 
31.2.4敏捷團隊511 
31.2.5協調和溝通問題512 
31.3產品513 
31.3.1軟件範圍513 
31.3.2問題分解513 
31.4過程514 
31.4.1合併產品和過程514 
31.4.2過程分解515 
31.5項目516 
31.6 W5HH原則516 
31.7關鍵實踐517 
31.8小結518 
習題與思考題518 
擴展閱讀與信息資源519 
第32章過程度量與項目度量521 
32.1過程領域和項目領域中的度量522 
32.1.1過程度量和軟件過程改進522 
32.1.2項目度量524 
32.2軟件測量525 
32.2.1面向規模的度量526 
32.2.2面向功能的度量527 
32.2.3調和代碼行度量和功能點度量527 
32.2.4面向對象的度量528 
32.2.5面向用例的度量529 
32.2.6 WebApp項目的度量530 
32.3軟件質量的度量531 
32.3.1測量質量531 
32.3.2缺陷排除效率532 
32.4在軟件過程中集成度量533 
32.4.1支持軟件度量的論點534 
32.4.2建立基線534 
32.4.3度量收集、計算和評估534 
32.5小型組織的度量535 
32.6制定軟件度量大綱536 
32.7小結537 
習題與思考題537 
擴展閱讀與信息資源538 
第33章軟件項目估算540 
33.1對估算的觀察541 
33.2項目計劃過程542 
33.3軟件範圍和可行性542 
33.4資源543 
33.4.1人力資源544 
33.4.2可複用軟件資源544 
33.4.3環境資源544 
33.5軟件項目估算544 
33.6分解技術545 
33.6.1軟件規模估算545 
33.6.2基於問題的估算546 
33.6. 3基於LOC估算的實例547 
33.6.4基於FP估算的實例548 
33.6.5基於過程的估算549 
33.6.6基於過程估算的實例550 
33.6.7基於用例的估算550 
33.6.8基於用例點估算的實例551 
33.6.9調和不同的估算方法552 
33.7經驗估算模型553 
33.7.1估算模型的結構553 
33.7.2 COCOMOⅡ模型553 
33.7.3軟件方程553 
33.8面向對象項目的估算554 
33.9特殊的估算技術555 
33.9. 1敏捷開發的估算555 
33.9.2 WebApp項目的估算555 
33.10自行開發或購買的決策556 
33.10.1創建決策樹557 
33.10.2外包558 
33.11小結559 
習題與思考題559 
擴展閱讀與信息資源560 
第34章項目進度安排561 
34.1基本概念562 
34.2項目進度安排概述563 
34.2.1基本原則564 
34.2.2人員與工作量之間的關係565 
34.2.3工作量分配566 
34.3為軟件項目定義任務集567 
34.3. 1任務集舉例567 
34.3.2主要任務的細化568 
34.4定義任務網絡568 
34.5進度安排569 
34.5.1時序圖570 
34.5.2跟蹤進度570 
34.5.3跟蹤面向對象項目的進展572 
34.5.4 WebApp和移動App項目的進度安排573 
34.6掙值分析575 
34.7小結576 
習題與思考題577 
擴展閱讀與信息資源578 
第35章風險管理579 
35.1被動風險策略和主動風險策略580 
35.2軟件風險580 
35.3風險識別581 
35.3 .1評估整體項目風險582 
35.3.2風險因素和驅動因子583 
35.4風險預測584 
35.4.1建立風險表584 
35.4.2評估風險影響585 
35.5風險細化587 
35.6風險緩解、監測和管理587 
35.7 RMMM計劃589 
35.8小結590 
習題與思考題590 
擴展閱讀與信息資源591 
第36章維護與再工程593 
36.1軟件維護594 
36.2軟件可支持性595 
36.3再工程596 
36.4業務過程再工程596 
36.4.1業務過程596 
36.4 .2 BPR模型597 
36.5軟件再工程598 
36.5.1軟件再工程過程模型598 
36.5.2軟件再工程活動599 
36.6逆向工程600 
36.6.1理解數據的逆向工程601 
36.6.2理解處理的逆向工程602 
36.6 .3用戶界面的逆向工程602 
36.7重構603 
36.7.1代碼重構603 
36.7.2數據重構604 
36.8正向工程604 
36.8.1客戶/服務器體系結構的正向工程605 
36.8.2面向對象體系結構的正向工程606 
36.9再工程經濟學606 
36.10小結607 
習題與思考題607 
擴展閱讀與信息資源608 
第五部分軟件工程高級課題
第37章軟件過程改進612 
37.1什麼是SPI 613 
37.1.1 SPI的方法613 
37.1.2成熟度模型614 
37.1.3 SPI適合每個人嗎615 
37.2 SPI過程615 
37.2.1評估和差距分析616 
37.2.2教育和培訓617 
37.2.3選擇和合理性判定617 
37.2.4設置/遷移618 
37.2.5評價618 
37.2.6 SPI的風險管理618 
37.3 CMMI 619 
37.4人員CMM 622 
37.5其他SPI框架622 
37.6 SPI的投資收益率624 
37.7 SPI趨勢624 
37.8小結625 
習題與思考題626 
擴展閱讀與信息資源626 
第38章軟件工程的新趨勢627 
38.1技術演變628 
38.2關於純粹工程學科的展望629 
38.3觀察軟件工程的發展趨勢629 
38.4識別“軟趨勢” 630 
38.4.1管理複雜性631 
38.4.2開放世界軟件632 
38.4.3意外需求632 
38.4.4人才技能結合633 
38.4.5軟件構造塊633 
38.4.6對“價值”認識的轉變634 
38.4.7開源634 
38.5技術方向634 
38.5.1過程趨勢634 
38.5 .2巨大的挑戰635 
38.5.3協同開發636 
38.5.4需求工程636 
38.5.5模型驅動的軟件開發637 
38.5.6後現代設計637 
38.5.7測試驅動的開發638 
38.6相關工具的趨勢639 
38.7小結640 
習題與思考題640 
擴展閱讀與信息資源640 
第39章結束語642 
39.1再論軟件的重要性643 
39.2人員及其構造系統的方式643 
39.3表示信息的新模式644 
39.4遠景645 
39.5軟件工程師的責任646 
39.6寫在最後647 
索引648 
在線資源
附錄1 UML簡介
附錄2面向對象概念
附錄3形式化方法
參考文獻

 
    
 
    
 
     
    
 
    
 
     
    
 
    
 
    
 
    