1、需求描述
在上次个人编程的基础上增加了些许功能以及要加上UI界面,便不再重复
2、项目工作的分配
搭档 Mr布朗熊:GUI界面的设计以及跳转逻辑,兼美工艺术设计师,BUG测试员
本人:用户信息存储,出题函数模块、计算函数模块,读写文件模块、查重模块、短信验证码模块,兼BUG测试员
3、构架分析
GUI界面和Function函数分离在两个包中。GUI只需要调用Funtion中的函数。
img文件中中包含:GUI界面的美工图片,如下:登陆密码或用户名错误不存在则跳出图片提醒
MathTest下保存着对应用户名年级和生成的试卷题目信息
Users目录下有着users.txt用来保存用户信息,使得用户注册后下次运行程序也能用已经注册过的账号
4、界面运行效果
a、登陆界面(论美工后期润色的重要性),
b、注册界面(论美工后期润色的重要性)
功能说明:
1、用户名栏会判断用户名是否重复,这里以范涵大帅逼为例。没有重复
2、密码会有格式要求:必须至少要有大小写数字的组合
3、判断密码是否相同功能、判断手机号是否为正确规格
4、验证码是否与发送相同
5、窗口下方还有两个选项“返回登陆”、“退出系统”,注册成功自动跳转到登陆界面登陆
c、欢迎界面(具体功能如图所示)
d、选择年级界面(具体功能如图所示)
说明:修改密码无误弹出下图,且跳转到登陆界面
e、选择年级界面(具体功能如图所示)
f、选择生成题目数量界面(具体功能如图所示)
g、做题界面(具体功能如图所示)
h、结算界面(具体功能如图所示)
说明:如果未做完所有题目交卷会弹出界面如图1,否则为图2
5、思考与总结分析
1、结对编程最崩溃的部分不在于设计,逻辑,而在于整合代码。整合代码是最让人抓狂的环节,主要问题在模块不细分,我给Mr.布朗熊先生我的模块代码的时候其实给的不是整合好的模块,只需要让他调用就行,而是一个main函数,里面有着各种奇怪的测试,估计他看着也是欲哭无泪。
2、命名不规范!!!Mr布朗熊发给我的代码UI各种命名看着头痛,出于强迫症吧,我把命名重新彻彻底底的改了一遍再发给他,下次共享工程地时候我发现他也重新彻彻底底地把命名改了回去。没有沟通好的我们估计彼此都是???
3、我们俩的ide不统一,文件编码不统一。整合的时候各种乱码,真实让人头秃
4、首先需要对项目需求研究理解充分到位!然后再由两人分工实现应有的功能
5、无穷无尽地优化,探索到底地精神。这是我在这次结对编程最大地收获,Mr布朗熊先生近乎苛刻地把每一个美化提升,乐在其中。我们学到了很多GUI的技巧:润色、画一条线、插入图片等等
6. 代码的结果需要反反复复复修改,反反复复修改润色。我们几乎天天聚着商量如何优化如何润色,就该项目我和Mr。布朗熊修改来修改去(如下图)。获益匪浅乐在其中