代码的coding地址: Xmgl_test1
一、需求分析
1.输入参数控制题目生成个数。
2.输入参数控制生成的数字范围。
3.生成的题目中如果存在形如e1 ÷ e2的子表达式,那么其结果应是真分数。
4.每道题目中出现的运算符个数不超过3个。
5.程序一次运行生成的题目不能重复。
6.生成的题目存入执行程序的当前目录下的Exercises.txt文件。
7.在生成题目的同时,计算出所有题目的答案,并存入执行程序的当前目录下的Answers.txt文件。
8.程序支持对给定的题目文件和答案文件,判定答案中的对错并进行数量统计。
二、功能实现
1.通过输入的参数调整随机问题的各种情况。
2.随机数和运算符的生成。
3.对算式进行结果计算。
4.对输入的答案和正确的答案进行比较。
三、设计实现
用java语言进行编写
编译环境通过eclipse进行
四、测试运行
运行截图:
文件中内容:
五、PSP
PSP2.1 |
Personal Software Process Stages |
Time Senior Student |
Time |
|
Planning |
计划 |
10 |
5 |
|
· Estimate |
估计这个任务需要多少时间 |
15 |
14 |
|
Development |
开发 |
80 |
92 |
|
· Analysis |
需求分析 (包括学习新技术) |
5 |
5 |
|
· Design Spec |
生成设计文档 |
20 |
15 |
|
· Design Review |
设计复审 |
10 |
10 |
|
· Coding Standard |
代码规范 |
5 |
5 |
|
· Design |
具体设计 |
40 |
40 |
|
· Coding |
具体编码 |
540 |
720 |
|
· Code Review |
代码复审 |
30 |
20 |
|
· Test |
测试(自我测试,修改代码,提交修改) |
30 |
40 |
|
Reporting |
报告 |
60 |
50 |
|
· |
测试报告 |
30 |
40 |
|
· |
计算工作量 |
5 |
5 |
|
· |
并提出过程改进计划 |
30 |
20 |
|
六、总结
这次的作业其实是在两天内编写的,初次看题目要求的时候只是注重到了参数的控制,随机问题的查重和答案生成这三点,后来编写的时候注意到需要3个运算符,不过当时是按照两个运算符进行编写,后来跟着查重的内容一起修改的时候,发现代码需要进行各个方面的改动,最后修改完测试了下发现有一些问题就删除了这部分改动。接着还有exercise.txt和我所写的question.txt、grade里的内容,这一部分我是只考虑到了结果的生成,没有仔细注意作业里写的要求,不过介于显示的结果整体上差不多就没有再进行调整。没有括号方面的问题是开始就没有想着设计,在中途中想起来好像有这方面的问题,介于改动较大,也是没有进行添加。
总的来说,这一次作业的完成度还是不够高,在最开始的时候没有比较认真的对待,一方面是没有规划好各个功能的实现,另一方面是没有仔细观察题目的要求,希望下一次能完成得比较好,更加细心地处理代码问题。