本書內容包括:軟件需求獲取,結構化系統分析,面向對象的軟件分析,面向對象的軟件設計等。
軟件工程是研究和應用如何以系統性、規范化、可定量的工程化方法開發和維護軟件,以及如何把經過時間驗證正確的管理技術和當前能夠得到的先進技術、方法結合起來的綜合性學科。在現代社會中,軟件工程已應用于多個方面,帶來了可觀的經濟效益,也引起了社會的重大變革。我們在教學過程中結合軟件工程學科的教學培養目標及軟件工程課程的特點,進行了教學改革,設計出64學時(40理論學時+24實驗學時)的教學計劃。為適應這一調整,我們編寫出軟件工程實驗教程講義,并在2010、2011、2012級軟件工程系7個班共計600多人中使用了該講義。本書是在該講義的基礎上編寫而成的。
全書主要包含兩部分內容。
1)基礎實踐:軟件工程重要環節的獨立基礎實踐指導,內容涉及實用CASE工具使用說明、實例示范和實驗要求。
2)提高實踐:選取較為完整的兩組實驗項目作為實例,進行實踐環節示范,并設置兩組項目的評審要求和自選項目來提高學生的實踐能力和創新能力。
前言
教學建議
第一部分 基礎實踐
第1章 軟件需求獲取 2
1.1 軟件需求獲取方法 2
1.2 需求獲取實例——公共自行車租賃系統 3
1.2.1 公共自行車租賃系統應用領域理解 3
1.2.2 公共自行車租賃系統需求獲取 3
1.2.3 建立業務模型 6
1.3 需求獲取工具學習 15
1.3.1 Rational Rose工具概述 15
1.3.2 使用Rational Rose繪制用例圖 16
1.3.3 Visio工具概述 20
1.3.4 使用Visio工具繪制用例圖 21
1.4 軟件需求獲取實踐 29
第2章 結構化系統分析 31
2.1 Gane和Sarsen結構化系統分析方法概述 31
2.2 結構化需求分析實例——公共自行車租賃系統 31
2.2.1 數據流圖 31
2.2.2 數據字典 34
2.2.3 數據E-R圖 35
2.3 應用需求分析工具 35
2.3.1 使用Visio創建數據流圖 35
2.3.2 使用Visio創建數據庫模型圖 39
2.4 結構化系統需求分析實踐 41
第3章 結構化系統設計 43
3.1 結構化設計原則和主要過程 43
3.2 結構化系統設計實例——公共自行車租賃系統 44
3.2.1 系統結構圖 44
3.2.2 模塊詳細設計 44
3.2.3 數據庫設計 50
3.3 詳細設計工具學習 51
3.3.1 用Visio工具繪制程序流程圖 51
3.3.2 PDL語言撰寫 54
3.4 結構化系統設計實踐 56
第4章 面向對象的軟件分析 59
4.1 面向對象的軟件分析方法概述 59
4.2 面向對象的軟件分析實例——公共自行車租賃系統 60
4.2.1 功能建模 60
4.2.2 實體類建模 65
4.2.3 動態建模 66
4.3 面向對象分析工具學習 70
4.3.1 使用Rational Rose創建類圖 70
4.3.2 使用Rational Rose創建順序圖 72
4.3.3 使用Rational Rose創建協作圖 73
4.3.4 使用Rational Rose創建狀態圖 74
4.4 面向對象的軟件分析實踐 76
第5章 面向對象的軟件設計 78
5.1 面向對象的軟件設計方法概述 78
5.2 面向對象的軟件設計實例——公共自行車租賃系統 79
5.2.1 實體類精化 79
5.2.2 協作圖精化 83
5.2.3 順序圖精化 85
5.3 面向對象的軟件設計實踐 86
第6章 軟件項目管理計劃 88
6.1 軟件項目管理計劃概述 88
6.2 軟件項目管理計劃實例——公共自行車網站 89
6.3 軟件項目管理工具學習 91
6.3.1 創建Project項目文件 91
6.3.2 創建項目日歷 92
6.3.3 創建和編輯任務列表 93
6.3.4 創建周期性任務 93
6.3.5 創建任務間的層次關系 94
6.3.6 資源和成本管理 95
6.4 軟件項目管理實踐 96
第二部分 提高實踐
第7章 基于Android的新生校園指南系統需求獲取 100
7.1 引言 100
7.2 應用實例領域分析 100
7.3 功能性需求描述 102
7.3.1 校園指南系統客戶端用例建模 102
7.3.2 校園指南系統服務器端用例建模 104
7.4 非功能性需求描述 105
7.5 需求獲取提高實踐 105
第8章 基于Android的新生校園指南系統需求分析 107
8.1 引言 107
8.2 類圖 107
8.2.1 實體類建模 107
8.2.2 控制類建模 108
8.2.3 邊界類建模 108
8.2.4 服務器端維護管理類圖 108
8.3 順序圖 109
8.4 數據存儲方式 114
8.5 需求分析提高實踐 114
第9章 基于Android的新生校園指南系統設計 116
9.1 系統架構設計 116
9.2 系統功能結構 116
9.3 類圖細化 117
9.3.1 邊界類細化 117
9.3.2 控制類細化 118
9.3.3 實體類細化 118
9.4 數據存儲設計 119
9.4.1 文件設計 119
9.4.2 數據庫設計 119
9.5 服務器端相關功能詳細設計 119
9.6 客戶端相關功能詳細設計 120
9.6.1 主要功能詳細設計關鍵代碼 120
9.6.2 客戶端界面 124
9.7 項目設計提高實踐 126
第10章 基于Web方式的校企聯合培養系統需求獲取 128
10.1 引言 128
10.2 應用實例領域分析 128
10.2.1 學生和企業之間存在的問題 128
10.2.2 如何解決學生和企業之間存在的問題 129
10.3 應用實例需求收集 129
10.3.1 用戶特點 129
10.3.2 系統結構圖 129
10.4 應用實例需求描述 130
10.4.1 管理系統用戶信息 130
10.4.2 企業項目管理 130
10.4.3 優秀學生管理 131
10.4.4 企業信息管理 131
10.4.5 學生信息管理 132
10.4.6 學生項目管理 132
10.4.7 關注企業管理 132
10.4.8 學院管理 133
10.4.9 企業管理 133
10.4.10 學校管理員信息管理 133
10.4.11 學生管理 133
10.4.12 學院項目管理 134
10.4.13 學院管理員信息管理 134
10.5 用例圖分析 134
10.5.1 管理系統用戶信息用例 134
10.5.2 企業項目管理用例 134
10.5.3 優秀學生管理用例 135
10.5.4 企業信息管理用例 136
10.5.5 學生項目管理用例 136
10.5.6 學生信息管理用例 136
10.5.7 關注企業管理用例 136
10.5.8 學生管理用例 137
10.5.9 企業管理用例 137
10.5.10 學院管理用例 137
10.6 用例描述 138
10.6.1 管理系統用戶信息 138
10.6.2 企業項目管理 139
10.6.3 優秀學生管理 141
10.6.4 企業信息管理 142
10.6.5 學生項目管理 142
10.6.6 學生信息管理 143
10.6.7 關注企業管理 144
10.6.8 學生管理 144
10.6.9 企業管理 146
10.6.10 學院管理 147
10.7 需求獲取提高實踐 148
第11章 基于Web方式的校企聯合培養系統需求分析 149
11.1 引言 149
11.2 實例類圖分析 149
11.2.1 實體類建模 149
11.2.2 控制類建模 149
11.2.3 邊界類建模 150
11.2.4 場景分析順序圖 150
11.2.5 實例類圖 154
11.3 數據流圖 158
11.4 數據分析 160
11.4.1 E-R圖 160
11.4.2 數據庫表的設計 160
11.5 需求分析提高實踐 162
第12章 基于Web方式的校企聯合培養系統設計 164
12.1 引言 164
12.2 應用實例面向對象的類詳細設計 164
12.2.1 實體類細化 164
12.2.2 控制類細化 166
12.2.3 邊界類細化 169
12.3 系統模塊設計綜述 169
12.3.1 學生信息管理子系統 170
12.3.2 企業信息管理子系統 172
12.3.3 管理員管理子系統 174
12.4 用戶界面設計 176
12.4.1 登錄主界面 176
12.4.2 企業登錄界面 176
12.4.3 學生登錄界面 177
12.4.4 學校管理員登錄界面 178
12.5 面向對象設計提高實踐 178
附錄 GB/T 8567—2006《計算機軟件文檔編制規范》面向對象分析文檔節選 180
參考文獻 188