本教材系統(tǒng)地講述了軟件工程的基本概念、原理、方法,并介紹了一個(gè)實(shí)際項(xiàng)目——高校圖書(shū)管理系統(tǒng)的分析與設(shè)計(jì)過(guò)程,突出“教、學(xué)、練、用”一體化,較全面地反映了軟件工程技術(shù)的全貌。全書(shū)共分10章,第1章是軟件工程基礎(chǔ),第2章至第6章分別為可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、軟件實(shí)現(xiàn)與維護(hù),第7章介紹軟件項(xiàng)目管理的基礎(chǔ)知識(shí),第8章、第9章分別講述面向?qū)ο蠓椒▽W(xué)基礎(chǔ)和狀態(tài)圖。第10章結(jié)合實(shí)際項(xiàng)目講述了面向?qū)ο蠓椒ǚ治雠c軟件設(shè)計(jì)的全過(guò)程,不僅對(duì)讀者深入理解軟件工程學(xué)具有較大的幫助,也是實(shí)踐教學(xué)的良好素材。本教材可作為高等應(yīng)用型學(xué)校計(jì)算機(jī)、軟件工程、信息類及管理類等專業(yè)相關(guān)課程的教材,也可供有一定實(shí)際經(jīng)驗(yàn)的軟件開(kāi)發(fā)人員閱讀參考。
寇愛(ài)軍,男,漢族,中共黨員,湖州學(xué)院計(jì)算機(jī)專任教師,高級(jí)工程師,自2009年參加工作以來(lái),負(fù)責(zé)或參與近20個(gè)軟件項(xiàng)目研發(fā)工作,經(jīng)常為相關(guān)企事業(yè)單位提供軟件開(kāi)發(fā)指導(dǎo)、軟件培訓(xùn)工作,具有豐富的軟件工程教學(xué)與實(shí)踐經(jīng)驗(yàn)。主持教育部產(chǎn)學(xué)研項(xiàng)目3項(xiàng),參與國(guó)家、省部級(jí)、市廳級(jí)科研、教改課題近10項(xiàng)。在教學(xué)方面,注重理論聯(lián)系實(shí)際,課堂氛圍活躍,深得學(xué)生喜愛(ài)
第1章 軟件工程基礎(chǔ) 1
1.1 軟件危機(jī) 1
1.1.1 有關(guān)軟件危機(jī)的介紹 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 軟件過(guò)程與軟件生存周期 5
1.3.1 軟件過(guò)程 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ū)ο箝_(kāi)發(fā)模型 12
1.4.7 如何選定開(kāi)發(fā)模型 12
習(xí)題1 13
第2章 可行性研究 14
2.1 目標(biāo)與任務(wù) 14
2.2 研究過(guò)程 15
2.3 軟件立項(xiàng)、合同和任務(wù)書(shū) 16
2.3.1 立項(xiàng) 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)符號(hào) 17
2.5 軟件的經(jīng)濟(jì)效益分析 18
2.5.1 關(guān)于貨幣的時(shí)間價(jià)值 19
2.5.2 投資回收期 19
2.5.3 純利潤(rùn) 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 快速建立軟件原型模型來(lái)獲取需求 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ù)流圖實(shí)例 30
3.4.5 數(shù)據(jù)字典 32
3.4.6 處理過(guò)程描繪 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è)計(jì) 41
4.1 概要設(shè)計(jì)階段的目標(biāo)與任務(wù) 41
4.2 概要設(shè)計(jì)階段的啟發(fā)規(guī)則 42
4.2.1 軟件結(jié)構(gòu)設(shè)計(jì)的準(zhǔn)則 42
4.2.2 軟件模塊設(shè)計(jì)的準(zhǔn)則 42
4.3 軟件設(shè)計(jì)的基礎(chǔ) 43
4.3.1 模塊化 43
4.3.2 抽象 44
4.3.3 逐步求精 44
4.3.4 局部化和信息隱藏 45
4.3.5 模塊獨(dú)立性 45
4.4 軟件設(shè)計(jì)工具 47
4.4.1 軟件層次圖 47
4.4.2 HIPO圖 47
4.4.3 軟件結(jié)構(gòu)圖 48
4.5 結(jié)構(gòu)化的設(shè)計(jì)方法 48
4.5.1 數(shù)據(jù)流圖分類 49
4.5.2 軟件結(jié)構(gòu)化設(shè)計(jì)方法的步驟 50
4.5.3 變換型分析設(shè)計(jì) 50
4.5.4 面向事務(wù)型數(shù)據(jù)流圖的設(shè)計(jì) 52
4.5.5 綜合分析設(shè)計(jì) 53
習(xí)題4 58
第5章 詳細(xì)設(shè)計(jì) 59
5.1 詳細(xì)設(shè)計(jì)階段的目標(biāo)與任務(wù) 59
5.2 結(jié)構(gòu)化程序設(shè)計(jì)介紹 59
5.3 詳細(xì)設(shè)計(jì)工具 60
5.3.1 程序流程圖 60
5.3.2 N-S圖 61
5.3.3 問(wèn)題分析圖 62
5.3.4 過(guò)程設(shè)計(jì)語(yǔ)言 64
5.4 用戶界面設(shè)計(jì) 64
5.4.1 用戶的界面需求 65
5.4.2 用戶界面設(shè)計(jì)問(wèn)題 65
5.4.3 用戶界面設(shè)計(jì)原則 66
5.4.4 設(shè)計(jì)界面的過(guò)程 66
習(xí)題5 67
第6章 軟件實(shí)現(xiàn)與維護(hù) 68
6.1 編碼 68
6.1.1 編程語(yǔ)言的選擇 68
6.1.2 編碼的規(guī)范 69
6.2 測(cè)試基礎(chǔ) 70
6.2.1 軟件測(cè)試的目標(biāo) 70
6.2.2 軟件測(cè)試的原則 70
6.2.3 軟件測(cè)試的方法 71
6.2.4 軟件測(cè)試的步驟 71
6.2.5 軟件測(cè)試的信息流 72
6.3 單元測(cè)試 73
6.3.1 單元測(cè)試的內(nèi)容 73
6.3.2 代碼審查 74
6.4 軟件集成測(cè)試 75
6.5 驗(yàn)收測(cè)試 76
6.5.1 確認(rèn)測(cè)試的要求 76
6.5.2 軟件配置的復(fù)查 77
6.5.3 Alpha測(cè)試與Beta測(cè)試 77
6.6 軟件的測(cè)試方法 77
6.6.1 黑盒測(cè)試 77
6.6.2 白盒測(cè)試 79
6.7 軟件維護(hù) 82
6.7.1 軟件維護(hù)概述 82
6.7.2 軟件維護(hù)過(guò)程 83
6.8 軟件維護(hù)中存在的問(wèn)題 84
6.8.1 軟件維護(hù)存在的困難 84
6.8.2 軟件維護(hù)的弊端 84
習(xí)題6 85
第7章 軟件項(xiàng)目管理 86
7.1 軟件項(xiàng)目管理概述 86
7.1.1 軟件項(xiàng)目管理概念 86
7.1.2 軟件項(xiàng)目管理職能 86
7.2 項(xiàng)目組織管理 87
7.2.1 軟件開(kāi)發(fā)項(xiàng)目啟動(dòng)及任務(wù) 87
7.2.2 軟件開(kāi)發(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 軟件項(xiàng)目的配置管理 92
7.5 軟件的評(píng)審與驗(yàn)收 93
7.5.1 評(píng)審 93
7.5.2 驗(yàn)收 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è)計(jì)技術(shù) 99
8.2.3 類與對(duì)象的關(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 生命線與對(duì)象 126
8.6.2 消息 126
8.6.3 順序圖的創(chuàng)建 127
8.7 通信圖概述 130
8.7.1 通信圖的組成 130
8.7.2 創(chuàng)建對(duì)象 133
8.7.3 迭代 133
8.7.4 順序圖和通信圖 134
習(xí)題8 137
第9章 狀態(tài)圖 138
9.1 狀態(tài)圖基礎(chǔ)知識(shí) 138
9.2 相關(guān)符號(hào) 139
9.2.1 狀態(tài)標(biāo)記符 139
9.2.2 轉(zhuǎn)移 139
9.2.3 決策點(diǎn) 141
9.2.4 同步 142
9.3 狀態(tài)圖中的動(dòng)作與事件 142
9.4 組成狀態(tài) 143
9.4.1 順序子狀態(tài) 143
9.4.2 并發(fā)子狀態(tài) 144
9.4.3 子狀態(tài)機(jī)的引用狀態(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)圖的實(shí)現(xiàn) 147
習(xí)題9 147
第10章 高校圖書(shū)管理系統(tǒng)的分析與設(shè)計(jì) 148
10.1 系統(tǒng)需求 148
10.2 系統(tǒng)需求分析 149
10.2.1 如何識(shí)別參與者與用例 149
10.2.2 用例描述 151
10.3 靜態(tài)的結(jié)構(gòu)模型 154
10.3.1 定義系統(tǒng)中的對(duì)象和類 154
10.3.2 對(duì)用戶界面類進(jìn)行定義 159
10.3.3 各類之間的關(guān)系 162
10.4 動(dòng)態(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