軟件工程與實踐
-
【作 者】劉竹林
【I S B N 】978-7-5084-6260-8
【責任編輯】張玉玲
【適用讀者群】高職高專
【出版時間】2010-04-01
【開 本】16開本
【裝幀信息】平裝(光膜)
【版 次】第1版
【頁 數】260
【千字數】
【印 張】
【定 價】¥29
【叢 書】21世紀高職高專規劃教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
“軟件工程”是介紹軟件開發方法,提高學生軟件開發能力的一門重要的專業課程。本書主要以工程化的軟件開發方法為主導,系統、全面地介紹這門課程的原理、方法及應用,主要內容包括:軟件工程概述、軟件生命周期與開發模型、項目計劃與可行性分析、需求分析、結構化軟件設計、數據庫設計、用戶界面設計、面向對象方法與UML建模語言、ROSE工具的使用、面向對象的分析與設計、軟件編程、軟件測試流程、軟件測試方法、軟件測試工具、軟件項目管理、項目管理工具Project 2003、實驗指導。本書在取材上注重實用,每章后面均配有習題或實訓。
本書適合作為高職高專院校計算機或信息類專業的教材,還可作為系統設計人員、程序員、軟件架構人員、業務和系統分析人員、項目經理等軟件工程技術人員,以及準備參加全國軟件工程課程自學考試的讀者的參考書。
20世紀60年代以來,致力于軟件質量研究的人們在軟件工程領域開創了很多軟件工程方法和技術,使軟件開發的過程按照工程化的原理、方法和技術進行,以此來保證軟件質量的提高。
為了適應信息化社會的需要,特編寫此書,為教學和軟件開發工作提供有價值的資料。本書系統地介紹了軟件工程學的內容,主要包括:軟件工程概述、軟件生命周期與開發模型、項目計劃與可行性分析、需求分析、軟件設計概述、結構化設計、數據庫設計、用戶界面設計、面向對象方法與UML建模語言、Ratinal Rose面向對象的建模工具、面向對象的分析與設計、軟件編程、軟件測試流程、軟件測試方法、軟件測試工具LoadRunner、軟件開發過程的管理、項目管理工具Project 2003。
本書在取材上注重實用,全書以“北京市社區信息化服務系統”為實例主線介紹軟件開發的過程和方法。每章后均配有習題和實訓,最后一章給出實驗指導,附錄部分給出了綜合練習題目。
參加本書編寫的人員結構是:學院院長、計算機系主任、研究所所長、軟件公司技術總監,他們分別是教授、副教授、高級工程師、博士、碩士等有豐富經驗的軟件同仁們。
本書由劉竹林任主編,卓澤朋、蔡桂洲和李向麗任副主編。其中蔡桂洲編寫第1~4章,劉竹林編寫5~12章,李向麗編寫第13~15章,高英編寫第16章。劉竹林對全書進行策劃和統稿,殷海春對全書進行了審閱。
由于時間倉促及編者水平有限,書中疏漏甚至錯誤之處在所難免,懇請同行專家和廣大讀者批評指正。
第1章 軟件工程概述 1
1.1 軟件 1
1.1.1 軟件的定義與特征 1
1.1.2 軟件系統 2
1.2 軟件工程的知識體系 2
1.3 軟件工程的產生與定義 3
1.3.1 軟件工程的產生 3
1.3.2 軟件工程的定義 3
1.4 軟件工程的原則 4
1.5 軟件工程的目標 5
1.6 軟件工程的基本原理 5
1.7 軟件工程思維的培養 7
本章小結 7
習題一 8
第2章 軟件生命周期與開發模型 9
2.1 軟件生命周期 9
2.1.1 計劃時期 9
2.1.2 開發時期 10
2.1.3 運行與維護時期 12
2.2 軟件開發方法綜述 12
2.2.1 結構化方法 12
2.2.2 面向數據結構的軟件開發方法 12
2.2.3 面向問題的分析方法 12
2.2.4 面向對象的開發方法 13
2.2.5 原型化方法 13
2.2.6 可視化開發方法 13
2.3 軟件開發模型 15
2.3.1 瀑布模型 16
2.3.2 螺旋模型 17
2.3.3 增量模型 18
2.3.4 噴泉模型 19
2.3.5 RAD模型 20
2.3.6 迭代式模型 22
2.4 快速原型開發 23
2.4.1 什么是軟件原型化方法 23
2.4.2 軟件原型的分類 23
2.4.3 原型生存周期 24
2.4.4 快速原型的優點 26
本章小結 26
習題二 26
第3章 可行性研究與項目計劃 28
3.1 可行性研究 28
3.1.1 可行性研究的任務 28
3.1.2 可行性研究的步驟 28
3.2 《可行性分析報告》格式 29
3.3 項目立項 32
3.4 項目計劃 32
3.4.1 項目工作計劃 32
3.4.2 硬件資源規劃 32
3.4.3 軟件資源規劃 33
本章小結 33
習題三 33
第4章 軟件需求分析 35
4.1 軟件需求分析的目標和任務 35
4.1.1 需求分析的目標 35
4.1.2 需求分析的任務 35
4.2 需求分析的過程 37
4.2.1 問題識別 37
4.2.2 分析與綜合 38
4.2.3 編制需求分析文檔 39
4.2.4 綜合評審 39
4.2.5 需求變更管理 39
4.3 數據流圖 40
4.3.1 數據流圖的構成 41
4.3.2 數據流圖的原則與步驟 42
4.3.3 舉例 44
4.4 數據字典 45
4.4.1 數據字典的用途 46
4.4.2 數據字典的內容 46
4.4.3 定義數據的方法 48
4.5 《需求分析報告》格式 49
4.6 需求分析報告書寫示例:社區信息化
服務系統需求分析報告 52
本章小結 60
習題四 60
第5章 結構化軟件設計 64
5.1 概要設計綜述 64
5.1.1 概要設計的內容 64
5.1.2 軟件體系結構 65
5.2 概要設計原則 68
5.2.1 結構化設計原則 68
5.2.2 模塊獨立性 70
5.3 概要設計工具 70
5.3.1 IPO圖 70
5.3.2 模塊結構圖 72
5.4 《概要設計說明書》格式 76
5.5 詳細設計 77
5.5.1 詳細設計的任務 77
5.5.2 網絡設計內容 78
5.5.3 《詳細設計說明書》格式 79
本章小結 80
習題五 80
第6章 數據庫設計 82
6.1 數據庫設計的重要性 82
6.2 需求分析階段的設計 82
6.2.1 數據流圖示例 83
6.2.2 數據字典示例 84
6.3 概念設計階段 85
6.3.1 概念模型的表示方法 85
6.3.2 E-R圖的繪制步驟 85
6.4 邏輯設計階段 93
6.4.1 邏輯模型的轉換規則 94
6.4.2 模式轉換示例 95
6.5 物理設計階段 96
6.6 《數據庫設計說明書》格式 97
本章小結 99
習題六 99
第7章 用戶界面設計 101
7.1 用戶類型 101
7.2 用戶界面的設計思想 101
7.3 用戶界面的風格變遷 102
7.4 用戶界面的設計原則 102
7.4.1 用戶友好界面的設計原則 102
7.4.2 一般交互原則 103
7.4.3 信息顯示原則 103
7.4.4 數據輸入原則 103
7.4.5 布局合理化原則 104
7.5 用戶界面設計方法 104
7.5.1 界面一致性 104
7.5.2 菜單的設計 105
7.5.3 鼠標與鍵盤對應原則 107
7.5.4 向導使用原則 108
7.5.5 系統響應時間 108
7.5.6 用戶幫助設施 108
7.5.7 出錯信息和警告 109
7.5.8 輸入界面設計 109
7.5.9 基于Web的用戶界面設計 110
7.5.10 輸出界面設計 113
本章小結 114
習題七 114
第8章 面向對象方法與UML建模語言 115
8.1 傳統方法學 115
8.2 面向對象方法的基本概念 115
8.2.1 對象 115
8.2.2 類 116
8.2.3 實例 116
8.2.4 消息 116
8.2.5 方法 116
8.2.6 屬性 117
8.2.7 繼承 117
8.2.8 多態性 117
8.2.9 重載 117
8.3 UML的主要內容 117
8.3.1 為什么要建模 118
8.3.2 UML建模機制 118
8.3.3 UML的結構 118
8.3.4 UML中的事務 119
8.3.5 UML中的關系 119
8.3.6 UML中的視圖 125
8.4 UML的圖 125
8.4.1 類圖 126
8.4.2 用例圖 127
8.4.3 對象圖 128
8.4.4 包圖 129
8.4.5 交互圖 130
8.4.6 狀態圖 131
8.4.7 活動圖 132
8.4.8 組件圖 133
8.4.9 部署圖 134
本章小結 135
習題八 135
第9章 Rational Rose建模工具 138
9.1 Rational Rose簡介 138
9.2 Rose界面簡介 138
9.3 Rose模型的4個視圖 141
9.3.1 Use Case視圖 141
9.3.2 Logical視圖 143
9.3.3 Component視圖 144
9.3.4 Deployment視圖 145
9.4 創建角色(Actor) 145
9.5 刪除元素 147
9.6 創建用例,建立角色和用例的關聯 147
9.7 使用序列圖/協作圖描述每個用例 148
9.7.1 創建序列圖 148
9.7.2 描述對象 148
9.8 建立靜態模型 151
9.9 實現模型 153
本章小結 155
習題九 155
第10章 軟件編程 157
10.1 什么是編程 157
10.2 程序設計語言特點與應用范圍 157
10.2.1 程序設計語言的發展與分類 157
10.2.2 程序設計語言的選擇 159
10.3 Java程序設計風格 160
10.4 程序設計算法與效率 161
10.4.1 程序設計算法 161
10.4.2 程序的運行效率 162
10.5 程序說明書 163
10.5.1 C/S結構 163
10.5.2 B/S結構 163
本章小結 164
習題十 164
第11章 軟件測試流程 166
11.1 軟件測試的基本概念 166
11.1.1 什么是軟件測試 166
11.1.2 軟件缺陷 168
11.1.3 軟件測試與軟件開發的關系 169
11.1.4 軟件測試的誤區 170
11.2 軟件測試流程概述 170
11.3 單元測試 171
11.3.1 單元測試的概念 171
11.3.2 單元測試的內容 171
11.3.3 單元測試的步驟 172
11.4 集成測試 173
11.4.1 集成測試的定義 173
11.4.2 集成測試的層次 173
11.4.3 集成測試的方式 173
11.5 確認測試 176
11.6 系統測試 178
11.6.1 系統測試的流程 178
11.6.2 系統測試的目標 178
11.6.3 幾種常見的系統測試方法 178
11.7 基于Web的系統測試 180
11.7.1 功能測試 180
11.7.2 性能測試 182
11.7.3 可用性測試 183
11.7.4 客戶端兼容性測試 184
11.7.5 安全性測試 184
11.8 驗收測試 185
11.8.1 驗收測試的內容與標準 185
11.8.2 驗收測試的常用策略 185
11.8.3 驗收測試的過程 185
本章小結 186
習題十一 187
第12章 軟件測試方法 190
12.1 軟件測試方法 190
12.2 靜態測試 190
12.2.1 類型沖突 190
12.2.2 子程序參數錯誤 191
12.2.3 數據錯誤 191
12.2.4 內存泄漏 192
12.2.5 越界 192
12.2.6 指針錯誤 193
12.2.7 空懸指針 194
12.2.8 內存處理的邏輯錯誤 195
12.2.9 代碼規則錯誤實例 195
12.3 動態測試 196
12.4 白盒測試 196
12.4.1 白盒測試概述 196
12.4.2 語句覆蓋 198
12.4.3 判斷覆蓋 198
12.4.4 條件覆蓋 198
12.4.5 判斷/條件覆蓋 199
12.4.6 條件組合覆蓋 200
12.4.7 路徑覆蓋 200
12.5 黑盒測試 201
12.5.1 黑盒測試概述 201
12.5.2 等價類劃分 201
12.5.3 邊界值分析 203
本章小結 204
習題十二 204
第13章 軟件測試工具LoadRunner 208
13.1 LoadRunner的測試流程介紹 208
13.2 測試需求分析 208
13.2.1 分析應用需求 208
13.2.2 確定測試目標 209
13.3 錄制和編輯腳本 209
13.3.1 錄制和編輯腳本 210
13.3.2 回放腳本 215
13.3.3 優化腳本 216
13.3.4 文本檢查 224
13.4 場景創建(設計)與運行 224
13.4.1 創建(設計)運行場景 224
13.4.2 在實際運行時如何查看腳本 226
13.4.3 運行場景 227
13.5 分析及監視場景 230
本章小結 233
習題十三 233
第14章 軟件項目管理 234
14.1 項目 234
14.1.1 項目的定義與屬性 234
14.1.2 項目的特點與三大要素 234
14.1.3 項目的生命周期 235
14.1.4 制約項目成功的因素 235
14.2 項目管理 235
14.3 軟件項目管理的特點與復雜性 236
14.3.1 軟件項目的特點 236
14.3.2 軟件項目管理的復雜性 237
14.4 合格的項目經理 238
14.5 軟件項目管理的內容 238
14.5.1 項目范圍的管理 238
14.5.2 項目進度管理 239
14.5.3 人員組織與管理 240
14.5.4 項目的質量管理 242
14.5.5 項目風險管理 243
14.5.6 項目管理各項內容的關系 243
14.6 軟件配置管理 243
14.7 項目案例分析 243
本章小結 245
習題十四 245
第15章 項目管理工具Project 2003 247
15.1 啟動和退出Project 2003 247
15.2 Project 2003的主界面 247
15.3 創建和管理項目的任務 250
15.3.1 創建項目文件 250
15.3.2 分解任務 251
15.3.3 安排項目任務的工期 251
15.4 分配項目資源 252
15.4.1 資源概述 252
15.4.2 建立資源庫 252
15.4.3 為任務分配資源 252
15.4.4 管理資源 252
15.5 解決項目中的資源沖突 253
第16章 實驗指導 254
16.1 先修課程 254
16.2 實訓目的 254
16.3 實訓內容 254
16.4 實訓基本要求 255
16.5 實訓成績評定 255
參考文獻 256