軟體工程牽涉的範圍很廣, 同時也是一般院校的同學反映比較乏味的課程。 但是軟體工程的技術對於投身it 產業的學生來說是非常重要的。 經過幾年的探索, 我總結了在16周的時間內讓同學們通過 「做中學 (learning by doing)」 掌握實用的軟體工程技術的教學計畫。
這套講義在下面的學校正式課程中運用過:
2007 – 2010 清華大學理論電腦科學研究中心 (姚班) 主要是大四上學期這套講義有這樣的特點:2009, 2012 北航計算機系 大三上學期
2010 – 2011 中科大-微軟 計算機實驗班 大四上學期
2012 秋季 微軟亞洲研究院創新人才班
還有在北大合作的教學:
2007 - 2009 北京大學軟體學院 研究生課程 (課程名叫 - 微軟軟體實現技術, 我是講師之一, 只講了少部分內容)
理論和實踐相結合,講現**論,同時講體現理論的工具講義內容: (標題下沒有鏈結的會在以後補充)結構緊湊,個人專案/結對專案/團隊專案緊密配合, 能在16 周講完。
面向實戰,強調做中學 (learning by doing), 專案都公開發布,使用者數量和反饋是專案重要的評價標準。
講人在軟體工程中的不同角色和作用 (軟體過程, 軟體工具, 軟體人員的技術能力和職業能力)
有豐富的材料給教師/ta 使用 (見下面的 「學生作業」)
練習量大 (其實學生工作量和國際一流大學相仿), 內容多: 教材 (3 本), 參考書 (20 本)
1. 概述
2. 個人開發技術
3. 兩人合作
4. 軟體過程/方**
5. 團隊中的角色與合作
qa 的閏年問題
qa/test 的角色和分工
qa 的成長
6. 需求
a. 專案需求分析和建議
b. 目標和遠景 - 反面例子畫扇面
c. 計畫階段, 軟體估計 (1) (2)
d. 場景/典型人物
7. 設計和開發
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
其它相關部落格
現代軟體工程的教材和參考書
有關創新的書
一些有意思的程式設計師常去的部落格 [zz]給學生布置的作業列表:
現代軟體工程 作業 1: 個人專案
現代軟體工程 作業 2: 結對專案
(電梯排程設計)
現代軟體工程 作業 3: 團隊作業
2012 團隊作業
現代軟體工程 作業 4: 個人閱讀作業 (2011)
現代軟體工程 作業 4: 閱讀和調查作業 (2012)
現代軟體工程 作業 5: 結對調查和分析作業 (2012)
學生的感想:
現代軟體工程系列 結對程式設計 兩周寫好3d 陸戰棋
所有講義, 作業都可以分享給教師用於教學, 只要註明引用**即可, 不必事先取得同意。
歡迎反饋和意見。
經典軟體工程對照現代軟體工程
本文 五級的目錄及簡單分析 一 初始級 二 可重複級 計畫及 跟進 合理化建議 會議 工餘 願者參加 所用工具軟體 網路版db軟體 如erp之用sql oracle 開源版db軟體,及從此基本點自行開發具有data mining knowledge management的軟體 要點是 的保質量 自生...
現代軟體工程 備份
自我介紹一下,我叫鄒欣,是微軟亞洲研究院 創新工程中心 首席研發主管 principal development manager 我 和同事們一起把研究成果轉化為商業軟體產品和服務。近期主要專注於垂直搜尋,企業搜尋,軟體開發工具和數字娛樂等領域。在工作之餘,我也寫書 移山之道,程式設計之美 寫部落格...
初識軟體工程 《構建之法 現代軟體工程》
每次開學都是乙個新的開始。當看到 軟體工程 這四個字時,既熟悉又陌生,熟悉是因為我的專業就是軟體工程,陌生的是他作為一門課程,我不知如何下手。從老師的推薦中,我選擇了這本 構建之法 現代軟體工程 他向我展現了乙個新的世界,讓我有了新的認知,同時也帶來了新的探索。問題 1.對於剛接觸這方面知識的我們,...