NO IMAGE

軟體工程牽涉的範圍很廣, 同時也是一般院校的同學反映比較乏味的課程。 但是軟體工程的技術對於投身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

其它相關部落格  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)

所有講義, 作業都可以分享給教師用於教學, 只要註明引用來源即可,  不必事先取得同意。

歡迎反饋和意見。