一、个人项目github地址展示
https://github.com/manzhiyanlan/sizeyunsuan.git
即使用Java编程语言随机产生n个小学生四则运算练习题。
二、个人项目报告展示
- 为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算。
2、功能设计:输入一个参数n,随机生成n道算式,即当输入生成式子个数为5时,产生五个具有运算符和数字组成的算式如下所示。
3、设计实现
在设计的开始要想随机输出算式就得先了解随机数的定义生成随机数,生成随机数的函数就是math.random,还有运算符的随机产生,要想随机产生运算符就要从加减乘除四个运算符号中产产生,即先对其进行定义再调用,最后将所产生的随机式输出。另外,小学生的概念里没有负数,我将随机数定义为正整数输出。我根据学生学习程度的不同,对算式进行了难易分类,让不同程度的学生得到有效的学习。在随机产生题目做完题后,能判断答案是否正确。并输出错误的项。最后,实现避免产生重复的项的功能。
4、测试运行
我的测试结果如下所示,对于输出的算式,随便输入答案,对其进行正误判断。
5、PSP展示
PSP2.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
Planning | 计划 | 20 | 20 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 15 | 20 |
Development | 开发 | 300 | 360 |
Analysis | 需求分析 (包括学习新技术) | 15 | 15 |
Design Spec | 生成设计文档 | 10 | 10 |
Design Review | 设计复审 (和同事审核设计文档) | 5 | 5 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 10 | 10 |
Design | 具体设计 | 20 | 20 |
Coding | 具体编码 | 180 | 200 |
Code Review | 代码复审 | 8 | 6 |
Test | 测试(自我测试,修改代码,提交修改) | 20 | 25 |
Reporting | 报告 | 10 | 15 |
Test Report | 测试报告 | 10 | 10 |
Size Measurement | 计算工作量 | 2 | 1 |
Postmortem & Process Improvement Plan | 事后总结 ,并提出过程改进计划 | 30 | 25 |
7、总结与问题
由于Java基础太薄弱,这么久才完成了作业,而且完成的还不全面,比如随机产生的式子中,数字是随机产生的整数,在有的运算符为除法的情况下,结果就会有余,尝试解决这个问题,参考了别人的代码,最终却没有实现。其次,题目要求以文档的形式输出结果,却实现的时候忽略了一点,在GitHub里面上传了代码,却才发现这个遗漏点,需求分析不够全面,检讨后会在以后的项目中改进。在项目的开发过程中,先进行需求分析,对项目的需求有个了解,然后进行功能设计、设计实现,最后对代码进行修改与测试。在代码编写的过程中遇到了很多阻碍,需要在课余时间里提高自己的知识与操作技能。在今后的学习中也会更加努力。