軟體工程與項目管理(第2版)

軟體工程與項目管理(第2版)

《軟體工程與項目管理(第2版)》是2020年清華大學出版社出版的圖書 ,作者是肖漢、張明慧、張玉、張紅艷,本書講述了可行性研究、需求分析、面向數據流的分析方法、軟體設計基礎、面向數據流的設計方法、程式設計語言和編碼、軟體檢驗和測試方法、軟體維護等。

基本介紹

  • 書名:軟體工程與項目管理(第2版)
  • 作者:肖漢、張明慧、張玉、張紅艷
  • 出版社:清華大學出版社
  • ISBN:9787302559078
內容簡介,圖書目錄,作者簡介,

內容簡介

本書主要介紹軟體開發技術、軟體管理的思想和方法。其主要內容包括可行性研究、需求分析、面向數據流的分析方法、軟體設計基礎、面向數據流的設計方法、程式設計語言和編碼、軟體檢驗和測試方法、軟體維護、面向對象的分析與設計方法、軟體項目管理、軟體工程管理與技術、軟體項目計畫與管理、軟體重用技術、設計模式以及敏捷開發等內容,並特別地在軟體工程開發的每個階段都提供了相應的案例和實訓內容,同時介紹了軟體工程標準化文檔知識,有助於讀者在軟體工程項目的開發上使用工程化標準。

圖書目錄

第1篇軟體工程與軟體過程
第1章軟體工程概述31.1軟體工程學的背景和目的3
1.1.1軟體及其組成3
1.1.2軟體的特點4
1.1.3軟體的分類5
1.1.4軟體的歷史與發展6
1.1.5軟體危機6
1.1.6軟體工程7
1.2軟體開發方法8
1.3案例: 圖書管理系統項目的提出9
1.4實訓: 學生管理系統項目的提出10
小結11
習題11
第2章過程和生命周期的建模12
2.1過程的含義12
2.2軟體過程模型12
2.2.1瀑布模型13
2.2.2漸近式模型15
2.2.3過程的疊代16
2.2.4V模型17
2.2.5原型化模型18
2.3軟體開發標準19
2.3.1國內外標準概述19
2.3.2軟體工程標準的層次19
2.4案例: 圖書管理系統軟體開發計畫21
2.5實訓: 學生管理系統軟體開發計畫24
小結25
習題25第3章可行性研究26
3.1問題定義與任務26
3.2可行性研究的步驟28
3.3系統流程圖29
3.4成本效益分析30
3.5案例: 圖書管理系統可行性研究報告34
3.6實訓: 學生管理系統可行性分析報告40
小結42
習題43
第2篇傳統方法學
第4章需求分析基礎474.1需求分析和規格說明階段的基本概念47
4.2初步需求獲取技術48
4.2.1訪談與問卷調查48
4.2.2跟班作業49
4.2.3組成聯合小組49
4.3需求建模49
4.4需求規格說明書與需求評審50
4.4.1需求規格說明書50
4.4.2需求評審54
4.5案例: 圖書管理系統需求規格說明書55
4.6實訓: 學生管理系統需求規格說明書59
小結60
習題60
第5章面向數據流的分析方法61
5.1結構化分析概述61
5.2數據流圖62
5.2.1數據流圖的基本成分63
5.2.2由外向內畫數據流圖65
5.2.3分層數據流圖65
5.2.4自頂向下畫分層數據流圖67
5.2.5數據流圖的改進69
5.3數據詞典71
5.3.1數據詞典條目類型72
5.3.2數據詞典條目實例73
5.4加工條目75
5.4.1加工的描述75
5.4.2結構化語言75
5.4.3判定表77
5.4.4判定樹79
5.4.5數據詞典的實現79
5.5結構化分析方法小結79
5.6案例: 圖書管理系統數據流圖和數據詞典80
5.7實訓: 學生管理系統數據流圖和數據詞典84
小結84
習題84
第6章軟體設計基礎86
6.1軟體設計概述86
6.1.1軟體設計的任務和步驟86
6.1.2概要設計的基本概念87
6.1.3詳細設計的基本概念87
6.2模組化設計89
6.2.1模組概述90
6.2.2塊間聯繫和塊內聯繫92
6.3結構圖的改進97
6.3.1模組的大小97
6.3.2扇出和扇入97
6.3.3作用範圍和控制範圍98
6.4詳細設計的描述方式100
6.4.1流程圖100
6.4.2盒圖102
6.4.3問題分析圖103
6.4.4IPO圖104
6.4.5過程設計語言104
6.5案例: 圖書管理系統結構圖106
6.6實訓: 學生管理系統結構圖106
小結107
習題107
第7章面向數據流的設計方法108
7.1基本概念和設計過程108
7.2變換分析109
7.3事務分析111
7.4綜合設計112
7.5SD方法小結113
7.6軟體設計文檔113
7.6.1概要設計說明書113
7.6.2詳細設計說明書116
7.7其他設計方法117
7.8案例: 圖書管理系統概要設計說明書119
7.9實訓: 學生管理系統概要設計說明書125
小結127
習題127
第8章程式設計語言和編碼128
8.1程式設計語言128
8.1.1語言類別128
8.1.2語言選擇130
8.2結構化程式設計方法與編程131
8.3程式內部文檔131
8.4編程風格133
8.4.1編碼原則133
8.4.2關於編程風格的幾個重要問題134
8.5程式的效率139
8.6程式設計自動化140
8.7案例: 圖書管理系統詳細設計說明書140
8.8實訓: 學生管理系統詳細設計說明書144
小結145
習題145
第9章檢驗和測試方法146
9.1檢驗的基本概念146
9.1.1概述146
9.1.2軟體檢驗手段147
9.2軟體評審148
9.2.1評審過程148
9.2.2評審條款149
9.3測試的基本概念151
9.4白盒法152
9.4.1概述152
9.4.2語句覆蓋153
9.4.3判定覆蓋153
9.4.4條件覆蓋154
9.4.5判定/條件覆蓋154
9.4.6條件組合覆蓋154
9.5黑盒法155
9.5.1等價分類法156
9.5.2邊緣值分析法158
9.5.3因果圖法159
9.5.4錯誤推測法160
9.6綜合策略161
9.7測試步驟162
9.8單元測試163
9.8.1單元測試概述163
9.8.2單元測試的方法164
9.9聯合測試164
9.10有效性測試167
9.11系統測試168
9.12綜合測試文檔168
9.13案例: 圖書管理系統測試分析報告170
9.14實訓: 學生管理系統測試分析報告174
小結175
習題175
第10章軟體維護176
10.1維護的基本概念176
10.2維護的種類177
10.3維護的步驟與方法178
10.3.1維護步驟178
10.3.2維護方法179
10.4可維護性180
10.4.1決定軟體可維護性的因素180
10.4.2可維護性複審182
10.5維護工作的管理183
10.5.1維護的管理和組織183
10.5.2維護報告184
10.6維護的副作用185
10.7軟體維護文檔186
10.8案例: 圖書管理系統軟體維護手冊189
10.9實訓: 學生管理系統軟體維護手冊193
小結194
習題195
第3篇面向對象方法學
第11章統一建模語言19911.1面向對象方法概述199
11.1.1面向對象方法的特點199
11.1.2面向對象的概念200
11.2UML概述201
11.2.1UML的特點202
11.2.2UML的構成202
11.2.3UML與RUP202
11.3UML的視圖203
11.4UML的模型元素204
11.4.1事物204
11.4.2關係205
11.5UML的模型圖205
11.5.1用例圖205
11.5.2類圖208
11.5.3對象圖212
11.5.4包圖213
11.5.5狀態圖213
11.5.6活動圖214
11.5.7順序圖215
11.5.8協作圖216
11.5.9組件圖217
11.5.10配置圖218
11.6UML的公共機制219
11.6.1注釋219
11.6.2修飾219
11.6.3規格說明219
11.6.4通用劃分219
11.6.5擴展機制220
小結220
習題220
第12章面向對象分析222
12.1需求分析與用例建模222
12.1.1用例建模概述222
12.1.2確定系統的範圍和邊界223
12.1.3確定系統的參與者223
12.1.4確定系統的用例224
12.1.5描述用例224
12.1.6用例分類和用例之間的關係225
12.1.7定義用例圖的層次結構225
12.1.8軟體需求分析規格說明書226
12.2活動圖建模227
12.3系統分析與建模228
12.3.1建立對象類靜態模型228
12.3.2建立對象類動態模型232
12.3.3建立系統功能模型232
12.3.4系統分析規格說明書232
12.4面向對象分析案例233
12.4.1需求與系統功能233
12.4.2創建用例模型234
12.4.3用例描述與活動圖建立238
12.4.4創建對象類靜態模型242
小結245
習題246
第13章面向對象設計247
13.1面向對象設計方法247
13.1.1面向對象設計概述247
13.1.2系統分解247
13.1.3系統設計規格說明書248
13.2對象類動態模型建模250
13.2.1互動模型建模250
13.2.2狀態模型建模253
13.3系統體系結構建模254
13.3.1軟體系統體系結構模型254
13.3.2硬體系統體系結構模型255
13.3.3組件圖建模255
13.3.4配置圖建模257
13.4面向對象設計案例258
13.4.1創建動態模型259
13.4.2創建系統體系結構模型265
小結267
習題267
第14章面向對象軟體開發工具Rational Rose268
14.1Rational Rose簡介268
14.2Rational Rose的安裝、啟動與退出269
14.2.1Rational Rose安裝前的準備工作269
14.2.2Rational Rose的安裝269
14.2.3Rational Rose的啟動與退出274
14.3Rational Rose的界面操作274
14.3.1創建新模型274
14.3.2Rational Rose的主界面276
14.3.3Rational Rose建模281
14.4創建用例圖282
14.4.1打開用例圖視窗282
14.4.2用例圖工具列283
14.4.3添加參與者和用例284
14.4.4設定屬性284
14.4.5添加關係285
14.5創建類圖286
14.5.1類圖編輯視窗286
14.5.2創建類287
14.5.3建立類之間的關係290
14.6創建包圖293
14.6.1創建包293
14.6.2設定包的屬性293
14.6.3在包中添加元素295
14.6.4添加包信息295
14.6.5添加包之間的依賴關係295
14.7創建狀態圖296
14.7.1狀態圖編輯視窗296
14.7.2狀態圖建模297
14.8創建活動圖299
14.8.1活動圖編輯視窗299
14.8.2活動圖建模300
14.9創建順序圖302
14.9.1順序圖編輯視窗302
14.9.2順序圖建模303
14.10創建協作圖306
14.10.1協作圖編輯視窗306
14.10.2協作圖建模307
14.11創建組件圖310
14.11.1組件圖編輯視窗310
14.11.2組件圖建模311
14.12創建配置圖314
14.12.1配置圖編輯視窗314
14.12.2配置圖建模315
14.13Rational Rose的雙向工程317
14.13.1雙向工程概述317
14.13.2正向工程——Java代碼生成318
14.13.3逆向工程——Java模型重建322
14.14資料庫設計建模323
14.14.1設定DBMS323
14.14.2創建資料庫關係模式324
14.14.3生成資料庫代碼330
14.14.4資料庫建模的逆向工程333
小結335
習題336
第4篇軟體項目管理
第15章軟體項目管理概述33915.1項目的定義339
15.2軟體項目340
15.2.1軟體項目失敗的原因340
15.2.2軟體項目管理問題分析341
15.2.3軟體項目成功的標誌342
15.2.4軟體項目科學化管理343
15.3項目管理的定義344
15.3.1項目管理的產生與發展344
15.3.2項目管理在中國的發展344
15.3.3項目管理定義與要素345
15.3.4項目管理研究體系346
15.4項目管理的高級話題346
15.4.1大項目和大項目管理346
15.4.2子項目347
15.4.3項目、項目集、項目組合和組織級項目之間的關係347
小結348
習題348
第16章項目組織349
16.1項目組織結構349
16.2項目管理辦公室351
16.3項目經理352
16.3.1項目經理的定義和職責352
16.3.2項目經理應該具備的技能和素質353
16.3.3怎樣做好項目經理355
16.4項目干係人356
小結357
習題358
第17章項目立項管理359
17.1項目建議書359
17.2項目可行性研究360
17.3項目評估與論證364
17.3.1項目評估364
17.3.2項目論證365
17.4項目招投標366
小結366
習題366
第18章項目過程管理367
18.1項目管理過程組367
18.2項目管理知識體系368
18.3項目整體管理370
18.3.1項目整體管理概況370
18.3.2制訂項目章程372
18.3.3制訂項目管理計畫377
18.3.4指導和管理項目執行380
18.3.5監督和控制項目工作382
18.3.6實施整體變更控制385
18.3.7項目收尾386
18.4項目範圍管理386
18.4.1項目範圍管理概況386
18.4.2項目範圍管理過程388
18.5項目進度管理395
18.5.1項目進度管理概況395
18.5.2項目進度管理過程398
18.6項目成本管理405
18.6.1項目成本管理概況405
18.6.2項目成本管理過程407
18.7項目質量管理412
18.7.1項目質量管理概況412
18.7.2項目質量管理過程414
18.8項目人力資源管理418
18.8.1項目人力資源管理概況418
18.8.2項目人力資源管理過程420
18.9項目溝通管理與項目干係人管理426
18.9.1項目溝通管理概況426
18.9.2項目溝通管理過程428
18.9.3項目干係人管理過程429
18.10項目風險管理430
18.10.1項目風險管理概況430
18.10.2項目風險管理過程433
18.11項目採購管理438
18.11.1項目採購管理概況438
18.11.2項目採購管理過程441
小結444
習題445
第5篇高 級 課 題
第19章軟體重用技術44919.1軟體重用449
19.1.1軟體重用的概念449
19.1.2軟體重用的發展歷史和重用過程449
19.1.3軟體重用的方法和主要實現途徑451
19.2構件技術452
19.2.1構件技術的概念452
19.2.2可重用構件的設計準則452
19.2.3JavaBean構件模型453
19.3域工程454
19.3.1域工程的定義454
19.3.2域分析455
19.3.3域模型456
19.3.4域分析方法456
19.3.5域分析過程框架457
19.3.6域分析過程的UML描述458
19.3.7域設計459
19.3.8域實現459
19.4構件庫的開發459
19.4.1構件庫的基本概念459
19.4.2構件庫設計與實現460
19.5面向對象的軟體重用技術464
19.6軟體可重用性度量465
小結466
習題466
第20章設計模式467
20.1設計模式簡介467
20.2GoF的23種設計模式467
20.2.1創建型設計模式468
20.2.2結構型設計模式471
20.2.3行為型設計模式476
20.2.4非GoF的設計模式481
20.3對設計模式的理解484
20.3.1對面向對象基本原則的領悟484
20.3.2關於一些具體設計模式的討論485
20.3.3設計模式在開發平台中的套用486
20.4設計模式和設計原則487
20.4.1通用職責分配軟體設計模式487
20.4.2比設計模式更重要的設計原則491
20.4.3更高層次的設計原則495
20.5使用設計模式496
20.5.1使用設計模式的方式496
20.5.2項目案例496
小結497
習題497
第21章敏捷開發498
21.1敏捷開發簡介498
21.2極限編程500
21.3極限編程過程中的各個階段503
21.3.1計畫503
21.3.2測試驅動開發505
21.3.3重構508
小結511
習題511
附錄A軟體項目管理過程案例文檔512
A.1項目計畫書512
A.2開發語言決策分析表523
A.3工作量估算表524
A.4需求跟蹤矩陣檢查單525
A.5風險檢查表525
A.6變更申請單531
A.7質量跟蹤評審缺陷表532
A.8集成測試用例533
附錄B軟體工程標準化文檔534
B.1可行性分析(研究)報告535
B.2軟體開發計畫537
B.3軟體需求規格說明書543
B.4軟體測試報告549
參考文獻552

作者簡介

教授,博士,鄭州師範學院高效能計算實驗室主任,軟體工程本科專業帶頭人,河南省教育廳學術技術帶頭人,河南省高等學校青年骨幹教師,河南省地方高校首批中青年骨幹教師,鄭州市科技創新骨幹,鄭州地方高校特聘高層次人才。曾赴美國加州長灘州立大學和紐約州立大學等訪學。近期發表學術論文51篇,其中被SCI、EI等權威檢索機構收錄8篇次。主持和參與完成各級各類教/科研項目38項。獲省部級和市廳級科研成果獎勵41項。主編普通高等教育“十一五”規劃教材和河南省“十二五”普通高等教育規劃教材各1部,獲國家軟體著作權7項。

相關詞條

熱門詞條

聯絡我們