一二年级数学计算题
一、预估与实际
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 60 | 50 |
• Estimate | • 估计这个任务需要多少时间 | 600 | 680 |
Development | 开发 | 540 | 600 |
• Analysis | • 需求分析 (包括学习新技术) | 60 | 180 |
• Design Spec | • 生成设计文档 | 20 | 20 |
• Design Review | • 设计复审 | 35 | 50 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 15 | 10 |
• Design | • 具体设计 | 80 | 60 |
• Coding | • 具体编码 | 240 | 240 |
• Code Review | • 代码复审 | 10 | 15 |
• Test | • 测试(自我测试,修改代码,提交修改) | 30 | 40 |
Reporting | 报告 | 20 | 30 |
• Test Repor | • 测试报告 | 20 | 40 |
• Size Measurement | • 计算工作量 | 20 | 15 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 15 | 30 |
合计 | 680 |
二、需求分析
我通过上网查询,以及和同学讨论的方式了解到,小学一年级数学有如下的几个特点:
- 特点1 20以内加减
- 特点2 运算结果不出现负数
经过分析,我认为,这个程序应当:
- 使用的数字小于20
- 被减数应大于减数
- 无乘除
三、设计
1. 设计思路
- 这个程序有1个类,5个函数,函数之间的调用关系:在main方法中通过构造函数的调用。
- 算法的关键的关键是:处理数据的异常,溢出等情况
2. 实现方案
写出具体实现的步骤
比如:
- 准备工作:先在Github上创建仓库,克隆到本地...
- 技术关键点:梳理一下设计思路,可能遇到哪些技术关键点:
- 如何克隆代码
- 如何创建仓库
- 有没有处理错误
四、编码
请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程遇到几个问题?
- 创建字符串数组static String[] str =new String[]{};,无法自动开辟字符串数组空间?
- 改用List泛型解决
- int变量未初始化,调用时一直报异常。
- 在txt中使用换行需要在输入流中添加\r\n才能成功换行
- 调试日志
1. 调试日志
记录编码调试的日志,请记录下开发过程中的 debug 历程
比如:
- 遇到了数组越界的问题;范围没有弄好
2. 关键代码
请展示一段程序的关键代码,并解释代码的作用
3. 代码规范
请给出本次实验使用的代码规范:
- 第一条:人工检查
- 第二条:适当进行代码注释,以便理解
并人工检查代码是否符合规范
五、测试
请思考并记录你认为必要的测试点,并记录测试用例与测试结果
-测试输入:java MathExam 5 测试结果:生成5道一年级题目和答案 预期结果:符合
六、总结
请总结过程中的教训和经验,思考
-
是否使用了“软件开发的基本策略:分而治之”,是否需要重构
-是;需要;
-
“高质量的设计、规范的编码以及有效的测试是保证软件产品质量的三个重要方面”,你是否采用了相关的手段,是否需要重构
-是;需要