20172312 2017-2018-2 結對編程--四則運算實驗總結
阿新 • • 發佈:2018-05-02
.com per 運用 改進 process body 遇到 類型 sof
結對對象
20172312 彭霖
20172315 胡智韜
20172318 陸大嶽(組長)
-
需求分析
以結對小組形式編寫代碼,實現以下功能:
1.自動生成題目
可獨立使用(能實現自己編寫測試類單獨生成題目的功能)
可生成不同等級題目,類似於:
1級題目:2 + 5 =
10 - 5 =
分析:使用Random生成隨機數構成算式以及符號以及if語句形成兩個等級。 - 題目運算(判題)
可獨立使用
實現中綴表達式轉為後綴表達式並計算
分析:運用了兩個棧進行計算,第一個將中綴轉換為後綴,第二個計算後綴(第二個我個人是通過百度查找get的) - 支持真分數
可獨立使用
實現分數算式的計算
分析:運用第四周的Rationalnumber類修改增加各種與整數的運算,目前我們只實現了獨立使用,還沒有將分數的計算編入主要的main程序裏。 -
題目去重(擴展需求,加分項)
可獨立使用
實現對自動生成表達式的去重:如下
若生成:2 + 5 =
5 + 2 =
為同一題目。
分析: 加分項而且有些困難,所以本周暫未進行。代碼規範
使用IDEA自帶的首行縮進,較為方便便於運用(即為3個空格的縮進)。
設計思路
- 生成隨機運算式和不同等級: 題目需要生成。首先用方法Random生成了運算數,在定義一個隨機數,隨機抽取運算符,並且使用了循環,通過確定循環次數來確定題目等級。
目前總共分為兩個等級(後面有了括號以及分數之後會增加等級)
第一個等級:一個運算符
第二個等級:兩個運算符 - 題目運算:總共使用了兩個棧,一個用來儲存符號,一個用來儲存數字。通過出棧,進棧的方式來進行將運算式由中綴表達式轉為後綴表達式。
- 支持真分數:使用了第五章的RationalNumber類,並使用隨機數來生成分子分母,但是我們並沒有討論是否是真分數,因為在後面的題目生成中估計到會產生許多的假分數,於是沒有進行真假分數的處理。
-
生成括號:感覺目前我們連分數都還沒有搞清,所以括號處在擱置狀態,下周將補上。
UML圖
問題統計
-
問題1:計算正確率的時候出現了全對正確率為1,錯一道即為全部錯誤。
-
問題1解決方案:後來發現是錯用了除號和取余號。
-
-
小組成員評價
-
20172315 胡智韜
-
編寫中綴轉後綴以及計算的部分(臟活累活,辛苦了QwQ)
- 20172318 陸大嶽
- 編寫main類統籌規劃(最容易出錯的地方,不容易QwQ)
-
相關過程截圖
PSP時間統計
PSP2.1 | Personal Software Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | 55 | 75 |
Estimate | 估計這個任務需要多少時間 | 3 | 5 |
Development | 開發 | 2400 | 3000 |
Analysis | 需求分析 (包括學習新技術) | 300 | 360 |
Coding Standard | 代碼規範 (為目前的開發制定合適的規範) | 30 | 15 |
Design UML | 設計項目UML類圖 | 60 | 120 |
Coding | 具體編碼 | 2000 | 2400 |
Code Review | 代碼復審 | 30 | 40 |
Test | 測試(自我測試,修改代碼,提交修改) | 240 | 300 |
Size Measurement | 計算工作量(實際時間 | 5 | 5 |
Postmortem & Process Improvement Plan | 事後總結, 並提出過程改進計劃 | 30 | 60 |
合計 | 5153 | 6380 |
其他
表示這個是真的難,不僅僅是工作量的巨大,更是各種方法直接的數據類型轉換等不協調出現問題,我們組由於其本上個人每個類遇到瓶頸的時候都會求助組員,所以我們組的很多數據類型都非常的統一協調。但是巨大的工作量以及各種細節問題讓我們難以應付,導致
20172312 2017-2018-2 結對編程--四則運算實驗總結