结对编程项目:带UI的小初高数学学习软件

最近写完了结对编程项目,以下是需求:

用户:

小学、初中和高中学生。

功能:

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

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

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

4、密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量;

5、用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,…,直至最后一题;

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

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

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

不难看出,这个项目是个人项目的升级版,添加了图形化界面操作、计算出题目的答案、显示最终成绩等功能。图形化我们只会用Java, Java自带图形化界面设计的功能,免去了更换编译软件和引入其他类库等工作,对于开发有一定的优势,对于需求的其他功能,用Java也可以实现,就这样,我们选择Java作为编程语言。

因为是结对编程,我和我的搭档商量一人负责一部分,我负责生成题目和计算出题目答案这两部分,我的搭档就负责各种界面图形化。我觉得这样的分工是合理的,毕竟我们的结对编程项目两个人只用交一个工程文件,考虑到以后面对的项目也是巨大工程量,一个人负责项目的一部分也是常态,这样我们可以在其中锻炼沟通交流和分工合作的能力。

对于生成题目这一部分,在个人项目中自己做过,思路和方法放在Java中也可以实现,只不过是编程语言不一样(个人项目我用的C++),这一部分就没什么难度可言。

难的是计算题目的答案,准确说是计算数学表达式的答案。一开始百度,发现网上说可以用导入外部的bsh包来实现,我把官网的bsh包导入项目并且运行之后直接给我报错,弄了好久都解决不了,然后我只能用其他方法了。之后发现网上大部分都是介绍中缀表达式转后缀表达式,我直接看代码就完全看不懂(涉及到出栈入栈),突然发现中缀表达式转后缀表达式是一种算法,算法都不知道,自然代码看不懂。学习完算法,看代码,然后自己写。这时候只是实现了没有cos,sin,tan,^2,开方的,要实现这里还得另外添加功能。

就这样,我把我负责的部分完成了,最后跟搭档沟通好接口,虽然有一些bug要调试,但最终还是成功了。

感想:通过本次的结对编程项目,我感受到了代码复用的方便性,其实早点注意结对编程是把个人编程图形化的话,我就应该一开始用Java,这样我就不必要用两种不同的语言实现同样的功能了,另外,接口做好一些也方便之后的拓展功能。另外,跟队友沟通在项目合作中很重要,接口,还有通过结果传递的数据类型,这些都是必要的讨论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值