结对编程项目总结:本次结对编程的项目是和另一位同学一起完成的,目的在于做一个出题程序,其中包括了GUI、用户注册、自动生成题目、自动生成答案及统计最后分数的功能。并且也运用了之前个人项目的部分(具体内容参见上一篇博文)成果来帮助完成本次项目。
GUI部分是本次项目和个人项目的一个主要区别。这部分主要包括登录界面、用户注册界面、密码设置界面、题目类型选择和数目输入界面、题目界面和分数显示界面。接下来以GUI的不同部分为切入点,简介项目的成果。
l 登录界面
用户在“用户名”、“密码”栏分别输入已经注册的用户名和密码,之后可点击“登录”按钮,如果未注册此用户或密码不正确会有提示;除此之外,还可以通过“注册”按钮进入注册界面。
l 注册界面
注册功能主要参照了我个人项目的注册部分。用同一个路径下的一个文件记录所有成功注册的用户名和密码。除此之外,新加入的是短信验证的模块,该模块主要是下载榛子云的SDK并调用其中的函数完成的。
l 密码设置界面
该界面匹配上一用户注册界面,共同完成账户开通的功能。当输入的密码不符合规定(6-10位、大小写字母和数字均包含)时,会提示;当再次输入确认密码和初次输入不一样时,也会出现提示。
l 题目类型选择和数目输入界面
用于选择将要出题的难度类型、将要出的题目数量。分小学、初中、高中三种难度。最后点击“确认”,正式进入答题界面。
l 题目界面
显示题目和四个选项。正确选项只有一个,可点击“上一题”或“下一题”来修改不同题目的选项。点击“提交”后开始评分。题目生成主要使用个人项目的对应函数,根据题目数量,决定调用多少次该函数,之后将返回的题目和答案用列表包装返回到主进程。
l 分数显示界面
可看到本次答题分数。之后可选择继续做题或者是退出系统,若选择“继续做题”则会到选择题目类型的界面。
工作分配:项目的流程实现、每个功能接口主要是由我来完成,而GUI界面的美化则主要是另一位同学的工作。而本次项目的功能部分主要是采取我之前的个人项目的设计。
经验和教训:本次结对编程主要收获是进一步学习了GUI的制作方式,但和团队沟通不足,导致分工不是很清晰明确,工作量的分配也没能达到比较合理。