第二次作业

本文详细记录了一次使用PSP2.1个人软件过程进行项目开发的经历,从预估耗时到实际耗时的对比,再到需求分析、设计、编码、测试等各个阶段的具体实施情况。特别关注了需求分析中的四则混合运算的特点及编码过程中的调试日志。

211606392 郑俊瑜 211606327 冉繁盛

第一次作业升级

一、预估与实际

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划
Estimate估计这个任务需要多少时间700870
Development开发
Analysis需求分析 (包括学习新技术)5050
Design Spec生成设计文档1010
Design Review设计复审55
Coding Standard代码规范 (为目前的开发制定合适的规范)1510
Design具体设计3050
Coding具体编码600660
Code Review代码复审1010
Test测试(自我测试,修改代码,提交修改)3555
Reporting报告
Test Repor测试报告1010
Size Measurement计算工作量510
Postmortem & Process Improvement Plan? 事后总结, 并提出过程改进计划1015
合计770870

二、需求分析

我通过百度的方法了解到小学三年级四则混合运算有如下的几个特点:

  • 特点1
  • 运算符在2~4个,数字不会超过1000
  • 特点2
  • 可以加括号
  • 特点3
  • 减法运算的结果不能有负数
  • 特点4
  • 除法运算除数不能为0,不能有余数

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

  • 1.使用的数字小于1000的整数
  • 2.不可以减为负数
  • 3.除数需要被除尽不能有余数
  • 4.不需要很长的式子

三、设计

1. 设计思路

当输入参数要显示三年级算式时,生成随机数
生成四则运算式子,判断式子是否合理

  • 需要用到随机生成数和随机运算符
  • 需要将一二年级的算法功能保留
  • 可以随机生成随机运算符
  • 将记录写入文本

2. 实现方案

比如:

  • 准备工作:先在Github上创建仓库,克隆到本地
  • 然后和结对人仓库合并。
  • 技术关键点:生成括号内的算法,还要正确输出

四、编码

1. 调试日志

  1. 怎样将一二三年级的算法分开; 解决办法:每个年级都单独做一个类
  2. 余数的设置不符合要求,在三年级运算的过程中,总会有出现余数的结果;
    通过if来判断,摸出为零。

2. 关键代码

  if (kuohao) {                   
          // 生成括号      
           int index1 = (int)(Math.random() * (size - 1));
                 if (index1 % 2 == 0) { } 
                    else {  index1 -= 1;   }                  
                   int index2 = index1 + 3; 
                   exp.add(index1, "(");   
                   exp.add(index2 + 1, ")");    }           
               }    
             while (calc(nibolan(exp)) < 0 || calc(nibolan(exp)) % 1 !=0 || calc(nibolan(exp)) > 1000);
                    // 最终结果不能小于0大于1000和小数             
                    for (String s : exp) {
                             shizi += s; 
                            shizi += " ";   }        
                     strArrayQ.add("(" + j + ") " + shizi);    
                       strArrayA.add("(" + j + ") " + shizi + " = " + (int) calc(nibolan(exp)));  } 
             }

3. 代码规范

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

  • 第一条:类型与括号紧紧相连来定义数组
  • 第二条:用到的常量开头命名必须大写
  • 第三条:简洁,能够在表明意思的同时尽量简洁
  • 第四条:注意英文和拼音
  • 第五条:注释宜少二精,不宜多而滥,更不能误导

五、测试

- 多次输入检查是否出现负数
- 当年级参数输入时大于3时,程序结果
- 生成四则混合运算时,生成的括号是否有误

六、总结

1479064-20180919110533439-281733823.jpg

-果然两个人写代码一起讨论比一个人的效率高。

转载于:https://www.cnblogs.com/Memorysnow/p/9671089.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值