20190927结对项目编程总结

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

一、需求

用户:

小学、初中和高中学生。

功能:

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

二、关于个人项目复用

在做个人项目的时候,考虑到对C++的熟悉,采用了C++语言。而本次结对编程项目一是要UI,二是要发送验证码。在上学期的《Java编程思想》课程讲到了Java GUI设计,也提到了Java 网络编程。后来,我们看阿里云的短信验证码提供了Java的API而没有C++的API,因此和队友商量之后果断变更Java。

复用难度?

1.代码复用。

由于个人项目做C++时也采用了类的结构以及相似的方法等,部分类和方法可以移植到Java。

2.出题逻辑

在做个人项目的时候就有此类疑问:题目出的要不要符合高中生的实际情况?初中高中生成的题目一般都是不用计算器算出答案的,比如三角函数,一般都是特殊角度的计算。在个人项目时,我无意中看到了其他同学的博客,他的队友采用的是“题库”的方式。因此我们认为题库更合理,于是我们转战“题库”出题模式。

3.复用谁的代码呢?

我在个人项目的博客中提到,我的队友的代码模块化更高,健壮性更好,因此采用了他的个人项目代码。

以上两张图是队友的C++和Java的类框架。

三、结对编程项目总结

这次结对编程项目用到了Java的GUI和网络编程,这也是我第一次能调用其他接口来实现功能,感觉很有趣。由于我们数据库才刚刚起步,且没有服务器,故没有建立DAL层(数据访问层)来专门读写数据。本次项目的UI和业务逻辑层是并行,由两人分工负责,我们俩的环境也不大一样(队友用的JDK 1.8,我使用的JDK 11,后来换成了13;目的是方便不同环境新旧版本兼容性查看),这对Debug相关程序及模块、检测兼容性也有一定的帮助。总的来说,本次项目遇到了很多之前没有遇见过的问题,获益匪浅。

四、经验教训

1.代码及程序读文件中的中文乱码问题

我们的txt文本和代码默认使用GBK编码格式,而队友的代码使用的是UTF-8编码,切换为UTF-8即可显示正常,有中文乱码在代码中(非注释)是编译不通过的哦!

今天部署Tomcat7.0也是因为乱码问题导致部署不成功!我又是升级JDK又是升级Eclipse版本的。。。原来只是编码格式问题。。。

有中文一定要注意编码问题!

方法:选中文件,右键,Properties,选择UTF-8。

2.关于版本

解决了乱码问题,为啥在队友电脑上运行正常的程序,在我的电脑上运行会有异常呢,我的电脑也加入了相应的包呀!

找来找去,原来是JDK版本问题!队友的电脑的环境是JDK1.8,而我的电脑是JDK11!JDK9.0之后的版本没有自带jaxb-api-2.3.1.jar扩展包,导致编译不通过!加入扩展包即解决问题。

以后还是要慎重选择最新版本,尽量使用稳定版本。

原文地址:https://www.cnblogs.com/cancerhzc/p/11600861.html

时间: 2024-10-29 13:37:41

20190927结对项目编程总结的相关文章

结对项目编程之代码进展

由于最开始做个人项目的时候就是按照模块的思想进行的设计,所以已经是模块化的程序了. 结对项目关于程序方面老师提出了下列要求 Calc() 这个Calc 函数接受字符串的输入(字符串里就是运算式子,例如 “ 5+3.5”,  “7/8 – 3/8 ”,“3 + 90 * (-0.3)” 等等),这个模块的返回值是一个字符串,例如,前面几个例子的结果就是 ( “17.5”, “1/2”, “-24”). 所以我要增加小数的运算以及负数运算的功能. 并且让模块的返回值为[字符串](现在的返回类型是Fr

黄金点游戏二人结对项目总结

经过近两个星期结对项目编程,从中收获了很多也发现了许多自身存在的问题.结对编程过程中比如讨论分工问题,起初不知如何下手,后来经过慢慢讨论有了比较合理的分工.我和我的同伴有着不同性格和工作方式,在做项目的过程中会有很多不同的思路和想法,编程习惯也不相同.他喜欢从整体入手,先想好程序的每一个环节,构思好整体后,才开始编程.就我而言,我习惯一层一层,循序渐进的进行编程,将每个环节做好然后进行下一项,虽然效率有点慢,但是对我来说,这种方式能让我在编程的时候少出错.我很喜欢我同伴预先做好整体构思的方法,很

结对项目之小游戏编程(斗地主)

一.题目简介    本次的项目是编写一个斗地主的小游戏,实现语言:java:主要完成了GUI设计.计时线程.算法.本次项目的主要目的是对算法的学习.算法分析在心得里面. 技术难点:1.图片的移动    2.计时线程的设定   3.对牌的分割,必须考虑到优先拆分方案,将权值低的拆分方案舍去. 4.在删除的时候遇到问题了,删除不了. 二.结对分工及过程 本次结对项目的成员有两个,张国伟:负责对GUI界面的设计,完成功能:洗牌功能,发牌功能,打牌功能的图片的位移处理,基本打牌的桌面等等. 我主要负责对

结对项目更新

本周确实对结对项目没投入多少时间,新的需求没进行跟进,应该要被老板扣钱的吧.只针对之前的程序进行了争论和修改,之前的程序在处理除法的时候其实是有缺陷的,我们二人就此展开过讨论,在并没有达成共识的情况下,用各自的方法进行了编程试验,也没有解决问题,最后询问了同学,采用了新的办法,才解决了遗留的问题.

结对项目—地铁出行路线规划

结对项目—地铁出行路线规划 我的搭档:陈鸿超 14061216 https://github.com/ChengFR/PairProgramming_SubwayRoute- 会在十一期间发布新版本 结对编程体会: 结对编程的优点: 站在软件开发的角度,两个人共同面对同一台电脑进行开发,无论是效率还是软件质量都要超过一个人进行开发的情况. 对于还处于学习阶段的年轻软件开发者来说,结对编程是一个很好的互相学习的机会 结对编程时动力.责任感更强 结对编程的缺点: 对于我们来说,寻找两个人共同的时间进

软工_结对项目总结博客

关于结对编程 第一次进行真正的结对编程,而且我们组又是最奇葩的三人组合(14061183韩青长)(14061195陈彦吉),在经历了三天的合作以后,感觉收获还是蛮多的,下面是我对于结对编程的一些个人体验. 优点 在结对编程的过程中,两个人共同面对同一份代码,编码时旁边时刻有人提示监督.这样写出的代码,首先考虑的特殊情况会更多,能避免很多一个人编程时因为考虑不周而在某个不起眼的地方产生的Bug,代码质量更高,少了很多调试时间. 同时,由于两个人交替工作,一方面可以缓解疲劳,同时又因为身旁有人共同工

软件工程 结对项目总结

在结对项目中我和王以正同学一组.我们决定以王以正同学个人项目为基础开发.原因主要有几点:我使用的C++在开发效率和难易度上没有王以正用的java好:java语言的跨平台特性可以更好地支持网页端.安卓端:还有就是王以正同学个人项目的功能比我的更为完善.综合以上几点我们选用王以正同学的作为基础开发. 在这次结对项目中我学到了结对编程的方法.感觉这个方法十分实用,效率很高.因为个人开发的话遇到问题很容易陷入困境.止步不前继而工作效率十分低下.结对编程除了两个人分工合作提高了效率之外遇到问题也可以一起解

结对项目2

题目:构造程序,分别是: •不能触发Fault •触发Fault,但是不能触发Error. •触发Error,但是不能产生Failure. 结对对象:王翰林   博客地址:http://www.cnblogs.com/whl1127/p/5405639.html 双方贡献比例:1:1 编程照片: 源代码: import java.util.Scanner; public class MainTest { public static void main(String[] args) { doubl

结对项目(附加题)开发总结

结对项目(附加题)开发总结 这次附加题的任务就是把两个小组写的独立的UI和CORE模块打乱重组,拼接成一个新的APP. 我们小组选择了大神刘乾所在小组和我们合作交换.一拿到乾神的核心代码,我不得不说,乾神就是乾神,代码一出,直接把我镇住了,各种参数看不懂咋办?咋写UI? 还好我们的乾神同志给我们提供了帮助文档,介绍了各个参数的作用,现摘录如下: 对于计算表达式的值(CALC模式): AnswerGet(string s)其中s是给定的算式,以等号结尾. 调用生成器时,使用: public Gen