20165227 结对编程项目-四则运算 第二周
需求分析
- 自动生成小学四则运算题目(加、减、乘、除)
- 可独立使用
- 支持整数
支持多运算符(比如生成包含100个运算符的题目)
支持真分数 - 考虑可扩展支持配置生成不同难度的题目,比如通过参数指定
- 题目合法性判断
- 统计题目完成数并计算正确率
- 输入的合法性检测
- 转换为后缀表达式
- 考虑支持不同的去重级别测试
- 题目生成测试
设计思路
1、首相实现最简单的100以内整数的加减法;
2、然后实现50以内整数的乘除法;
3、再实现分数的加减乘除,分子和分母都取0-50范围以内的整数;
4、最后实现带有括号的算式的四则运算。预算结束后,代码统计正确题目数量,并计算正确率
5、每完成一道题,都会显示计算的结果正误,并在做完所有题目后统计并在屏幕输出正确率
6、使用堆栈来实现“中缀表达式-->后缀表达式”的转换
7、当所得的商小数位数>2时,只保留前两位小数
8、进行junit检测
UML图
运行结果截图
-
等级一
-
等级二
-
等级三
-
等级四实验编译失败,没有讨论出结果
junit测试截图
码云链接
结对感受
- 因为同为室友,所以结对起来更轻松方便,讨论的时间也更加地充足,对于队友的想法也能及时地了解并沟通,挺好的
- 我的结对队友是20165228苏祚堃,他的基础很好,想法有时候也会天马行空,这样的思想碰撞更有利于学习的相互进步!
- 在第二周的结对学习中,我们的讨论更加的频繁,在讨论中,苏祚堃同学充分地展现了其优秀的Java基础,同我的天马行空的想法,共同完成了结对编程这一实验!
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 60 | 110 |
Estimate | 估计这个任务需要多少时间 | 400 | 500 |
Development | 开发 | 150 | 270 |
Analysis | 需求分析 (包括学习新技术) | 40 | 50 |
Design Spec | 生成设计文档 | 30 | 40 |
Design Review | 设计复审 (和同事审核设计文档) | 20 | 20 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 25 | 35 |
Design | 具体设计 | 100 | 150 |
Coding | 具体编码 | 200 | 240 |
Code Review | 代码复审 | 30 | 45 |
Test | 测试(自我测试,修改代码,提交修改) | 200 | 240 |
Reporting | 报告 | 20 | 25 |
Test Report | 测试报告 | 15 | 20 |
Size Measurement | 计算工作量 | 10 | 10 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 60 | 80 |
合计 | 1360 | 1835 |