20165233结对编程项目-四则运算(第一周)
20165233结对编程项目-四则运算(第一周)
码云链接
需求分析
- 自动生成小学四则运算题目(加、减、乘、除)
- 支持整数
- 支持多运算符(比如生成包含100个运算符的题目)
- 支持真分数
设计思路
- 首先,主类中需要有提示用户要输入计算式的个数,以及求解的式子,利用Scanner读入。
- 其次,在ArithmeticFunc方法中进行四则运算的设计。每一种运算都要考虑异常情况,都要抛出异常。尤其对于除法来说,分母不能为0。
- 最后,利用JUnit进行测试。
UML类图
功能截图
- JUnit测试
结对感受
- 在结对编写这个程序时,初次遇到的问题是JUnit插件的安装以及正常使用,我在JUnit部分给予我队友许多帮助。随后就开始讨论四则运算的编程思路了。我刚开始考虑到加减乘除四个简单的运算,但对于除法分母不能为0,计算范围的规定等细节,则是队友负责补充。
- 遇到的问题:
- 在编程时,也是一方忘记了某个异常类的写法,或是一些细节问题,都能互相的及时补充上。最后在程序运行时,遇到了比较大的问题:输入三个计算式后,没有自动得出的结果。
- 在JUnit测试时,也是出现了很大的问题,除法那部分测试时一直溢出,找不到原因。
PSP表格
PSP | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
Planning | 计划 | 30 | 25 |
Estimate | 估计这个任务需要多少时间 | 180 | 200 |
Development | 开发 | 150 | 130 |
Analysis | 需求分析(包括学习新技术) | 130 | 140 |
Design Spec | 生成设计文档 | 50 | 65 |
Design Review | 设计复审(和同事审核设计文档) | 30 | 20 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 20 | 40 |
Design | 具体设计 | 60 | 60 |
Coding | 具体编码 | 35 | 30 |
Code Review | 代码复审 | 15 | 15 |
Reporting | 报告 | 60 | 90 |
Test Report | 测试报告 | 30 | 45 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 10 | 15 |
合计 | 880 | 975 |