前言
第1章 軟件工程概述
1.1 軟件概論
1.1.1 軟件的發(fā)展歷史
1.1.2 軟件的概念和特點
1.1.3 軟件的分類
1.1.4 軟件危機
1.2 軟件工程與軟件過程
1.2.1 軟件工程的概念
1.2.2 軟件工程項目的基本目標
1.2.3 軟件工程學的原則
1.2.4 軟件過程與軟件生存周期
1.2.5 常見的軟件開發(fā)模型
小結
習題1
第2章 可行性研究
2.1 可行性研究的任務
2.2 可行性研究的具體步驟
2.3 系統(tǒng)流程圖
2.3.1 系統(tǒng)流程圖的作用
2.3.2 系統(tǒng)流程圖的符號
2.3.3 系統(tǒng)流程圖的例子
2.4 成本/效益分析
小結
習題2
第3章 需求工程
3.1 軟件需求
3.1.1 軟件需求的定義
3.1.2 需求的層次
3.1.3 需求錯誤的原因
3.2 需求工程
3.2.1 需求工程的內容
3.2.2 需求獲取
3.2.3 需求分析
3.2.4 需求傳遞
3.2.5 需求驗證
3.2.6需求管理
3.3 分析建模
3.3.1 分析模型
3.3.2 數(shù)據字典
3.3.3 結構化分析過程
3.4 軟件原型
3.4.1 原型的定義和作用
3.4.2 拋棄式原型和演化式原型
3.4.3 為何要采用原型法
小結
習題3
第4章 軟件體系結構基礎
4.1 軟件體系結構的概念
4.1.1 構件與軟件重用
4.1.2 什么是軟件體系結構
4.1.3 軟件體系結構設計原則
4.1.4 軟件體系結構的現(xiàn)狀及發(fā)展方向
4.2 通用的軟件體系結構
4.2.1 主機/終端結構
4.2.2 兩層結構——客戶/服務器體系結構
4.2.3 瀏覽器/服務器結構
4.2.4 三層C/S結構
4.2.5 三層C/S結構應用實例
小結
習題4
第5章 軟件設計
5.1 軟件概要設計的基本任務
5.2 軟件設計的過程
5.2.1 軟件設計在開發(fā)階段的重要性
5.2.2 軟件設計的過程
5.3 軟件設計的原則
5.4 有效的模塊設計
5.5 結構化設計方法(structured design,SD)
5.5.1 在系統(tǒng)結構圖(SC)中的模塊
5.5.2 變換流與變換型系統(tǒng)結構
5.5.3 事務型系統(tǒng)結構圖
5.5.4 變換映射
5.5.5 事務映射
5.5.6 注意“黑箱”技術的使用
5.6 數(shù)據設計和文件設計
5.6.1 數(shù)據設計的原則
5.6.2 文件設計的過程
5.7 設計規(guī)格說明與設計評審
5.8 詳細設計
5.8.1 詳細設計的任務和原則
5.8.2 詳細設計的描述工具
5.8.3 程序復雜程度的定量度量
5.8.4 設計復審
小結
習題5
第6章 編碼
6.1 程序設計語言
6.1.1 程序設計語言分類
6.1.2 程序設計語言的特點
6.1.3 程序設計語言的選擇
6.2 編碼風格
6.2.1 源程序文檔化
6.2.2 數(shù)據說明
6.2.3 語句構造
6.2.4 輸入/輸出
6.3 程序效率
6.3.1 算法對效率的影響
6.3.2 影響存儲器效率的因素
6.3.3 影響輸入/輸出的因素
小結
習題6
第7章 測試
7.1 測試的基本概念和原則
7.1.1 測試的必要性
7.1.2 測試的概念
7.1.3 測試的目的
7.1.4 測試復雜性
7.1.5 測試的基本原則
7.2 測試步驟
7.2.1 測試過程
7.2.2 測試的步驟
7.3 設計測試方案
7.3.1 白盒法測試的基本技術
7.3.2 黑盒法測試的基本技術
7.4 單元測試
7.4.1 單元測試的內容
7.4.2 單元測試步驟
7.5 集成測試
7.5.1 非增式組裝測試
7.5.2 增式組裝測試
7.6 確認測試
7.6.1 測試內容
7.6.2 測試步驟
7.7 自動測試工具
7.7.1 測試數(shù)據生成程序
7.7.2 靜態(tài)生成程序
7.7.3 動態(tài)分析程序
7.7.4 文件比較程序
7.8 軟件可靠性
7.8.1 基本概念
7.8.2 估算MTTF的方法
小結
習題7
第8章 面向對象技術
8.1 面向對象的概念
8.1.1 對象
8.1.2 類
8.1.3 封裝
8.1.4 繼承
8.1.5 接口
8.1.6 消息
8.1.7 結構與連接
8.1.8 多態(tài)性
8.2 面向對象概念舉例
8.2.1 靜態(tài)字段和方法
8.2.2 屬性
8.2.3 類中的繼承和重載
8.2.4 接口
8.2.5 委托
小結
習題8
第9章 面向對象分析與設計
9.1 面向對象分析(OOA)
9.1.1 論域分析
9.1.2 應用分析
9.2 對象模型技術
9.2.1 對象模型
9.2.2 動態(tài)模型
9.2.3 功能模型
9.3 面向對象設計(OOD)
9.3.1 類設計的目標和方針
9.3.2 通過復用設計類
9.4 設計模式
9.4.1 設計模式概述
9.4.2 設計模式實例
9.4.3 如何使用設計模式
小結
習題9
第10章 信息系統(tǒng)建模
10.1 建模方法論
10.1.1 建模與仿真的基本概念
10.1.2 建模過程
10.1.3 建模方法
10.1.4 建模步驟
10.2 傳統(tǒng)的軟件開發(fā)所面臨的問題
10.2.1 傳統(tǒng)軟件開發(fā)面臨軟件危機的問題
10.2.2 軟件系統(tǒng)開發(fā)的方法思想發(fā)展
10.3 軟件建模
10.3.1 軟件建模的要求與目的
10.3.2 傳統(tǒng)建模方法的局限性
10.3.3 軟件工程與建模的關系
10.3.4 建模要素
10.4 軟件建模應用
10.4.1 從現(xiàn)實世界到業(yè)務模型
10.4.2 從業(yè)務模型到概念模型
10.4.3 從概念模型到設計模型
小結
習題10
第11章 統(tǒng)一建模語言(UML)
11.1 UML簡介
11.1.1 UML的產生和成長
11.1.2 UML的定義及目標
11.2 UML語言概述
11.2.1 視圖(views)
11.2.2 圖(diagram)
11.2.3 模型元素
11.2.4 通用機制
11.2.5 UML建模工具
11.3 用例建模
11.3.1 用例圖
11.3.2 參與者
11.3.3 用例
11.4 類與對象建模
11.4.1 類和對象
11.4.2 類圖和對象圖
11.4.3 關系
11.4.4 約束和派生(規(guī)則)
11.4.5 包
11.4.6如何確定類
11.5 動態(tài)建模
11.5.1 消息(massage)
11.5.2 狀態(tài)圖(state diagram)
11.5.3 順序圖(sequence diagram)
11.5.4 協(xié)作圖(collaboration diagram)
11.5.5 活動圖(activity diagram)
11.6 物理體系結構建模
11.6.1 邏輯體系結構
11.6.2 物理體系結構
11.6.3 構件圖
11.6.4 部署圖
11.7 使用UML的過程
11.7.1 軟件工程的過程概念
11.7.2 Rational的統(tǒng)一過程
小結
習題11
參考文獻