定 價:39 元
叢書名:普通高等教育“十三五”計算機類規(guī)劃教材
- 作者:張劍飛 著
- 出版時間:2018/12/1
- ISBN:9787111610793
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP311.5
- 頁碼:
- 紙張:膠版紙
- 版次:2
- 開本:16開
本書從實用的角度出發(fā),系統(tǒng)地介紹了軟件工程基礎知識,包括傳統(tǒng)的軟件工程和面向對象的軟件工程兩大部分。在傳統(tǒng)的軟件工程部分,按照軟件生存周期的順序介紹各個階段的任務?過程?方法?工具和文檔編寫規(guī)范;在面向對象的軟件工程部分,介紹了面向對象的分析與設計方法以及統(tǒng)一建模語言(UML)的相關知識,同時配有開發(fā)實例和軟件文檔模板。
本書理論與實踐相結合,內容循序漸進?深入淺出?通俗易懂?側重應用。
本書可作為高等院校計算機?通信工程?電子信息工程?自動化等相關專業(yè)軟件工程課程的教材,還可供軟件工程師?軟件項目管理者和應用軟件開發(fā)人員參考。
本書配有免費電子課件,歡迎選用本書作為教材的教師登錄www.cmpedu.com注冊下載。
前言
軟件工程學是指導軟件生產(chǎn)?維護的一門工程科學,從20世紀60年代起迅速發(fā)展,現(xiàn)已經(jīng)成為計算機科學中一個重要分支,它的研究范圍非常廣泛,包括技術?方法?工具和管理等許多方面。
本書從實用角度出發(fā),系統(tǒng)地介紹了軟件工程基礎知識。在傳統(tǒng)的軟件工程部分,按照軟件生存周期的順序,介紹了各個階段的任務?過程?方法?工具和文檔編寫規(guī)范。在面向對象的軟件工程部分,介紹了面向對象的分析與設計方法以及統(tǒng)一建模語言(UML) 的相關知識及實例。
本書盡量用實例來解釋概念,用案例來演繹方法和原理,并選擇典型的軟件工程開發(fā)實例進行剖析,使讀者能夠在牢固掌握理論知識的同時,思考并嘗試解決實際問題。本書文字通俗易懂?概念清晰?深入淺出?實例豐富?實用性強,可作為高等學校計算機?通信工程?電子信息工程?自動化等相關專業(yè)軟件工程課程的教材,還可供軟件工程師?軟件項目管理者和軟件開發(fā)人員參考。
本書的第1~3章由綏化學院周鳳編寫,第4~7章由哈爾濱石油學院鄧春偉編寫,第8~9章由中南林業(yè)科技大學石磊編寫,第10~12?14~15章由黑龍江科技大學張劍飛編寫,第13章由黑龍江科技大學高輝編寫。黑龍江科技大學劉興麗擔任本書主審。
在本書編寫過程中,參考了大量的相關資料,同時得到了各方面有關專家的大力支持和幫助,在此一并感謝。由于時間倉促,水平有限,書中難免有不足之處,敬請讀者不吝賜教。
編 者
目錄
前言
第1章 軟件工程概述1
1.1 軟件1
1.1.1 軟件的概念及特點1
1.1.2 軟件的分類2
1.1.3 軟件危機的原因及解決途徑3
1.2 軟件工程概念4
1.2.1 軟件工程的定義和內容4
1.2.2 軟件工程的基本原理4
1.3 軟件生存周期5
1.4 常用軟件開發(fā)過程模型6
1.4.1 瀑布模型6
1.4.2 快速原型模型7
1.4.3 螺旋模型8
1.4.4 噴泉模型9
1.5 軟件開發(fā)方法簡述9
1.5.1 面向數(shù)據(jù)流的結構化方法9
1.5.2 面向數(shù)據(jù)結構的Jackson方法10
1.5.3 面向對象的方法10
1.6 軟件文檔11
1.6.1 軟件文檔在軟件開發(fā)中的地位和作用11
1.6.2 軟件文檔的種類及寫作要求12
小結14
習題1 14
第2章 可行性研究15
2.1 問題定義15
2.2 可行性研究的任務15
2.3 可行性研究的過程16
2.4 可行性研究階段使用的工具17
2.4.1 系統(tǒng)流程圖17
2.4.2 數(shù)據(jù)流圖19
2.4.3 數(shù)據(jù)字典24
2.5 成本效益分析26
2.6 網(wǎng)上招聘系統(tǒng)可行性研究報告28
小結31
習題2 31
第3章 需求分析32
3.1 需求分析的任務32
3.2 需求分析的過程33
3.3 需求分析階段使用的工具35
3.3.1 實體關系圖35
3.3.2 數(shù)據(jù)規(guī)范化36
3.3.3 層次框圖37
3.3.4 Warnier圖37
3.3.5 描述算法的IPO圖38
3.4 網(wǎng)上招聘系統(tǒng)需求規(guī)格說明書38
小結42
習題3 43
第4章 概要設計44
4.1 軟件設計的目標和任務44
4.1.1 軟件設計的目標44
4.1.2 軟件設計的任務44
4.2 概要設計的過程45
4.3 軟件設計的原理47
4.3.1 模塊化47
4.3.2 抽象48
4.3.3 信息隱蔽49
4.3.4 模塊獨立50
4.4 啟發(fā)規(guī)則52
4.4.1 改進軟件結構提高模塊獨立性52
4.4.2 模塊規(guī)模適中52
4.4.3 適當控制深度?寬度?扇出?扇入52
4.4.4 模塊的作用域應該在控制域之內53
4.4.5 力爭降低模塊接口的復雜程度53
4.4.6 設計單入口單出口的模塊53
4.4.7 模塊功能可預測53
4.5 概要設計階段使用的工具53
4.5.1 層次圖53
4.5.2 HIPO圖54
4.5.3 結構圖55
4.5.4 程序系統(tǒng)結構圖56
4.6 結構化設計方法56
4.6.1 基本概念56
4.6.2 系統(tǒng)結構圖中的模塊57
4.6.3 結構化設計過程58
4.6.4 變換分析58
4.6.5 事務分析61
4.6.6 混合結構分析62
4.7 網(wǎng)上招聘系統(tǒng)概要設計說明書62
小結66
習題4 66
第5章 詳細設計67
5.1 詳細設計的過程67
5.1.1 詳細設計的基本任務67
5.1.2 詳細設計方法68
5.2 詳細設計階段使用的工具68
5.2.1 程序流程圖68
5.2.2 盒圖70
5.2.3 問題分析圖70
5.2.4 判定表與判定樹71
5.2.5 過程設計語言72
5.3 面向數(shù)據(jù)結構的設計方法75
5.3.1 改進的Jackson圖76
5.3.2 Jackson方法76
5.4 網(wǎng)上招聘系統(tǒng)詳細設計說明書79
小結84
習題5 84
第6章 編碼85
6.1 選擇開發(fā)語言85
6.1.1 程序設計語言分類及特點85
6.1.2 選擇的標準87
6.2 軟件編碼的規(guī)范88
6.2.1 程序中的注釋88
6.2.2 數(shù)據(jù)說明88
6.2.3 語句結構89
6.2.4 輸入和輸出90
6.3 網(wǎng)上招聘系統(tǒng)編碼規(guī)范91
小結93
習題6 93
第7章 測試94
7.1 測試的目標和原則94
7.2 測試用例設計95
7.2.1 黑盒測試95
7.2.2 白盒測試98
7.3 測試的步驟100
7.3.1 單元測試100
7.3.2 集成測試102
7.3.3 確認測試104
7.3.4 系統(tǒng)測試105
7.4 常用測試工具及特點105
7.5 軟件測試階段文檔寫作規(guī)范107
7.5.1 測試文檔的類型107
7.5.2 軟件測試過程文檔107
7.6 網(wǎng)上招聘系統(tǒng)客戶端測試文檔110
7.6.1 測試計劃文檔110
7.6.2 測試設計文檔112
小結115
習題7 115
第8章 維護116
8.1 軟件維護的概念及特點116
8.2 軟件的可維護性118
8.3 軟件維護的步驟119
8.4 軟件維護過程文檔寫作規(guī)范121
8.5 用戶手冊的主要內容及寫作要求121
8.6 網(wǎng)上招聘系統(tǒng)維護文檔122
小結123
習題8 123
第9章 面向對象的基本概念及UML 124
9.1 傳統(tǒng)方法學與面向對象方法比較124
9.2 面向對象的基本概念125
9.3 UML概述127
9.3.1 UML的主要特點127
9.3.2 UML的應用領域127
9.4 UML的構成128
9.5 UML的視圖128
9.6 UML的模型元素129
9.6.1 事物129
9.6.2 關系132
9.7 UML的基本準則和圖形表示132
9.7.1 UML的基本準則132
9.7.2 UML的圖形表示133
小結142
習題9 142
第10章 面向對象分析143
10.1 需求分析與用例建模143
10.2 建立對象類靜態(tài)模型145
10.3 建立對象類動態(tài)模型146
10.3.1 交互模型建模146
10.3.2 狀態(tài)模型建模147
10.4 系統(tǒng)體系結構建模148
10.4.1 軟件系統(tǒng)體系結構模型148
10.4.2 硬件系統(tǒng)體系結構模型148
10.4.3 組件圖建模149
10.4.4 配置圖建模150
小結150
習題10 150
第11章 面向對象設計151
11.1 面向對象設計準則151
11.2 啟發(fā)式原則152
11.3 系統(tǒng)分解153
11.4 設計問題域子系統(tǒng)155
11.5 設計人機交互子系統(tǒng)156
11.6 設計任務管理子系統(tǒng)158
11.7 設計數(shù)據(jù)庫管理子系統(tǒng)160
11.8 設計類中的服務161
11.9 設計關聯(lián)162
11.10 設計優(yōu)化164
小結166
習題11 166