一:Github地址:https://github.com/ryxing/si_ze
二:PSP表格
PSP2.1
Personal Software Process Stages
预估耗时(分钟)
实际耗时(分钟)
Planning
计划
30
40
· Estimate
· 估计这个任务需要多少时间
30
30
Development
开发
1300
1400
· Analysis
· 需求分析
120
120
· Design Spec
· 生成设计文档
60
70
· Design Review
· 设计复审
50
60
· Coding Standard
· 代码规范
30
40
· Design
· 具体设计
100
90
· Coding
· 具体编码
800
900
· Code Review
· 代码复审
60
80
· Test
· 测试(自我测试,修改代码,提交修改)
100
150
Reporting
报告
130
150
· Test Report
· 测试报告
60
80
· Size Measurement
· 计算工作量
30
30
· Postmortem & Process Improvement Plan
· 事后总结, 并提出过程改进计划
40
40
合计
2940
3280
三:设计实现过程
我选择设计了一个实时的四则运算程序,每次输入运算答案后,都会自动和标准答案进行比较,并产生校对结果。
在完成由用户自定义的题目个数后,会输出所做题目的正确率,并将整个结果保存在result.txt文本。
实现过程:
1、创建一个封装的类number,满足整数和分数这两个数据类型,定义分子(numerator)和分母(denominator),其中整数的分母为1。
2、通过递归函数quesGrow来生成题目,调用Random函数来实现随机生成加减乘除运算符、随机生成数字、随机生成题目长度的功能。
3、在主函数中利用循环结构来实现实时做题功能。
四:代码说明
1、定义运算规则(加减乘除)
2、对分式进行约分(先辗转相除法求出最大公约数,再将分式除以最大公约数)
3、整数和分数数据类型的实现
4、利用循环结构实现做题功能
五:测试运行
result.txt文件
六:项目小结
1、在写博客的过程中,发现自己的能力与别人有较大的差距,自己只能实现简单的几项功能,心里有巨大的落差;
知耻而后勇,比起学习软件工程知识,我觉得当务之急是提高自己的代码水平,深入学习java语言。
2、在编写程序的过程中是痛苦的,由于自己的懒散比身边的同学落后了许多,在今后会加油追赶的。