小學生就應該學習 別打排位
阿新 • • 發佈:2018-09-12
小學 乘法 需求分析 bre 如何 進行 計劃 java 總結
MathExam
一、預估與實際
PSP2.1 | Personal Software Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | ||
? Estimate | ? 估計這個任務需要多少時間 | 10 | 30 |
Development | 開發 | ||
? Analysis | ? 需求分析 (包括學習新技術) | 150 | 50 |
? Design Spec | ? 生成設計文檔 | 10 | 30 |
? Design Review | ? 設計復審 | 20 | 30 |
? Coding Standard | ? 代碼規範 (為目前的開發制定合適的規範) | 20 | 35 |
? Design | ? 具體設計 | 20 | 40 |
? Coding | ? 具體編碼 | 150 | 360 |
? Code Review | ? 代碼復審 | 10 | 20 |
? Test | ? 測試(自我測試,修改代碼,提交修改) | 45 | 120 |
Reporting | 報告 | ||
? Test Repor | ? 測試報告 | 20 | 30 |
? Size Measurement | ? 計算工作量 | 10 | 10 |
? Postmortem & Process Improvement Plan | ? 事後總結, 並提出過程改進計劃 | 20 | 30 |
合計 | 685 |
二、需求分析
我通過度娘的方式了解到,小學一年級數學有如下的幾個特點:
- 1)100以內的所有整數
- 2)100以內的乘除法(可參考99乘法表)
- 3)沒有負數和小數
經過分析,我認為,這個程序應當:
使用的數字應在0到100之間,且為整數,即int類型
-不能使用負數和產生負數
-不能使用小數
-輸入的數要符合要求三、設計
1. 設計思路
- 先創建一個輸入框
- 對輸入的數做判斷,看是否符合要求,如果不符合,則報錯
- 之後隨機生成兩個數字運算
- 最後將結果放到355.txt中
2. 實現方案
- 準備工作:先在Github上創建倉庫,克隆到本地,創建新的文件夾
- 技術關鍵點:梳理一下設計思路,可能遇到哪些技術關鍵點
- 把握好範圍,避免不必要的失誤
-將結果放到355.txt中
四、編碼
請說明你如何按照設計思路進行編碼,並記錄你在開發中遇到的問題,與解決過程
-一開始覺得輸出是整數就行,沒考慮輸入的情況
-JAVA基本忘光了,問了同學才明白
1. 調試日誌
修改了關於小數的結果
檢查文本是否存在,對生成文本的目錄如果創建失敗的情況
2. 關鍵代碼
while(p)
{
k=r.nextInt(100);
m=r.nextInt(100);
f=r.nextInt(10);
if (f%2==0) { //加法
if(k+m<=100)
{
first[i]=k;
second[i]=m;
fuhao[i]="+";
pass[i]=k+m;
i++;
}
}
else //減法
{
if(k-m>=0)
{
//System.out.println("("+(i+1)+") "+k+" - "+m+" = ");
first[i]=k;
second[i]=m;
fuhao[i]="-";
pass[i]=k-m;
i++;
}
}
if(i==n)
break;
}
3. 代碼規範
請給出本次實驗使用的代碼規範:
- 類名首字母應該大寫。每個單詞的首字母大寫。
- 避免異常
- 人工檢查代碼是否存在錯誤
- 包名必須小寫等等
並人工檢查代碼是否符合規範
五、測試
1.mathexam1.0.測試結果:生成符合數目的幾道一年級題目和答案 結果: 符合
2.mathexam2.0測試結果:輸入有誤,請重新輸入 結果:符合
六、總結
請總結過程中的教訓和經驗,思考
- 是否使用了“軟件開發的基本策略:分而治之”,是否需要重構
是 - “高質量的設計、規範的編碼以及有效的測試是保證軟件產品質量的三個重要方面”,你是否采用了相關的手段,是否需要重構
是
小學生就應該學習 別打排位