一、新的客戶需求
1.這個數據我經常會填.....幫我預先填上唄?
2.把界面做得簡單漂亮好操作一點唄?
二、合作伙伴
124-陳彥生 博客地址:http://www.cnblogs.com/chengyansheng/
本次實驗代碼原件:https://github.com/skywalkersg/ruanjian
三、項目簡介
| 項目名稱:復利計算程序 |
| 當前版本 :5.1 |
| 程序語言:java |
| 開發工具:MyEclipse、swing界面插件 |
| 主要功能:計算本金期限利率、投資計算、資金動態現值等。 |
| 更新時間:2016年4月14日
|
四、本次項目結對編程時間
| 預期所需時間 | 預期所需代碼數 | 實際所需時間 | 實際所需代碼數 |
| 3小時 | 120行 | 2.5小時 | 112行 |
五、項目需求設計
本次實驗有兩大改進目標,一是對頁面的優化,使界面變得簡潔易操作,二是對數據的預輸入,方便客戶使用。
在頁面的優化方面,我們摒棄了原先繁瑣的選擇計算內容方式——通過輸入框輸入數字的方式來選擇計算目標,通過改進,我們將頁面轉設為用按鈕的方式來選擇計算目標,在選擇好相應的目標后在頁面上方進行顯示,並對不需要輸入數據的窗口進行了鎖定,避免了臟數據的讀入;其次我們在選擇了計算目標后,部分窗口會顯示出預先輸入好的常用數據,簡化了輸入操作,以下是本次的實驗圖解:
1.新舊頁面的對比

2.在選擇了計算目標后,上方的框內會顯示當前的計算方式,部分輸入框內會顯示出預留數據,預留數據可修改,不需要輸入數據的數據框則會被鎖定


六、項目程序
部分改進源程序:
1 private void jButton1MouseMouseClicked(MouseEvent event) { 2 tages=1; 3 jTextField1.setText("0.3"); 4 jTextField2.setText("5"); 5 jTextField3.setText("3"); 6 jTextField7.setText("求復利終值"); 7 jTextField4.setEditable(false); 8 jTextField0.setEditable(true); 9 jTextField1.setEditable(true); 10 jTextField2.setEditable(true); 11 jTextField3.setEditable(true); 12 } 13 14 private void jButton2MouseMouseClicked(MouseEvent event) { 15 tages=2; 16 jTextField0.setEditable(false); 17 jTextField1.setText("0.6"); 18 jTextField2.setText("10"); 19 jTextField3.setText("2"); 20 jTextField7.setText("求本金"); 21 jTextField1.setEditable(true); 22 jTextField2.setEditable(true); 23 jTextField3.setEditable(true); 24 jTextField4.setEditable(true); 25 } 26 27 private void jButton3MouseMouseClicked(MouseEvent event) { 28 tages=3; 29 jTextField1.setText("0.4"); 30 jTextField2.setEditable(false); 31 jTextField3.setText("3"); 32 jTextField2.setText(""); 33 jTextField7.setText("求年份"); 34 jTextField0.setEditable(true); 35 jTextField1.setEditable(true); 36 jTextField3.setEditable(true); 37 jTextField4.setEditable(true); 38 } 39 40 private void jButton4MouseMouseClicked(MouseEvent event) { 41 tages=4; 42 jTextField1.setText(""); 43 jTextField1.setEditable(false); 44 jTextField2.setText("6"); 45 jTextField3.setText("3"); 46 jTextField7.setText("求利率比"); 47 jTextField0.setEditable(true); 48 jTextField2.setEditable(true); 49 jTextField3.setEditable(true); 50 jTextField4.setEditable(true); 51 } 52 53 private void jButton5MouseMouseClicked(MouseEvent event) { 54 tages=5; 55 jTextField1.setText("0.6"); 56 jTextField2.setText("5"); 57 jTextField3.setText("3"); 58 jTextField4.setEditable(false); 59 jTextField7.setText("求投資回報"); 60 jTextField0.setEditable(true); 61 jTextField1.setEditable(true); 62 jTextField2.setEditable(true); 63 jTextField3.setEditable(true); 64 } 65 66 private void jButton6MouseMouseClicked(MouseEvent event) { 67 tages=6; 68 jTextField1.setText("0.5"); 69 jTextField2.setText("5"); 70 jTextField3.setText("2"); 71 jTextField4.setEditable(false); 72 jTextField7.setText("求還款金額"); 73 jTextField0.setEditable(true); 74 jTextField1.setEditable(true); 75 jTextField2.setEditable(true); 76 jTextField3.setEditable(true); 77 }
八、編程總結
在本次編程中,我們在頁面優化上作出了多種假設與分析,推算了多種新頁面,但最終我們商定選擇了最簡潔明了的按鈕選擇方式,在完成了此次頁面優化后我們才將數據預留的功能加上,此次的頁面優化對於我們來說還是覺得不夠完美,在接下來的實驗里若是能學到其他更好的頁面方式我們還會對操作界面進行更新,在此次實驗之前我們其實對頁面的布局運用其實還是存有了偷懶的心理,總是能用就行,在經過此次改良后才愈發覺得一個好的界面在進行測試時會更加方便簡易,可見可操作性也是一個軟件生命周期里重要的一個環節。
