在個人作業1的基礎上采用結對程式設計的方式實作子產品化的思想
Deadline:##
2017-3-15 12:00AM,以部落格發表日期為準。
評分基準:##
- 按時交 - 有分,檢查的項目包括後文的三個方面
- 題目要求
- 代碼送出
- 博文規範
- 晚交 - 0分
- 遲交兩周以上 - 倒扣本次作業分數
- 抄襲 - 倒扣本次作業分數
題目描述:##
不知道大家是否嘗試過這樣一種開發模式:你有一個夥伴,你們坐在一起,并肩作戰,面對着同一台顯示器,使用着同一鍵盤,同一個滑鼠,你們一起思考,一起分析,一起程式設計?這次,就讓我們來體驗一下結對程式設計的魅力:
http://www.cnblogs.com/xinz/archive/2011/08/07/2130332.html
我們在個人作業1中,用各種語言實作了一個指令行的四則運算小程式。進一步,本次要求把這個程式做成GUI(可以是Windows PC 上的,也可以是Mac、Linux,web,手機上的),成為一個有基本功能、一定價值的程式。在下面的功能需求中實作兩個:
- 記錄使用者的對錯總數,程式退出再啟動的時候,能把以前的對錯數量儲存并在此基礎上增量計算。
- 有計時功能,能顯示使用者開始答題後的消耗時間。
- 界面支援中文簡體/中文繁體/英語,使用者可以選擇一種;
在軟體開發中,我們需要大量使用工具來輔助設計,每個環節大家都要善于學習和使用工具。設計的時候,請使用思維導圖設計你的子產品之間的關系,參考這位同學的思維導圖:
http://www.cnblogs.com/hts-technology/p/6490667.html
題目要求:##
- 一個小組中的兩個同學選取比較優秀的 作業1 (兩個人的都獨立完成了), 把它作為本次作業的基礎,然後再修改。
- 結對程式設計實作上述功能,同樣的,在程式正式開發之前,請先預估下PSP每個環節的消耗時間,并在過程中統計實際耗時,最後送出PSP表格。依然注意,這個主要是給你們自己看的,不必造假資料。
-
在兩人合作的過程中, 請看下面的内容
a. 滿足代碼風格規範和代碼設計規範(參考書第4章4.1-4.3内容)http://www.cnblogs.com/xinz/archive/2011/11/20/2255971.html
- 請重視這點,在開發時兩個人要有口頭上的溝通:“好的,我們一起在開發中遵守一起認可的編碼規範”
- 請把你們約定的編碼規範文檔也送出到git
b. 給人提意見的方式——送一個漢堡包http://www.cnblogs.com/xinz/archive/2011/08/22/2148776.html
c. 了解領航員和駕駛員兩種角色關系,并在結對程式設計中兩個人輪流做對方的角色。兩人都必須參與本次作業的編碼工作,并在git送出日志上展現這點。
代碼送出:##
要求必須增量式開發-送出到coding.net位址,coding上要能看到多次commit的記錄,同時必須有兩個人各自的commit記錄。
博文規範##
-
送出的部落格(兩個同學都要寫)必須完整包含下面内容:
a. 需求分析:針對選擇的2-3個新開發功能做分析。
b. 程式設計:針對選擇的2-3個新開發功能做設計,使用思維導圖。
c. 代碼展示:展示每個功能的核心代碼。
d. 程式運作:程式運作及每個功能的使用截圖。
e. 小結感受:結對程式設計真的能夠帶來1+1>2的效果嗎?通過這次結對程式設計,請談談你的感受和體會。
- 在随筆開頭,備注兩個同學的學号。
- 提供項目開發的coding.net 位址。
- 描述結對的過程,提供非擺拍的兩人在讨論、細化和程式設計時的結對照片。
- 提供此次結對作業的PSP。
參考連結:##
- 子產品化,單元測試,回歸測試,TDD: http://www.cnblogs.com/xinz/p/4421170.html
- 在部落格中插入代碼: http://www.cnblogs.com/schaepher/p/6503126.html