个人作业
刺激
一、预估与实际
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | ||
• Estimate | • 估计这个任务需要多少时间 | 120 | 123 |
Development | 开发 | ||
• Analysis | • 需求分析 (包括学习新技术) | 80 | 90 |
• Design Spec | • 生成设计文档 | 60 | 55 |
• Design Review | • 设计复审 | 25 | 20 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 30 | 25 |
• Design | • 具体设计 | 50 | 50 |
• Coding | • 具体编码 | 300 | 300 |
• Code Review | • 代码复审 | 30 | 30 |
• Test | • 测试(自我测试,修改代码,提交修改) | 80 | 100 |
Reporting | 报告 | ||
• Test Repor | • 测试报告 | ||
• Size Measurement | • 计算工作量 | 25 | 25 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 30 | 40 |
合计 | 858 |
二、需求分析
我通过查阅网资料的方式了解到,小学一,二年级数学有如下的几个特点:
- 特点1
- 100以内的加减法,没有负数。
- 特点2
- 乘法仅限于九九乘法表,没有小数
- 经过分析,我认为,这个程序应当:
- 数值同一采用容易计算的int类型
- 减法时,第一个数要比第二个大(避免出现负数)
-
三、设计
1. 设计思路
说明你如何设计这个程序
- 首先判断输入的数据是否符合要求,一个还是两个参数。
- 随机数的生成。
- 按要求写出算法。
- 将生成的题目和标准答案写入指定的文件当中
- 输出文件中的内容。
- 测试
2. 实现方案
写出具体实现的步骤
- 准备工作:
-先在Github上创建仓库,克隆到本地。了解需求,编写代码,通过测试后再通过git上传到Github上提交。 -对实验任务要有所规划。 - 技术关键点 -对运算方式的选择。 -文件的输入输出。 -如何将代码提交到仓库之中。 -怎样全方面进行测试。
四、编码
请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程
1. 调试日志
-运算结果出错。
-数组越界,抛异常。 -年级超过2年级也可运行。
2. 代码规范
- 代码中的命名不允许直接使用中文的方式。
- 杜绝完全不规范的缩写。
- 方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格。
- 人工检查代码是否符合规范
五、测试
- 输入15795显示错误,原因在于数过大。
- 输入-1 结果错误,原因在于数值不为0。
- 输入f 结果错误,原因在于输入值不为字母。
六、总结
- 设计之前要先了解设计需求。
- 要尽可能从多方面进行测试。
- 有时适当问下他人,提高效率。
- 要注意细节上的问题,符号和单词的错很难查出。
- 自身知识欠缺,需努力学习。