结对编程总结
一. 项目需求
1. 名称
带UI的小初高数学学习软件。
2. 用户
小学、初中和高中学生
3. 功能
- 所有功能通过图形化界面操作,可以是桌面应用,可以是网站(编程语言和技术不限);
- 用户注册功能。用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册;(也可以使用密码登陆代替手机验证码)
- 用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码6-10位,必须含大小写字母和数字。用户在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改密码成功;
- 密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量;
- 用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,...,直至最后一题;
- 最后一题提交后,界面显示分数,分数根据答对的百分比计算;
- 用户在分数界面可选择退出或继续做题;
- 小初高数学题目要求见个人项目。
二. 项目实现
1. 类及其接口
- Cover
接口:无
功能:系统初始界面,可在此界面中选择登陆或注册
- Login_window
接口:public static void login_window()
功能:登录界面,在此界面输入用户名及密码进行登陆;输入后可选择确认登陆、重置密码或者退出界面。
- Whether_change_password
接口:public static void Whether_change ()
功能:询问是否修改密码界面,在这个界面可以选择修改密码或者直接做题
- Change_password
接口:public static void change ()
功能:修改密码界面,再次界面可以修改密码,确认后会跳转到难度选择。
- Register
接口:public static void CreateRegister()
功能:注册界面,在此界面输入新的用户名和密码并进行密码的再次确认;输入后如果不重复,可以选择确认注册或者取消注册返回到初始界面。
- Choose_degree
接口:public static void ChooseDegree()
功能:难度选择界面,在此界面进行小学、初中、高中的选择,选择后输入出题的数量,并再次输入用户名进行确认。
- Paper_create_window
接口:public static void paper_window(String name,int number,int degree,final int place,String time,int count)
功能:每次在界面显示一道题目并显示四个选项,根据答案选择一个选项,并点击提交,会跳转到显示正确答案界面。
- Judge_Question
接口:public static void JudgeQuestion(String name,int number,int degree,int place,String time,String tempQuestion,int count,String answer,boolean truth)
功能:判断题目正确性界面,显示此题的正确答案,点击下一题可进入下一道题目;在所有题目结束后点击下一题会进入总成绩界面。
- Print_score
接口:public static void score_window(int right_num,int total_num,String name,String time)
功能:显示这张试卷的总成绩;在此界面可以选择返回初始界面、直接再次做题或者退出系统。
- Finish_answer_primary
接口:public static double executeExpression(String expression)
功能:做题函数,可作出一道小学难度题目的答案
- Finish_answer_middle
接口:public static String finish_middle(String question)
功能:做题函数,可将一道初中难度的题目转化为小学难度的题目
- Finish_answer_senior
接口:public static String finish_senior(String question)
功能:做题函数,可将一道高中难度的题目转化为初中难度的题目
2. 复用个人项目代码
- 写文件
结对编程项目中的所有写文件的方法都使用了个人项目中的写方法,只是在其基础上增加了true参数,使写入文件的方式变为不覆盖。
- 读文件
查重时使用的读文件的方式使用了个人项目中的读文件方法。
- 出题函数
结对编程项目中的题目要求和个人项目是一样的,所以写函数直接使用了个人项目中的函数。
三. 总结
1. 仍未解决的问题
- 优化界面失败,想给系统界面增加一个背景图片,但是由于时间的关系,最终未能实现。
- 程序中仍有一些警告信息存在没能去除,但是不会影响系统的运行。
2. 程序的不足之处
- 做题时2选项按钮只能点击一次,不然会单独将重复点击的选项对应的内容写入文件。
3. 总结
- 通过这次结对编程,我对Java的图形化界面编程更加熟练,可以实现图形化界面的多个功能。
- 对文件读写操作更加熟练,可以实现简单的相关操作。
- 通过多天的结对编程,对这种模式逐渐习惯,并能和队友更快更高效的完成项目。
- 通过这次的项目,对“做中学”体会更加深刻,这种模式虽然让我在写程序时很多方法都是现学现做,过程很艰难;但是的确使我学习到了很多知识和方法,在这种模式下完成项目,我可以很快的成长。

浙公网安备 33010602011771号