1.需求分析
隨著科學技術的不斷發展,計算機已經成為我們工作學習和生活中不可缺少的工具。四則運算的知識和技能是小學生應該掌握的基礎知識和基本技能。四則運算是小學生學習數學的核心和基礎,必須經過大量的練習才能掌握。但是一-味大量地在紙上做題卻是一件相當枯燥無味的事,同時也耗費教師大量的寶貴的時間和精力在編纂試題上。為此我們測試開發這個四則運算練習系統。
2.功能設計
2.1基本功能
(1)自動生成10道100以內的2個操作數的四則運算算式(+ - * /),要求運算結果也在100以內(實現)
(2)剔除重復算式。 2 + 3 = 和 2 + 3 = 是重復算式 2 + 3 = 和 3 + 2 = 不屬于重復算式(實現)
(3)題目數量可定制(實現)
(4)相關參數可控制(實現)
是否包含乘法和除法(實現)
操作數數值范圍可控(如操作數 在100以內 還是1000以內)(實現)
操作數是否含負數(實現)
(5)生成的運算題存儲到外部文件result.txt中(實現)
2.2擴展功能
(1)添加圖形化界面來控制運算(實現)
(2)選擇按鈕來控制生成的式子(實現)
(3)生成的運算式子與用戶輸入的值進行判定(正在測試中)
3.設計實現
(1)程序中一共有兩個類,一個主界面zhece類,功能是進行式子的隨機生成。第二個JFrame類,他的功能是生成用戶圖形界面,供用戶輸入參數。其中zhece類繼承自JFrame類。
(2)函數有主函數,public zhuce()函數,public void actionPerformed(ActionEvent e)函數,private static void addPopup(Component component, final JPopupMenu popup)函數,public void mousePressed(MouseEvent e)函數,他們之間關系是public void actionPerformed(ActionEvent e)函數是獲取private static void addPopup(Component component, final JPopupMenu popup)函數和public void mousePressed(MouseEvent e)函數從鍵盤中獲取得值來給public zhuce()函數進行隨機數的生成。
4. 測試運行
4.1主界面
在主界面輸入參數,通過用戶輸入的參數控制生成的運算表答式。

4.2判別重復

4.3不判別重復

4.4含乘除

4.5不含乘除

4.6含負數

4.7不含負數

5.代碼
5.1控制是否選擇重復


5.2外部文件導入

5.3圖形用戶界面

5.4獲取用戶輸入信息

5.5操作數范圍

5.6是否含負數

5.7控制題目數量

6.總結
整個程序分為三大塊,第一塊主函數中主要是做各種參數的控制,第二部分圖形用戶主要是做頁面與整個程序的連接的,將用戶所輸入的數據傳到函數中進行處理,之后將參數傳給函數中變量進行運算式子生成,最后一部分將系統自動生成的算術表達式導出到外部文件中。
7.PSP
| psp2.1 | 任務內容 | 計劃共完成需要的時間(min) | 實際完成需要的時間(min) |
|---|---|---|---|
| Planning | 計劃 | 40 | 50 |
| Estimate | 估計這個任務需要多少時間,并規劃大致工作步驟 | 100 | 200 |
| Development | 開發 | 100 | 200 |
| Analysis | 需求分析 (包括學習新技術) | 20 | 30 |
| Design Spec | 生成設計文檔 | 20 | 30 |
| Design Review | 設計復審 (和同事審核設計文檔) | 20 | 30 |
| Coding Standard | 代碼規范 (為目前的開發制定合適的規范) | 20 | 10 |
| Design | 具體設計 | 20 | 20 |
| Coding | 具體編碼 | 10 | 40 |
| Code Review | 代碼復審 | 5 | 10 |
| Test | 測試(自我測試,修改代碼,提交修改) | 5 | 40 |
| Reporting | 報告 | 20 | 30 |
| Test Report | 測試報告 | 10 | 20 |
| Size Measurement | 計算工作量 | 10 | 20 |
| Postmortem & Process Improvement Plan | 事后總結 ,并提出過程改進計劃 | 15 | 20 |
在開發與測試過程中,系統出現BUG,導致整體進度變慢。