天天看點

結對作業1

MathExamLv2

一、預估與實際

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 600 720
• Estimate • 估計這個任務需要多少時間
Development 開發 570 690
• Analysis • 需求分析 (包括學習新技術) 30 40
• Design Spec • 生成設計文檔
• Design Review • 設計複審
• Coding Standard • 代碼規範 (為目前的開發制定合适的規範)
• Design • 具體設計 60
• Coding • 具體編碼 280 350
• Code Review • 代碼複審 20
• Test • 測試(自我測試,修改代碼,送出修改)
Reporting 報告
• Test Repor • 測試報告 10
• Size Measurement • 計算工作量
• Postmortem & Process Improvement Plan • 事後總結, 并提出過程改進計劃
合計

二、需求分析

我通過網上調查的方式了解到,國小三年級數學有如下的幾個特點:

  • 特點1:加減乘除四則混合運算
  • 特點2:四則運算中除法不能有餘數
  • 特點3:優先算帶括号的
  • 特點4:乘除運算為100以内的乘除

經過分析,我認為,這個程式應當:

  • 使用的數字小于100
  • 排除一些超出三年級學生的結果
  • 運算符與括号的優先級問題
  • 三年級學生也要做一二年級的題目

三、設計

1. 設計思路

  • 根據老師的提示先去學習一下逆波蘭算法
  • 将逆波蘭算法運用到代碼中
  • 思考運算符的優先級問題
  • 分類排除異常狀況

2. 實作方案

  • 準備工作:先在Github上建立倉庫,克隆到本地...
  • 技術關鍵點:

    1.random函數的運用

    2.輸出題目與答案到指定檔案

    3.年級的選擇及題庫的選擇

    4.逆波蘭算法的實作(了解,外加各種空棧異常判斷)

    5.随機出題目的邏輯,以及加括号時的邏輯判斷

由于代碼方面尚未與同伴讨論完畢,下面的部分将于本周之内修改送出,還請見諒。

四、編碼

請說明你如何按照設計思路進行編碼,并記錄你在開發中遇到的問題,與解決過程

1. 調試日志

記錄編碼調試的日志,請記錄下開發過程中的 debug 曆程

2. 關鍵代碼

請展示一段程式的關鍵代碼,并解釋代碼的作用

3. 代碼規範

請給出本次實驗使用的代碼規範:

  • 第一條...
  • 第二條...

并人工檢查代碼是否符合規範

五、測試

請思考并記錄你認為必要的測試點,并記錄測試用例與測試結果

六、總結

請總結過程中的教訓和經驗,思考

  • 是否使用了“軟體開發的基本政策:分而治之”,是否需要重構
  • “高品質的設計、規範的編碼以及有效的測試是保證軟體産品品質的三個重要方面”,你是否采用了相關的手段,是否需要重構