《實用軟件工程(第3版)》是普通高等教育“十一五”國家級規劃教材的修訂版,根據教學反饋和學時要求,對內容做了較大的調整,以期更好地適應教學的需要。本書面向工程實踐,按照IT企業工作流程安排章節順序,新版教材共10章,包括軟件工程的內容與方法、軟件生命周期與開發模型、軟件立項與合同、軟件需求、軟件策劃、軟件建模、軟件設計、軟件測試、軟件實施與維護和軟件管理。本書為任課老師免費提供電子課件,并出版有配套實踐教材《軟件工程實踐教程》。
第1章 軟件工程的內容與方法
1.1 軟件的定義
1.2 軟件工程的定義
1.3 軟件工程在軟件行業中的作用
1.4 軟件工程方法論
1.4.1 軟件工程方法論的提出
1.1.4.2 面向過程的方法
1.4.3 面向對象的方法
1.4.4 面向元數據的方法.
1.4.5 形式化方法
1.4.6 面向業務基礎平臺的方法
1.4.7 軟件工程方法論小結
1.5 軟件工程實踐論
1.5.1 軟件工程實踐論的提出
1.5.2 面向流程分析
1.5.3 面向元數據設計
1.5.4 面向對象實現
1.5.5 面向功能測試
1.5.6 面向過程管理
1.5.7 軟件工程實踐論小結
1.6軟件支持過程
1.7 軟件管理過程
1.8 實例分析--某港口信息系統建設案例
1.9 本章小結
習題1
第2章 軟件生命周期與開發模型
2.1 軟件生命周期模型概論
2.2 瀑布模型
2.3 增量模型
2.4 原型模型
2.5 迭代模型
2.6 螺旋模型
2.7 噴泉模型
2.8 XP模型
2.9 各種模型之間的關系
2.10 本章小結
習題2
第3章 軟件立項與合同
3.1 軟件立項方法與文檔
3.2 簽訂合同的方法與文檔
3.3 軟件招標與投標
3.4 下達任務的方法與文檔
3.5 本章小結
習題3
第4章 軟件需求分析
4.1 需求分析的基本概念
4.2 需求分析的任務
4.3 需求分析的方法
4.4 需求描述工具
4.4.1 描述工具概述.
4.4.2 面向元數據的需求描述工具
4.4.3 面向過程的需求描述工具
4.4.4 面向對象的需求描述工具
4.5 需求過程管理
4.6 需求分析文檔
4.7 本章小結
習題4
第5章 軟件策劃
5.1 軟件策劃概論
5.2 軟件規模估計方法
5.3 軟件費用與資源估計方法
5.4 軟件策劃文檔
5.5 本章小結
習題5
第6章 軟件建模
6.1 三個模型的建模思想
6.2 數據模型設計概論
6.3 數據庫設計的理論與方法
6.4 數據模型建模實例分析--“混凝土公司信息管理系統”建模案例”
6.5 三個模型建模實例分析--“某省級新華書店信息管理系統”建模案
6.6 三個模型建模思想總結
6.7 本章小結
習題6
第7章 軟件設計
7.1 軟件設計概論
7.2 軟件設計原理
7.3 面向過程設計
7.3.1 面向過程的概要設計
7.3.2 面向過程的詳細設計
7.4 面向對象設計
7.4.1 面向對象設計描述工具
7.4.2 面向對象設計的步驟
7.5 面向元數據設計
7.6 軟件設計方法總結
7.7 軟件設計文檔
7.8 本章小結
習題7
第8章 軟件測試
8.1 軟件測試概論
8.2 軟件測試模型
8.3 黑盒測試方法
8.3.1 等價類劃分法
8.3.2 邊界值分析法
8.3.3 錯誤推測法
8.3.4 因果圖分析法
8.3.5 場景分析法
8.3.6 黑盒測試用例設計
8.3.7 黑盒測試的優缺點
8.4 白盒測試方法
8.5 灰盒測試方法
8.6 測試過程與測試文檔
8.7 本章小結
習題8
第9章 軟件實施與維護
9.1 軟件產品的分類
9.2 軟件產品的發布
9.3 軟件產品的實施
9.4 軟件維護的傳統方法
9.5 軟件維護的最新方法
9.6 軟件維護文檔
9.7 本章小結
習題9
第1 O 章軟件管理
10.1 軟件過程改進模型cMMI
10.1.1 cMMI內容簡介
10.1.2 CMMI實施思路
10.1.3 成熟度等級2過程域的解釋
10.2 敏捷文化現象.
10.3 軟件配置管理
10.3.1 配置管理的基本概念
10.3.2 配置管理員的職責
10.3.3 配置管理工具VSS的工作原理
10.4 軟件質量保證
10.4.1 軟件質量保證基本概念
10.4.2 軟件質量保證文檔
10.5 軟件項目管理
10.5.1 項目與項目管理的定義
10.5.2 項目經理的七項職責及十項工作程序
10.5.3 項目經理對程序員的八項要求
10.5.4 從大學生到項目經理
10.5.5 軟件企業人才管理策略
10.5.6 軟件企業架構及工作流
10.6 本章小結
習題10
參考文獻
軟件開發與維護;管理文檔主要由軟件工程管理部門書寫,用于指導軟件管理和決策。兩類文檔的標準、規范和編制模板,全公司范圍內要統一,這一工作由軟件工程管理部門完成。開發文檔是指導軟件開發與維護的文檔,開發與維護中所有的程序,都是按照開發文檔的要求編寫與實現的。軟件工程規定:文檔必須指揮程序,而決不允許程序指揮文檔;文檔與程序必須保持高度一致,而決不允許程序脫離開文檔。
開發文檔本身具有嚴格的層次關系和依賴關系,這種關系反映在如下的覆蓋關系之中,即有
(1)《目標程序》覆蓋《源程序》
(2)《源程序》覆蓋《詳細設計說明書》
(3)《詳細設計說明書》覆蓋《概要設計說明書》
(4)《概要設計說明書》覆蓋《需求分析規格說明書》
(5)《需求分析規格說明書》覆蓋《用戶需求報告》
(6)《用戶需求報告》覆蓋《軟件合同》/《軟件任務書》
管理文檔本身具有嚴格的時序關系,這種時序關系反映在如下的軟件過程之中,而過程由一系列的時間序列所組成:
(1)需求分析過程管理文檔;
(2)軟件策劃過程管理文檔;
(3)軟件設計過程管理文檔;
(4)軟件實現過程管理文檔:
(5)軟件測試過程管理文檔;
(6)軟件維護過程管理文檔;
(7)軟件過程改進管理文檔。
成熟的軟件企業,都有一套自己的開發文檔和管理文檔編寫標準或編寫模板,在企業內部嚴格執行。
4.軟件的最新定義
軟件=知識+程序+數據+文檔
定義中增加了“知識”。對這一定義的討論正在進行。正方認為:因為軟件是知識在網絡上的體現,所以這個定義非常好。反方認為:程序、數據、文檔本身就是知識的載體與表現,所以這個定義有些畫蛇添足的意味。
……