软件工程实验一 复利计算5.1——复利计算再升级
一、新的客户需求
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 }
八、编程总结
在本次编程中,我们在页面优化上作出了多种假设与分析,推算了多种新页面,但最终我们商定选择了最简洁明了的按钮选择方式,在完成了此次页面优化后我们才将数据预留的功能加上,此次的页面优化对于我们来说还是觉得不够完美,在接下来的实验里若是能学到其他更好的页面方式我们还会对操作界面进行更新,在此次实验之前我们其实对页面的布局运用其实还是存有了偷懒的心理,总是能用就行,在经过此次改良后才愈发觉得一个好的界面在进行测试时会更加方便简易,可见可操作性也是一个软件生命周期里重要的一个环节。