內容簡介
隨著計算機硬體性能的極大提高和計算機體系結構的不斷變化,計算機軟體系統也更加成熟和更為複雜,從而促使計算機軟體的角色發生了巨大的變化。軟體工程是在克服20世紀60年代末所出現的“軟體危機”的過程中逐漸形成與發展的。本書編者在結合多年實際設計經驗的基礎上,對軟體工程基礎進行了探討。全書共11章,包括軟體工程概述、軟體開發工具和環境、結構化分析、概要設計、詳細設計、軟體編碼、面向對象的分析和設計方法、軟體測試技術、軟體維護、軟體項目管理以及軟體質量保證與軟體工程標準等內容,各章後均配有小結和習題,以期提高讀者的軟體設計水平並拓寬設計思路。
本書可作為高職高專計算機套用技術、軟體技術等專業的教材,也可作為從事相關軟體設計工作人員的學習指導用書。
編輯推薦
本書編者在結合多年實際設計經驗的基礎上,對軟體工程基礎進行了探討。全書共11章,包括軟體工程概述、軟體開發工具和環境、結構化分析、概要設計、詳細設計、軟體編碼、面向對象的分析和設計方法、軟體測試技術、軟體維護、軟體項目管理以及軟體質量保證與軟體工程標準等內容,各章後均配有小結和習題,以期提高讀者的軟體設計水平並拓寬設計思路。
目錄
第1章 軟體工程概述
1.1 軟體的概念、特點和分類
1.1.1 軟體的概念
1.1.2 軟體的特點
1.1.3 軟體的分類
1.2 軟體工程概念
1.2.1 軟體危機
1.2.2 軟體工程的概念
1.2.3 軟體工程的原理
1.3 軟體生存期和軟體開發模型
1.3.1 軟體生存期
1.3.2 軟體開發模型
本章小結
習題
第2章 軟體開發工具和環境
2.1 軟體開發工具
2.1.1 軟體開發工具的概念
2.1.2 軟體開發工具的功能
2.1.3 軟體開發工具分類
2.2 軟體開發環境
2.2.1 軟體開發環境的分類
2.2.2 集成化的軟體開發環境
2.2.3 軟體開發環境的構成和特性
2.3 軟體開發工具和環境的套用及發展
2.4.計算機輔助軟體工程CASE
2.4.1 軟體自動化
2.4.2 CASE工具
2.4.3 CASE工具實例
本章小結
習題
第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.3 需求規格說明與評審
3.3.1 需求規格說明的主要內容
3.3.2 需求分析的評審
3.4 需求規格說明書寫作範例
本章小結
習題
第4章 概要設計
4.1 概要設計的任務與步驟
4.1.1 概要設計的任務
4.1.2 概要設計的過程
4.2 軟體設計的概念與原則
4.2.1 模組化
4.2.2 抽象與逐步求精
4.2.3 信息隱蔽和局部化
4.2.4 模組獨立性
4.2.5 設計準則
4.3 面向數據流的設計方法
4.3.1 概念
4.3.2 系統結構圖
4.3.3 變換分析
4.3.4 事務分析
4.3.5 設計最佳化
4.4 概要設計文檔評審
4.5 概要設計文檔寫作範例
本章小結
習題
第5章 詳細設計
5.1 詳細設計的任務與原則
5.1.1 詳細設計的任務
5.1.2 詳細設計的原則
5.2 詳細設計的方法
5.2.1 程式流程圖
5.2.2 N.S圖
5.2.3 PAD圖
5.2.4 PDL
5.3 詳細設計規格說明書與評審
5.3.1 詳細設計說明書
5.3.2 詳細設計複審
5.4 詳細設計文檔寫作範例
本章小結
習題
第6章 軟體編碼
6.1 程式設計語言
6.1.1 程式設計語言的分類
6.1.2 程式設計語言的特點
6.1.3 程式設計語言的選擇
6.2 編碼風格
6.2.1 代碼文檔化
6.2.2 數據說明
6.2.3 語句構造
6.2.4 輸入/輸出
6.3 程式效率
6.3.1 代碼效率
6.3.2 存儲器效率
6.3.3 輸入/輸出的效率
本章小結
習題
第7章 面向對象的分析和設計方法
7.1 面向對象方法的基本概念
7.1.1 面向對象方法概述
7.1.2 面向對象的概念
7.1.3 面向對象方法的主要優點
7.2 面向對象分析(OOA)
7.2.1 面向對象分析的基本過程
7.2.2 OOA過程
7.2.3 定義結構和層次
7.2.4 定義主題和子系統
7.3 面向對象設計
7.3.1 面向對象系統的設計
7.3.2 系統設計過程
7.3.3 對象設計過程
7.3.4 設計模式
7.4 面向對象測試
7.4.1 測試OOA和OOD模型
7.4.2 面向對象測試策略
7.4.3 OO軟體的測試案例設計
7.5 基於構件的軟體工程
7.5.1 基於構件的系統開發
7.5.2 CBSE過程
7.5.3 領域工程
7.5.4 基於構件的開發
本章小結
習題
第8章 軟體測試技術
8.1 軟體測試基礎
8.1.1 測試目標
8.1.2 測試原則
8.1.3 可測試性
8.2 測試案例設計
8.2.1 白盒測試
8.2.2 黑盒測試
8.2.3 針對專門的環境、體系結構和套用的測試
8.3 軟體測試策略
8.3.1 軟體測試的策略途徑
8.3.2 單元測試
8.3.3 集成測試
8.3.4 確認測試
8.3.5 系統測試
本章小結
習題
第9章 軟體維護
9.1 軟體維護概述
9.1.1 軟體維護的基本概念
9.1.2 軟體維護的特點
9.2 軟體維護活動
9.2.1 維護組織
9.2.2 維護報告
9.2.3 工作流程
9.2.4 維護記錄
9.2.5 維護評價
9.3 軟體的可維護性
9.3.1 決定軟體可維護性的因素
9.3.2 提高可維護性的方法
9.3.3 可維護性複審
9.4 軟體維護的副作用
9.5 軟體逆向工程和再生工程
本章小結
習題
第10章 軟體項目管理
10.1 軟體項目的特點和軟體管理的職能
10.1.1 軟體項目的特點
10.1.2 軟體管理的職能
10.2 軟體項目計畫
10.2.1 制訂計畫的目標
10.2.2 軟體項目度量和估算
10.2.3 風險分析和管理
10.2.4 軟體計畫的類型
10.2.5 項目計畫中任務的劃分
10.2.6 項目進度安排
10.3 軟體項目組織
10.3.1 組織原則
10.3.2 組織結構的模式
10.3.3 程式設計小組的組織
10.4 軟體項目人員配備
10.4.1 項目開發各階段所需人員
10.4.2 配備人員的原則
10.4.3 對項目經理人員的要求
10.4.4 評價軟體人員的條件
10.5 軟體項目的指導和檢驗
10.5.1 軟體項目指導
10.5.2 軟體項目檢驗
10.6 軟體配置管理和配置管理工具
10.6.1 概述
10.6.2 基線(baseline)
10.6.4 軟體配置管理的過程
10.6.5 軟體配置管理工具ClearCase簡介
本章小結
習題
第11章 軟體質量保證與軟體工程標準
11.1 軟體質量保證概述
11.1.1 軟體質量的概念
11.1.2 軟體質量保證
11.2 軟體質量保證體系與實施
11.2.1 軟體質量保證體系
11.2.2 軟體質量保證的實施
11.3 軟體工程標準化
11.3.1 軟體工程標準化的意義
11.3.2 軟體工程標準
11.3.3 軟體工程國家標準
11.4 軟體文檔
11.4.1 軟體文檔的作用和分類
11.4.2 軟體文檔的編制
11.4.3 軟體文檔的管理和維護
本章小結
習題