小学生就应该学习 别打排位
Posted sakura666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小学生就应该学习 别打排位相关的知识,希望对你有一定的参考价值。
MathExam
一、预估与实际
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | ||
? Estimate | ? 估计这个任务需要多少时间 | 10 | 30 |
Development | 开发 | ||
? Analysis | ? 需求分析 (包括学习新技术) | 150 | 50 |
? Design Spec | ? 生成设计文档 | 10 | 30 |
? Design Review | ? 设计复审 | 20 | 30 |
? Coding Standard | ? 代码规范 (为目前的开发制定合适的规范) | 20 | 35 |
? Design | ? 具体设计 | 20 | 40 |
? Coding | ? 具体编码 | 150 | 360 |
? Code Review | ? 代码复审 | 10 | 20 |
? Test | ? 测试(自我测试,修改代码,提交修改) | 45 | 120 |
Reporting | 报告 | ||
? Test Repor | ? 测试报告 | 20 | 30 |
? Size Measurement | ? 计算工作量 | 10 | 10 |
? Postmortem & Process Improvement Plan | ? 事后总结, 并提出过程改进计划 | 20 | 30 |
合计 | 685 |
二、需求分析
我通过度娘的方式了解到,小学一年级数学有如下的几个特点:
- 1)100以内的所有整数
- 2)100以内的乘除法(可参考99乘法表)
- 3)没有负数和小数
经过分析,我认为,这个程序应当:
使用的数字应在0到100之间,且为整数,即int类型
-不能使用负数和产生负数
-不能使用小数
-输入的数要符合要求三、设计
1. 设计思路
- 先创建一个输入框
- 对输入的数做判断,看是否符合要求,如果不符合,则报错
- 之后随机生成两个数字运算
- 最后将结果放到355.txt中
2. 实现方案
- 准备工作:先在Github上创建仓库,克隆到本地,创建新的文件夹
- 技术关键点:梳理一下设计思路,可能遇到哪些技术关键点
- 把握好范围,避免不必要的失误
-将结果放到355.txt中
四、编码
请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程
-一开始觉得输出是整数就行,没考虑输入的情况
-JAVA基本忘光了,问了同学才明白
1. 调试日志
修改了关于小数的结果
检查文本是否存在,对生成文本的目录如果创建失败的情况
2. 关键代码
while(p)
{
k=r.nextInt(100);
m=r.nextInt(100);
f=r.nextInt(10);
if (f%2==0) { //加法
if(k+m<=100)
{
first[i]=k;
second[i]=m;
fuhao[i]="+";
pass[i]=k+m;
i++;
}
}
else //减法
{
if(k-m>=0)
{
//System.out.println("("+(i+1)+") "+k+" - "+m+" = ");
first[i]=k;
second[i]=m;
fuhao[i]="-";
pass[i]=k-m;
i++;
}
}
if(i==n)
break;
}
3. 代码规范
请给出本次实验使用的代码规范:
- 类名首字母应该大写。每个单词的首字母大写。
- 避免异常
- 人工检查代码是否存在错误
- 包名必须小写等等
并人工检查代码是否符合规范
五、测试
1.mathexam1.0.测试结果:生成符合数目的几道一年级题目和答案 结果: 符合
2.mathexam2.0测试结果:输入有误,请重新输入 结果:符合
六、总结
请总结过程中的教训和经验,思考
- 是否使用了“软件开发的基本策略:分而治之”,是否需要重构
是 - “高质量的设计、规范的编码以及有效的测试是保证软件产品质量的三个重要方面”,你是否采用了相关的手段,是否需要重构
是
以上是关于小学生就应该学习 别打排位的主要内容,如果未能解决你的问题,请参考以下文章