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

之前已经写了一个中小学数学卷子自动生成程序,这次是复用之前的那个程序完成这次的项目。

项目功能:

1、用户注册功能。用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册;

2、用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码6-10位,必须含大小写字母和数字。用户在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改密码成功;

3、密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量;

4、用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,...,直至最后一题;

5、最后一题提交后,界面显示分数,分数根据答对的百分比计算;

6、用户在分数界面可选择退出或继续做题;

7、小初高数学题目要求见个人项目。

具体操作流程图如下:

 

我们结对编程用的是java,做出来的是一个GUI的界面

 

 

做结对编程项目过程中的教训和经验:

 在开始做这个项目之前我们两个人进行了分工,一个人做登录注册等等界面,另一个人一个人做试卷生成界面。在整个项目中对个人项目的复用就

只有在试卷生成界面会用到。而我们经过了一番讨论之后,决定试卷生成界面的题用的是从题库中抽取出来一定数量的题目,而不是随机生成题目。这样

做的好处之在于从已有题库中抽取题目会让可选择的答案比较合理,不需要机器进行运算结果,第二点就是考虑到我们平常的数学机考来说,题目也是从

题库里面抽取的,这样做的目的是使得这个项目更贴切于生活,更具有实际意义。在做注册界面的时候自己也结合了项目里的需求和实际生活中的例子,将

注册界面整合成一个集用户名密码、手机验证的界面。

  首先是自己在做界面的时候有很多dialog和button都是可以复用的,一开始就可以声明为静态然后共享,这样代码量就会少很多,程序性能也会提升。然后

就是在明确了两个人的分工之后,各自都做出来了自己的工功能需要合并的时候,两个人需要讨论互相通用的函数应该传什么,这样就能避免代码合成之后

出现不兼容、bug之类的。在两个人的代码合成的过程中,互相调用并没有出现什么冲突,能完美的执行互相调用。最后的界面美化,感觉自己要美化的东西

太多了,也没什么很好的想法,所以用了一套主题。

  在做这次的结对项目自己进步了很多,懂得了很多有关与GUI的知识,学会了两个人之间的配合、分工合作。

 

 

 

 

 

posted @ 2019-09-27 17:38  clinkz1  阅读(149)  评论(0编辑  收藏  举报