軟件工程案例教程:軟件項目開發(fā)實踐 第3版
定 價:45 元
叢書名:國家示范性軟件學院系列教材
- 作者:韓萬紅 姜立新等
- 出版時間:2017/3/1
- ISBN:9787111559849
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP311.5
- 頁碼:332
- 紙張:膠版紙
- 版次:3
- 開本:16開
本書以一個貫穿始終的軟件項目案例為基礎(chǔ),講解軟件項目開發(fā)中需求分析、概要設(shè)計、詳細設(shè)計、編碼、測試、產(chǎn)品交付以及維護等各個過程中涉及的理論、方法、技術(shù)、交付的產(chǎn)品和文檔等。本書系統(tǒng)、全面、注重實效,可以幫助讀者在短時間內(nèi)掌握軟件項目開發(fā)的基本知識和基本過程,并有效提高實踐能力。本書既適合作為高等院校計算機及相關(guān)專業(yè)軟件工程、軟件測試課程的教材,也適合作為廣大軟件技術(shù)人員的培訓教程或參考書。
前 言本書第1、2版出版后得到了廣大讀者的好評,被眾多高校選為教材,也收獲了很多反饋,其中既有熱情的贊揚,也有很多中肯的建議,在此表示深深的感謝。參考這些建議,同時結(jié)合近年對軟件工程理論新發(fā)展的研究,以及多年的教學經(jīng)驗和項目實踐,我們對第2版進行了全面修訂。第3版的主要更新之處包括:面向軟件工程新技術(shù),總結(jié)了軟件開發(fā)實踐的過程、經(jīng)驗和方法;重新甄選項目案例,并對這些案例進行了精心整理。本書是理論與實踐相結(jié)合的典范,每章都有對應的項目案例展示和分析,并且提供案例文檔。通過對軟件工程中的需求分析、概要設(shè)計、詳細設(shè)計、編碼、測試、產(chǎn)品交付、維護等過程的學習,學生可以掌握軟件開發(fā)的基本流程;同時結(jié)合每章的案例分析,學生可以更加深入地理解軟件開發(fā)實踐過程,在短時間內(nèi)提高軟件開發(fā)技能。
本書是一本系統(tǒng)的、有針對性且有實效性的書籍,對從事軟件項目開發(fā)以及希望學習軟件開發(fā)的人員都有非常好的借鑒作用。
本書由韓萬江、姜立新編著,感謝陸天波、楊金翠、孫藝、孫泉、楊元民、岳鵬、郭士榕等的參與,同時對薛憶非、陳甜、韓新雨、郭捷、錢蘊哲、王鐿臻等的貢獻也一并表示感謝!
由于作者水平有限,書中難免有疏漏之處,誠請各位讀者批評指正,并希望你們將使用本書的體會和遇到的問題告訴我們,以便我們在下一版中進行完善。
韓萬江casey_han@263.net2016年12月于北京
北京郵電大學軟件學院軟件項目管理講師,有著10余年的軟件項目管理開發(fā)經(jīng)歷和各層次軟件項目管理課程的教學經(jīng)驗。編著的《軟件項目管理案例教程》是國內(nèi)普通高校軟件學院和應用型高校軟件項目管理課程的主流教材,前兩版累計印量接近8萬冊,被選為普通高等教育十一五規(guī)劃教材,同時也是教育部-IBM精品課程的指定教材,目前正在申報十二五規(guī)劃教材
目 錄
前言
第1章 軟件工程概述 1
1.1 軟件工程的背景 1
1.2 軟件工程知識體系 3
1.3 軟件工程的三段論 5
1.4 軟件工程模型 6
1.4.1 軟件項目開發(fā)路線圖 8
1.4.2 軟件項目管理路線圖 8
1.4.3 軟件過程改進路線圖 9
1.5 軟件開發(fā)模型 12
1.5.1 瀑布模型 12
1.5.2 V模型 13
1.5.3 原型模型 13
1.5.4 增量式模型 14
1.5.5 噴泉模型 14
1.5.6 智能模型 14
1.5.7 敏捷生存期模型 14
1.6 軟件工程中的復用原則 22
1.7 小結(jié) 24
1.8 練習題 24
第2章 軟件工程方法學 26
2.1 軟件工程方法比較 26
2.2 結(jié)構(gòu)化軟件工程方法 27
2.2.1 結(jié)構(gòu)化需求分析 28
2.2.2 結(jié)構(gòu)化設(shè)計 28
2.2.3 結(jié)構(gòu)化編碼 29
2.2.4 結(jié)構(gòu)化測試 29
2.2.5 結(jié)構(gòu)化維護 29
2.3 面向?qū)ο筌浖こ谭椒? 29
2.3.1 面向?qū)ο蠓治? 30
2.3.2 面向?qū)ο笤O(shè)計 31
2.3.3 面向?qū)ο缶幊? 31
2.3.4 面向?qū)ο鬁y試 31
2.3.5 面向?qū)ο缶S護 31
2.3.6 面向?qū)ο蠼9ぞ遀ML 32
2.4 面向構(gòu)件軟件工程方法 34
2.5 面向代理軟件工程方法 35
2.6 軟件工程方法總結(jié) 36
2.7 軟件逆向工程 36
2.8 基于容器技術(shù)的軟件工程化管理 37
2.9 項目案例說明 38
2.10 小結(jié) 38
2.11 練習題 38
第3章 軟件項目的需求分析 40
3.1 軟件項目需求概述 40
3.1.1 需求定義 40
3.1.2 需求類型 41
3.1.3 需求的重要性 42
3.2 需求工程 42
3.2.1 需求獲取 43
3.2.2 需求分析 45
3.2.3 需求規(guī)格說明編寫 46
3.2.4 需求驗證 47
3.2.5 需求變更 47
3.3 結(jié)構(gòu)化需求分析方法 48
3.3.1 數(shù)據(jù)流圖方法 49
3.3.2 系統(tǒng)流程圖 50
3.3.3 實體關(guān)系圖 50
3.4 面向?qū)ο笮枨蠓治龇椒? 52
3.4.1 UML需求建模圖示 53
3.4.2 UML需求建模過程 56
3.5 其他需求建模方法 65
3.6 原型設(shè)計工具 66
3.6.1 Axure RP 66
3.6.2 Balsamiq Mockups 67
3.6.3 Prototype Composer 67
3.6.4 GUI Design Studio 67
3.7 需求規(guī)格說明文檔 67
3.8 項目案例分析 70
3.9 小結(jié) 72
3.10 練習題 73
第4章 軟件項目的概要設(shè)計 75
4.1 軟件設(shè)計簡介 75
4.1.1 軟件設(shè)計的定義 75
4.1.2 概要設(shè)計的定義 76
4.2 體系結(jié)構(gòu)設(shè)計 76
4.2.1 H/T體系結(jié)構(gòu) 77
4.2.2 C/S體系結(jié)構(gòu) 78
4.2.3 B/S體系結(jié)構(gòu) 78
4.2.4 多層體系結(jié)構(gòu) 80
4.2.5 面向服務的體系結(jié)構(gòu) 84
4.2.6 面向工作流引擎 85
4.2.7 云架構(gòu) 88
4.2.8 應用程序框架結(jié)構(gòu) 90
4.3 模塊(構(gòu)件)設(shè)計 94
4.3.1 模塊分解 94
4.3.2 耦合度 95
4.3.3 內(nèi)聚度 96
4.4 數(shù)據(jù)模型設(shè)計 98
4.4.1 數(shù)據(jù)庫設(shè)計 99
4.4.2 文件設(shè)計 106
4.5 接口設(shè)計 107
4.5.1 用戶界面設(shè)計 107
4.5.2 外部接口和內(nèi)部接口設(shè)計 109
4.6 結(jié)構(gòu)化設(shè)計方法 109
4.6.1 變換流與事務流 110
4.6.2 功能模塊劃分 111
4.6.3 數(shù)據(jù)流映射為結(jié)構(gòu)圖 113
4.6.4 輸入/輸出設(shè)計 113
4.7 面向?qū)ο蟮脑O(shè)計方法 114
4.7.1 UML的設(shè)計圖示 116
4.7.2 識別對象類 121
4.7.3 確定屬性 121
4.7.4 定義對象的操作 122
4.7.5 確定對象之間的通信 122
4.7.6 完成對象類的定義 122
4.8 軟件設(shè)計指導原則 128
4.9 概要設(shè)計文檔標準 129
4.10 項目案例分析 131
4.10.1 體系結(jié)構(gòu) 131
4.10.2 模塊設(shè)計 132
4.10.3 數(shù)據(jù)庫設(shè)計 133
4.10.4 界面設(shè)計 135
4.11 小結(jié) 135
4.12 練習題 135
第5章 軟件項目的詳細設(shè)計 138
5.1 詳細設(shè)計的概念 138
5.2 詳細設(shè)計的內(nèi)容 138
5.3 結(jié)構(gòu)化詳細設(shè)計方法 139
5.3.1 詳細設(shè)計工具 139
5.3.2 JSD方法 145
5.3.3 Warnier方法 147
5.3.4 結(jié)構(gòu)化詳細設(shè)計的例子 148
5.4 面向?qū)ο笤敿氃O(shè)計方法 150
5.4.1 詳細設(shè)計工具 150
5.4.2 詳細設(shè)計步驟 151
5.4.3 面向?qū)ο笤敿氃O(shè)計的例子 152
5.5 詳細設(shè)計文檔 154
5.6 項目案例分析 155
項目詳細設(shè)計簡介 155
5.7 小結(jié) 163
5.8 練習題 163
第6章 軟件項目的編碼 165
6.1 編碼概述 165
6.2 編碼方法 165
6.2.1 結(jié)構(gòu)化編程 166
6.2.2 面向?qū)ο缶幊? 170
6.2.3 面向組件編程 172
6.3 編碼策略 172
6.3.1 自頂向下的開發(fā)策略 172
6.3.2 自底向上的開發(fā)策略 173
6.3.3 自頂向下和自底向上相結(jié)合的開發(fā)策略 173
6.3.4 線程模式的開發(fā)策略 173
6.4 McCabe程序復雜度 173
6.5 編碼語言、編碼規(guī)范和編碼文檔 174
6.5.1 編碼語言 174
6.5.2 編碼標準和規(guī)范 175
6.5.3 編碼文檔 180
6.6 重構(gòu)理念和重用原則 180
6.6.1 重構(gòu)理念 180
6.6.2 重用原則 181
6.7 項目案例分析 182
6.7.1 項目開發(fā)環(huán)境的建立 182
6.7.2 編碼標準和規(guī)范 182
6.7.3 代碼說明 205
6.8 小結(jié) 211
6.9 練習題 212
第7章 軟件項目的測試 213
7.1 軟件測試概述 213
7.1.1 什么是軟件測試 213
7.1.2 軟件測試技術(shù)綜述 214
7.2 靜態(tài)測試