作业五:结对项目-四则运算 “软件”之升级版
作业要求:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2232
团队代码github地址:https://github.com/065lihaochun/lihaochun
【软件工程实践】结对项目-四则运算 “软件”之升级版
一、需求分析
基本要求:
- 生成题目,单个题目最多不能超过4个运算符,操作数小于100。
- 用户可以输入答案
- 若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。
4个扩展方向:
- 用户答题结束以后,程序可以显示用户答题所用的时间
- 用户在第一次答题时,需要用户输入用户名,用户下次启动后,程序需要记住用户前一次输入的用户名
- 程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题。
- 程序可以设置皮肤功能,可以改变界面的颜色即可。
二、功能设计
开发语言:java
开发工具:IntelliJ IDEA Community Edition 2017.2.3 x64
开发环境:jdk1.8.0_112
开发时间:2018.10.23-2018.10.25
1、功能实现
项目包含的功能基本包含上述几类:
- 用户在第一次答题时,需要用户输入用户名,用户下次启动后,记住上一次用户的名字
- 用户输入用户名后,可以查询历史答题记录和分数情况
- 生成随机10道题目,单个题目最多不能超过4个运算符,操作数小于100。
- 用户可以输入答案,若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。
- 用户可以选择自己喜欢的颜色界面
- 答题倒计时,最多不得超过120s,时间到则答题禁止,显示答案和分数
- 用户可以选择当前10道题目重新做
- 答题结束,显示用户已用时间和获得的分数
2、类的设计
本次实验中只用到了3个类,分别是ArithmeticTest主类,CalculateGenerator随机运算业务类,MyExGUI面板类。对应的功能实现如下:
ArithmeticTest主类:没有更多功能,只负责调用面板类;
CalculateGenerator随机运算业务类:仅由面板类调用,负责随机产生10个运算式题目,运算数小于100,运算符随机产生,最多4位;
三、部分代码
3.1界面
3.2控件布局
3.3部分监听器
3.4生成算式
更多代码在GitHub...
四、程序截图
五、结对同伴
姓名:李灏淳
我的工作量:面板布局和监听器
同伴工作量:产生随机计算器和答案,返回给面板类
结对学习照片:
六、结对软件过程耗时估计与统计表
PSP2.1 | Personal Software Process Stages | Time Senior Student(h) | Time(h) |
Planning | 计划 | 5 | 3 |
· Estimate | 估计这个任务需要多少时间 | 10 | 24 |
Development | 开发 | 10 | 12 |
· Analysis | 需求分析 (包括学习新技术) | 1 | 1 |
· Design Spec | 生成设计文档 | 1 | 1 |
· Design Review | 设计复审 | 1 | 1 |
· Coding Standard | 代码规范 | 1 | 1.5 |
· Design | 具体设计 | 4 | 4.5 |
· Coding | 具体编码 | 8 | 16 |
· Code Review | 代码复审 | 1 | 1.5 |
· Test | 测试(自我测试,修改代码,提交修改) | 1 | 1 |
Reporting | 报告 | 1 | 3 |
· | 测试报告 | 0 | 0 |
· | 计算工作量 | 1 | 1 |
· | 并提出过程改进计划 | 0 | 1 |