現代軟件工程基礎
彭鑫、游依勇、趙文耘
相關主題
商品描述
目錄大綱
目錄
第1章軟件工程概述
1.1軟件的產生與發展
1.2軟件工程的含義
1.3軟件工程的系統觀與演化觀
1.4軟件工程師的社會責任
1.5本書的內容結構
小結
第2章軟件過程
2.1軟件過程概述
2.1.1基本概念和發展歷史
2.1.2軟件生存周期過程標準
2.1.3軟件過程模型
2.1.4軟件過程改進
2.2敏捷方法與精益思想
2.2.1敏捷方法
2.2.2精益思想
2.2.3敏捷實踐方法論
2.3開發運維一體化
2.3.1概覽
2.3.2基本原則和技術實踐
2.3.3持續集成、持續交付和持續部署
小結
第3章版本與開發任務管理
3.1版本與開發任務管理概述
3.1.1配置管理概述
3.1.2版本發布計劃
3.2版本管理
3.2.1產品版本號命名
3.2.2代碼版本管理
3.2.3代碼分支與基線管理
3.3特性開發任務管理
3.3.1特性描述
3.3.2特性開發任務管理流程
3.3.3變更管理流程
3.4缺陷修復過程管理
3.4.1缺陷描述
3.4.2缺陷修復處理流程
3.5基於追蹤與回溯的工作量與質量分析
3.5.1基於追蹤的分析
3.5.2基於回溯的分析
小結
第4章高質量編碼
4.1代碼質量概述
4.1.1代碼質量的含義
4.1.2可理解性和可維護性
4.1.3可靠性和信息安全性
4.1.4高效性
4.1.5可移植性
4.2代碼風格
4.2.1標識符命名
4.2.2排版格式
4.2.3註釋
4.3代碼邏輯
4.3.1代碼編寫的基本要求
4.3.2重復代碼問題
4.3.3代碼復雜度問題
4.3.4高質量的子程序
4.4安全與可靠性編碼
4.4.1數據驗證
4.4.2代碼邏輯問題
4.4.3錯誤處理
4.4.4斷言
4.4.5異常處理
4.4.6安全編程函數
4.5代碼質量控制
4.5.1個人測試與調試
4.5.2代碼靜態檢查與質量門禁
4.5.3代碼評審
4.5.4代碼質量度量
4.6測試驅動開發
4.6.1TDD的概念與優勢
4.6.2TDD的過程與原則
4.6.3TDD中的單元測試
小結
第5章軟件設計
5.1軟件設計概述
5.1.1軟件設計目標
5.1.2軟件設計層次
5.1.3軟件設計思想
5.2面向對象設計
5.2.1面向對象設計過程
5.2.2面向對象設計描述
5.2.3內聚和耦合
5.2.4面向對象設計原則
5.2.5面向切麵的編程
5.3契約式設計
5.4設計模式
5.5演化式設計
5.5.1演化式設計與計劃設計
5.5.2代碼壞味道
5.5.3軟件重構
小結
第6章軟件復用
6.1軟件復用概述
6.1.1軟件復用概念
6.1.2軟件復用層次
6.1.3軟件復用過程
6.1.4軟件產品線
6.1.5開源軟件復用
6.2組件級復用
6.2.1軟件開發庫復用
6.2.2在線服務復用
6.2.3接口描述規範
6.3框架級復用
6.4平臺級復用
6.4.1典型平臺能力
6.4.2基於平臺的應用開發過程
6.5基於復用的軟件開發案例
6.5.1後端服務開發
6.5.2前端We碼小程序開發
小結
第7章軟件體系結構
7.1軟件體系結構概述
7.2軟件體系結構決策
7.3軟件體系結構描述
7.4軟件體系結構風格
7.5分佈式軟件體系結構
7.5.1設計原則
7.5.2進程間通信
7.5.3負載均衡
7.5.4分佈式存儲
7.5.5可靠性保障
7.6雲原生軟件體系結構
7.6.1微服務體系結構
7.6.2微服務開發框架
7.6.3容器化部署
小結
第8章軟件需求
8.1軟件需求概述
8.1.1需求的含義及其來源
8.1.2需求的類型
8.1.3需求工程過程
8.1.4需求的質量要求
8.1.5系統需求與軟件需求
8.2需求分解和精化
8.2.1系統願景與上下文
8.2.2願景與目標分解和精化
8.2.3優先級排序
8.2.4沖突識別與協商
8.3需求分析與描述
8.3.1場景分析與描述
8.3.2類分析與描述
8.3.3行為分析與描述
8.3.4需求文檔
8.4敏捷開發中的需求工程
8.5軟件可信需求
小結
第9章軟件測試
9.1軟件測試概念與原則
9.1.1軟件質量事故
9.1.2軟件測試概念
9.1.3軟件測試原則
9.2軟件測試過程模型
9.2.1V模型
9.2.2W模型
9.2.3敏捷測試模型
9.3軟件測試類型
9.3.1單元測試
9.3.2集成測試
9.3.3系統測試
9.3.4驗收測試
9.4黑盒軟件測試方法
9.4.1等價類劃分法
9.4.2邊界值分析法
9.4.3判定表
9.4.4錯誤推測法
9.5白盒軟件測試方法
9.6系統測試技術與工具
9.6.1功能測試
9.6.2性能測試
9.6.3兼容性測試
9.6.4易用性測試
9.6.5可靠性測試
9.6.6信息安全測試
小結
第10章軟件集成與發布
10.1軟件集成與發布概述
10.1.1持續集成與發布的前置條件
10.1.2持續集成與發布的價值
10.1.3雲化與本地持續集成與發布
10.2持續集成
10.2.1集成過程
10.2.2持續集成的實踐
10.2.3持續集成的自動化支持工具
10.2.4軟件構建
10.3軟件發布
10.3.1軟件發布的反模式與基本原則
10.3.2藍綠部署
10.3.3金絲雀發布
10.3.4暗發布
10.4部署流水線
10.4.1部署流水線概述
10.4.2華為軟件開發雲中的部署流水線
小結
參考文獻