结对编程(java实现)
一: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、在编写程序的过程中是痛苦的,由于自己的懒散比身边的同学落后了许多,在今后会加油追赶的。
浙公网安备 33010602011771号