軟件工程
-
【作 者】主 編 田保軍 劉利民
【I S B N 】978-7-5170-7596-7
【責任編輯】張玉玲
【適用讀者群】本專通用
【出版時間】2019-04-01
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】304
【千字數】468
【印 張】19
【定 價】¥46
【叢 書】普通高等教育“十三五”規劃教材(計算機專業群)
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書是一本基于豐富案例的軟件工程實用教程,利用軟件工程核心三要素—方法、工具和過程—貫穿全文,重點介紹了軟件工程的基本概念、原理、軟件工程國家相關規范和軟件工程文檔撰寫國家標準以及傳統軟件工程方法學和面向對象方法學。
本書重點介紹當前主流的面向對象軟件工程的開發方法,UML與建模方法、工具以及統一過程RUP。通過實例突出講述面向對象分析、設計和實現流程。本書所有的概念、開發方法都通過實例來演示,內容精煉、表達簡明、實例豐富,非常適合用作高等院校軟件工程專業、計算機科學與技術專業及相關專業本科生、研究生的教材,也可以作為培訓機構相關專業的培訓教材和廣大科技工作者、研究人員的參考用書。
通俗易懂,循序漸進,適用廣泛
內容全面,結構清晰,案例教學
示例典型,實用性強,注重引導
軟件工程作為支撐軟件產業的一級學科,其發展正方興未艾。軟件工程課程是SWEBOK軟件工程知識體系中一門基礎、核心課程。軟件工程課程涉及的內容廣泛,其涉及的各項技術和項目管理方法對于即將從事IT產業的學生來說是非常重要的。但是由于種種原因,對于這門課程許多學生認為比較空洞乏味。本書結合作者多年的教學和工程實踐經驗,參閱大量國內外有關軟件工程的教材和資料,遵循“理論為基礎、實用為目的”的原則,理論聯系實踐,編寫本書。
本書著重從實用角度出發,講解目前軟件工程比較成熟的、廣泛使用的兩大方法學:結構化方法學和面向對象方法學。本書以軟件生命周期為主線,利用軟件工程核心三要素—方法、工具和過程—貫穿全文,主要講解了軟件工程概述,結構化方法、工具和過程,可行性與計劃研究,需求分析,軟件設計,軟件實現,軟件運行與維護,軟件過程管理,面向對象的軟件工程概述,面向對象分析,面向對象設計與實現,同時介紹了當今流行的軟件工程建模語言和工具,例如面向對象統一建模語言UML、軟件繪圖工具Microsoft Visio、數據建模工具PowerDesigner、面向對象建模工具Rational Rose與StarUML、測試工具LoadRunner、Quality Center與QuickTest Professional等。同時,為了幫助學生通過“做中學”的模式掌握扎實而實用的軟件工程技術,本書以學生學籍管理系統為項目案例,貫穿全文。
本書內容豐富,組織結構嚴謹,原理、方法與案例相結合,講解由淺入深,既體現知識點的連貫性、完整性,又體現知識在實際項目中的應用,適合作為高等院校軟件工程專業、計算機科學與技術專業及相關專業本科生、研究生的教材,也可以作為培訓機構相關專業的培訓教材和廣大科技工作者和研究人員的參考用書。
本書在內容的編排、語言的敘述等方面都有其自身的一些特點:
(1)內容系統全面,結構清晰。全書分為三大部分:面向過程的軟件工程和面向對象的軟件工程,按照軟件生命周期的各個階段分別進行講述。
(2)描述簡明易懂。本書從基本概念和原理出發,注重內容的可理解性,深入淺出,循序漸進;文字描述通俗易道,簡明扼要,重點突出。
(3)注重案例分析。以學生學籍管理系統為案例貫穿全文是本書的最大特色。本書克服以往軟件工程教材重理論、輕實踐或案例少且知識點內容不連續的缺點,不僅增加了案例數量,而且保持案例的連續性,使讀者更容易掌握相關知識。
(4)每章列出了學習目標和小結,配有精選的適量習題,便于讀者對所學內容的復習和理解。
本書由田保軍老師、劉利民老師任主編,張林豐老師、張麗霞老師和許志偉老師任副主編。參加編寫的老師分工如下:田保軍老師編寫第5、10、11章;劉利民老師編寫第1、3章;張林豐老師編寫第6、7、8章;張麗霞老師編寫第4、9章;許志偉老師編寫第2章和附錄。全書由田保軍老師、劉利民老師統稿。
本書參考和引用了許多教材、著作和網站內容,除了確實無法查證出處以外,本書在參考文獻中都一一列出,在此表示衷心感謝。張志林、胡皎月、王宇、胡培培等研究生在教材的編寫過程中,也做了不少工作,一并表示感謝。限于時間和水平有限,書中不夠完善乃至缺點和錯誤之處,懇請專家學者提出寶貴意見,以便我們再版時進行修訂補充,使之日臻完善。
第1篇 面向過程的軟件工程
第1章 軟件工程概述 1
1.1 軟件工程的發展歷程 1
1.2 軟件危機 2
1.2.1 軟件的概念、特點及分類 2
1.2.2 軟件危機 5
1.2.3 產生軟件危機的原因 5
1.2.4 解決軟件危機的方法 7
1.3 軟件工程 7
1.3.1 軟件工程的概念 7
1.3.2 軟件工程原理 8
1.3.3 常用的軟件工程開發方法 9
1.3.4 軟件過程與模型 10
1.4 軟件工程的相關規范 16
1.4.1 軟件項目的開發流程 16
1.4.2 軟件工程的標準化 17
1.4.3 軟件工程文檔編寫 18
小 結 19
習題1 20
第2章 結構化方法、工具和過程 22
2.1 結構化方法與過程 22
2.2 常用結構化建模工具 23
2.2.1 Visio 23
2.2.2 PowerDesigner 26
小 結 35
習題2 35
第3章 可行性與計劃研究 36
3.1 可行性研究 36
3.1.1 可行性研究的任務 36
3.1.2 可行性研究的步驟 37
3.1.3 成本/效益分析 38
3.2 項目開發計劃 41
3.3 業務流程建模 43
3.3.1 系統流程圖 43
3.3.2 數據流圖 44
3.3.3 數據字典 48
3.4 項目案例 49
小 結 55
習題3 55
第4章 需求分析 58
4.1 需求分析的任務和步驟 58
4.1.1 需求分析的任務 59
4.1.2 需求分析的步驟 60
4.2 獲取需求的方法 62
4.3 結構化分析方法的策略 64
4.4 結構化分析圖形工具 65
4.4.1 數據流圖 65
4.4.2 輸入/處理/輸出圖(IPO) 70
4.4.3 實體-聯系圖 72
小 結 77
習題4 78
第5章 軟件設計 81
5.1 概要設計 81
5.1.1 概要設計步驟以及任務 81
5.1.2 概要設計原理 84
5.1.3 軟件體系結構設計 91
5.1.4 概要設計圖形工具 94
5.1.5 面向數據流的設計方法 96
5.2 接口設計 106
5.2.1 模塊間的接口設計和模塊與其他
外部實體的接口設計 106
5.2.2 用戶界面設計 106
5.3 詳細設計的任務 111
5.3.1 詳細設計的基本任務 111
5.3.2 詳細設計的表示方法 112
5.3.3 面向數據結構的設計方法 120
5.3.4 程序復雜程度的定量度量 123
5.4 項目案例 125
5.4.1 軟件功能設計 125
5.4.2 軟件數據庫設計 126
小 結 129
習題5 130
第6章 軟件實現 133
6.1 軟件編碼 133
6.1.1 程序設計語言 133
6.1.2 程序設計風格 134
6.2 軟件測試 137
6.2.1 軟件測試目的 137
6.2.2 軟件測試模型 139
6.2.3 軟件測試階段 140
6.2.4 軟件測試技術 142
6.2.5 軟件測試類型及方法 145
6.2.6 軟件測試過程 149
6.3 軟件測試自動化 159
6.3.1 軟件自動化測試 159
6.3.2 自動化測試工具概述 160
6.3.3 Quality Center(QC) 161
6.3.4 QuickTest Professional(QTP) 162
6.3.5 Load Runner(LR) 164
6.3.6 國產測試軟件 166
小 結 167
習題6 168
第7章 軟件運行與維護 170
7.1 軟件維護概述 170
7.1.1 軟件的可維護性 170
7.1.2 軟件維護的類型 171
7.1.3 軟件維護工作流程 172
7.1.4 軟件維護過程文檔 173
7.1.5 軟件維護的困難及應對策略 174
7.2 軟件運維管理 175
7.3 軟件運維的關鍵 177
7.3.1 運維平臺 177
7.3.2 文檔管理 178
7.3.3 水波效應 178
小 結 179
習題7 179
第8章 軟件過程管理 181
8.1 軟件工程項目管理 181
8.1.1 項目啟動管理 181
8.1.2 項目計劃管理 182
8.1.3 人員組織與管理 184
8.1.4 變更管理 186
8.1.5 風險管理 187
8.2 軟件過程管理及能力成熟度模型 191
8.2.1 軟件能力成熟度與SW-CMM 191
8.2.2 CMMI的發展 193
8.2.3 CMMI開發模型V1.3介紹 194
8.3 軟件配置管理 196
8.3.1 軟件配置管理作用 196
8.3.2 軟件配置管理過程 197
8.3.3 常用的軟件配置管理工具 200
小 結 204
習題8 205
第2篇 面向對象的軟件工程
第9章 面向對象的軟件工程概述 206
9.1 面向對象思想及概念 206
9.2 面向對象方法與過程 208
9.3 常用面向對象建模語言及工具 213
9.3.1 統一建模語言 213
9.3.2 Rational Rose 216
9.3.3 StarUML 226
小 結 230
習題9 230
第10章 面向對象分析 233
10.1 面向對象的需求獲取 233
10.1.1 需求獲取概述 234
10.1.2 需求獲取 234
10.2 面向對象的需求分析 238
10.2.1 面向對象方法概述 238
10.2.2 需求分析階段的任務 243
10.2.3 需求規格說明的評審 248
10.3 項目案例 249
小 結 258
習題10 258
第11章 面向對象設計與實現 260
11.1 面向對象設計準則 260
11.2 面向對象設計 261
11.3 面向對象實現 267
11.3.1 面向對象程序設計語言 267
11.3.2 面向對象的測試策略 271
11.3.3 面向對象的測試步驟 272
11.3.4 面向對象測試用例設計 273
11.4 項目案例 275
小 結 277
習題11 277
參考文獻 278
附錄 計算機軟件文檔編制
規范(GB 8567-2006) 280