编程语言
首页 > 编程语言> > 结对编程项目:带UI的小初高数学学习软件

结对编程项目:带UI的小初高数学学习软件

作者:互联网

一、前言

  我的个人项目是用java实现的,而我的搭档是使用c++实现的,考虑到我之前就有使用java来编写前端界面的经历,同时使用java调用接口实现短信发送模块更加方便,我们决定以我的个人项目为基准,复用完成结对编程项目。最后项目在java1.8的环境下使用idea编程,主要用到的技术有javafx,css和json。

二、复用个人项目实现结对编程项目

1. 首先是登录系统部分,由于我们两个人的个人项目都把用户“写死”了,到了结对编程这部分没法写,所以我们决定重构,一开始准备使用mybatis调用mysql来保存用户数据,后来考虑助教没办法验收,而前后端是分离的,我们使用json作为用户信息的中间数据来保存。这部分是完全重写的,没法复用。

2.然后个人项目中的关于出题的部分稍作修改即可添加到结对编程项目中作为一个封装好的生成题目类进行调用。这部分只需要输入一个字符串(分别对应到小学,初中和高中)和数量,即可生成对应的题目。而在结对编程中最后的考试系统中也只需要选择对应的难度和数量,而由于个人项目的封装做得还算不错,可以直接调用这个函数生成考题,因此这部分我们就直接复用了。

3.最后再是Teacher类,由于之前是出题者(Teacher)的视角,而这次是做题者(User)的视角,而我的这部分分离度没处理好,本来应该是将两个类分别继承自同一个person类,而我嫌麻烦直接写的Teacher类,这导致我这部分也无法复用,只能重写了。

三、结对编程项目

基于基本需求增加的改进:

①我们额外编辑了一个记时类,当倒计时结束时而用户还没有提交时系统会提醒已经超时了,并尝试自动提交,由于这只是一个学习系统,并不是一个考试系统,所以我们并没有强行自动提交,起到一个提醒的作用。在提交时也会确认是否提交,避免出现误点的情况。具体如图所示:

②注册账号时会提醒该手机号或用户名是否合法是否注册过,即保证注册过的手机号和用户名无法再次注册。

③新增题目跳转以及记忆功能,每道题选择其中一个选项后都会自动记录选项,并把该题标记为已选择,以方便查阅还有哪些题目没写完。

部分界面展示如下:

登录界面

 

菜单,下拉框选择难度

 

 

考试界面,可点击右侧对应的标号跳转,当题目已经作答时,会改变标号的颜色

四、结对编程的经验与教训

  本次的结对编程是我第一次参与的结对项目开发,因此在开发过程中出现了一些问题,比如规划不清晰,两人对接时彼此的环境不同导致对接失败,盲目的添加功能而忘记了debug等等,所幸最后还是顺利完成了整个项目,有一个遗憾的点是短信服务只申请到了注册使用,修改密码的服务未批准下来,所以只能使用一个alter弹窗来提示用户该功能还未提供了。这次结对编程也给了我很大的触动,结对编程或者说团队多人合作编程和自己一个人单打独斗还是有很大区别的,队友之间的相互交流有时能极大的推动进度,而刚好我的结对编程对象也和我是一个团队的,希望我们能把这种正反馈带到整个团队中,提高团队的协作能力。

 

标签:结对,题目,项目,编程,这部分,复用,小初,UI
来源: https://www.cnblogs.com/tsyhhh/p/13789093.html