结对编程项目-四则运算整体总结

需求分析

实现一个命令行程序,要求:

  • 自动生成小学四则运算题目(加、减、乘、除)
  • 生成题目去重
  • 支持多运算符(比如生成包含100个运算符的题目)
  • 支持真分数
  • 统计正确率
  • 处理生成题目并输出到文件,生成题目后从文件读入并判题
  • 多语言支持

我们需要实现以下几个功能:

  • 可通过输入设置语言
  • 随机生成四则运算题目,通过循环使得生成的题目的计算过程不含负数且不重复,并可通过输入控制生成的题目数目以及数值的范围
  • 能将生成的题目输出到文件,并从文件中获取题目实现自动计算从而判断回答是否正确
  • 能将计算的结果转化为分数(如真分数五分之三表示为3/5,真分数二又八分之三表示为2’3/8。)
  • 能计算通过统计正确的题数来计算正确率

设计思路

上周中我们已经实现了中缀表达式的计算以及分数的转换(2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结)。
根据需求,程序还需要新定义方法来实现随机生成运算题目、多种语言的支持。并且需要在主类中实现文件操作、生成题目的合法性检验、判断用户的回答是否正确以及调用其他的类的功能。于是我们新定义了生成题目的Produce类和支持多语言的Language类,并重写了MyDCTester类的方法。

UML类图

运行过程截图

遇到的困难及解决方法

  • 问题一:测试时IDEA自带的junit3无法正常使用
  • 问题一解决办法:本地下载JUnitGenerator.jar包,在Intellij中依次选择File->Setings->Plugins,在Install plugin from disk导入JUnitGenerator.jar包即可

代码托管地址

https://gitee.com/A5320/pair_programming_code

对结对的小伙伴做出评价

我的结对搭档是龚仕杰,在本周的编程过程中,我遇到了许多的问题,通过与搭档的讨论成功得到了解决,在这过程中他不遗余力地帮助我,希望下次还有合作的机会。

PSP

|PSP2.1| Personal Software Process Stages| 预估耗时(分钟)|实际耗时(分钟)|
| -------- | :----------------😐:----------------😐:---------------: |:-----😐
|Planning|计划|15|30|
|Development|开发|||
|Analysis| 需求分析 (包括学习新技术)|35|60|
|Design Spec|生成设计文档|45|45|
|Design Review|设计复审 (和同事审核设计文档)|30|25|
|Coding Standard|代码规范 (为目前的开发制定合适的规范)|30|35|
|Design|具体设计|130|150|
|Coding|具体编码|230|300|
|Test|测试(自我测试,修改代码,提交修改)|30|35|
|Reporting|报告|60|80|
|Size Measurement|计算工作量|15|25|
|Postmortem & Process Improvement Plan|事后总结, 并提出过程改进计划|25|25|
||合计|680|855|

posted @ 2019-04-14 21:26  20175319江野  阅读(88)  评论(0编辑  收藏  举报