彭鑫 復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院副院長(zhǎng)、軟件學(xué)院副院長(zhǎng)、教授、博士生導(dǎo)師,中國(guó)計(jì)算機(jī)學(xué)會(huì)軟件工程專委會(huì)副主任,Journal of Software: Evolution and Process聯(lián)合主編,ACM Transactions on Software Engineering and Methodology等期刊編委。研究方向包括軟件智能化開(kāi)發(fā)與運(yùn)維、泛在計(jì)算軟件系統(tǒng)等。
游依勇 華為技術(shù)有限公司軟件工程學(xué)院院長(zhǎng),在軟件開(kāi)發(fā)、產(chǎn)品線總裁、人才培養(yǎng)、產(chǎn)業(yè)管理、生態(tài)建設(shè)等崗位具有20多年的工作經(jīng)驗(yàn),曾獲得國(guó)家科學(xué)技術(shù)進(jìn)步獎(jiǎng)和中國(guó)電子學(xué)會(huì)科學(xué)技術(shù)獎(jiǎng)一等獎(jiǎng)。
趙文耘 復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院教授、博士生導(dǎo)師。研究方向?yàn)檐浖こ、企業(yè)信息化。曾獲國(guó)家科技進(jìn)步二等獎(jiǎng)、電子工業(yè)部科技進(jìn)步特等獎(jiǎng)、上海市科技進(jìn)步二等獎(jiǎng)、上海市教學(xué)成果二等獎(jiǎng)等多項(xiàng)和省部級(jí)獎(jiǎng)項(xiàng)。
第1章軟件工程概述
1.1軟件的產(chǎn)生與發(fā)展
1.2軟件工程的含義
1.3軟件工程的系統(tǒng)觀與演化觀
1.4軟件工程師的社會(huì)責(zé)任
1.5本書的內(nèi)容結(jié)構(gòu)
小結(jié)
第2章軟件過(guò)程
2.1軟件過(guò)程概述
2.1.1基本概念和發(fā)展歷史
2.1.2軟件生存周期過(guò)程標(biāo)準(zhǔn)
2.1.3軟件過(guò)程模型
2.1.4軟件過(guò)程改進(jìn)
2.2敏捷方法與精益思想
2.2.1敏捷方法
2.2.2精益思想
2.2.3敏捷實(shí)踐方法論
2.3開(kāi)發(fā)運(yùn)維一體化
2.3.1概覽
2.3.2基本原則和技術(shù)實(shí)踐
2.3.3持續(xù)集成、持續(xù)交付和持續(xù)部署
小結(jié)
第3章版本與開(kāi)發(fā)任務(wù)管理
3.1版本與開(kāi)發(fā)任務(wù)管理概述
3.1.1配置管理概述
3.1.2版本發(fā)布計(jì)劃
3.2版本管理
3.2.1產(chǎn)品版本號(hào)命名
3.2.2代碼版本管理
3.2.3代碼分支與基線管理
3.3特性開(kāi)發(fā)任務(wù)管理
3.3.1特性描述
3.3.2特性開(kāi)發(fā)任務(wù)管理流程
3.3.3變更管理流程
3.4缺陷修復(fù)過(guò)程管理
3.4.1缺陷描述
3.4.2缺陷修復(fù)處理流程
3.5基于追蹤與回溯的工作量與質(zhì)量分析
3.5.1基于追蹤的分析
3.5.2基于回溯的分析
小結(jié)
第4章高質(zhì)量編碼
4.1代碼質(zhì)量概述
4.1.1代碼質(zhì)量的含義
4.1.2可理解性和可維護(hù)性
4.1.3可靠性和信息安全性
4.1.4高效性
4.1.5可移植性
4.2代碼風(fēng)格
4.2.1標(biāo)識(shí)符命名
4.2.2排版格式
4.2.3注釋
4.3代碼邏輯
4.3.1代碼編寫的基本要求
4.3.2重復(fù)代碼問(wèn)題
4.3.3代碼復(fù)雜度問(wèn)題
4.3.4高質(zhì)量的子程序
4.4安全與可靠性編碼
4.4.1數(shù)據(jù)驗(yàn)證
4.4.2代碼邏輯問(wèn)題
4.4.3錯(cuò)誤處理
4.4.4斷言
4.4.5異常處理
4.4.6安全編程函數(shù)
4.5代碼質(zhì)量控制
4.5.1個(gè)人測(cè)試與調(diào)試
4.5.2代碼靜態(tài)檢查與質(zhì)量門禁
4.5.3代碼評(píng)審
4.5.4代碼質(zhì)量度量
4.6測(cè)試驅(qū)動(dòng)開(kāi)發(fā)
4.6.1TDD的概念與優(yōu)勢(shì)
4.6.2TDD的過(guò)程與原則
4.6.3TDD中的單元測(cè)試
小結(jié)
第5章軟件設(shè)計(jì)
5.1軟件設(shè)計(jì)概述
5.1.1軟件設(shè)計(jì)目標(biāo)
5.1.2軟件設(shè)計(jì)層次
5.1.3軟件設(shè)計(jì)思想
5.2面向?qū)ο笤O(shè)計(jì)
5.2.1面向?qū)ο笤O(shè)計(jì)過(guò)程
5.2.2面向?qū)ο笤O(shè)計(jì)描述
5.2.3內(nèi)聚和耦合
5.2.4面向?qū)ο笤O(shè)計(jì)原則
5.2.5面向切面的編程
5.3契約式設(shè)計(jì)
5.4設(shè)計(jì)模式
5.5演化式設(shè)計(jì)
5.5.1演化式設(shè)計(jì)與計(jì)劃設(shè)計(jì)
5.5.2代碼壞味道
5.5.3軟件重構(gòu)
小結(jié)
第6章軟件復(fù)用
6.1軟件復(fù)用概述
6.1.1軟件復(fù)用概念
6.1.2軟件復(fù)用層次
6.1.3軟件復(fù)用過(guò)程
6.1.4軟件產(chǎn)品線
6.1.5開(kāi)源軟件復(fù)用
6.2組件級(jí)復(fù)用
6.2.1軟件開(kāi)發(fā)庫(kù)復(fù)用
6.2.2在線服務(wù)復(fù)用
6.2.3接口描述規(guī)范
6.3框架級(jí)復(fù)用
6.4平臺(tái)級(jí)復(fù)用
6.4.1典型平臺(tái)能力
6.4.2基于平臺(tái)的應(yīng)用開(kāi)發(fā)過(guò)程
6.5基于復(fù)用的軟件開(kāi)發(fā)案例
6.5.1后端服務(wù)開(kāi)發(fā)
6.5.2前端We碼小程序開(kāi)發(fā)
小結(jié)
第7章軟件體系結(jié)構(gòu)
7.1軟件體系結(jié)構(gòu)概述
7.2軟件體系結(jié)構(gòu)決策
7.3軟件體系結(jié)構(gòu)描述
7.4軟件體系結(jié)構(gòu)風(fēng)格
7.5分布式軟件體系結(jié)構(gòu)
7.5.1設(shè)計(jì)原則
7.5.2進(jìn)程間通信
7.5.3負(fù)載均衡
7.5.4分布式存儲(chǔ)
7.5.5可靠性保障
7.6云原生軟件體系結(jié)構(gòu)
7.6.1微服務(wù)體系結(jié)構(gòu)
7.6.2微服務(wù)開(kāi)發(fā)框架
7.6.3容器化部署
小結(jié)
第8章軟件需求
8.1軟件需求概述
8.1.1需求的含義及其來(lái)源
8.1.2需求的類型
8.1.3需求工程過(guò)程
8.1.4需求的質(zhì)量要求
8.1.5系統(tǒng)需求與軟件需求
8.2需求分解和精化
8.2.1系統(tǒng)愿景與上下文
8.2.2愿景與目標(biāo)分解和精化
8.2.3優(yōu)先級(jí)排序
8.2.4沖突識(shí)別與協(xié)商
8.3需求分析與描述
8.3.1場(chǎng)景分析與描述
8.3.2類分析與描述
8.3.3行為分析與描述
8.3.4需求文檔
8.4敏捷開(kāi)發(fā)中的需求工程
8.5軟件可信需求
小結(jié)
第9章軟件測(cè)試
9.1軟件測(cè)試概念與原則
9.1.1軟件質(zhì)量事故
9.1.2軟件測(cè)試概念
9.1.3軟件測(cè)試原則
9.2軟件測(cè)試過(guò)程模型
9.2.1V模型
9.2.2W模型
9.2.3敏捷測(cè)試模型
9.3軟件測(cè)試類型
9.3.1單元測(cè)試
9.3.2集成測(cè)試
9.3.3系統(tǒng)測(cè)試
9.3.4驗(yàn)收測(cè)試
9.4黑盒軟件測(cè)試方法
9.4.1等價(jià)類劃分法
9.4.2邊界值分析法
9.4.3判定表
9.4.4錯(cuò)誤推測(cè)法
9.5白盒軟件測(cè)試方法
9.6系統(tǒng)測(cè)試技術(shù)與工具
9.6.1功能測(cè)試
9.6.2性能測(cè)試
9.6.3兼容性測(cè)試
9.6.4易用性測(cè)試
9.6.5可靠性測(cè)試
9.6.6信息安全測(cè)試
小結(jié)
第10章軟件集成與發(fā)布
10.1軟件集成與發(fā)布概述
10.1.1持續(xù)集成與發(fā)布的前置條件
10.1.2持續(xù)集成與發(fā)布的價(jià)值
10.1.3云化與本地持續(xù)集成與發(fā)布
10.2持續(xù)集成
10.2.1集成過(guò)程
10.2.2持續(xù)集成的實(shí)踐
10.2.3持續(xù)集成的自動(dòng)化支持工具
10.2.4軟件構(gòu)建
10.3軟件發(fā)布
10.3.1軟件發(fā)布的反模式與基本原則
10.3.2藍(lán)綠部署
10.3.3金絲雀發(fā)布
10.3.4暗發(fā)布
10.4部署流水線
10.4.1部署流水線概述
10.4.2華為軟件開(kāi)發(fā)云中的部署流水線
小結(jié)
參考文獻(xiàn)