本書從實用、夠用的角度出發(fā),以圖書館管理系統(tǒng)為主線,采用項目導(dǎo)向、任務(wù)驅(qū)動案例的教學(xué)方式,詳細講述了軟件工程的基本原理、概念、技術(shù)和方法。本書分為基礎(chǔ)理論篇、分析與設(shè)計篇、實現(xiàn)與測試篇、維護與管理篇,共4篇、10個項目;A(chǔ)理論篇講述了軟件工程概念和統(tǒng)一建模語言(UML),具體包括軟件的定義、軟件危機、軟件生命周期、開發(fā)模型及UML的概念模型、UML的靜態(tài)及動態(tài)建模機制。分析與設(shè)計篇講述了項目市場調(diào)研、軟件項目需求分析、軟件項目總體設(shè)計、軟件項目詳細設(shè)計。以圖書館管理系統(tǒng)為例,以面向?qū)ο笤O(shè)計方法為重點,運用UML建模語言,詳細地描述了市場調(diào)研、需求分析、總體設(shè)計及詳細設(shè)計的建模過程。實現(xiàn)與測試篇講述了軟件項目實現(xiàn)及軟件測試的相關(guān)知識。維護與管理篇講述了軟件維護及軟件項目管理的相關(guān)知識。同時,本書在拓展訓(xùn)練中介紹了常見建模工具Rational Rose及Microsoft Office Visio的使用方法。本書語言簡練,通俗易懂,注重培養(yǎng)學(xué)生動手能力,并且每個項目后都附有項目小結(jié)、拓展訓(xùn)練和知識點考核與理解,供學(xué)生及時消化對應(yīng)任務(wù)內(nèi)容。本書可作為高職高專院校、成人教育學(xué)院軟件工程的教材,也可作為軟件開發(fā)設(shè)計人員的參考材料。
張洪明,男,山東經(jīng)貿(mào)職業(yè)學(xué)院副教授/高級工程師,2005-至今在山東經(jīng)貿(mào)職業(yè)學(xué)院從事計算機應(yīng)用技術(shù)專業(yè)的專業(yè)建設(shè)、課程建設(shè)、專業(yè)計劃、教學(xué)改革等方面的研究等工作,有較高的科研水平,為省級課題《高等職業(yè)院校技能型創(chuàng)新型信息技術(shù)人才培養(yǎng)可持續(xù)發(fā)展的理論探索與實踐》課題小組的主要成員。計算機應(yīng)用技術(shù)專業(yè)的專業(yè)負(fù)責(zé)人,省級精品課程C語言主講人,院級優(yōu)質(zhì)課程網(wǎng)頁設(shè)計負(fù)責(zé)人。被教育部教育管理信息心授予“第四屆全國ITAT教育工程就業(yè)技能大賽”先進個人。
目 錄
第一篇 基礎(chǔ)理論篇 1
項目1 軟件工程概述 1
任務(wù)1.1 軟件工程 1
1.1.1 軟件的定義及其特點 1
1.1.2 軟件危機 3
1.1.3 軟件工程的概念和原則 3
任務(wù)1.2 軟件生命周期與軟件開發(fā)模型 4
1.2.1 軟件生命周期 4
1.2.2 軟件開發(fā)模型 6
任務(wù)1.3 建模工具 8
項目小結(jié) 9
拓展訓(xùn)練 10
知識點考核與理解 10
項目2 統(tǒng)一建模語言(UML) 12
任務(wù)2.1 UML概述 12
2.1.1 UML的概念 12
2.1.2 UML的發(fā)展過程 12
2.1.3 UML的主要內(nèi)容 13
任務(wù)2.2 UML的概念模型 14
2.2.1 UML的三個基本構(gòu)造塊
(事物、關(guān)系、圖) 14
2.2.2 UML的規(guī)則 17
2.2.3 UML中的公共機制 17
任務(wù)2.3 UML的靜態(tài)建模機制 17
2.3.1 用例圖 18
2.3.2 類圖 21
2.3.3 對象圖 24
2.3.4 包 25
2.3.5 使用類圖的幾個建議 25
任務(wù)2.4 UML的動態(tài)建模機制 26
2.4.1 對象之間的交互 26
2.4.2 狀態(tài)圖 27
2.4.3 交互圖 29
2.4.4 活動圖 31
2.4.5 4種圖的運用 32
項目小結(jié) 33
拓展訓(xùn)練 33
拓展訓(xùn)練任務(wù)1 Microsoft Office
Visio的基礎(chǔ)操作 33
拓展訓(xùn)練任務(wù)2 Rational Rose的
基礎(chǔ)操作 34
拓展訓(xùn)練任務(wù)3 學(xué)生管理系統(tǒng)
練習(xí) 38
知識點考核與理解 38
第二篇 分析與設(shè)計篇 40
項目3 項目市場調(diào)研 40
任務(wù)3.1 系統(tǒng)的研發(fā)背景 40
3.1.1 圖書館管理系統(tǒng)的提出 40
3.1.2 圖書館管理系統(tǒng)研發(fā)現(xiàn)狀 40
任務(wù)3.2 軟件開發(fā)計劃 41
3.2.1 問題定義 41
3.2.2 可行性分析 41
3.2.3 可行性分析報告 44
3.2.4 系統(tǒng)的開發(fā)計劃 49
項目小結(jié) 50
拓展訓(xùn)練 51
知識點考核與理解 51
項目4 軟件項目需求分析 52
任務(wù)4.1 調(diào)查系統(tǒng)的需求 52
4.1.1 功能需求和技術(shù)需求 52
4.1.2 系統(tǒng)相關(guān)者 52
4.1.3 建立系統(tǒng)需求原型 53
任務(wù)4.2 模型 53
4.2.1 模型的作用及類型 54
4.2.2 邏輯模型和物理模型 54
任務(wù)4.3 事件 55
4.3.1 事件的概念和類型 55
4.3.2 定義事件 56
4.3.3 圖書館管理系統(tǒng)中的事件 57
任務(wù)4.4 事物 58
4.4.1 事物的概念和類型 58
4.4.2 事物之間的關(guān)系 59
4.4.3 事物的屬性 60
4.4.4 數(shù)據(jù)實體和對象 60
任務(wù)4.5 實體聯(lián)系圖 60
任務(wù)4.6 用面向?qū)ο蠓治龇椒枋鲂枨?模型 62
4.6.1 用面向?qū)ο蠓椒ǚ治鍪挛?62
4.6.2 類圖的符號 62
4.6.3 建模的目標(biāo) 64
任務(wù)4.7 需求分析規(guī)格說明書編寫提綱 64
項目小結(jié) 65
拓展訓(xùn)練 65
拓展訓(xùn)練任務(wù)1 使用Microsoft
Office Visio繪制
流程圖 65
拓展訓(xùn)練任務(wù)2 學(xué)生管理系統(tǒng)
練習(xí) 69
知識點考核與理解 69
項目5 軟件項目總體設(shè)計 71
任務(wù)5.1 總體設(shè)計的基本內(nèi)容 71
5.1.1 軟件設(shè)計的定義 71
5.1.2 總體設(shè)計的目標(biāo)與步驟 72
5.1.3 總體設(shè)計的基本任務(wù) 72
5.1.4 總體設(shè)計的準(zhǔn)則 73
任務(wù)5.2 結(jié)構(gòu)化的軟件設(shè)計 74
5.2.1 結(jié)構(gòu)化設(shè)計的基本概念 74
5.2.2 結(jié)構(gòu)化的設(shè)計方法 76
任務(wù)5.3 面向?qū)ο蟮能浖O(shè)計 78
5.3.1 面向?qū)ο蟮脑O(shè)計方法 78
5.3.2 系統(tǒng)行為—圖書館管理系統(tǒng)
的用例圖 80
5.3.3 對象交互—圖書館管理系統(tǒng)
的交互圖 85
5.3.4 對象行為—圖書館管理系統(tǒng)
的狀態(tài)圖 90
項目小結(jié) 92
拓展訓(xùn)練 92
拓展訓(xùn)練任務(wù)1 使用Rational Rose
繪制圖書館管理系
統(tǒng)的用例圖 92
拓展訓(xùn)練任務(wù)2 使用Rational Rose
繪制圖書館管理系
統(tǒng)的順序圖 95
拓展訓(xùn)練任務(wù)3 使用Rational Rose
繪制圖書館管理系
統(tǒng)的狀態(tài)圖 97
拓展訓(xùn)練任務(wù)4 學(xué)生管理系統(tǒng)
練習(xí) 98
知識點考核與理解 99
項目6 軟件項目詳細設(shè)計 101
任務(wù)6.1 系統(tǒng)詳細設(shè)計的基本內(nèi)容 101
6.1.1 詳細設(shè)計概述 101
6.1.2 詳細設(shè)計的基本任務(wù) 101
6.1.3 詳細設(shè)計方法 103
任務(wù)6.2 圖書館管理系統(tǒng)的詳細設(shè)計 105
6.2.1 系統(tǒng)包圖 105
6.2.2 類的類型及類之間的關(guān)系 105
6.2.3 圖書館管理系統(tǒng)的類圖 106
6.2.4 設(shè)計類圖的開發(fā) 107
任務(wù)6.3 用戶界面設(shè)計 108
6.3.1 用戶界面設(shè)計的特點 108
6.3.2 用戶界面設(shè)計的基本類型和
基本原則 109
6.3.3 圖書館管理系統(tǒng)的界面設(shè)計 111
項目小結(jié) 114
拓展訓(xùn)練 114
拓展訓(xùn)練任務(wù)1 使用Rational Rose
繪制圖書館管理系
統(tǒng)的類圖 114
拓展訓(xùn)練任務(wù)2 學(xué)生管理系統(tǒng)
練習(xí) 117
知識點考核與理解 118
第三篇 實現(xiàn)與測試篇 119
項目7 軟件項目實現(xiàn) 119
任務(wù)7.1 結(jié)構(gòu)化程序設(shè)計 119
7.1.1 結(jié)構(gòu)化程序設(shè)計的原則 119
7.1.2 結(jié)構(gòu)化程序的基本結(jié)構(gòu)與
特點 120
7.1.3 結(jié)構(gòu)化程序設(shè)計的原則和
方法 120
任務(wù)7.2 面向?qū)ο蟪绦蛟O(shè)計 120
7.2.1 數(shù)據(jù)抽象和封裝 120
7.2.2 繼承 121
7.2.3 多態(tài) 122
任務(wù)7.3 程序復(fù)雜度 122
7.3.1 時間復(fù)雜度 122
7.3.2 空間復(fù)雜度 123
項目小結(jié) 123
拓展訓(xùn)練 123
知識點考核與理解 124
項目8 軟件測試 125
任務(wù)8.1 軟件測試基礎(chǔ) 125
8.1.1 軟件測試的定義 125
8.1.2 軟件測試的目的和原則 125
8.1.3 程序錯誤分類 126
任務(wù)8.2 測試用例及構(gòu)造 128
8.2.1 測試用例概述 128
8.2.2 構(gòu)造測試用例 130
任務(wù)8.3 軟件測試方法 130
8.3.1 軟件測試步驟 130
8.3.2 功能測試 134
8.3.3 結(jié)構(gòu)測試 137
任務(wù)8.4 軟件測試層次 138
8.4.1 集成測試 141
8.4.2 系統(tǒng)測試 143
8.4.3 交互性測試 143
任務(wù)8.5 面向?qū)ο筌浖䴗y試 144
8.5.1 面向?qū)ο筌浖䴗y試定義 144
8.5.2 測試計劃 144
8.5.3 面向?qū)ο蟮臏y試 145
8.5.4 測試類的層次結(jié)構(gòu) 148
8.5.5 分布式對象測試 148
任務(wù)8.6 軟件測試報告 149
項目小結(jié) 152
拓展訓(xùn)練 153
拓展訓(xùn)練任務(wù)1 黑盒測試 153
拓展訓(xùn)練任務(wù)2 白盒測試 155
知識點考核與理解 156
第四篇 維護與管理篇 157
項目9 軟件維護 157
任務(wù)9.1 軟件維護的概念 157
9.1.1 軟件維護的目的及類型 157
9.1.2 軟件維護的策略 158
9.1.3 軟件維護的方法 159
任務(wù)9.2 軟件可維護性 160
9.2.1 軟件可維護性的定義 160
9.2.2 提高可維護性的方法 161
任務(wù)9.3 安全管理 162
9.3.1 系統(tǒng)安全 162
9.3.2 安全管理的原則和措施 163
項目小結(jié) 165
拓展訓(xùn)練 165
知識點考核與理解 165
項目10 軟件項目管理 167
任務(wù)10.1 軟件項目整體管理 167
10.1.1 項目章程 167
10.1.2 編寫初步項目范圍說明書 170
10.1.3 項目管理計劃 171
10.1.4 指導(dǎo)和管理項目執(zhí)行 172
10.1.5 監(jiān)督和控制項目工作 172
10.1.6 整體變更控制 173
10.1.7 項目收尾 174
任務(wù)10.2 范圍管理 175
10.2.1 范圍規(guī)劃 176
10.2.2 范圍定義 176
10.2.3 創(chuàng)建工作分解結(jié)構(gòu) 177
10.2.4 范圍確認(rèn) 178
10.2.5 范圍控制 179
任務(wù)10.3 時間管理 180
10.3.1 活動定義 180
10.3.2 活動排序 181
10.3.3 活動資源及歷時估算 183
10.3.4 進度計劃 184
10.3.5 進度控制 185
任務(wù)10.4 成本管理 189
10.4.1 成本估算 189
10.4.2 成本預(yù)算 190
10.4.3 成本控制 191
任務(wù)10.5 質(zhì)量管理 191
10.5.1 質(zhì)量規(guī)劃 192
10.5.2 質(zhì)量保證 193
10.5.3 質(zhì)量控制 193
任務(wù)10.6 軟件項目管理其他方面 193
10.6.1 人力資源管理 193
10.6.2 溝通管理 196
10.6.3 風(fēng)險管理 197
10.6.4 采購管理 200
項目小結(jié) 202
拓展訓(xùn)練 202
拓展訓(xùn)練任務(wù)1 Microsoft Project
的初步練習(xí) 202
拓展訓(xùn)練任務(wù)2 利用Microsoft
Project進行時間
進度的安排 203
拓展訓(xùn)練任務(wù)3 熟練操作Microsoft
Project 206
知識點考核與理解 206