结对编程(java实现)

一:Github地址:  https://github.com/ryxing/si_ze

 

二:PSP表格

 

PSP2.1Personal 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、在编写程序的过程中是痛苦的,由于自己的懒散比身边的同学落后了许多,在今后会加油追赶的。

 

posted on 2019-10-16 20:43  w1ck  阅读(125)  评论(0)    收藏  举报