结对作业二
结对作业二
这个作业属于哪个课程 | 2021春软件工程实践 W班 (福州大学) |
---|---|
这个作业要求在哪里 | 结对作业二 |
结对学号 | 221801238 221801210 |
这个作业的目标 | 编程实现结对作业原型 |
其他参考文献 | CSDN/博客园 |
1. PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 60 | 50 |
• Estimate | • 估计这个任务需要多少时间 | 60 | 50 |
Development | 开发 | 3700 | 3060 |
• Analysis | • 需求分析 (包括学习新技术) | 1260 | 720 |
• Design Spec | • 生成设计文档 | 180 | 100 |
• Design Review | • 设计复审 | 60 | 30 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 30 | 20 |
• Design | • 具体设计 | 30 | 30 |
• Coding | • 具体编码 | 1440 | 1600 |
• Code Review | • 代码复审 | 200 | 160 |
• Test | • 测试(自我测试,修改代码,提交修改) | 500 | 400 |
Reporting | 报告 | 115 | 90 |
• Test Repor | • 测试报告 | 60 | 60 |
• Size Measurement | • 计算工作量 | 30 | 20 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 15 | 10 |
合计 | 3875 | 3200 |
2. 成品展示
登录界面
注册界面
搜索界面
搜索中的界面
搜索结果
添加论文到收藏夹
个人中心
删除论文
收藏夹
3. 结对讨论过程描述和设计实现过程
-
确定分工+技术选型
- 238同学负责做前端,210同学负责做后端
- 238同学表示使用Vue、210同学表示使用python
- 210同学表示需要3天时间学习flask
-
制定接口规范,方便前后端并行开发
-
讨论截图:
4. 代码说明
根据用户输入的关键词在关键词表中模糊搜索,用所有匹配的关键词id去查找到对应的全部论文,并返回给用户
@blue.route('/paper/getList')
@login_required
def paper_getlist():
k_content = request.args.get("keyword")# 获取搜索的关键词内容
page = request.args.get("currentPage")# 获取当前页数
# 关键词模糊搜索
kwds = db.session.query(Keyword).filter(Keyword.content.like('%' + k_content + '%')).all()
paperlist = []
Paper.currentNum = 0 # 已读取到的论文个数
Paper.finish = False # 搜索完成标志
for kkk in kwds:
k_id = kkk.keyword_id # 得到关键词id
paper = dict()
ktops = db.session.query(KeywordToPaper).filter(KeywordToPaper.keyword_id == k_id).all() # 通过关键词id获取论文id
# 通过论文id返回一个包含论文信息的字典
for ktop in ktops:
paper = Paper.getPaperDict(ktop.paper_id)
paperlist.append(paper)
Paper.currentNum += 1
# 将获得论文列表缓存到一个列表
Paper.setCache(paperlist)
return jsonify(code=200, msg="返回成功", data={'total': len(paperlist), 'paperList': Paper.getPage(0)})
用前端请求的页数,使用已缓存的论文列表,返回当前页对应的论文
cache=[] # 用于缓存论文的列表
PAGE_NUM=5 # 一页包含的论文个数
# 根据当前页数返回当前页显示的论文
def getPage(page):
page=int(page)
return Paper.cache[page*Paper.PAGE_NUM:(page+1)*Paper.PAGE_NUM]
5. git仓库链接、代码规范链接
6. 心路历程和收获&评价结对队友
238同学的心路历程和收获&评价结对队友
心路历程和收获
心路历程&收获
怎么做好一个前端是一个苦恼的事情,首先要从整体架构开始,然后是代码规范
虽然计划很美好,但化身为deadline战士的时候就管不上这么多了,所以我的代码有点龙头蛇尾的感觉
下次我一定不当deadline战士了
其实很大一部分时间也是在等接口,感觉自己有点面向接口编程,没接口都不想干活了。
我的收获在于,我记得我在寒假作业中提过前后端如何并行开发的问题,这次也是实践写了接口文档解决了一下,提升了一下效率。
评价结对队友:
虽然210同学是我最好的朋友,但是找他组队的时候也会担心适应不过来的问题
我不会后端,只能从0学起flask。我本身就有Vue开发经验,所以我到了最后阶段页面写完了,会变成我不断催接口。
所以我学会了更要耐心的对待同学,尤其是能力不同的同学,如何发挥他们的潜能,去做应做的事情
很感谢210同学,在短短的三天里面学会了flask,为我提供接口,一起合力完成作业(听说有些组已经放弃后端了哈哈哈)
我们会有时意见不合,但最后也殊途同归。
其实原型有很多功能都没有实现(饼画太大了),但无论结果如何,都是双方选择一起结对的结果,那就一起承担结对的成绩吧!
希望还能有机会跟他结对编程哈!
210同学的心路历程和收获&评价结对队友
心路历程和收获
心路历程&收获
这是我第一次做后端,中间遇到了很多困难,我在不停的百度和同学交流的过程中,我也解决了很多困难。这次结对编程结束后,我了解了前后端的交互过程。
评价结对队友
238同学他的前端开发经历很丰富,在结对过程中帮我解决了很多困难,比如github的使用等等
他对作业十分追求完美,我也从他的态度中学习到了很多,十分感谢这段经历带给我的收获