作者自2007年開始,在清華大學(xué)、北航、中科大微軟計(jì)算機(jī)實(shí)驗(yàn)班、北京大學(xué)軟件學(xué)院等學(xué)校教授現(xiàn)代軟件工程課程。《構(gòu)建之法——現(xiàn)代軟件工程》是鄒欣老師站在IT產(chǎn)業(yè)界和教育界的雙重視角,結(jié)合自己在一線名校切的切身教學(xué)經(jīng)驗(yàn)和體會(huì),編寫的一本與眾不同的教材,體現(xiàn)了其獨(dú)特的“做中學(xué)”的教學(xué)方法和理念。
鄒欣現(xiàn)任微軟Windows中國工程團(tuán)隊(duì)首席研發(fā)總監(jiān)。 1996—2003年,鄒欣在微軟Outlook團(tuán)隊(duì)從事 開發(fā)工作,2003—2005年,他在微軟內(nèi)部質(zhì)量 工具團(tuán)隊(duì)和Visual Studio團(tuán)隊(duì)負(fù)責(zé)軟件項(xiàng)目管理工具的開發(fā)。2005—2012年,他擔(dān)任微軟亞洲研究院技術(shù)創(chuàng)新組研發(fā)主管,負(fù)責(zé)研究成果的產(chǎn)品化和創(chuàng)新項(xiàng)目。2012—2014年,他擔(dān)任微軟亞洲互聯(lián)網(wǎng)工程院首席研發(fā)總監(jiān),負(fù)責(zé)必應(yīng)搜索客戶端、必應(yīng)輸入法、必應(yīng)詞典等產(chǎn)品。加入微軟前,鄒欣從事過商用Unix系統(tǒng)、
GPS/GIS軟件開發(fā)及測試工作。
他在2007年出版了《移山之道》,于2008年出版了《編程之美》 (合作)。他于1991年獲北京大學(xué)計(jì)算機(jī)軟件專業(yè)學(xué)士學(xué)位。1996年獲美國美國韋恩州立大學(xué)(Wayne State University)計(jì)算機(jī)軟件專業(yè)碩士學(xué)位。
微博 http://weibo.com/sdxinz
博客 http://www.cnblogs.com/xinz
專欄 http://zhuanlan.zhihu.com/goujianzhifa
I 推薦序
III 讀者反饋
V 第三版前言
VII 第二版前言
VIII 第一版前言
1 第1章 概 論
1.1 軟件 = 程序 + 軟件工程
1.2 軟件工程是什么
1.3 練習(xí)與討論
21 第2章 個(gè)人技術(shù)和流程
2.1 單元測試
2.2 效能分析工具
2.3 個(gè)人開發(fā)流程
2.4 實(shí)踐
2.5 練習(xí)與討論
46 第3章 軟件工程師的成長
3.1 個(gè)人能力的衡量與發(fā)展
3.2 軟件工程師的思維誤區(qū)
3.3 軟件工程師的職業(yè)發(fā)展
3.4 技能的反面
3.5 練習(xí)與討論
68 第4章 兩人合作
4.1 代碼規(guī)范
4.2 代碼風(fēng)格規(guī)范
4.3 代碼設(shè)計(jì)規(guī)范
4.4 代碼復(fù)審
4.5 結(jié)對編程
4.6 兩人合作的不同階段和技巧
4.7 練習(xí)與討論
96 第5章 團(tuán)隊(duì)和流程
5.1 非團(tuán)隊(duì)和團(tuán)隊(duì)
5.2 軟件團(tuán)隊(duì)的模式
5.3 開發(fā)流程9
5.4 練習(xí)與討論
114 第6章 敏捷流程
6.1 敏捷的流程簡介
6.2 敏捷流程的問題和解法
6.3 敏捷的團(tuán)隊(duì)
6.4 敏捷總結(jié)
6.5 敏捷的問答
6.6 練習(xí)與討論
133 第7章 實(shí)戰(zhàn)中的軟件工程
7.1 MSF簡史
7.2 MSF基本原則
7.3 MSF團(tuán)隊(duì)模型
7.4 MSF過程模型
7.5 實(shí)戰(zhàn)中的軟件工程
7.6 練習(xí)與討論
157 第8章 需求分析
8.1 軟件需求
8.2 軟件產(chǎn)品的利益相關(guān)者
8.3 獲取用戶需求—用戶調(diào)研
8.4 競爭性需求分析的框架
8.5 功能的定位和優(yōu)先級
8.6 計(jì)劃和估計(jì)
8.7 分而治之(Work Breakdown Structure)
8.8 練習(xí)與討論
191 第9章 項(xiàng)目經(jīng)理
9.1 PM是啥
9.2 微軟PM的來歷
9.3 PM做開發(fā)和測試之外的所有事情
9.4 領(lǐng)導(dǎo)力—高效的團(tuán)隊(duì)討論
9.5 PM 和風(fēng)險(xiǎn)管理
9.6 練習(xí)與討論
211 第10章 典型用戶和場景
10.1 典型用戶和典型場景
10.2 用例(Use Case)
10.3 規(guī)格說明書
10.4 功能驅(qū)動(dòng)的設(shè)計(jì)
10.5 練習(xí)與討論
232 第11章 軟件設(shè)計(jì)與實(shí)現(xiàn)
11.1 分析和設(shè)計(jì)方法
11.2 圖形建模和分析方法
11.3 其他設(shè)計(jì)方法
11.4 從Spec到實(shí)現(xiàn)
11.5 開發(fā)階段的日常管理
11.6 實(shí)戰(zhàn)中的源代碼管理
11.7 代碼完成(Code Complete)
11.8 練習(xí)與討論
258 第12章 用戶體驗(yàn)
12.1 用戶體驗(yàn)的要素
12.2 用戶體驗(yàn)設(shè)計(jì)的步驟和目標(biāo)
12.3 評價(jià)標(biāo)準(zhǔn)
12.4 貫穿多種設(shè)備的用戶體驗(yàn)
12.5 練習(xí)與討論
279 第13章 軟件測試
13.1 基本名詞解釋及分類
13.2 各種測試方法
13.3 實(shí)戰(zhàn)中的測試
13.4 運(yùn)用測試工具
13.5 練習(xí)與討論
310 第14章 質(zhì)量保障
14.1 軟件的質(zhì)量
14.2 軟件的質(zhì)量保障工作
14.3 練習(xí)與討論
329 第15章 穩(wěn)定和發(fā)布階段
15.1 從代碼完成到發(fā)布
15.2 不同頻率和不同覆蓋范圍的漸進(jìn)發(fā)布
15.3 發(fā)布之后—事后諸葛亮?xí)h
15.4 練習(xí)與討論
346 第16章 IT行業(yè)的創(chuàng)新
16.1 創(chuàng)新的迷思
16.2 創(chuàng)新的時(shí)機(jī)
16.3 創(chuàng)新的招數(shù)
16.4 魔方的創(chuàng)新
16.5 創(chuàng)新和作坊
16.6 練習(xí)與討論
384 第17章 人,績效和職業(yè)道德
17.1 領(lǐng)導(dǎo)力
17.2 領(lǐng)導(dǎo)力—知人善任
17.3 領(lǐng)導(dǎo)力—帶領(lǐng)團(tuán)隊(duì)成長
17.4 豬、雞和鸚鵡的故事
17.5 其實(shí)還是人的問題
17.6 績效管理
17.7 蘿卜與白菜
17.8 軟件工程師的職業(yè)道德
17.9 練習(xí)與討論
420 給任課老師和助教的建議
課程安排
師生關(guān)系
給授課老師和助教的建議
436 索引