结队作业二

Posted on 2021-04-08 16:19  221801210  阅读(57)  评论(0编辑  收藏  举报

结对作业二

这个作业属于哪个课程 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
  • 制定接口规范,方便前后端并行开发

  • 讨论截图:

技术选型
学习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仓库链接、代码规范链接

git仓库链接
前端代码规范
后端代码规范

6. 心路历程和收获&评价结对队友

238同学的心路历程和收获&评价结对队友

心路历程和收获

心路历程&收获
怎么做好一个前端是一个苦恼的事情,首先要从整体架构开始,然后是代码规范
虽然计划很美好,但化身为deadline战士的时候就管不上这么多了,所以我的代码有点龙头蛇尾的感觉
下次我一定不当deadline战士了
其实很大一部分时间也是在等接口,感觉自己有点面向接口编程,没接口都不想干活了。
我的收获在于,我记得我在寒假作业中提过前后端如何并行开发的问题,这次也是实践写了接口文档解决了一下,提升了一下效率。


评价结对队友:
虽然210同学是我最好的朋友,但是找他组队的时候也会担心适应不过来的问题
我不会后端,只能从0学起flask。我本身就有Vue开发经验,所以我到了最后阶段页面写完了,会变成我不断催接口。
所以我学会了更要耐心的对待同学,尤其是能力不同的同学,如何发挥他们的潜能,去做应做的事情
很感谢210同学,在短短的三天里面学会了flask,为我提供接口,一起合力完成作业(听说有些组已经放弃后端了哈哈哈)
我们会有时意见不合,但最后也殊途同归。
其实原型有很多功能都没有实现(饼画太大了),但无论结果如何,都是双方选择一起结对的结果,那就一起承担结对的成绩吧!
希望还能有机会跟他结对编程哈!

210同学的心路历程和收获&评价结对队友

心路历程和收获

心路历程&收获
这是我第一次做后端,中间遇到了很多困难,我在不停的百度和同学交流的过程中,我也解决了很多困难。这次结对编程结束后,我了解了前后端的交互过程。


评价结对队友
238同学他的前端开发经历很丰富,在结对过程中帮我解决了很多困难,比如github的使用等等
他对作业十分追求完美,我也从他的态度中学习到了很多,十分感谢这段经历带给我的收获

Copyright © 2024 221801210
Powered by .NET 8.0 on Kubernetes