结对编程--带UI的学习软件

一、项目要求:

1、所有功能通过图形化界面操作,可以是桌面应用,可以是网站(编程语言和技术不限);

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

3、用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码6-10位,必须含大小

写字母和数字。用户在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改密码成功;

4、密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用

户输入需要生成的题目数量;

5、用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示

第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,...,直至最后一题;

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

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

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

 

二、具体实现:

前端:css3+html5+javascript

后端:php

 

三、项目预览:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

四、项目结构:

 

 

五、具体流程图如下:

 

六、代码复用:

由于我们俩个人项目都是使用的python编写,而这次选择了网页,不能直接进行复用,但是逻辑是相通的,在产生题目

界面中还是可以套用逻辑,只是语法结构变了,我俩临时学习了js的相关语法,事件的处理方式,根据之前的python代码,

很快的仿写出了出题的界面,令人感到庆幸的是,js里面有现成的eval函数,方便了我们的判题,出题,判题部分我俩很

顺利的做完了。

遇到的一些问题:

验证码发送问题:验证码的发送使用了榛子云服务系统,点开官网,按照php开发者文档一步步编写,调式,最后实现

了短信的发送。

form表单提交问题:前端输入的数据均采用post方式发送到php文件中与数据库进行交互,php操作数据

库较为方便,很快完成了此项工作。

数据库连接问题:期间尝试用node.js连接数据库,最后未能成功,反复查看资料发现php和html结合起来更为

方便,于是采用了php连接数据库。

 

七、结对编程总结:

本次结对编程学会了很多,我俩都是html和js小白,从0开始学习了html常见标签,css常用渲染,js基础语法,php连接数据库

....,在此过程中上网查资料,仿写大佬代码,也遇到了很多阻碍,不过两人最后还是坚持了下去,结对编程的过程中两人有

不同的思路,每次修改都要大动干戈,有时候会浪费很多时间,但是如果在一开始就商量好各自的分工,各司其职,实际操作

起来会快很多。下次结对编程会采用git中的push,merge方式,这样俩人在修改的过程中能清晰看到代码的变化,也方便双人双机

调试,本次项目下来,我觉得我们得html交互部分做的还不是特别友好,以后还是得多注意一下前端的一些技巧,总而言之,这次

结对编程收获很大,对前后端分离操作的模式有了更加深刻的理解!

 

posted @ 2021-10-09 17:41  信的恋人  阅读(29)  评论(0)    收藏  举报