结对编程总结

一.   项目需求

1.  名称

  带UI的小初高数学学习软件。

2.  用户

  小学、初中和高中学生

3.  功能

  1. 所有功能通过图形化界面操作,可以是桌面应用,可以是网站(编程语言和技术不限);
  2. 用户注册功能。用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册;(也可以使用密码登陆代替手机验证码)
  3. 用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码6-10位,必须含大小写字母和数字。用户在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改密码成功;
  4. 密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量;
  5. 用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,...,直至最后一题;
  6. 最后一题提交后,界面显示分数,分数根据答对的百分比计算;
  7. 用户在分数界面可选择退出或继续做题;
  8. 小初高数学题目要求见个人项目。

二.   项目实现

 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的图形化界面编程更加熟练,可以实现图形化界面的多个功能。
  • 对文件读写操作更加熟练,可以实现简单的相关操作。
  • 通过多天的结对编程,对这种模式逐渐习惯,并能和队友更快更高效的完成项目。
  • 通过这次的项目,对“做中学”体会更加深刻,这种模式虽然让我在写程序时很多方法都是现学现做,过程很艰难;但是的确使我学习到了很多知识和方法,在这种模式下完成项目,我可以很快的成长。
posted @ 2020-10-09 23:04  秃头的小熊  阅读(100)  评论(0)    收藏  举报