相關主題
商品描述
本教材系統地講述了軟件工程的基本概念、原理、方法,並介紹了一個實際項目——高校圖書管理系統的分析與設計過程,突出“教、學、練、用”一體化,較全面地反映了軟件工程技術的全貌。全書共分10章,第1章是軟件工程基礎,第2章至第6章分別為可行性研究、需求分析、概要設計、詳細設計、軟件實現與維護,第7章介紹軟件項目管理的基礎知識,第8章、第9章分別講述面向對象方法學基礎和狀態圖。第10章結合實際項目講述了面向對象方法分析與軟件設計的全過程,不僅對讀者深入理解軟件工程學具有較大的幫助,也是實踐教學的良好素材。本教材可作為高等應用型學校電腦、軟件工程、信息類及管理類等專業相關課程的教材,也可供有一定實際經驗的軟件開發人員閱讀參考。
目錄大綱
第1章 軟件工程基礎 1
1.1 軟件危機 1
1.1.1 有關軟件危機的介紹 1
1.1.2 原因與解決方法 2
1.2 軟件工程 3
1.2.1 定義和目標 3
1.2.2 相關原理 4
1.2.3 軟件工程的進步史 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 面向對象開發模型 12
1.4.7 如何選定開發模型 12
習題1 13
第2章 可行性研究 14
2.1 目標與任務 14
2.2 研究過程 15
2.3 軟件立項、合同和任務書 16
2.3.1 立項 16
2.3.2 簽訂合同 16
2.3.3 任務下達 17
2.4 系統流程圖 17
2.4.1 主要用途 17
2.4.2 相關符號 17
2.5 軟件的經濟效益分析 18
2.5.1 關於貨幣的時間價值 19
2.5.2 投資回收期 19
2.5.3 純利潤 20
習題2 20
第3章 需求分析 21
3.1 需求分析的任務與步驟 21
3.1.1 需求分析的任務 21
3.1.2 需求分析的步驟 23
3.2 用戶需求的獲取方法 24
3.2.1 常用方法 24
3.2.2 快速建立軟件原型模型來獲取需求 25
3.3 需求分析的常用方法 26
3.4 結構化分析 26
3.4.1 結構化分析方法 27
3.4.2 面向結構化分析的建模工具 27
3.4.3 數據流圖 28
3.4.4 數據流圖實例 30
3.4.5 數據字典 32
3.4.6 處理過程描繪 34
3.4.7 狀態轉換圖 37
3.5 其他工具 38
3.5.1 層次方框圖 38
3.5.2 維納圖 38
3.5.3 IPO圖 39
習題3 40
第4章 概要設計 41
4.1 概要設計階段的目標與任務 41
4.2 概要設計階段的啟發規則 42
4.2.1 軟件結構設計的準則 42
4.2.2 軟件模塊設計的準則 42
4.3 軟件設計的基礎 43
4.3.1 模塊化 43
4.3.2 抽象 44
4.3.3 逐步求精 44
4.3.4 局部化和信息隱藏 45
4.3.5 模塊獨立性 45
4.4 軟件設計工具 47
4.4.1 軟件層次圖 47
4.4.2 HIPO圖 47
4.4.3 軟件結構圖 48
4.5 結構化的設計方法 48
4.5.1 數據流圖分類 49
4.5.2 軟件結構化設計方法的步驟 50
4.5.3 變換型分析設計 50
4.5.4 面向事務型數據流圖的設計 52
4.5.5 綜合分析設計 53
習題4 58
第5章 詳細設計 59
5.1 詳細設計階段的目標與任務 59
5.2 結構化程序設計介紹 59
5.3 詳細設計工具 60
5.3.1 程序流程圖 60
5.3.2 N-S圖 61
5.3.3 問題分析圖 62
5.3.4 過程設計語言 64
5.4 用戶界面設計 64
5.4.1 用戶的界面需求 65
5.4.2 用戶界面設計問題 65
5.4.3 用戶界面設計原則 66
5.4.4 設計界面的過程 66
習題5 67
第6章 軟件實現與維護 68
6.1 編碼 68
6.1.1 編程語言的選擇 68
6.1.2 編碼的規範 69
6.2 測試基礎 70
6.2.1 軟件測試的目標 70
6.2.2 軟件測試的原則 70
6.2.3 軟件測試的方法 71
6.2.4 軟件測試的步驟 71
6.2.5 軟件測試的信息流 72
6.3 單元測試 73
6.3.1 單元測試的內容 73
6.3.2 代碼審查 74
6.4 軟件集成測試 75
6.5 驗收測試 76
6.5.1 確認測試的要求 76
6.5.2 軟件配置的復查 77
6.5.3 Alpha測試與Beta測試 77
6.6 軟件的測試方法 77
6.6.1 黑盒測試 77
6.6.2 白盒測試 79
6.7 軟件維護 82
6.7.1 軟件維護概述 82
6.7.2 軟件維護過程 83
6.8 軟件維護中存在的問題 84
6.8.1 軟件維護存在的困難 84
6.8.2 軟件維護的弊端 84
習題6 85
第7章 軟件項目管理 86
7.1 軟件項目管理概述 86
7.1.1 軟件項目管理概念 86
7.1.2 軟件項目管理職能 86
7.2 項目組織管理 87
7.2.1 軟件開發項目啟動及任務 87
7.2.2 軟件開發組織管理 88
7.3 人員組織 89
7.3.1 民主製程序員組 89
7.3.2 現代程序員組 89
7.4 質量管理 90
7.4.1 軟件質量 90
7.4.2 質量管理的原則 91
7.4.3 軟件質量的管理方法 91
7.4.4 軟件項目的配置管理 92
7.5 軟件的評審與驗收 93
7.5.1 評審 93
7.5.2 驗收 94
習題7 95
第8章 面向對象方法學基礎 96
8.1 概述 96
8.2 面向對象的軟件工程 97
8.2.1 相關概念 97
8.2.2 面向對象的層次化設計技術 99
8.2.3 類與對象的關系的分析 99
8.3 關於UML 102
8.3.1 UML概述 102
8.3.2 UML圖 102
8.4 用例圖概述 104
8.4.1 用例圖的構成 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 順序圖的創建 127
8.7 通信圖概述 130
8.7.1 通信圖的組成 130
8.7.2 創建對象 133
8.7.3 迭代 133
8.7.4 順序圖和通信圖 134
習題8 137
第9章 狀態圖 138
9.1 狀態圖基礎知識 138
9.2 相關符號 139
9.2.1 狀態標記符 139
9.2.2 轉移 139
9.2.3 決策點 141
9.2.4 同步 142
9.3 狀態圖中的動作與事件 142
9.4 組成狀態 143
9.4.1 順序子狀態 143
9.4.2 並發子狀態 144
9.4.3 子狀態機的引用狀態 144
9.4.4 同步狀態 146
9.5 狀態圖模型的創建步驟 146
9.5.1 狀態圖分析 146
9.5.2 狀態圖的實現 147
習題9 147
第10章 高校圖書管理系統的分析與設計 148
10.1 系統需求 148
10.2 系統需求分析 149
10.2.1 如何識別參與者與用例 149
10.2.2 用例描述 151
10.3 靜態的結構模型 154
10.3.1 定義系統中的對象和類 154
10.3.2 對用戶界面類進行定義 159
10.3.3 各類之間的關系 162
10.4 動態行為模型 165
10.4.1 創建順序圖 165
10.4.2 創建狀態圖 175
10.5 系統部署 176
習題10 177
參考文獻 178