1. 程式人生 > >結對作業——隨機生成四則運算

結對作業——隨機生成四則運算

解決 負責 必須 效率 結果 author 期末考 建議 編碼

結對作業

UI 第三組

朱池葦 PB16150206

劉鼎乾 PB16070837

Github 地址:

項目簡介

這次軟件工程結對項目為制作一個給小學生用的四則運算出題軟件,然後我們抽到的是UI組,也就是負責人機交互——隨機生成四則運算——使用Core組封裝好的dll模塊。

需求分析

  • 對上述各屬性參數(生成題目的數量,操作數的數量,題目及答案中的數值的範圍……)進行設置
  • 調用Core模塊得到題目和運算結果,顯示題目,接受輸入,並能判斷答案是否正確
  • 增加“倒計時”功能,每個題目必須在20秒內完成,否則,得0分並進入下一題
  • 增加“錯題記錄”功能,對於答錯的題,將其保存下來,當下次進行“復習”時,增大錯題在練習題中的概率
  • 增加”歷史紀錄“功能,把用戶做題的成績紀錄下來並可以展現歷史紀錄
  • 增加“成績分享”功能,生成成績單,想一想成績單裏要展現什麽,僅僅是最後的得分嗎?錯題的類型及數量?幫用戶分析其薄弱的環節,提出合理的學習建議?
  • 對所有Core組的模塊進行測試

代碼架構與具體實現

測試結果

BUG記錄與分析

團隊分工

結對編程作業大部分的時間都是采取共同編寫代碼,即“一個做駕駛員,一個做領航員”,駕駛員負責敲鍵盤,領航員在一側提供建議、檢查錯誤或幫忙搜索相關的資料。

就這次團隊項目而言,我們合作還是很愉快的。清明節的後兩天我和朱池葦同學一起學習了Qt。由於朱池葦同學的工程能力比較強,所以大部分程序都是朱池葦同學作為駕駛員,而我(劉鼎乾)則作為領航員,與朱池葦同學對問題進行討論,查找資料,檢查錯誤等。

結對編程的意義

我覺得結對編程確實具有非常重要的意義:

  • 一個人編寫代碼,總是有種燈下黑的現象。可能你自己犯的很微小的錯誤,你花了大把大把的時間,還是搞不出來。而另一個人只需要看一下就能指出,這提高了復審效率。
  • 可以不斷從別人那裏學習,提高自己的水平。這次結對編程,我從朱池葦大佬那裏學到了很多,比如良好的代碼風格,清晰的編碼思路,以及熟練的調試技巧等
  • 通過兩個人的討論,更好的解決問題等。

PSP 表格

技術分享圖片

課程建議:

我認為鄧老師確實非常非常負責,很認真地想把這門課上好,但是我覺得還是有一些問題。
1.上課不只是講軟件工程的理論,還希望能多講一些實際編程有關的東西。
2.安排大作業和結對編程的時候,盡量和期中考等考試分開,能不影響大家的gpa就不影響。希望後面補做個人作業和結對編程時,不要放在和期末考沖突的時候,可以考慮放在暑假。
3.我覺得為了難而難是不可取的。有些時候加大難度我感覺不是很有現實意義。而我們工科是非常講究現實意義的。增加難度可以,但要建立在實際有用的基礎上,如果為了難為我們而故意弄一些很繁瑣的事情,我覺得並不可取。

結對作業——隨機生成四則運算