软件工程导论Work2
一、作业要求
二、开发方式
这次结对开发由一位前端同学 吴晓儿 和一位后端同学 唐一钦 选择 前后端分离 的方式进行项目开发。
我们首先确定了项目需求,选择用json格式传输数据,后端进行业务处理,前端进行页面渲染与数据显示。
三、项目流程
项目预览:
1.前端
- 开始出题页面
用户在该页面可以设定出题条件,点击开始出题后即有在线答题与下载题目两个按钮可供选择。
- 答题页面
本页面有计时功能,当用户选择提交时,将为根据它的答题情况进行提示,若没有答完题会有提示框提示是否确定提交,点击提交后即会立刻生成答题情况。
答题情况会显示学生的做题用时、正确题数以及正确率。
- 错题集页面
点击下面页面的查看答题情况按钮即可跳转至错题本页面,该页面会将用户提交的错误题目、错误答案以及正确答案都展示出来,如果用户之前提交的答案内容为空,则页面会显示错误答案为null。
2.后端
后端共有三层,五个类。
三层:controller(接口servlet)、entity(实体类)、tool(工具类)
五类:
- NewServlet 主要负责三个功能接口:出题,接收前台题目要求信息;下载文件;提交,返回答题详情。
- FeedBack 主要采用JavaBean装载错题集与正确答案。
- Calculator 计算答案
- New 生成算式
- NewFile 生成下载文件
项目细节:
1.接收前台传来的答案字符串,选择“,”为分隔符,对答案进行分割遍历,获得每一个具体答案。
2.选择调用fastjson,将结果值以json格式传输给前台进行解析。
测试地址:
3.项目部署
- 我们将项目部署在服务器上,方便测试与访问。
项目地址:http://188.131.244.33:8080/Work2/
- 用git上传到coding.net
项目地址:https://dev.tencent.com/u/TangGemini/p/Work2/git
四、接口文档
五、PSP
SP2.1 |
任务内容 |
计划共完成需要的时间(h) |
实际完成需要的时间(h) |
Planning |
计划23 |
23.5 | 41.5 |
· Estimate |
· 估计这个任务需要多少时间,并规划大致工作步骤 |
1 |
1 |
Development |
开发 |
21.5 |
38.5 |
· Analysis |
· 需求分析 (包括学习新技术) |
1 |
1 |
· Design Review |
· 代码设计 |
2 |
3 |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
0.5 |
0.5 |
· Design |
· 具体设计 |
3 |
5 |
· Coding |
· 在计算模块花费的时间 在UI模块花费的时间 在后台处理模块花费的时间 |
3 2 5 |
5 3 8 |
· Code Review |
· 代码复审 |
2 |
3 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
3 |
10 |
Reporting |
报告 |
1 |
2 |
· Test Report |
· 测试报告 |
0.2 |
1 |
· Size Measurement |
· 计算工作量 |
0.5 |
0.5 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
0.3 |
0.5 |
六、项目总结
当看到这次结对项目的需求时,我们并没有觉得会有多艰难,但事实狠狠地打了我们的脸。计算类与页面设计的实现并没有多耗费我们的时间,真正的问题出现在前后端的数据对接上,参数要求不符,接口虽然是200状态,但后台实际上报了空指针的异常。总之,虽然选择了前后端分离的开发的模式,能提高个人的开发速度,但却很磨练前后端同学的配合程度。这次我们虽然是第一次合作,有出现些小的问题,但整体来说,在规定的时间很好地完成该项目,也提升了我们合作的默契,这将对之后的开发中带来宝贵的经验。虽然这次项目仍有很多不足,但我们会再接再厉!