《軟件工程案例教程:軟件項目開發(fā)實踐(第2版)》以案例的形式講述了軟件工程中軟件項目開發(fā)的實踐過程,全面涵蓋軟件項目開發(fā)中需求分析、概要設計、詳細設計、編碼、測試、提交以及運行維護等過程中涉及的理論、方法、技術、提交的產(chǎn)品和文檔等。《軟件工程案例教程:軟件項目開發(fā)實踐(第2版)》注重實效,系統(tǒng)、全面,通過貫穿始終的案例的講述,讓學習者在短時間內(nèi)掌握軟件項目開發(fā)的基本知識、基本過程,并有效提高實踐能力。
《軟件工程案例教程:軟件項目開發(fā)實踐(第2版)》共分九章,第1~2章介紹軟件工程的基本概念以及軟件工程的主要技術,第3~9章系統(tǒng)地講述軟件項目開發(fā)的各個過程。《軟件工程案例教程:軟件項目開發(fā)實踐(第2版)》注重理論與實際的結合,引導學生通過軟件開發(fā)理論和案例的學習,深刻理解軟件工程的實質(zhì),為以后的軟件工程實踐打下基礎。
《軟件工程案例教程:軟件項目開發(fā)實踐(第2版)》既適合作為高等院校計算機及相關專業(yè)軟件工程、軟件測試課程的教材,也適合作為廣大軟件技術人員的培訓教程,同時可以作為軟件開發(fā)人員在工作及學習中的技術參考書。
《軟件工程案例教程:軟件項目開發(fā)實踐(第2版)》按照軟件開發(fā)過程模型,通過一個貫穿全書的綜合案例,詳細介紹了軟件開發(fā)的需求分析、概要設計、詳細設計、編碼、測試、提交以及維護等軟件開發(fā)過程。在第2版修訂中,作者結合多年的教學和軟件工程項目實踐經(jīng)驗。根據(jù)軟件工程技術的新發(fā)展,進一步完善了很多軟件開發(fā)技術和技巧,并更換了第1版的所有案例說明。第2版中的“綜合信息管理平臺”案例,其復雜性和綜合性更加合理、科學,通過循序漸進的案例學習,讀者可以快速掌握軟件開發(fā)的基本知識、基本過程,并有效提高實踐能力,為以后順利投入工作實踐打下堅實的基礎。 《軟件工程案例教程:軟件項目開發(fā)實踐(第2版)》特點: ·內(nèi)容全面,涵蓋了軟件項目開發(fā)的所有內(nèi)容,包括理論、方法、提交產(chǎn)品和文檔。 ·注重實效。書中涉及的理論和方法都有相應的實踐案例對照講解,便于學生理解掌握。 ·結構清晰,全書通過一個貫穿始終的綜合項目案例詳細說明軟件項目的完整開發(fā)過程和提交的文檔等。 ·習題實用,每章后配有相應的習題,便于學生復習、鞏固所學理論知識。 ·教輔支持,為教師配有電子教案,方便教師教學。
前言
第1章 軟件工程概述
1.1 軟件工程的背景
1.2 軟件工程知識體系
1.3 軟件工程的三段論
1.4 軟件工程模型
1.4.1 軟件項目開發(fā)路線圖
1.4.2 軟件項目管理路線圖
1.4.3 軟件過程改進路線圖
1.5 軟件開發(fā)模型
1.5.1 瀑布模型
1.5.2 v模型
1.5.3 原型模型
1.5.4 增量式模型
1.5.5 螺旋式模型
1.5.6 噴泉模型
1.5.7 智能模型
1.6 軟件工程中的復用原則
1.7 小結
1.8 練習題
第2章 結構化方法和面向?qū)ο蠓椒?br>2.1 軟件工程方法比較
2.2 結構化軟件工程方法
2.2.1 結構化需求分析
2.2.2 結構化概要設計與詳細設計
2.2.3 結構化編碼
2.2.4 結構化測試
2.2.5 結構化維護
2.3 面向?qū)ο筌浖こ谭椒?br>2.3.1 面向?qū)ο笮枨蠓治?br>2.3.2 面向?qū)ο笤O計
2.3.3 面向?qū)ο缶幊?br>2.3.4 面向?qū)ο鬁y試
2.3.5 面向?qū)ο缶S護
2.4 軟件逆向工程
2.5 小結
2.6 練習題
第3章 軟件項目的需求分析
3.1 軟件項目需求概述
3.1.1 需求定義
3.1.2 需求類型
3.1.3 需求的重要性
3.2 需求工程
3.2.1 需求獲取
3.2.2 需求分析
3.2.3 需求規(guī)格說明
3.2.4 需求驗證
3.2.5 需求變更
3.3 需求分析模型
3.3.1 關聯(lián)模型
3.3.2 行為模型
3.3.3 數(shù)據(jù)模型
3.3.4 原型模型
3.4 需求建模的方法
3.4.1 結構化分析方法
3.4.2 面向?qū)ο蠓治龇椒?br>3.4.3 其他方法
3.5 需求規(guī)格說明文檔
3.6 項目案例
3.7 小結
3.8 練習題
第4章 軟件項目的概要設計
4.1 軟件設計定義
4.2 概要設計方法概論
4.3 設計模型
4.3.1 體系結構設計
4.3.2 數(shù)據(jù)設計
4.3.3 接口設計
4.3.4 構件設計
4.4 結構化的設計方法
4.4.1 功能模塊劃分
4.4.2 面向數(shù)據(jù)流的設計
4.4.3 輸入/輸出設計
4.5 面向?qū)ο蟮脑O計方法
4.5.1 識別對象
4.5.2 確定屬性
4.5.3 定義操作
4.5.4 確定對象之間的通信
4.5.5 完成對象定義
4.6 關于軟件模式和框架的概念
4.6.1 體系結構模式
4.6.2 設計模式
4.6.3 體系結構框架
4.7 軟件設計指導原則
4.8 概要設計文檔
4.9 項目案例
4.10 小結
4.11 練習題
第5章 軟件項目的詳細設計
5.1 關于詳細設計的概念
5.2 詳細設計的內(nèi)容
5.3 結構化的詳細設計方法
5.3.1 面向數(shù)據(jù)結構的設計
5.3.2 結構化詳細設計的例子
5.4 面向?qū)ο蟮脑敿氃O計方法
5.4.1 面向?qū)ο蟮脑敿氃O計
5.4.2 面向?qū)ο笤敿氃O計的例子
5.5 表達詳細設計的工具
5.5.1 圖形符號的設計方式
5.5.2 表格的設計方式
5.5.3 過程設計語言pdl
5.6 詳細設計文檔
5.7 項目案例
5.8 小結
5.9 練習題
第6章 軟件項目的編碼
6.1 編碼概述
6.2 編碼方法
6.2.1 結構化編程
6.2.2 面向?qū)ο缶幊?br>6.3 編碼策略
6.3.1 自頂向下的開發(fā)策略
6.3.2 自底向上的開發(fā)策略
6.3.3 自頂向下和自底向上相結合的開發(fā)策略
6.3.4 線程模式的開發(fā)策略
6.4 編碼語言與編碼標準和規(guī)范
6.4.1 編碼語言
6.4.2 編碼標準和規(guī)范
6.5 關于重構理念和重用原則
6.5.1 重構理念
6.5.2 重用原則
6.6 編碼文檔
6.7 項目案例
6.8 小結
6.9 練習題
第7章 軟件項目的測試
7.1 軟件測試概述
7.2 軟件測試方法概論
7.3 靜態(tài)測試
7.3.1 文檔審查
7.3.2 代碼檢查
7.3.3 技術評審
7.4 動態(tài)測試
7.4.1 白盒測試方法
7.4.2 黑盒測試方法
7.4.3 灰盒測試方法
7.5 軟件測試級別
7.5.1 單元測試
7.5.2 集成測試
7.5.3 系統(tǒng)測試
7.5.4 驗收測試
7.5.5 上線測試
7.5.6 回歸測試
7.6 面向?qū)ο蟮臏y試
7.6.1 面向?qū)ο蠓治龅臏y試
7.6.2 面向?qū)ο笤O計的測試
7.6.3 面向?qū)ο蟮膯卧獪y試
7.6.4 面向?qū)ο蟮募蓽y試
7.6.5 面向?qū)ο蟮南到y(tǒng)測試方法
7.7 測試過程管理
7.7.1 軟件測試計劃
7.7.2 軟件測試設計
7.7.3 軟件測試開發(fā)
7.7.4 軟件測試執(zhí)行
7.7.5 軟件測試跟蹤
7.7.6 軟件測試評估與總結
7.8 自動化測試
7.9 軟件測試過程的文檔
7.9.1 測試計劃文檔
7.9.2 測試設計文檔
7.9.3 軟件測試報告
7.10 項目案例
7.10.1 集成測試設計案例
7.10.2 系統(tǒng)測試設計案例
7.10.3 系統(tǒng)測試報告案例
7.11 小結
7.12 練習題
第8章 軟件項目的提交
8.1 軟件項目驗收與移交
8.2 驗收測試
8.3 培訓
8.3.1 培訓對象
8.3.2 培訓方式
8.3.3 培訓指南
8.4 用戶文檔
8.4.1 用戶手冊
8.4.2 系統(tǒng)管理員手冊
8.4.3 其他文檔
8.5 軟件項目提交文檔
8.5.1 驗收測試報告
8.5.2 用戶手冊
8.5.3 系統(tǒng)管理員手冊
8.5.4 產(chǎn)品提交文檔
8.6 項目案例
8.7 小結
8.8 練習題
第9章 軟件項目的維護
9.1 軟件項目維護概述
9.2 試運行
9.3 軟件的可維護性
9.4 軟件項目維護的類型
9.5 軟件再工程過程
9.6 軟件項目維護的過程
9.6.1 維護申請
9.6.2 維護實現(xiàn)
9.6.3 維護產(chǎn)品發(fā)布
9.7 軟件維護過程文檔
9.8 項目案例
9.9 小結
9.10 練習題
參考文獻