现代软件工程讲义 目录
軟件工程牽涉的范圍很廣, 同時也是一般院校的同學反映比較乏味的課程。 但是軟件工程的技術對于投身IT 產業的學生來說是非常重要的。 經過幾年的探索, 我總結了在16周的時間內讓同學們通過 “做中學 (Learning By Doing)” 掌握實用的軟件工程技術的教學計劃。
這套講義在下面的學校正式課程中運用過:
2007 – 2010?? 清華大學理論計算機科學研究中心 (姚班) 主要是大四上學期
2009,? 2012??? 北航計算機系? 大三上學期???????
2010 – 2011?? 中科大-微軟 計算機實驗班 大四上學期???????
2012? 秋季????? 微軟亞洲研究院創新人才班?
還有在北大合作的教學:??????
2007 - 2009 北京大學軟件學院 研究生課程 (課程名叫 - 微軟軟件實現技術, 我是講師之一, 只講了少部分內容)
這套講義有這樣的特點:
理論和實踐相結合,講現代理論,同時講體現理論的工具
結構緊湊,個人項目/結對項目/團隊項目緊密配合, 能在16 周講完。
面向實戰,強調做中學 (learning by doing), 項目都公開發布,用戶數量和反饋是項目重要的評價標準。
講人在軟件工程中的不同角色和作用 (軟件過程, 軟件工具, 軟件人員的技術能力和職業能力)
有豐富的材料給教師/TA 使用 (見下面的 “學生作業”)
練習量大 (其實學生工作量和國際一流大學相仿), 內容多: 教材 (3 本), 參考書 (20 本)
講義內容: (標題下沒有鏈接的會在以后補充)
1. 概述
- 課程概述
- 習而學的軟件工程教育
- 軟件工程概述
- 項目剖析 微軟學術搜索項目 10個版本的歷程
2. 個人開發技術
- PSP: Personal Software Process,? 技能的反面
- 程序效能分析?
- 單元測試??? (在最小的編程單元上保證正確性)? &? 回歸測試?? (保證程序在修改的過程中, 原有的功能保持穩定 )
3. 兩人合作
- 合作的階段和影響對方的方式
- 代碼規范和代碼復審
- 結對編程, 有記載的最早的結對編程發生在 1987年3月…
4. 軟件過程/方法論
- 各種方法概述
- 敏捷方法:? 酒后的敏捷,? 敏捷宣言,敏捷原則
- Scrum/Sprint,? TDD, FDD
- MSF-Agile
- 支持軟件過程的工具 (TFS suite)
- Postmortem - 事后諸葛亮會議
5. 團隊中的角色與合作
- 團隊的類型
- 團隊成員不同的投入和心態? - 豬/雞/鸚鵡??
- 角色 – PM?? PM Spec, PM 的成長, 項目管理的細節
- 角色 – Dev?? Dev 的成長? 軟件開發不是閉卷考試?? 頂級程序員的心得–Coders at Work
- 角色 – QA & Test 質量保證和測試
??????????? QA 的閏年問題
??????????? QA/Test 的角色和分工??? QA 的成長
6. 需求
??? a. 項目需求分析和建議?
??? b. 目標和遠景? - 反面例子畫扇面
??? c. 計劃階段, 軟件估計 (1) (2)
????d. 場景/典型人物
7. 設計和開發?
- 模塊API 的設計 (elevator design,? mvc/mvvm example,? design interface example)
- 開發階段的日常管理
8. 用戶界面,用戶體驗的設計?
9. 穩定階段, 發布和維護
??? a. 測試的計劃和執行
??? b. CC, ZBB, Release Candidate, and RTW
10. 軟件和IT 業的創新
???? a. 創新的迷思? 連載?? (1) (2) (3)
???? b. 創新 VCD 的故事?
??? c. 創新的時機
??? d. 魔方的創新?
??? e. 如何提出靠譜的項目建議 (NABC)
???? f.? 創新的出路 - 走進作坊;? 創新的招數
11. 軟件項目的管理
- 績效管理
- 代碼量和樹葉量
12. 軟件工程師的職業道德
???? 人的問題 (同學的感想)
????
13. 附錄, 參考書, 論文閱讀
教材 (3本, 同學選擇一本, 同時借閱另外兩本) :
1. Rapid Development? Steve McConnell (ISBN 1-55615-900-5)
??? 中文版 快速軟件開發斯蒂夫·邁克康奈爾 著 譯者: 席相霖 等 ISBN 9787505372856
2. Code Complete (2nd Ed)Steve McConnell ISBN: 9780735619678
??? 中文版 代碼大全 (第二版)斯蒂夫·邁克康奈爾 ISBN: 7121022982
3. 移山之道 – VSTS 軟件開發指南鄒欣 (ISBN: 9787121071485)
主要參考書:
??? Dreaming in Code by Scott Rosenberg, ISBN: 9781400082469
??? 中文版《夢斷代碼》, 譯者 韓磊, ISBN: 9787121066795
其它相關博客? http://blog.csdn.net/SoftwareTeacher/archive/2010/11/20/6024185.aspx
現代軟件工程的教材和參考書
有關創新的書
一些有意思的程序員常去的博客 [zz]
-------
給學生布置的作業列表:
??? 現代軟件工程 作業 1: 個人項目
??? 現代軟件工程 作業 2: 結對項目
????????????????????? (電梯調度設計)
??? 現代軟件工程 作業 3: 團隊作業?? 2012 團隊作業
??? 現代軟件工程 作業 4: 個人閱讀作業 (2011)
?? 現代軟件工程 作業 4: 閱讀和調查作業? (2012)
?? 現代軟件工程 作業 5: 結對調查和分析作業? (2012)
-------
學生的感想:
現代軟件工程系列 學生精彩文章(7) 寶貴的教訓
現代軟件工程系列 結對編程 兩周寫好3D 陸戰棋
現代軟件工程系列 學生的精彩文章 (6) 我們其實還不懂互聯網
現代軟件工程系列 學生的精彩文章 (5) 其實還是人的問題
現代軟件工程系列 學生的精彩文章 (4) 為用戶服務
現代軟件工程系列 學生的精彩文章 (3) 如何在Bug 不斷的情況下還能保持平常心... [zz]
現代軟件工程系列 學生的精彩文章 (2) 到底是誰的 bug?
現代軟件工程系列 學生的精彩文章 (1)
所有講義, 作業都可以分享給教師用于教學, 只要注明引用來源即可,? 不必事先取得同意。
歡迎反饋和意見。
總結
以上是生活随笔為你收集整理的现代软件工程讲义 目录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSDN 首页的第一屏 广告/新闻 比率
- 下一篇: processing创意图形代码_202