结对编程-四则运算 第一周总结
小组成员
- 20172313 余坤澎
- 20172332 于欣月
- 20172326 康皓越
需求分析
- 可以生成不同种类的题目
- 根据用户的需求来生成不同的题目
- 计算时生成真分数和整数,且结果为分数形式输出
- 可以输出括号
- 可以判断用户的正确
设计思路
第一种
- 设计一个level1类,只负责加减
- 设计一个level2类,只负责乘除
- 设计一个level3类,只负责加减乘除
- 设计一个转化类,将上述的类生成的表达式转换成计算式
- 比对结果类
缺点
- 在将括号进行插入时出现问题,难以将其加入
- 繁琐,第三个类需要重复前两个level的方法。同时,需求中的真分数也是在每个类中都要重复,不够简洁
第二种
- 创建一个数字生成类(包括真分数和整数)
- 创建一个符号类(加减乘除和括号)
- 创建一个生成表达式的类
- 创建一个中缀表达式转后缀表达式的转化类以及创建一个计算后缀表达式的类(使用栈)
- 创建用户类(要求用户输入等级难度和题目数目)
优点
- 将各个部分灵活的拆分,使得在“拼接”时可以不被限制,从而自由组合。
- 各个类目的明确,没有重复项,各司其职。
PSP时间统计
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
planing | 计划 | 1 | |
Estimate | 估计这个任务需要多少时间 | 1 | |
Development | 开发 | 6 | |
Analysis | 需求分析 (包括学习新技术) | 1 | |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 1 | |
Design UML | 设计项目UML类图 | 1.5 | |
Coding | 具体编码 | 6 | |
Code Review | 代码复审 | 2 | |
Test | 测试(自我测试,修改代码,提交修改) | 2 | |
Size Measurement | 计算工作量(实际时间) | 2 | |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 1 | |
合计 | 26.5 |