本教材系統(tǒng)地講述了軟件工程的基本概念、原理、方法,并介紹了一個實際項目——高校圖書管理系統(tǒng)的分析與設(shè)計過程,突出“教、學(xué)、練、用”一體化,較全面地反映了軟件工程技術(shù)的全貌。全書共分10章,第1章是軟件工程基礎(chǔ),第2章至第6章分別為可行性研究、需求分析、概要設(shè)計、詳細(xì)設(shè)計、軟件實現(xiàn)與維護(hù),第7章介紹軟件項目管理的基礎(chǔ)知識,第8章、第9章分別講述面向?qū)ο蠓椒▽W(xué)基礎(chǔ)和狀態(tài)圖。第10章結(jié)合實際項目講述了面向?qū)ο蠓椒ǚ治雠c軟件設(shè)計的全過程,不僅對讀者深入理解軟件工程學(xué)具有較大的幫助,也是實踐教學(xué)的良好素材。本教材可作為高等應(yīng)用型學(xué)校計算機、軟件工程、信息類及管理類等專業(yè)相關(guān)課程的教材,也可供有一定實際經(jīng)驗的軟件開發(fā)人員閱讀參考。
寇愛軍,男,漢族,中共黨員,湖州學(xué)院計算機專任教師,高級工程師,自2009年參加工作以來,負(fù)責(zé)或參與近20個軟件項目研發(fā)工作,經(jīng)常為相關(guān)企事業(yè)單位提供軟件開發(fā)指導(dǎo)、軟件培訓(xùn)工作,具有豐富的軟件工程教學(xué)與實踐經(jīng)驗。主持教育部產(chǎn)學(xué)研項目3項,參與國家、省部級、市廳級科研、教改課題近10項。在教學(xué)方面,注重理論聯(lián)系實際,課堂氛圍活躍,深得學(xué)生喜愛
第1章 軟件工程基礎(chǔ) 1
1.1 軟件危機 1
1.1.1 有關(guān)軟件危機的介紹 1
1.1.2 原因與解決方法 2
1.2 軟件工程 3
1.2.1 定義和目標(biāo) 3
1.2.2 相關(guān)原理 4
1.2.3 軟件工程的進(jìn)步史 4
1.3 軟件過程與軟件生存周期 5
1.3.1 軟件過程 5
1.3.2 軟件生存周期 5
1.4 軟件生存周期模型 8
1.4.1 瀑布模型 8
1.4.2 快速原型模型 9
1.4.3 增量模型 10
1.4.4 螺旋模型 10
1.4.5 噴泉模型 11
1.4.6 面向?qū)ο箝_發(fā)模型 12
1.4.7 如何選定開發(fā)模型 12
習(xí)題1 13
第2章 可行性研究 14
2.1 目標(biāo)與任務(wù) 14
2.2 研究過程 15
2.3 軟件立項、合同和任務(wù)書 16
2.3.1 立項 16
2.3.2 簽訂合同 16
2.3.3 任務(wù)下達(dá) 17
2.4 系統(tǒng)流程圖 17
2.4.1 主要用途 17
2.4.2 相關(guān)符號 17
2.5 軟件的經(jīng)濟(jì)效益分析 18
2.5.1 關(guān)于貨幣的時間價值 19
2.5.2 投資回收期 19
2.5.3 純利潤 20
習(xí)題2 20
第3章 需求分析 21
3.1 需求分析的任務(wù)與步驟 21
3.1.1 需求分析的任務(wù) 21
3.1.2 需求分析的步驟 23
3.2 用戶需求的獲取方法 24
3.2.1 常用方法 24
3.2.2 快速建立軟件原型模型來獲取需求 25
3.3 需求分析的常用方法 26
3.4 結(jié)構(gòu)化分析 26
3.4.1 結(jié)構(gòu)化分析方法 27
3.4.2 面向結(jié)構(gòu)化分析的建模工具 27
3.4.3 數(shù)據(jù)流圖 28
3.4.4 數(shù)據(jù)流圖實例 30
3.4.5 數(shù)據(jù)字典 32
3.4.6 處理過程描繪 34
3.4.7 狀態(tài)轉(zhuǎn)換圖 37
3.5 其他工具 38
3.5.1 層次方框圖 38
3.5.2 維納圖 38
3.5.3 IPO圖 39
習(xí)題3 40
第4章 概要設(shè)計 41
4.1 概要設(shè)計階段的目標(biāo)與任務(wù) 41
4.2 概要設(shè)計階段的啟發(fā)規(guī)則 42
4.2.1 軟件結(jié)構(gòu)設(shè)計的準(zhǔn)則 42
4.2.2 軟件模塊設(shè)計的準(zhǔn)則 42
4.3 軟件設(shè)計的基礎(chǔ) 43
4.3.1 模塊化 43
4.3.2 抽象 44
4.3.3 逐步求精 44
4.3.4 局部化和信息隱藏 45
4.3.5 模塊獨立性 45
4.4 軟件設(shè)計工具 47
4.4.1 軟件層次圖 47
4.4.2 HIPO圖 47
4.4.3 軟件結(jié)構(gòu)圖 48
4.5 結(jié)構(gòu)化的設(shè)計方法 48
4.5.1 數(shù)據(jù)流圖分類 49
4.5.2 軟件結(jié)構(gòu)化設(shè)計方法的步驟 50
4.5.3 變換型分析設(shè)計 50
4.5.4 面向事務(wù)型數(shù)據(jù)流圖的設(shè)計 52
4.5.5 綜合分析設(shè)計 53
習(xí)題4 58
第5章 詳細(xì)設(shè)計 59
5.1 詳細(xì)設(shè)計階段的目標(biāo)與任務(wù) 59
5.2 結(jié)構(gòu)化程序設(shè)計介紹 59
5.3 詳細(xì)設(shè)計工具 60
5.3.1 程序流程圖 60
5.3.2 N-S圖 61
5.3.3 問題分析圖 62
5.3.4 過程設(shè)計語言 64
5.4 用戶界面設(shè)計 64
5.4.1 用戶的界面需求 65
5.4.2 用戶界面設(shè)計問題 65
5.4.3 用戶界面設(shè)計原則 66
5.4.4 設(shè)計界面的過程 66
習(xí)題5 67
第6章 軟件實現(xiàn)與維護(hù) 68
6.1 編碼 68
6.1.1 編程語言的選擇 68
6.1.2 編碼的規(guī)范 69
6.2 測試基礎(chǔ) 70
6.2.1 軟件測試的目標(biāo) 70
6.2.2 軟件測試的原則 70
6.2.3 軟件測試的方法 71
6.2.4 軟件測試的步驟 71
6.2.5 軟件測試的信息流 72
6.3 單元測試 73
6.3.1 單元測試的內(nèi)容 73
6.3.2 代碼審查 74
6.4 軟件集成測試 75
6.5 驗收測試 76
6.5.1 確認(rèn)測試的要求 76
6.5.2 軟件配置的復(fù)查 77
6.5.3 Alpha測試與Beta測試 77
6.6 軟件的測試方法 77
6.6.1 黑盒測試 77
6.6.2 白盒測試 79
6.7 軟件維護(hù) 82
6.7.1 軟件維護(hù)概述 82
6.7.2 軟件維護(hù)過程 83
6.8 軟件維護(hù)中存在的問題 84
6.8.1 軟件維護(hù)存在的困難 84
6.8.2 軟件維護(hù)的弊端 84
習(xí)題6 85
第7章 軟件項目管理 86
7.1 軟件項目管理概述 86
7.1.1 軟件項目管理概念 86
7.1.2 軟件項目管理職能 86
7.2 項目組織管理 87
7.2.1 軟件開發(fā)項目啟動及任務(wù) 87
7.2.2 軟件開發(fā)組織管理 88
7.3 人員組織 89
7.3.1 民主制程序員組 89
7.3.2 現(xiàn)代程序員組 89
7.4 質(zhì)量管理 90
7.4.1 軟件質(zhì)量 90
7.4.2 質(zhì)量管理的原則 91
7.4.3 軟件質(zhì)量的管理方法 91
7.4.4 軟件項目的配置管理 92
7.5 軟件的評審與驗收 93
7.5.1 評審 93
7.5.2 驗收 94
習(xí)題7 95
第8章 面向?qū)ο蠓椒▽W(xué)基礎(chǔ) 96
8.1 概述 96
8.2 面向?qū)ο蟮能浖こ?97
8.2.1 相關(guān)概念 97
8.2.2 面向?qū)ο蟮膶哟位O(shè)計技術(shù) 99
8.2.3 類與對象的關(guān)系的分析 99
8.3 關(guān)于UML 102
8.3.1 UML概述 102
8.3.2 UML圖 102
8.4 用例圖概述 104
8.4.1 用例圖的構(gòu)成 104
8.4.2 泛化 108
8.5 類圖與包圖概述 116
8.5.1 類圖 117
8.5.2 包圖 121
8.6 順序圖概述 125
8.6.1 生命線與對象 126
8.6.2 消息 126
8.6.3 順序圖的創(chuàng)建 127
8.7 通信圖概述 130
8.7.1 通信圖的組成 130
8.7.2 創(chuàng)建對象 133
8.7.3 迭代 133
8.7.4 順序圖和通信圖 134
習(xí)題8 137
第9章 狀態(tài)圖 138
9.1 狀態(tài)圖基礎(chǔ)知識 138
9.2 相關(guān)符號 139
9.2.1 狀態(tài)標(biāo)記符 139
9.2.2 轉(zhuǎn)移 139
9.2.3 決策點 141
9.2.4 同步 142
9.3 狀態(tài)圖中的動作與事件 142
9.4 組成狀態(tài) 143
9.4.1 順序子狀態(tài) 143
9.4.2 并發(fā)子狀態(tài) 144
9.4.3 子狀態(tài)機的引用狀態(tài) 144
9.4.4 同步狀態(tài) 146
9.5 狀態(tài)圖模型的創(chuàng)建步驟 146
9.5.1 狀態(tài)圖分析 146
9.5.2 狀態(tài)圖的實現(xiàn) 147
習(xí)題9 147
第10章 高校圖書管理系統(tǒng)的分析與設(shè)計 148
10.1 系統(tǒng)需求 148
10.2 系統(tǒng)需求分析 149
10.2.1 如何識別參與者與用例 149
10.2.2 用例描述 151
10.3 靜態(tài)的結(jié)構(gòu)模型 154
10.3.1 定義系統(tǒng)中的對象和類 154
10.3.2 對用戶界面類進(jìn)行定義 159
10.3.3 各類之間的關(guān)系 162
10.4 動態(tài)行為模型 165
10.4.1 創(chuàng)建順序圖 165
10.4.2 創(chuàng)建狀態(tài)圖 175
10.5 系統(tǒng)部署 176
習(xí)題10 177
參考文獻(xiàn) 178