第一次正式作業
一、預估與實際
PSP2.1 | Personal Software Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | ||
• Estimate | • 估計這個任務需要多少時間 | 600 | 690 |
Development | 開發 | ||
• Analysis | • 需求分析 (包括學習新技術) | 15 | 60 |
• Design Spec | • 生成設計文檔 | 30 | 40 |
• Design Review | • 設計複審 | 45 | |
• Coding Standard | • 代碼規範 (為目前的開發制定合适的規範) | ||
• Design | • 具體設計 | 20 | |
• Coding | • 具體編碼 | 120 | 240 |
• Code Review | • 代碼複審 | 90 | |
• Test | • 測試(自我測試,修改代碼,送出修改) | ||
Reporting | 報告 | ||
• Test Repor | • 測試報告 | ||
• Size Measurement | • 計算工作量 | ||
• Postmortem & Process Improvement Plan | • 事後總結, 并提出過程改進計劃 | ||
合計 |
二、需求分析
我通過上網查詢的方式了解到,國小一年級數學有如下的幾個特點:
- 特點1:直接寫得數的計算題。
- 特點2:一年級數學學的是加減。
經過分析,我認為,這個程式應當:
- 國小一年級
- 使用的數字小于10。
- 計算結果不應該出現負數。
-國小二年級
- 運算的數字小于10。
- 範圍不超出乘法運算表。
- 除法的餘數表示。
三、設計
1. 設計思路
- 這個程式有1個類,3個函數,函數之間的互相調用關系。
- 寫好各部分的方法,便于調用。
- 參數的設定以及傳遞
2. 實作方案
寫出具體實作的步驟
- 準備工作:先在Github上建立倉庫,再用克隆到本地。
- 技術關鍵點:随機數的産生,以及随機運算符号。字元串數組的應用。
四、編碼
- 使用随機函數實作随機符号的選擇及随機數。
- 用字元串數組來存儲計算式,以及String類型和Int類型的轉換。
- 調用方法,建立檔案夾,将結果寫入out.txt。
1. 調試日志
- 在代碼的每個方法中周遊字元串數組時,沒有進行類型的轉換,導緻無法周遊數組。
- 在代碼的頭部,saveAnswer方法,沒有建立新檔案夾,導緻輸出結果無法正确寫入out.txt。
- 在方法調用的過程中,因調用的位置出錯,導緻無法調用。
2. 關鍵代碼
public static void saveAnswer(String[] a,String[] b) throws IOException{
File file=new File("out.txt");
BufferedWriter bw=null;
try {
bw=new BufferedWriter(new FileWriter(file));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(!file.exists()){
try {
file.createNewFile();//建立新檔案
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
for(int i=0;i<a.length;i++) {
try {
bw.write(a[i]);//寫出周遊的結果
bw.newLine();//換行
bw.flush();//将緩沖的内容寫入out.txt
} catch (IOException e) {
e.printStackTrace();
}
}
bw.newLine();
bw.flush();
for(int i=0;i<b.length;i++) {
try {
bw.write(b[i]);
bw.newLine();
bw.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. 代碼規範
- 第一條:代碼中的參數命名等符合規定。
- 第二條:保持縮進,良好的代碼規範。
并人工檢查代碼是否符合規範
五、測試
請思考并記錄你認為必要的測試點,并記錄測試用例與測試結果
測試内容 預期 實際
輸入非純整數 提示請輸入整數 提示請輸入整數
輸入超出範圍數字 提示錯誤 提示錯誤
六、總結
請總結過程中的教訓和經驗,思考
- 使用了“軟體開發的基本政策:分而治之”,無需要重構
- “高品質的設計、規範的編碼以及有效的測試是保證軟體産品品質的三個重要方面”,采用了相關的手段,是無需要重構