博客信息 | 沈阳航空航天大学计算机学院2020软件工程作业 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/sau/Computer1701-1705/homework/10685 |
课程目标 | 熟悉一个“高质量”软件的开发过程 |
作业目标 | 结对编程练习 |
一、Project Requirements
本次作业要求两个人合作完成,驾驶员和导航员角色自定,鼓励大家在工作期间角色随时互换,这里会布置两个题目,请各组成员根据自己的爱好任选一题。
题目1:
我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:
能够自动生成四则运算练习题
可以定制题目数量
用户可以选择运算符
用户设置最大数(如十以内、百以内等)
用户选择是否有括号、是否有小数
用户选择输出方式(如输出到文件、打印机等)
最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)
题目2
现有一新建办公大厦,共有21层,共有四部电梯,所有电梯基本参数如下表所示,其使用规定如下:
楼层号为0~20,其中0号为地下一层
有楼层限制的电梯不在相应楼层停靠,如单双层
所有电梯采用统一按钮控制
请根据上述要求设计并实现一个电梯控制程序,使得用户平均等待时间尽可能小,如果有图形显示就更好了。
二、Partnership Information
我的结对伙伴是本班同学 赵乐,我们选的是第一个题目-----小学四则运算出题系统。
我是本次结对作业的驾驶员,赵乐为领航员。
由于在家的关系,本次对问题的讨论分析是在线上进行。
三、Code
四、Computational Result
本次程序的编译环境文VS2017,运行代码如下:
四、Summary
对领航员的评价
本次结对编程中,领航员是赵乐同学,在我完成部分编码后,审查我的代码,能准确发现我代码中存在为bug以及为代码进行优化。发现问题后与我讲解他对这个问题的看法
以及思路,对我接下来修改代码,优化代码有很大的帮助,所以每个人对问题的看法与意见、解决思维都是不同,与他人讨论思路绝对比一个人闭门造车强很多。
我在完成全部的编程后,他对代码进行审查,测试,是一个很严谨、优秀的的领航员。
结对编程总结
当拿到这个问题时,两个人先讨论各自的对问题的看法及解决思路,最后在制定出一个可行的方案。
然后根据这个方案,驾驶员将代码的主要框架写出来,然后领航员对框架进行合理的评测,找出问题,改进问题,优化代码。
在编程过程中两个人编程可以增强代码和产品质量,在调试过程中两个人也更容易发现BUG并有效的减少BUG,使工作更有效率。
结对编程可以互相督促和修正自己认为对方不足的地方,同时也学习和他人共享编程经验降低学习成本。一边编程,一边共享知识和经验,有效地在实践中进行学习。
在在这次结对编程学会了很多,在编程中,相互讨论,可能更快更有效地解决问题,结对编程还可以更有效地模拟以后团队开发项目的工作环境,使自己对团队开发过程更加理解和熟悉。
五、Work Table
项目 | 预计 | 实际 |
---|---|---|
设计时间 | 2h | 1.5h |
编码时间 | 5h | 4h |
测试时间 | 1h | 0.5h |
代码行数 | 600+ | 505 |
错误数量 | 5 | 3 |
错误修复时间 | 1h | 0.5h |
开发总时间 | 8h | 6.5h |