结对作业——随机生成四则运算

                                                     结对作业

                                                   UI 第三组

                                                   朱池苇 PB16150206

                                                   刘鼎乾 PB16070837

                                                 

Github 地址:

项目简介

这次软件工程结对项目为制作一个给小学生用的四则运算出题软件,然后我们抽到的是UI组,也就是负责人机交互——随机生成四则运算——使用Core组封装好的dll模块。

 

需求分析

  • 对上述各属性参数(生成题目的数量,操作数的数量,题目及答案中的数值的范围……)进行设置
  • 调用Core模块得到题目和运算结果,显示题目,接受输入,并能判断答案是否正确
  • 增加“倒计时”功能,每个题目必须在20秒内完成,否则,得0分并进入下一题
  • 增加“错题记录”功能,对于答错的题,将其保存下来,当下次进行“复习”时,增大错题在练习题中的概率
  • 增加”历史纪录“功能,把用户做题的成绩纪录下来并可以展现历史纪录
  • 增加“成绩分享”功能,生成成绩单,想一想成绩单里要展现什么,仅仅是最后的得分吗?错题的类型及数量?帮用户分析其薄弱的环节,提出合理的学习建议?
  • 对所有Core组的模块进行测试

代码架构与具体实现

 

测试结果

 

BUG记录与分析

 

团队分工

    结对编程作业大部分的时间都是采取共同编写代码,即“一个做驾驶员,一个做领航员”,驾驶员负责敲键盘,领航员在一侧提供建议、检查错误或帮忙搜索相关的资料。

  就这次团队项目而言,我们合作还是很愉快的。清明节的后两天我和朱池苇同学一起学习了Qt。由于朱池苇同学的工程能力比较强,所以大部分程序都是朱池苇同学作为驾驶员,而我(刘鼎乾)则作为领航员,与朱池苇同学对问题进行讨论,查找资料,检查错误等。

 

结对编程的意义

 

  我觉得结对编程确实具有非常重要的意义:

  •   一个人编写代码,总是有种灯下黑的现象。可能你自己犯的很微小的错误,你花了大把大把的时间,还是搞不出来。而另一个人只需要看一下就能指出,这提高了复审效率。
  •    可以不断从别人那里学习,提高自己的水平。这次结对编程,我从朱池苇大佬那里学到了很多,比如良好的代码风格,清晰的编码思路,以及熟练的调试技巧等
  •  通过两个人的讨论,更好的解决问题等。

 PSP 表格

 

课程建议:

我认为邓老师确实非常非常负责,很认真地想把这门课上好,但是我觉得还是有一些问题。
1.上课不只是讲软件工程的理论,还希望能多讲一些实际编程有关的东西。
2.安排大作业和结对编程的时候,尽量和期中考等考试分开,能不影响大家的gpa就不影响。希望后面补做个人作业和结对编程时,不要放在和期末考冲突的时候,可以考虑放在暑假。
3.我觉得为了难而难是不可取的。有些时候加大难度我感觉不是很有现实意义。而我们工科是非常讲究现实意义的。增加难度可以,但要建立在实际有用的基础上,如果为了难为我们而故意弄一些很繁琐的事情,我觉得并不可取。

 

posted @ 2018-04-15 18:49  USTCPaladin  阅读(169)  评论(1编辑  收藏  举报