現代軟體工程課程
各個學校的程式設計/軟工作業列表
-------
-------
很多老師反映軟體工程的作業題不好出,學生做的「大作業」也是了無新意。怎麼辦?師生們身處轟轟烈烈的軟體產業的大環境,但是在軟體工程課上做的題目卻是非常簡陋,沒有起到應有的作用,這的確是乙個很有諷刺意義的事情。有很多因素導致這一結果,這些因素都是可以克服的,在這裡不再囉嗦吐槽了。怎麼出一些有份量,能幫助學生進步的題目? 我們看到,程式 = 演算法 + 資料結構;軟體 = 程式 + 軟體工程,軟體工程的程式設計作業,是不同於 「熟悉某個資料結構/實現某個演算法」 這樣的演算法課作業的。
乙個作業並不是一上來就貼**,uml 圖, 它應該是學生在 「健身學員/健身教練」這乙個關係下, 刻意練習,向自己目標前進的具體努力的體現。在作業的一開始,應該寫:
這個作業屬於哪個課程
《課程的鏈結》
這個作業要求在**
《作業要求的鏈結》
我在這個課程的目標是
《寫上目標》
這個作業在哪個具體方面幫助我實現目標
《寫上具體方面》
作業正文 ....
注意**要按格式上傳
其他參考文獻 ...
乙個簡單的程式通常是做這種簡單的事情:
對輸入資料進行處理,並輸出。
此類 「程式」可以從幾個維度擴充套件,成為很有鍛鍊價值的軟體工程作業。下面舉例說明。
從資料方面擴充套件:
從需求方面擴充套件,很多程式的需求都是非常抽象,可以用數學公式描述和驗證的,例如:「找出陣列中的最大值」。下面有幾種擴充套件的方式:
從使用者的方面擴充套件,絕大部分大作業都是單機執行,給乙個使用者(老師)看一次,看完就萬事大吉。我們可以考慮下面的擴充套件方式:
從軟體構建方面擴充套件:
第一周部落格作業
結對調查和分析作業
閱讀和調查作業 (中科大的作業例項)
使用者體驗深入調查和數量化的報告
原型設計,提出專案建議
最後一周總結
個人專案:
現代軟體工程 作業 1: 個人專案
從一維陣列求最大子陣列和展開訓練
個人專案和結對專案練習 地鐵
期末作業附加題 (同學的讀書筆記)
最大子陣列的和 - 及其擴充套件
結對專案:
兩人合作作業的模式
word count (wc.exe) 全套練習
四則運算擴充套件: 模組化,單元測試,回歸測試,tdd
動態展現程式的工作過程
英語檔案中找到單詞詞頻
結對和團隊專案建議 - **點遊戲
現代軟體工程 作業 2: 結對專案 (電梯排程設計) (如何自動測試電梯排程程式)
有意思的遊戲:漢字構成 + 俄羅斯方塊 + 2048
團隊專案:
團隊專案計畫
現代軟體工程 作業 3: 團隊作業
2012 團隊作業
源**管理的10個問題
百花齊放:
各個學校的程式設計/軟工作業列表
現代軟體工程作業四
天津大學軟體學院 聶學成 2012218007 盧思洋 2012218006 1.目前市場上以有的產品 基於手機移動平台的有 android平台上的創意學術研討平台 window phone平台上的微軟學術搜尋軟體。基於web的學術搜尋產品有 1 學術搜尋 2 谷歌學術搜尋 3 國學寶典普及版 5 ...
現代軟體工程作業二
天津大學軟體學院 聶學成 2012218007 盧思洋 2012218006 開發團隊的不足之處 不足一 缺少實際使用者的參與。在軟體開發過程中,使用者對於需求的確定起著很大的作用。在這個專案的整個開發流程中,雖然最初確定了典型使用者,但這之後根本沒有讓使用者參與進來,需求的提出和確定都是開發人員來...
現代軟體工程作業一
天津大學軟體學院 聶學成 2012218007 盧思洋 2012218006 軟體開發流程和生命週期分析 該專案開發流程目標明確,流程清楚,採用ms agile的開發思路,以8週為乙個里程碑,不斷迭代,改進和完善,歷時約兩年半的時間開發完成。任務的明確性和時間安排的合理性對於開發是很重要的,在該專案...