軟體工程

2011年中國鐵道出版社出版圖書

《軟體工程》是2011年中國鐵道出版社出版的圖書,作者是陳明,此書的主要特點體現在其內容系統、語言精練、概念準確。本書適合作為高等學校軟體工程課程的教材,也可作為從事軟體工程人員的參考書。

內容簡介


本書是計算機專業核心課程軟體工程的教材,主要內容包括:軟體工程概述、軟體項目分析、需求分析、概要設計、詳細設計、面向對象的分析與設計方法、用戶界面設計、編碼、軟體質量與質量保證、項目計劃與管理、軟體維護、軟體開發工具與環境概述、軟體建模等。

圖書目錄


第1章 軟體工程概述 1
1.1 軟體 1
1.1.1 軟體的發展 2
1.1.2 軟體的定義 3
1.1.3 軟體的特點 3
1.1.4 軟體的分類 5
1.2 軟體工程的內容與方法 7
1.2.1 軟體危機與軟體工程的定義 7
1.2.2 軟體工程的基本內容與目標 9
1.2.3 軟體的基本開發方法 10
1.2.4 軟體工程的基本原則 10
1.2.5 軟體工具與環境 11
1.3 軟體生存周期與軟體開發模型 11
1.3.1 軟體生存周期 11
1.3.2 軟體開發模型 13
1.4 軟體工程學的知識體系 21
小結 22
習題 22
第2章 軟體項目分析 23
2.1 可行性研究的任務 23
2.2 可行性研究的步驟 24
2.3 可行性研究的要素 26
2.3.1 經濟可行性 26
2.3.2 技術可行性 26
2.3.3 社會環境 27
2.4 系統流程圖 27
2.5 成本-效益分析 29
2.5.1 成本估計 29
2.5.2 費用估算 30
2.5.3 度量效益的方法 31
小結 32
習題 32
第3章 軟體需求工程 33
3.1 概述 34
3.1.1 軟體需求分類 35
3.1.2 需求規格說明 36
3.1.3 需求工程概念 37
3.1.4 需求工程過程 37
3.2 需求獲取方法 38
3.3 需求分析的任務與原則 40
3.3.1 需求分析的任務 40
3.3.2 需求分析的原則 41
3.4 需求建模方法 41
3.4.1 結構化需求建模方法 42
3.4.2 數據流圖 44
3.4.3 數據字典 51
3.5 需求分析圖形工具 55
3.5.1 層次方框圖 56
3.5.2 Warnier圖 56
3.5.3 IPO圖 57
3.6 需求驗證 57
3.6.1 目的與任務 57
3.6.2 內容與方法 58
3.6.3 需求評審 59
3.7 需求管理 60
3.7.1 需求管理的目標 60
3.7.2 需求管理的原則 60
3.7.3 需求開發的管理 61
3.7.4 需求管理活動 62
小結 64
習題 64
第4章 概要設計 65
4.1 軟體體系結構 66
4.1.1 概述 66
4.1.2 系統構成 68
4.1.3 控制模型 71
4.1.4 模塊化分解 74
4.1.5 領域相關的體系結構 76
4.2 概要設計任務與步驟 78
4.2.1 概要設計任務 78
4.2.2 概要設計過程 79
4.3 軟體設計的基本概念 80
4.3.1 模塊化與模塊獨立性 80
4.3.2 抽象 85
4.3.3 結構設計原則 87
4.3.4 軟體復用 90
4.3.5 設計模式 93
4.4 面向數據流的設計方法 95
4.4.1 基本概念 95
4.4.2 系統結構圖的組成 96
4.4.3 變換分析 98
4.4.4 事務分析 102
4.4.5 設計優化 103
4.5 面向數據結構的分析設計方法 104
4.5.1 Jackson系統開發方法 104
4.5.2 Warnier方法 113
4.6 概要設計文檔評審 114
小結 115
習題 115
第5章 詳細設計 116
5.1 詳細設計的任務與原則 117
5.1.1 詳細設計的任務 117
5.1.2 詳細設計的原則 117
5.2 詳細設計工具 118
5.2.1 程序流程圖 118
5.2.2 N-S圖 119
5.2.3 PAD圖 121
5.2.4 PDL 122
5.2.5 HIPO圖 124
5.2.6 詳細設計工具的選擇 125
5.3 詳細設計規格說明與複審 126
5.3.1 詳細設計說明書 126
5.3.2 設計複審 127
小結 127
習題 128
第6章 面向對象設計 129
6.1 面向對象方法 130
6.1.1 面向對象方法概述 130
6.1.2 面向對象軟體工程 131
6.1.3 面向對象的基本概念和特徵 135
6.2 面向對象分析 142
6.2.1 面向對象分析過程與原則 142
6.2.2 確定對象與類 146
6.2.3 確定屬性 149
6.2.4 定義服務 149
6.2.5 對象間通信 153
6.3 面向對象設計的概念和方法 158
6.3.1 面向對象設計的概念 159
6.3.2 面向對象設計的方法 160
小結 163
習題 163
第7章 用戶界面設計 164
7.1 用戶界面的主要特徵 165
7.1.1 用戶界面的質量特徵 165
7.1.2 用戶界面的圖形特徵 165
7.1.3 用戶界面的優點 166
7.2 設計原則 166
7.3 用戶交互 168
7.3.1 用戶交互類型 168
7.3.2 交互類型的比較 168
7.4 信息表示 169
7.4.1 用戶界面的信息表示方法 169
7.4.2 用戶界面的信息表示形式 170
7.5 幫助系統 171
7.6 界面設計 173
7.6.1 數據輸入界面設計 173
7.6.2 數據顯示界面設計 174
7.6.3 控制界面設計 174
7.7 界面設計評價 174
7.7.1 界面設計評價指標 174
7.7.2 界面設計評價方法 175
小結 176
習題 176
第8章 編碼 177
8.1 程序設計語言 178
8.1.1 程序設計語言的分類 178
8.1.2 程序設計語言的特點 180
8.1.3 程序設計語言的選擇 182
8.2 編碼風格 184
8.2.1 源程序文檔化 184
8.2.2 數據說明 186
8.2.3 語句結構 186
8.2.4 輸入/輸出 189
8.3 程序效率 189
8.3.1 程序效率準則 190
8.3.2 演演算法對效率的影響 190
8.3.3 影響存儲器效率的因素 190
8.3.4 影響輸入/輸出效率的因素 190
8.4 編程安全 191
8.4.1 冗餘程序設計 191
8.4.2 防錯程序設計 192
8.5 面向對象程序設計步驟 193
8.6 編碼優化 193
8.6.1 優化的內容與原則 193
8.6.2 程序結構優化 194
8.6.3 程序代碼優化 195
小結 195
習題 195
第9章 軟體質量與軟體測試 196
9.1 軟體質量 197
9.1.1 軟體質量定義 197
9.1.2 影響軟體質量的因素 197
9.1.3 軟體質量保證策略 198
9.1.4 軟體質量保證活動 199
9.1.5 軟體質量保證標準 200
9.2 軟體評審 201
9.2.1 設計質量評審內容 202
9.2.2 程序質量評審內容 206
9.3 結構化程序測試 208
9.3.1 軟體測試目的 209
9.3.2 軟體測試原則 209
9.3.3 軟體測試對象 210
9.3.4 軟體測試過程 210
9.3.5 軟體測試技術 211
9.3.6 設計測試方案 212
9.3.7 軟體測試步驟 214
9.3.8 軟體糾錯技術 219
9.4 面向對象軟體測試 220
9.4.1 面向對象分析和設計模型測試 220
9.4.2 面向對象測試策略 222
9.4.3 面向對象軟體測試集設計 223
9.5 測試計劃與測試分析報告 225
小結 227
習題 227
第10章 軟體交付與維護 228
10.1 軟體發布與部署 228
10.1.1 軟體產品發布 229
10.1.2 軟體產品實施 229
10.2 軟體演化的特徵 230
10.2.1 大型程序演化的動態特徵 230
10.2.2 軟體體系結構的進化 231
10.3 軟體維護 231
10.3.1 軟體維護分類與特點 232
10.3.2 軟體維護步驟 234
10.3.3 軟體的可維護性 237
10.3.4 軟體維護的副作用 238
10.4 逆向工程和再生工程 239
小結 240
習題 240
第11章 項目計劃與管理 242
11.1 軟體項目特點及軟體管理功能 243
11.1.1 軟體項目的特點 243
11.1.2 軟體管理的功能 243
11.1.3 軟體項目的工作範圍 244
11.2 軟體項目的資源 244
11.2.1 人力資源 244
11.2.2 硬體資源 245
11.2.3 軟體資源 245
11.3 人員的計劃和組織 246
11.4 成本估計及控制 247
11.4.1 軟體開發成本估計方法 247
11.4.2 專家估演演算法 247
11.4.3 成本估算模型 248
11.5 進度計劃 251
11.5.1 各階段工作量的分配 251
11.5.2 制定開發進度計劃 251
11.6 軟體配置管理 252
11.6.1 基線 252
11.6.2 軟體配置項 253
11.6.3 軟體配置管理過程 255
11.7 軟體管理方案 258
11.8 軟體能力成熟度模型 259
11.8.1 軟體過程評估的必要性 259
11.8.2 能力成熟度模型的主要用途 260
11.8.3 能力成熟度模型中的概念 261
11.8.4 軟體能力成熟度的等級 263
11.8.5 能力成熟度模型的內部結構 266
11.8.6 能力成熟度模型的應用 268
小結 270
習題 270
第12章 軟體建模及其工具 271
12.1 模型概述 271
12.1.1 模型的定義 271
12.1.2 模型的分類 272
12.2 軟體建模中最常用的模型 272
12.2.1 業務模型 272
12.2.2 功能模型 272
12.2.3 數據模型 273
12.3 需求建模 273
12.4 統一建模語言(UML) 274
12.4.1 UML概述 274
12.4.2 UML表示法 280
12.4.3 UML軟體開發過程概述 291
小結 294
習題 294
第13章 軟體開發工具與環境 295
13.1 軟體開發工具概述 295
13.2 軟體開發工具的功能 296
13.3 軟體開發工具的特性 297
13.4 軟體開發工具的分類 298
13.5 軟體開發環境 300
13.6 常用開發環境 301
13.6.1 Windows開發環境 301
13.6.2 Linux開發環境 305
13.6.3 UNIX開發環境 309
13.7 軟體開發工具的發展 313
13.8 CASE技術 314
小結 316
習題 316
附錄A 可行性研究報告規範 317
附錄B 項目開發計劃規範 322
附錄C 需求規格說明書規範 325
附錄D 概要設計說明書規範 330
附錄E 詳細設計說明書規範 333
附錄F 測試計劃 336
附錄G 測試分析報告 339
附錄H 項目開發總結報告規範 341
參考文獻 343