博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
结对作业1.1
阅读量:5363 次
发布时间:2019-06-15

本文共 2849 字,大约阅读时间需要 9 分钟。

MathExamLv2—— 陈映宏 211606355 陈卓楠 211606358

一、预估与实际

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划
• Estimate • 估计这个任务需要多少时间 10 20
Development 开发
• Analysis • 需求分析 (包括学习新技术) 60 100
• Design Spec • 生成设计文档 30 40
• Design Review • 设计复审 20 20
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 20 20
• Design • 具体设计 80 120
• Coding • 具体编码 200 480
• Code Review • 代码复审 30 45
• Test • 测试(自我测试,修改代码,提交修改) 200 300
Reporting 报告
• Test Repor • 测试报告 10 10
• Size Measurement • 计算工作量 10 10
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 20 25
合计 690 1195

二、需求分析

在个人项目中完成的小学数学出题程序,运行良好,在家长群中赢得了不错的口碑。现在应家长的要求,增加新的功能:小学三年级四则混合运算。经过前期的使用,家长们学会提需求了,小学三年级四则混合运算的要求如下:

  • 运算符在2~4个【进一步细化要求:至少两个不同的运算符】
  • 可以加括号
  • 减法运算的结果不能有负数
  • 除法运算除数不能为0,不能有余数

经过分析,我认为,这个程序应当:

  • 根据用户输入的参数生成相应数量的题目..
  • 利用Random语句实现随机生成的整数、分子、分母以及加减乘除
  • 添加多个运算符的算式

三、设计

1. 设计思路

  • 通过随机数来实现整数以及分数
  • 通过随机数结合if条件语句实现加减乘除四个运算符号

2. 实现方案

具体实现的步骤

  • 准备工作:先在Github上创建仓库,克隆到本地
    技术关键点:
  • 通过用户输入的答案与式子答案进行比较,判断对错,对的返回正确并统计,错的返回错误并附上正确答案但不统计
  • 将统计正确的题目数量除以用户最初输入的题目数量得到正确率并输出

1. 调试日志

  • 在测试时发现忽略了四则运算的先后运算顺序
  • 括号无法显示出来
  • 出现负数
  • 运行报错,无法生成题目

2. 关键代码

else{                      if(data1%data2==0 && data2!=0) //判断data1能否被data2整除,且除数data2不能为0                   {                  if(operator[num2]=="+")//乘除的优先级高于加减,所以可以顺着往下计算                  {                      result=data1/data2+data3;                      System.out.println(str+"="+result);                                        }                 else if(operator[num2]=="-")                 {                     if(data1/data2>=data3)//判断data1/data2的商是否大于data3                     {                         result=data1/data2-data3;                         System.out.println(str+"="+result);                                               }                     else{                         number++;//不符合条件就将表达式的个数加1,进行下一个表达式的计算                     }                 }                 else if(operator[num2]=="*")                 {                     result=data1/data2*data3;                     System.out.println(str+"="+result);                                      }                 else{                     int result1=data1/data2;                     if(result1%data3==0 && data3!=0)//判断data1/data2的商能否整除data3,且data3不能为0                     {                         result=data1/data2/data3;                         System.out.println(str+"="+result);                                              }                     else{                         number++;                     }                 }             }             else{                 number++;             }         }

3. 代码规范

请给出本次实验使用的代码规范:

  • 第一条:未定义的常量不可使用在代码中
  • 第二条:不可输入非数字的答案,若输入非数字的答案,则结束程序
  • 第三条:异常进行手动处理,不抛出
  • 第四条:要用int类型

五、测试

请思考并记录你认为必要的测试点,并记录测试用例与测试结果

1473604-20180919105544009-455480079.png

六、总结

通过这次结对作业,我明白我还是有很大不足。果然口头上说的简单,都比不上自己亲手去实践,所以要多练多学,多动手敲代码。也体会到团队的好处,有时一个人苦苦思考还不如两个人一起交流。

1473604-20180919105624726-416566101.png

转载于:https://www.cnblogs.com/cznan/p/9673558.html

你可能感兴趣的文章
12个大调都是什么
查看>>
angular、jquery、vue 的区别与联系
查看>>
Intellij idea创建javaWeb以及Servlet简单实现
查看>>
代理网站
查看>>
Open multiple excel files in WebBrowser, only the last one gets activated
查看>>
FFmpeg进行视频帧提取&音频重采样-Process.waitFor()引发的阻塞超时
查看>>
最近邻与K近邻算法思想
查看>>
【VS开发】ATL辅助COM组件开发
查看>>
FlatBuffers In Android
查看>>
《演说之禅》I & II 读书笔记
查看>>
thinkphp3.2接入支付宝支付接口(PC端)
查看>>
response和request
查看>>
【转】在Eclipse中安装和使用TFS插件
查看>>
回到顶部浮窗设计
查看>>
C#中Monitor和Lock以及区别
查看>>
【NOIP2017】奶酪
查看>>
$ 一步一步学Matlab(3)——Matlab中的数据类型
查看>>
5.6.3.7 localeCompare() 方法
查看>>
Linux下好用的简单实用命令
查看>>
描绘应用程序级的信息
查看>>