四则运算——结对编程
一、
写在前面:在自己进行测试时,生成文件地址 ../result.txt,但最后发现的文件自动生成到了桌面上,之后询问过老师和助教,至今仍未得到解决。若老师或助教在进行测试时出现报错,请将Question.jsp和Answer.jsp页面的查找文件地址改成“C:\\web”,可能会解决问题。
二、预估PSP表格
PSP | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) | |
---|---|---|---|---|
Planning | 计划 | 30 |
60 |
|
Estimate | · 估计这个任务需要多少时间 | 30 |
60 |
|
Development | 开发 | 720 |
750 |
|
· Analysis | ·需求分析 (包括学习新技术) | 90 |
60 |
|
· Design Spec | ·生成设计文档 | 30 |
30 |
|
Design Review | ·设计复审 (和同事审核设计文档) | 60 |
60 |
|
· Coding Standard | ·代码规范 (为目前的开发制定合适的规范) | 60 |
30 |
|
· Design | · 具体设计 | 120 |
180 |
|
· Coding | · 具体编码 | 120 |
240 |
|
· Code Review | · 代码复审 | 120 |
60 |
|
· Test | · 测试(自我测试,修改代码,提交修改) | 240 | 120 |
|
Reporting | 报告 | 150 |
240 |
|
· Test Report | · 测试报告 | 60 |
120 |
|
· Size Measurement | · 计算工作量 | 30 |
30 |
|
· Postmortem & Process Improvement Plan | ·事后总结, 并提出过程改进计划 | 60 |
90 |
|
合计 | 900 |
1050 |
三、接口设计
所花时间:共4小时(查找模块1小时,改进3小时)
七、
try { n = Integer.parseInt("n1"); if (n <= 0||n>1000) System.out.println("出题数目无效,请重新输入!"); } catch (Exception e) { System.out.println("输入的不是正整数,请重新输入!"); }
对应场景:
(2)文件生成异常处理
try { PrintStream ps = new PrintStream("../result.txt"); System.setOut(ps); } catch (Exception e) { System.out.println("文件生成错误!"); }
对应场景:
八、
首先登录界面是一个JSP页面,主要用HTML和CSS代码写在JSP文件当中实现页面的部分,首先是登录的部分,打开网页版的程序,首先会看到 一个登录页面,登录界面的背景是星空的图案,在登录界面中,会有两个白色的文本框,一个为输入用户名的文本框,另一个是输入密码的文本框,用户只需输入自己的用户名和密码即可,再输入完用户名和密码过后,你会看见在文本框下面看见一个蓝色的按钮,上面写着登录,所以输入用户名和密码然后点击登录按钮即可提交表单,处罚ACTION的行动,进入下一个界面。
(二)、欢迎界面
当你在登录界面点击了蓝色的登录按钮过后,触发了ACTION的动作,就进入了欢迎界面,在欢迎界面你会看见背景是白色为主的,上面有数学公式和多彩的运算符的以及一个小人的团,在该界面,你会看到在页面的正中央的上面有加加粗的深蓝色的大字“欢迎来到四则运算小程序!~”,在该界面的标题的正下方,你会看到一个蓝色的“开始答题”的按钮,当你想要开始答题时,只需点击按钮进入下一页面即可。
(三)、主界面
当你在欢迎界面点击了“开始答题~”的蓝色按钮之后,你就会进入下一个页面,主页面,界面包括各个系统功能选择项,包括题目数的选择,运算符个数的选择,题目范围的选择,以及生成题目的按钮。首先题目数的选择输入是以文本框,由用户输入想要生成的题目的数量,接下来是运算符个数的选择,考虑到是小学生的四则运算,所以我们的题目运算符个数不能太多,所以我给用户提供了四个选择,分别为“一个运算符” 、“两个运算符” 、“三个运算符” 、 “四个运算符” ,是以一个下拉框的形式出现在页面上的,最后是生成题目按钮,当你点击按钮,表单内的题目数 、运算符数 、题目范围等参数就会传给后台,后台就会执行生成题目这一动作。
<p style="color: #FFFFFF !important ; font-size :30px">题目数</p> </td> <td> <div class="input_outer1"> <input name="n1" class="text1" style="color: #FFFFFF !important" type="text" placeholder="请输入题目数"> </div> </td> </tr> <tr> <td> <label style="color: #FFFFFF !important ; font-size :30px">运算符数</label> </td> <td> <select class = "sel" style = " padding-right: 14px;" name = "m1"> <option value = "1">一个运算符</option> <option value = "2" selected = "selected">二个运算符</option> <option value = "3">三个运算符</option> <option value = "4个">四个运算符</option> <lect> </td> </tr>
(四)题目页面
当你在主页面内输入了你想要的题目数,运算符数,题目范围等点击了生成题目的按钮,那么这些参数就会通过Request对象传给后台,后台接收到你的请求,生成相应的题目,输出到前端页面,用户可在前端的题目页面上进行答题操作,后台会实时记录你答题的时间,但你答题结束后,你会在页面的右下方看见一个蓝色的提交按钮,点击该按钮,提交你的答案。在按钮的右侧,你会看见,一个计时器,
(五)答案页面
当你在题目页面点击了提交按钮,提交了表单后,你的题目和答案会一起提交到后台,后台的计时器会停止计时,并且后台会对你的题目进行分析判断,最后提交给你一份答案页面,以及你的正确率,以及你答题所用的时间信息。当你检查完题目,觉得要结束这个答题程序了,你可以点击离开按钮,提交表单,AVTION回到登录页面,离开该程序。但如果你对于刚才自己的表现不满意,想要再做一次,可以选择点击右下方的另一个蓝色的按钮,再来一次,选择在一次挑战自己,点击该按钮后,你就会进入主页面,重新选择你想要做的题目的类型的。
九、
实现的功能:
生成题目文件和答案文件:
十一、
结对编程可以交付更好的设计质量和代码质量。
结对编程具有更强的问题解决能力。
结对编程伙伴一起工作学习,能够互相提供更多的信心。
(2)缺点:
分工不同,可能导致后期代码结合比较困难,互相看不懂代码,不知如何修改。
交流困难,意见不同,进展不太顺利。
结对小伙伴 郑春雨 优点:前段代码能力强、有上进心、责任心强;缺点:不够耐心 我的 优点:思路清晰、合作能力较好、有上进心;缺点:不够耐心
十二、项目结束后PSP展示
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 60 |
60 |
· Estimate | · 估计这个任务需要多少时间 | 1200 |
2160 |
· Analysis | · 需求分析 (包括学习新技术) | 60 |
180 |
· Design Spec | · 生成设计文档 | 30 |
30 |
· Design Review | · 设计复审 (和同事审核设计文档) | 30 |
30 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 90 |
60 |
· Design | · 具体设计 | 120 |
150 |
· Coding | · 具体编码 | 120 |
180 |
· Code Review | · 代码复审 | 120 |
120 |
· Test | · 测试(自我测试,修改代码,提交修改) | 120 |
60 |
Reporting | 报告 | 1 | 90 |
· Test Report | · 测试报告 | 90 |
120 |
· Size Measurement | · 计算工作量 | 90 |
60 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 60 |
60 |