辛大帅的作业
一、预估与实际
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 10 | 10 |
• Estimate | • 估计这个任务需要多少时间 | 800 | 700 |
Development | 开发 | 600 | 800 |
• Analysis | • 需求分析 (包括学习新技术) | 60 | 120 |
• Design Spec | • 生成设计文档 | 10 | 60 |
• Design Review | • 设计复审 | 60 | 80 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 30 | 60 |
• Design | • 具体设计 | 120 | 180 |
• Coding | • 具体编码 | 120 | 600 |
• Code Review | • 代码复审 | 30 | 30 |
• Test | • 测试(自我测试,修改代码,提交修改) | 60 | 30 |
Reporting | 报告 | 80 | 50 |
• Test Repor | • 测试报告 | 60 | 10 |
• Size Measurement | • 计算工作量 | 60 | 30 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 50 | 20 |
合计 | 1240 |
二、需求分析
我通过xxxx的方式了解到,小学一年级数学有如下的几个特点:
特点1:仅使用最小数字小于100,大于0
特点2:没有小数 既都为整数
特点3:一年级题目仅限于20以内的不进位加减法运算
特点4:二年级题目仅限于10以内乘除法运算
经过分析,我认为,这个程序应当:
使用的数字小于100 大于0
数字使用整形储存
不能出现负数
三、设计
1. 设计思路
构建一个类,创建四个方法
判断参数,确保算法的合法性
随机参数0—100以内的整数
生成结果打印并存入文档
2. 实现方案
使用Eclipse实现代码,通过GitHub桌面版实现跟踪文件上传
根据随机数random()来产生随机题目
比如:
- 准备工作:先在Github上创建仓库,克隆到本地...
- 技术关键点:梳理一下设计思路,可能遇到哪些技术关键点
- ...
四、编码
请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程
在算法过程中会出现符号错误导致得到错误结果
1. 调试日志
记录编码调试的日志,请记录下开发过程中的 debug 历程
比如:
- 在代码的什么位置,代码出现了什么问题,问题会导致什么结果,怎么解决的
2. 关键代码
3. 代码规范
请给出本次实验使用的代码规范:
1.左大括号前不换行。
2.左大括号后换行。
3.右大括号前换行。
4.右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。
5.左小括号和字符之间不出现空格;同样的,有小括号和字符之间也不出现空格。
并人工检查代码是否符合规范
五、测试
输入范围以外的数值:输入错误,重新输入
输入范围内数值:正确运行
六、总结
暑期将Java内容忘得差不多现在用到比较吃力,花费了大量的时间来搞这个作业,
初次接触博客和github,代码分析敲出来会出现许多漏洞。
请总结过程中的教训和经验,思考
- 是否使用了“软件开发的基本策略:分而治之”,是否需要重构
- “高质量的设计、规范的编码以及有效的测试是保证软件产品质量的三个重要方面”,你是否采用了相关的手段,是否需要重构