天天看點

個人作業1

第一次正式作業

一、預估與實際

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. 代碼規範

  • 第一條:代碼中的參數命名等符合規定。
  • 第二條:保持縮進,良好的代碼規範。

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

五、測試

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

測試内容 預期 實際

輸入非純整數 提示請輸入整數 提示請輸入整數

輸入超出範圍數字 提示錯誤 提示錯誤

六、總結

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

  • 使用了“軟體開發的基本政策:分而治之”,無需要重構
  • “高品質的設計、規範的編碼以及有效的測試是保證軟體産品品質的三個重要方面”,采用了相關的手段,是無需要重構
上一篇: 結對作業1
下一篇: 第五次沖刺