作业五:结对项目-四则运算 “软件”之升级版
作业要求: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 | 
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号