软件工程第四次作业:结对编程
结对编程
| 博客信息 | 沈阳航空航天大学计算机学院2020软件工程作业 |
|---|---|
| 作业要求 | https://edu.cnblogs.com/campus/sau/Computer1701-1705/homework/10685 |
| 课程目标 | 熟悉一个“高质量”软件的开发过程 |
| 作业目标 | 结对编程练习 |
一、问题描述
我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:
1.能够自动生成四则运算练习题
2.可以定制题目数量
3.用户可以选择运算符
4.用户设置最大数(如十以内、百以内等)
5.用户选择是否有括号、是否有小数
6.用户选择输出方式(如输出到文件、打印机等)
7.最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)
二、程序代码
三、运行结果
运行结果1:生成10道题,含有+-/四种运算,运算数范围10到100,运算数为整数且有括号,不打印到文件。

运行结果1:生成10道题,含有+-/四种运算,运算数范围10到100,运算数为整数且有括号,打印到文件。

运行结果1:生成20道题,含有+-*/四种运算,运算数范围-100到100,运算数为小数且无括号。不打印到文件。(当运算数为负数时,为当前运算数添加括号)

四、测试截图


五、总结
本次结对编程的伙伴是李建红同学,我们配合还算默契顺利完成了此次结对编程的作业。在此次编程中,虽然有驾驶员和领航员两种角色,但是我们都希望我们可以交替编写代码,互换角色,编程过程中,我们编写完一段,由对方审查,提出问题建议,之后交换角色。所以很幸运,我在此次结对编程任务中,即体验到驾驶员角色,又体验到领航员角色。这同时也为存在一些问题,我们有些想法不同,编程习惯不同,即使确定了函数的功能,在具体实现上还是常常出现分歧,所以需要我们不断讨论,时间消耗的比较多。当然,在结对编程的过程中也体会到了它的很多优势,两个人集思广益,对问题的分析自然比较全面,在出现问题时候,两个人共同解决速度也快了不少,压力也比较小,而且伙伴更容易发现对方代码中存在的问题,通过两个人的讨论,整个算法更加完善。
此次结对编程任务中,生成随机整数和小数、生成四则运算式和写入文件部分由我负责编写,我的伙伴负责校对。生成菜单、对运算符和括号的处理部分由我的伙伴负责编写,我负责校对。最后我们又一起做了单元测试,使用的判定覆盖,vs的测试工具。我的伙伴在我编写代码时给了我很多建议,提出许多不错的想法,在我出现错误时及时提醒,并且对我没有考虑到的情况给予补充。在他负责编程时,我也从他的代码中获得一些启发,此次结对编程我们互相学习、互相帮助愉快的完成了合作。最后不得不说,我们的代码还不够完善,我们收集一些做界面的资料,可惜最后没有成功实现。还有一个比较遗憾的是我们此次主要通过qq通信和屏幕分享完成的此次任务,效果应该没有面对面的效果好。
六、工作记录表
| 项目 | 预计 | 实际 |
|---|---|---|
| 设计时间 | 3小时 | 2小时 |
| 编码时间 | 8小时 | 7小时 |
| 测试时间 | 2小时 | 6小时 |
| 代码行数 | 300 | 200+ |
| 测试代码行数 | 80 | 50 |
| 错误数量 | 5 | 2 |
| 错误修复时间 | 5小时 | 2.5小时 |
| 开发总时间 | 2天 | 2天 |

浙公网安备 33010602011771号