軟件工程:實踐者的研究方法 (Software Engineering: A Practitioner's Approach)

軟件工程:實踐者的研究方法 (Software Engineering: A Practitioner's Approach)

作者: 羅傑 S.普萊斯曼 (Roger S.Pressman) 布魯斯 R.馬克西姆 (Bruce R.Maxim)
出版社: 機械工業
出版在: 2016-11-01
ISBN-13: 9787111548973
ISBN-10: 7111548973
裝訂格式: 平裝
總頁數: 665 頁





內容描述


<內容簡介>
本書自第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形式化方法參考文獻




相關書籍

軟體設計模式實用教程

作者 車戰斌 李勇軍 高亮

2016-11-01

設計模式就該這樣學:基於經典框架源碼和真實業務場景

作者 譚勇德(Tom)

2016-11-01

Cocoa Design Patterns (Paperback)

作者 Erik Buck Donald Yacktman

2016-11-01