內容簡介
本書從實用的角度出發,通過一個案例項目“新聞發布系統”的開發過程來引領學習過程,進行教學內容的整合。通過引導學生完成一系列工作任務來實現本課程的學習目標,重點培養學生運用所學知識解決實際問題的能力。實現了項目導向、任務驅動、理論與實踐教、學、做一體化。本書注重內容的先進性和系統性,注重實際套用。本書內容包括選擇軟體開發模型,認識統一建模語言,新聞發布系統可行性研究與軟體開發計畫、需求分析與建模、概要設計、詳細設計、編碼的實現、軟體的測試、項目的發布與維護,軟體項目管理等,並都有同步習題。
本書內容適量,難度適中,既可作為高職高專院校計算機類相關專業學生的教材,也可供套用型本科、軟體工程師、軟體項目管理人員和軟體開發人員使用。
圖書目錄
任務1選擇軟體開發模型1
1.1對軟體的認知2
1.1.1軟體的概念和特點2
1.1.2軟體的分類2
1.1.3軟體的發展過程4
1.2對軟體危機的認知5
1.2.1軟體危機的主要表現5
1.2.2軟體危機產生的原因6
1.2.3軟體危機的解決途徑6
1.3對軟體工程的認知6
1.3.1軟體工程的基本概念7
1.3.2軟體工程的目標7
1.3.3軟體工程的發展歷程8
1.3.4軟體工程的原則9
1.3.5軟體工程方法學9
1.3.6軟體工程過程10
1.4對軟體生命周期的認知11
1.4.1軟體生命周期的基本概念11
1.4.2軟體生命周期的八個階段11
1.5對軟體開發模型的認知12
1.5.1瀑布模型12
1.5.2快速原型模型13
1.5.3螺旋模型14
1.5.4增量模型15
1.5.5噴泉模型16
1.5.6基於構件的軟體開發模型17
1.6對計算機輔助軟體工程的認知17
1.7習題19軟體工程與UML項目化實用教程(第2版)任務2認識統一建模語言21
2.1初識UML22
2.1.1UML簡介22
2.1.2UML發展簡史22
2.1.3UML的特點和用途23
2.2UML的表示方法25
2.2.1UML視圖25
2.2.2UML圖25
2.2.3UML模型元素26
2.2.4UML通用機制30
2.3UML靜態建模31
2.3.1用例圖31
2.3.2類圖33
2.3.3對象圖34
2.3.4包圖36
2.3.5組件圖37
2.3.6配置圖38
2.4UML動態建模40
2.4.1狀態圖40
2.4.2活動圖43
2.4.3順序圖47
2.4.4協作圖50
2.5統一過程RUP51
2.6習題53
任務3新聞發布系統可行性研究與軟體開發計畫54
3.1案例——新聞發布系統可行性研究報告55
3.1.1引言55
3.1.2可行性研究的前提55
3.1.3所建議技術可行性研究56
3.1.4經濟可行性分析56
3.1.5社會因素可行性分析56
3.1.6結論57
3.2軟體定義57
3.3項目的可行性研究57
3.3.1可行性研究的任務58
3.3.2可行性研究的步驟60
3.3.3可行性研究的結果60
3.4可行性研究工具——系統流程圖的使用62
3.5制訂軟體開發計畫64
3.6習題65
任務4新聞發布系統需求分析與建模66
4.1案例——新聞發布系統產品需求規格說明67
4.1.1系統說明67
4.1.2功能性需求67
4.1.3非功能性需求72
4.2需求分析任務、步驟和方法74
4.2.1需求獲取74
4.2.2需求建模76
4.2.3需求描述76
4.2.4需求驗證77
4.3面向對象需求分析78
4.3.1基於用例的需求分析方法79
4.3.2繪製業務流程圖81
4.3.3繪製活動圖84
4.3.4繪製實體—關係圖86
4.4結構化分析方法89
4.4.1繪製數據流圖89
4.4.2編制數據字典92
4.5習題96
任務5新聞發布系統概要設計97
5.1案例——新聞發布系統模組設計報告98
5.1.1文檔介紹98
5.1.2模組命名規則98
5.1.3模組設計99
5.2面向對象設計108
5.2.1面向對象設計內容109
5.2.2面向對象設計原則109
5.3新聞發布系統體系結構設計111
5.4開發環境及運行平台的選擇111
5.5新聞發布系統模式設計112
5.5.1MVC設計模式112
5.5.2DAO設計模式114
5.6新聞發布系統類設計115
5.7新聞發布系統包設計116
5.8新聞發布系統接口設計118
5.9新聞發布系統資料庫設計119
5.10新聞發布系統動態結構設計121
5.10.1繪製狀態圖121
5.10.2繪製順序圖123
5.10.3繪製協作圖125
5.11編寫文檔126
5.11.1編制軟體測試計畫126
5.11.2編制軟體概要設計說明127
5.11.3編制資料庫設計說明127
5.12習題128
任務6新聞發布系統詳細設計129
6.1案例——新聞發布系統用戶界面設計報告130
6.1.1應當遵循的界面設計規範130
6.1.2界面設計131
6.2繪製新聞發布系統程式流程圖138
6.2.1程式流程圖基本知識138
6.2.2繪製程式流程圖的方法138
6.3設計數據代碼140
6.4輸入、輸出設計142
6.4.1輸入設計142
6.4.2輸出設計143
6.4.3新聞發布系統部分輸入/輸出數據說明143
6.5用戶界面設計144
6.6數據安全設計148
6.7編寫軟體詳細設計說明並複審149
6.8拓展提高——其他詳細設計工具150
6.9習題153
任務7新聞發布系統編碼的實現155
7.1代碼結構建模——繪製新聞發布系統組件圖156
7.1.1組件圖的用途156
7.1.2組件圖建模技術156
7.1.3新聞發布系統組件圖156
7.2系統物理結構建模——繪製新聞發布系統配置圖157
7.2.1配置圖建模技術158
7.2.2新聞發布系統配置圖158
7.3選擇程式設計語言158
7.3.1程式設計語言的分類159
7.3.2選擇程式設計語言的標準160
7.4熟悉編碼規範,編寫符合要求的代碼162
7.5面向對象程式設計164
7.5.1面向對象程式設計概念164
7.5.2面向對象程式設計準則164
7.6拓展提高——軟體重用165
7.6.1軟體重用的優點與級別166
7.6.2軟體構件的標準規範、組織和檢索166
7.6.3基於構件的軟體開發過程169
7.6.4面向對象軟體重用技術169
7.7習題171
任務8新聞發布系統軟體的測試172
8.1案例——新聞發布系統測試用例設計173
8.1.1測試環境173
8.1.2測試用例173
8.2軟體測試基礎知識177
8.2.1測試的概念、目標和對象177
8.2.2軟體測試的基本原則177
8.2.3軟體測試方法178
8.2.4軟體測試步驟179
8.2.5設計測試方案181
8.3面向對象測試187
8.3.1面向對象語境對測試的影響187
8.3.2面向對象的測試策略188
8.3.3面向對象測試用例設計188
8.4使用軟體測試工具189
8.4.1白盒測試工具189
8.4.2黑盒測試工具190
8.4.3測試管理工具191
8.5軟體調試192
8.5.1軟體調試方法192
8.5.2常用調試策略192
8.6編寫軟體測試分析文檔193
8.7拓展提高——度量程式的複雜性194
8.8習題196
任務9新聞發布系統項目的發布與維護197
9.1案例——新聞發布系統用戶手冊198
9.1.1欄目管理198
9.1.2類別管理199
9.1.3新聞管理200
9.2發布產品201
9.3維護軟體202
9.3.1軟體維護類型202
9.3.2軟體維護方式203
9.3.3軟體維護實施204
9.3.4軟體可維護性度量207
9.3.5軟體維護的副作用208
9.4習題209
任務10軟體項目管理211
10.1軟體項目管理概述212
10.2估算軟體規模213
10.2.1代碼行技術213
10.2.2功能點技術214
10.3使用COCOMO 2模型估算軟體開發工作量215
10.4進度管理217
10.4.1估算開發時間217
10.4.2進度控制218
10.4.3甘特圖219
10.4.4工程網路圖219
10.5人員組織220
10.5.1確定項目組成員220
10.5.2確定項目組組織方式221
10.6軟體質量保證223
10.6.1軟體質量223
10.6.2軟體質量保證措施224
10.7軟體配置管理225
10.8軟體工程的文檔管理227
10.8.1軟體文檔及其使用對象227
10.8.2軟體生存周期各階段文檔的編制228
10.8.3面向對象軟體各種文檔的編制229
10.8.4文檔編制應考慮的因素229
10.9軟體項目管理計畫231
10.10習題233
參考文獻234