一、项目简介——带UI的小初高做题软件

(1)所有功能通过图形化界面操作

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

(3)用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码6-10位,必须含大小写字母和数字。用户在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改密码成功

(4)跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量。用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,...,直至最后一题;最后一题提交后,界面显示分数,分数根据答对的百分比计算;用户在分数界面可选择退出或继续做题

(5)生成题目的要求:

小学 初中 高中
难度要求 +,-,*./ 平方,开根号 sin,cos,tan
备注 只能有+,-,*./和() 题目中至少有一个平方或开根号的运算符 题目中至少有一个sin,cos或tan的运算符

二、结对分工

本次结对编程,由我和欧阳生同学共同完成。我们采用了JAVA GUI来实现了本次项目——带UI的小初高做题软件。编译环境为IntelliJ IDEA 2021.1.1 x64,JDK版本为1.11。使用的数据库为MySQL,云服务器为82.157.124.211,发送短信平台为榛子云。

我们具体分工如下:前期共同分析了采用哪种UI界面,最后选定了曾经学习过的GUI来进行完成;经过查询资料,共同商议决定采用性价比较高的榛子云作为发送短信的平台。其中UI设计,设置选项,各界面的跳转连接等功能由我实现;出题,解题,注册账号等功能由欧阳生同学进行实践。后期,我们共同完成了前后端的合并,并共同对软件进行了测试和改进。

三、具体过程

1、复用个人项目实现出题模块

本次的出题模块,我们选择复用之前已经实现了的个人项目的代码

create类中包含三个方法:primary,middle,high,分别用来实现出小学,初中,高中难度的题目。去掉了之前的文件流操作,采用字符串数组进行存储。
image
这三个方法完成的工作包括:生成随机数,生成随机符号,判断括号生成是否符合要求,将数字与运算符号,三角函数等符号进行组合。通过复用xiao_xue,chu_zhong,gao_zhong三个个人项目中的类可以轻松完成。

2、实现做题功能的模块

经过查找资料,发现可以使用Javascript里的eval()函数实现计算。eval函数是一种接受字符串作为参数,并且可以将接受的字符串转换成js表达式并且立即执行该表达式。

根据该函数要求写出计算的函数:
image
经过多次测试,发现该方法很好用。

3、各界面UI设计

使用了Java的Swing组件完成了JavaGUI的设计
image
使用了Jpanel作为整个窗口的设计,JButton作为按钮,JTextField作为文本框进行文本的输入。对于每个按键都进行其响应函数的设计,保证每个按键都有着其后续的作用。
image
对于每个能够进行文本输入的地方也进行了限制,防止输入奇怪的东西导致报错甚至程序崩溃;对于一些不合法的输入,也会进行弹窗以提示用户输入的问题,保证了良好的用户体验。在前端UI的设计上,保证留出恰当的接口与后端对接,保证从前端读到的数据和后端的数据流通,进行数据库层面的增删查操作。

登陆界面,用户名和密码会与数据库中数据进行比对。
image
注册界面,对于密码进行比对,同时检验其合法性。
image
选择难度界面,不同按键响应不同函数。
image
选择题目数量界面。
image
题目界面。
image
得分界面。
image

数据库,短信发送等部分详见欧阳生同学的博客。

四、总结

对于结对编程项目,我觉得和队友的合作很重要。本次我和欧阳生同学的配合合作还是非常默契的,我们对于前后端自己所负责的部分都很清晰,也方便了我们在对接时解决很多的问题。这也是我第一次和他人合作完成项目,是一场非常宝贵的经验,一个成功的软件工程师一定是在不断的合作中练就的。

欧阳生同学细心靠谱,我俩的项目完成的速度也比较快,靠谱的队友就是成功的一半!小组合作我觉得沟通非常重要,我们在前期已经构思好了基本的一些框架,比如哪些东西怎样去完成实现,到真正动手去做就会得心应手,在完善的过程中可能会有一些变化,这就需要及时和队友进行沟通,也方便对方进行调整。

经验教训就是还是要好好学习!做项目就会发现还是有很多地方不足,对于知识的应用有着很大的漏洞;还要锻炼自己查资料的能力,做到“有效查资料”。对于自己的模块尽量做到尽善尽美,多次进行测试,否则的话你不知道对接起来都会有什么奇奇怪怪的问题。在软件工程的学习上,道阻且长,继续加油。

posted on 2021-10-09 23:04  雪瑜瑾  阅读(52)  评论(1编辑  收藏  举报