20172303 2017-2018-2 《程序设计与数据结构》结对编程项目-四则运算 第二周
结对对象
- 姓名:范雯琪
- 学号:20172322
- 码云地址
- 第一周博客地址
- 担任角色:
- 领航员:范雯琪
- 驾驶员:张昊然
- 第二周的基本要求在第一周已经实现,所以本周的主要任务是完成拓展需求6:(文件处理),因为在周一课上王老师已经提到了相关的IO流处理方法,虽然不尽详细。因此本次所需要使用的方法由范雯琪同学想出,实际操作由我来完成。
需求分析
第一周实现的需求:
- 可自动生成题目,题目的难度和数量可由用户自己输入
- 题目支持整数、真分数和加减乘除四则运算
- 可判断用户答案是否正确并输出正确答案,最后计算用户的正确率
本周主要实现的拓展需求:
- 文件处理:在实现上周的要求下将随机生成的题目放入Exercises.txt文件中,让用户在其中写出答案后保存文件,运行另一个类使得题目得到判断,并且使得判断结果生成在ExercisesResult.txt文件中。
设计思路
主要思想:设计Questions类和Results类将之前的ArithmeticTest类拆分开,并且在Questions类中实现将所生成的题目写入Exercises.txt文件中,并且让用户在Exercises.txt文件中作答后保存,Results类读取Exercises.txt中的题目与答案并且判断正误,并将判断结果放入ExercisesResult.txt中。
UML图
相关过程及解释
- 本周主要实现文件处理,括号已经在上周实现,题目去重到现在还是没有思路。
- 为了实现将随机生成的题目写入Exercises.txt中使用PrintStream 并且使用
- 在Results类中利用读取Exercises.txt中的题目与答案,并且利用 写入ExercisesResult.txt中。
- 具体的过程如下
遇到的困难及解决方法
- 问题一:在想如何让Exercises.txt自动打开时遇到了一些困难。
- 问题一解决方案:查询JDK找到了Process
对结对的小伙伴做出评价
- 范雯琪同学给我指出相应的思路,为我的具体实践提供了很大的帮助。并且在我遇到一些知道该如何操作但是却不知道如何以代码形式展示的时候她为我查询了相关的代码,使得我们的项目得以进行。
团队共同成果
成功完成了文件处理的要求,我主要负责要求的实现,她为我指明方向,为我及时纠正我的错误,并且在我遇到困难时提供帮助,在我们两个共同的努力下最终完成文件处理这个要求,十分开心。
贡献度划分
张昊然:55%
范雯琪:45%
本来我提议我们就直接五五分吧,但是范雯琪觉得从工作量上来看我付出的辛苦要比她多,因为她大部分时间负责提供思路和方法,具体用什么方法实现还是我来做的,可以说我们组80%的代码都是我敲的,她只在旁边起到一个辅助和指导的作用。
PSP
PSP2.1 | Personal Software Process Stages | 预估耗时(小时) | 实际耗时(小时) |
---|---|---|---|
Planning | 计划 | 0.5 | 1.5 |
Estimate | 估计这个任务需要多少时间 | 0.5 | 0.5 |
Development | 开发 | 20 | 45 |
Analysis | 需求分析 (包括学习新技术) | 2 | 2 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 3 | 3.5 |
Design UML | 设计项目UML类图 | 1.5 | 2 |
Coding | 具体编码 | 10 | 20 |
Code Review | 代码复审 | 2 | 2 |
Test | 测试(自我测试,修改代码,提交修改) | 2 | 2 |
Size Measurement | 计算工作量(实际时间) | 0.5 | 1 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 1 | 1.5 |
合计 | 43 | 94 |