一、项目源码
GitHub的链接地址:https://github.com/13993013291/Shiyan3.git
二、项目报告
1、需求分析
(1)程序能够从题库随机选择20道混合运算,用户输入答案,程序检查答案是否正确,每道题正确计5分,测试结束后给出总分;
(2)题库文件生成采用实验二的方式自动生成,也可以手工编辑生成,文本格式如下:
(3)程序提供三种练习功能选择:百以内整数算式(必做)、带括号算式、真分数算式练习;
(4)程序允许进行多轮测试,并用柱状图显示多轮测试分数;示例如下:
(5)程序记录用户答题结果,当程序退出再启动的时候,可为用户显示最后一次测试的结果,并询问用户可否进行新一轮的测试;
(6)测试有计时功能,测试时动态显示用户开始答题后的消耗时间;
(7)程序人机交互界面是GUI界面(WEB页面、APP页面都可),界面支持中文简体(必做)/中文繁体/英语,用户可以进行语种选择。
2、软件设计
程序设计类图如下:
3、程序核心代码
4、运行结果展示
4.1 输入题目数与运算表达式的数字范围:
4.2 开始答题:
4.3 当一轮结束后,按“结束”按钮,系统给出答对的题数与答错的题数,并给出用时:
4.4 当一轮结束后有相应的柱状图:
4.5 完成四轮测试之后的结果分析统计图:
5、结对编程伙伴
6、PSP展
PSP2.1 | 任务内容 | 计划完成的时间(min) | 实际完成需要的时间(min) |
---|---|---|---|
PLanning | 计划 | 60 | 90 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 60 | 65 |
Developmet | 开发 | 480 | 600 |
Analysis | 需求分析(包括学习新技术) | 20 | 30 |
Design Spec | 生成设计文档 | 20 | 30 |
Design Revie | 设计复审(和同事审核设计文档) | 30 | 30 |
Coding Standard | 代码规范 | 20 | 30 |
Design | 具体设计 | 60 | 80 |
Coding | 具体编码 | 300 | 400 |
Code Review | 代码复审 | 30 | 50 |
Test | 测试(自我测试,修改代码,提交修改) | 20 | 40 |
Reporting | 报告 | 30 | 40 |
Test Report | 测试报告 | 20 | 30 |
Size Measurement | 计算工作量 | 5 | 10 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改机计划 | 30 | 35 |
7、小结
本次实验中,我们一起对老师的要求进行分析,一起编程,感觉乐趣多多,收益也多多,相互补短。我对于代码规范很模糊,认为能够运行就可以,但我的partner对此要求很高。这让我认识到结对编程的重要性,它可以让我们写出质量更高的代码,产生1+1>2的效果。