首页 > 技术文章 > 小学生福利

LJ-D 2018-09-11 15:29 原文

小学生福利

一、预估与实际

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 600 630
• Estimate • 估计这个任务需要多少时间 500 630
Development 开发 340 330
• Analysis • 需求分析 (包括学习新技术) 50 50
• Design Spec • 生成设计文档 50 80
• Design Review • 设计复审 50 50
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 10 20
• Design • 具体设计 50 50
• Coding • 具体编码 80 50
• Code Review • 代码复审 40 20
• Test • 测试(自我测试,修改代码,提交修改) 20 10
Reporting 报告 200 300
• Test Repor • 测试报告 100 80
• Size Measurement • 计算工作量 50 40
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 100 180
合计 630

二、需求分析

我通过百度的方式了解到,小学一年级数学有如下的几个特点:

  • 特点1
    1.算式得出的结果不超过100。
    2.运算结果不能为负数。
    3.没有乘除运算。

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

  • 使用的数字小于50
  • 减法结果小于0的重新取值
  • 不加入乘除运算

三、设计

1. 设计思路

  • 这个程序有一个类,3个函数,分别为main(主函数),print(写了文件),CreateFile(创建out.txt文件)
  • 算法的关键在于判断控制台的输入数据

2. 实现方案

写出具体实现的步骤

  • 准备工作:先在Github上创建仓库,克隆到本地
  • 技术关键点:判断控制台输入数据

四、编码

请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程
按照大脑中的构思进行编写代码。先进行createFile
要随机出题就需要随机数,百度查看大神们如何解决随机数。
判断输入的数据是否符合要求,百度查看大佬如何解决。

1. 调试日志

记录编码调试的日志,请记录下开发过程中的 debug 历程

  • 在除法时无法整除后改完用积来代替随机被除数

2. 关键代码

	 if(args[0]!= null && args[0].matches("0*[0-9]{0,3}"))
	 

3. 代码规范

  • 第一条:保留了原有规范的4空格缩进
  • 第二条:放松了对import语句的组织方式要求。只要有一定逻辑性即可,不做严格限制。
  • 第三条:但要求未使用的import语句必须删除

五、测试

测试内容 输入 预期 实际
------ 5 运行正确 运行正确
------ 00000000000004 运行正确 运行正确
------ 10000000000000 请输入合法参数(范围在1~999的整数) 请输入合法参数(范围在1~999的整数)
------ 请输入合法参数 请输入合法参数(范围在1~999的整数) 请输入合法参数(范围在1~999的整数)
------ -1 请输入合法参数(范围在1~999的整数) 请输入合法参数(范围在1~999的整数)
------ 0.12 请输入合法参数(范围在1~999的整数) 请输入合法参数(范围在1~999的整数)

六、总结

请总结过程中的教训和经验,思考

  • 是否使用了“软件开发的基本策略:分而治之”,是否需要重构
  • “高质量的设计、规范的编码以及有效的测试是保证软件产品质量的三个重要方面”,你是否采用了相关的手段,是否需要重构

推荐阅读