这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2232
结对成员:陈淇舒 201606110108
同伴的博客地址:https://www.cnblogs.com/fulanjiang/p/9847802.html
同伴的远程github地址(源代码)为:https://github.com/Chenqishu/cqs
调试环境:IntelliJ IDEA
一、需求分析
- 程序基本要求
1.从个人项目出发,将程序改造成一个单机带用户界面(不是控制台)的程序,这个程序最基本要达到:
2.自动生成题目,单个题目最多不能超过4个运算符,操作数小于100。
3.用户可以输入答案
4.若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。
- 扩展方向(已实现)
1.用户答题结束以后,程序可以显示用户答题所用的时间
2.用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
3.程序可以出单个整数阶乘的题目:如:4!=24
4.程序可以设置皮肤功能,可以改变界面的颜色即可。
二、结对过程
- 编程分工
本人——林永浩:负责编码扩充以下两个方向,负责界面设计:
用户答题结束以后,程序可以显示用户答题所用的时间。
程序可以设置皮肤功能,可以改变界面的颜色即可。
同伴——陈淇舒:负责编码扩充以下两个方向,实现代码整合:
用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数。
程序可以出单个整数阶乘的题目:如:4!=24。
- 详细设计(附部分源代码)
计时功能实现的部分代码如下:
public void run() { // 完成时间计时 int second = 0; int minute = 0; String time; timeLabel.setText("用时 00:00"); // 初始化用时 while (true) { try { Thread.sleep(1000); // 按时间设置 } catch (InterruptedException e) { e.printStackTrace(); } second++; if (second == 60) { second = 0; minute++; } if (minute < 10) { time = "用时 " + "0" + minute + ":"; } else { time = "用时 " + minute + ":"; } if (second < 10) { time = time + "0" + second; } else { time = time + second; } timeLabel.setText(time); } }
- 运行截图
开始界面,用户做任何操作前
用户输入的题目数是1-5之内,点击开始的时候,正常显示运算题目,计时开始:
用户点击交卷,计时结束,并在侧边显示用户做对了多少道题,而做错的题目输出正确的答案:
当用户点击界面左上边的“背景”按钮的时候,弹出调色器,改变题目显示区域的颜色:
当用户输入的题目超过5这个数,输入框上面的提示框便会显示“题目数应该在1-5之内”的提示信息:
三、收获总结
在结对学习的过程中,学会了分工与合作,相比个人完成项目,更多的是要考虑同伴的感受,只有这样才能更好完美的完成项目。这次的项目总的来说还有可以提升的空间,有时间的话后期会继续改进的。
四、过程耗时估计与时间统计表
PSP2.1 | Personal Software Process Stages | Time Senior Student | Time |
Planning | 计划 | 8 | 6 |
· Estimate | 估计这个任务需要多少时间 | 12 | 10 |
Development | 开发 | 90 | 85 |
· Analysis | 需求分析 (包括学习新技术) | 8 | 10 |
· Design Spec | 生成设计文档 | 0 | 0 |
· Design Review | 设计复审 | 3 | 5 |
· Coding Standard | 代码规范 | 4 | 3 |
· Design | 具体设计 | 10 | 13 |
· Coding | 具体编码 | 35 | 30 |
· Code Review | 代码复审 | 10 | 9 |
· Test | 测试(自我测试,修改代码,提交修改) | 15 | 30 |
Reporting | 报告 | 9 | 6 |
· | 测试报告 | 0 | 0 |
· | 计算工作量 | 5 | 2 |
· | 并提出过程改进计划 | 0 | 0 |
五、结对学习过程照片