结对编程(1/2)
作业所属课程 | 2021春/S班 |
---|---|
作业要求 | 结对作业(1/2) |
结对学号 | 221801118 & 221801136 |
作业目标 | 结对合作,阅读下方的客户描述的现实困扰,以共同发布一份博客随笔的形式,设计一套方案,向客户推销。描述大致方案,以向客户证明你正确理解了客户的需求、提供给客户可行的优化的使用建议,给出原型模型,并提供大概的解决方案预期规划。 |
其他参考文献 | 《构建之法》 |
一、问题描述
小刚是一个电影迷,他最近看了一个电影:里面的机器人很快的分类出他视野里的各个物体。这让他感到很酷炫,并且激发了他对计算机视觉领域的兴趣。于是他决定通过阅读论文来了解这个领域的研究现状,但令人苦恼的是,他不知道近几年计算机视觉领域的热门研究方向,根据论文列表去一篇一篇查找总结效率又着实太低,于是想求助“软件工程实践”的同学们,希望我们能帮助他设计一个平台解决现阶段的需求。希望此平台至少具备以下功能:
- 获取待爬取论文列表及论文信息爬取;
- 支持用户输入单个论文题目,也支持批量导入论文列表;
- 通过论文列表,爬取论文的摘要、关键词、原文链接;
- 对已爬取的论文列表进行操作;
- 可对论文列表进行增删改操作;
- 可对论文列表进行查询(输入论文题目,也支持模糊查询:输入论文编号、关键词等基本信息),若在论文列表中不存在所要检索的论文,则根据输入的查询语句到网站爬取并返回论文的摘要、关键词、原文链接;
- 分析已爬取到的论文信息,提取top10个热门领域或热门研究方向;
- 形成如关键词图谱之类直观的查看方式,点击某个关键词可展现相关的论文;
- 可对多年间、不同顶会的热词呈现热度走势对比,以动图的形式呈现(这里将范畴限定在计算机视觉的三大顶会CVPR、ICCV、ECCV内);
- 顶会背景
- 计算机视觉领域世界三大顶级会议分别为国际计算机视觉与模式识别会议(CVPR)、国际计算机视觉大会(ICCV)和欧洲计算机视觉国际会议(ECCV)。
- 以CVPR 为例,据会议官网显示,2020年大会有 6656 篇论文投稿,其中录取 1470 篇。
二、PSP表格和效能分析
1、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | ||
• Estimate | • 估计这个任务需要多少时间 | 50 | 60 |
Development | 开发 | ||
• Analysis | • 需求分析 (包括学习新技术) | 300 | 330 |
• Team Communication | • 结对讨论 | 200 | 350 |
• Design | • 界面原型设计 | 360 | 310 |
• Design Review | • 设计复审 | 200 | 260 |
Reporting | 报告 | ||
• Test Repor | • 测试报告 | 30 | 30 |
• Size Measurement | • 计算工作量 | 30 | 30 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 50 | 60 |
合计 | 1220 | 1430 |
2、效能分析
本次作业时间主要在于需求分析(包括学习新技术)、结对讨论、界面原型设计、设计复审。其中需求分析和界面原型设计都在预估误差范围内,但结对讨论和设计复审的偏差稍大。具体分析如下:
- 需求理解:在需求理解这一环节花费了不少时间,主要是理解“增删改”需求中的改。起初想的是增可通过搜索,删最容易理解,就是改不知道是什么意思。既然是搜索来的,肯定是保持其原样并展示,何来“改”这一操作?后来看到也有其他同学有相似的疑问,在一番探讨后决定理解为:搜索过程可能出现一些小毛病,爬取不正确,所以需要手动修改列表的文章标题、摘要、关键词。
- 讨论交流:这部分花时间最多,原因在于我们双方对要设计成什么样子都不太明确,几经讨论都未出结果,主要是样式方面拿不定主意,期间也做过一个方向极偏的版本,最后还是觉得不太对味儿,重新讨论并选择去参照网络上的网页空模板,才最终达成一致并定下方向。
- 界面原型设计:经过充分的讨论交流,虽说多花了很多时间,但做起设计来比预估的要快了一些,方向还是最重要的,有了坚定的方向,做什么事都能更加有效率!
- 设计复审:我们将两个人的工作合并,将页面都合并成一个文件,合并的时候才发现,操作之前没有完全定好共同的设计准则会给后续工作带来多大麻烦。先前约定了许多统一准则,但还是不够全面,导致合并过程中还得不断修改样式以达到统一的效果。
三、原型地址
原型地址 | 原型 |
---|
四、原型介绍
- 设计思路
-
首先是用户需要登录(也可进行新用户注册),拥有账号的用户可以管理自己的收藏文章列表。并且可以管理自己的资料,修改相关信息。
-
文章搜索方面,可以单个题目或者输入关键词进行模糊搜索,也可以直接进行批量导入,一次性扫描并爬取多种文章,实现批量化操作。
-
实现相关增删改,可将搜索到的文章添加到文章列表实现“增”,从文章列表中点击文章旁边的删除实现“删”,点击修改文章进入文章修改页面进行修改文章相关信息。
-
最后是对搜索到的论文进行统计分析管理,让用户清晰看到热点,点击热点词可显示相关文章,也同时能看到圆饼图、柱状图的数据对比。
-
- 原型图及相关说明
-
注册页面。新用户可通过点击首页的注册按钮进入注册页面,输入相关信息后点击注册即可。
-
登录页面。用户输入自己的账号密码即可登录页面,也可点击注册进行新账户注册。
-
论文搜索页面。在文本框内输入要搜索的文章标题或者关键词,点击搜索进行文章爬取。点击批量导入,则通过文件资源管理器调取相关列表文件,导入后批量爬取文章。
-
论文列表页面。爬取到的文章显示在此论文列表内,每个论文列表项包含标题、关键词、摘要。点击列表项右侧的三个按钮分别可对文章进行编辑、收藏、删除操作。
-
论文修改页面。在论文列表页面点击论文修改按钮后,转跳到此页面,可修改文章标题、关键词、摘要。
-
论文分析页面。将论文列表内的文章统计后的数据显示在此页面。左侧是轮播图,右侧有圆饼统计和柱状统计图,关键词区域采用浮动实现,可展示相关关键词的论文。
-
我的页面。此页面包含个人信息的管理,对自己的文章收藏列表的管理。
-
五、困难解决
1、网页样式
起初不知网页样式具体要设计哪一种会看起来好一些,思路并不多,后来去看了网页模板的网站,才慢慢有点思绪,挑出几个网页模板中我们两各自喜欢的设计模块,对其进行个性化改造,设计成我们心里具体想要展示的样子。这环节让我深刻意识到设计想法思路的重要性,有了好的想法和思路,做什么事情都能事半功倍。
2、实现轮播图
开始时,一直想不到如何才能实现,后来去csdn上发现了一篇有关博客。博客讲的大概原理和操作我基本明白了,但是axure的版本和我不同,有些操作不完全一样,加上我是英文版的导致我搞了半天还是一头雾水。最后又看了几个视频,安装了汉化包以后才算是做出了这个效果。
3、实现关键词top10动态跳动
在做这一块的时候也是突然想起自己以前有见过一些网站会将关键词根据热度做成一个top10表单,并且实现动态的跳动效果,感觉挺酷炫的。自己想了一下应该就是通过载入时对标签添加一个移动事件,当标签的坐标改变以后对移动时添加两个条件,如果坐标是初始坐标,就让他移动到目标坐标;同理如果此时是目标坐标就让他返回到初始坐标。自己动手做了一下发现大体上是实现了一个自己想要的效果。
4、原型工具的问题
原型工具使用不够熟练,很多操作都是在机械性重复,效率极低。使用、摸索一段时间后,并在各个视频网站上做了相关的学习工作,对原型工具的熟悉度慢慢提高,做起页面来也更加顺手。对手工具的熟练使用至关重要,所谓磨刀不误砍柴工,若能做到熟能生巧,那自然是最好。
六、NABCD模型
N:Need
论文的查找在每个专业都成为了一种必须,而多数的网站也会针对某些领域进行论文的查找,而此次要实现的是针对计算机视觉领域世界三大顶级会议所收录的论文进行查找,很合我们的专业性质。
- 实现论文的爬取,要求能够针对单个题目或是多个题目的论文的信息爬取,支持用户输入单个论文题目,也支持批量导入论文列表;通过论文列表,爬取论文的摘要、关键词、原文链接;
- 能够阅览被添加到论文列表的论文信息,如题目、原文链接、摘要等。并且可以按照用户的需求进行相应的修改以及删除操作。另外,要实现对所需论文的检索工作,通过不同的检索方式可供用户选择。而对于论文列表中不存在的论文,允许用户进行相关信息的爬取
- 能够对爬取到的信息进行分析,提取top10的关键词以及三大会议论文关键词的热词走势
A:Approach
通过爬虫爬取文章标题、关键词、摘要,这样爬取就不需要用户去各个论文网站搜索,只需在本站上搜索。并且本站实现对论文热点,即关键词的统计和分析,能清楚并直接地让用户得到近些年的研究热点。也有统计图表能让用户轻松实现对比。
B:Benefits
- 操作简单,功能规划清晰,使用者容易上手。
- 具有收藏功能,方便使用者收藏需要的论文。
- 界面美观,舒适,给用户良好的视觉体验。
- 具有回收站功能,可以对不需要的论文进行删除操作。
- 饼图,top10关键词谱,轮播图今日热点,热词走势折线图,热词统计柱形图多统计图显示相关信息,让使用者直观获得热词信息。
C:Competitors
- 现在网络上并不缺少相关的论文检索工具,为了让我们的产品夺人眼球,受到大众喜欢和使用,那么我们就必须从符合大众口味的外观设计,高效快速的检索功能,人性化的功能以及信息展示的全面性和多样性等几个方面下功夫。
- 我们的产品主要通过对关键词的展示,以及搜索热词的统计分析来作为我们的独特之处。
- 通过对近期论文热点新闻的轮播展示,也是吸引客户的一大竞争点。
D:Delivery
- 首先如果在实践课同学之间能够脱颖而出,那么我们已经迈出了成功的第一步。
- 通过老师,助教,以及同学们的博客评论,我们就可以收集到许多用户体验和大家对我们产品的改进建议。通过这些评论与建议能让我们发现我们的不足并进行修改,这样我们的产品会进一步完善。
- 当在我们软工实践这个小圈子里有了一定的认可度和好评之后,我们可以在校园内进行推广,并再次收集用户体验与改进建议,然后再次完善。
- 上传网络,征求广大网友的意见,不断完善。
七、原型工具的使用
- Axure Rp 9 (最初考虑范围是Axure和墨刀,虽然墨刀入手成本低于Axure,但学会Axure则一通百通)
八、结对过程,队友评价
-
确定工具
-
细节统一
-
分配任务
-
疑问探讨
-
结对感受(Wuhan)
这是我第一次参与结对作业,之前参与的团队作业都是至少三人的,不得不说结对作业的感受与团队作业大有不同。结对过程虽说风险更大,因为结对作业中的某部分有可能刚好是两个人都不会的领域,但团队项目的话总有一个人会的几率更大,就能带领团队解决问题。结对过程中,交流的难度更小,你只需处理两个人的社交,任务分配也比较好实现,尤其是在不能见面讨论的情况下,结对讨论会比多人讨论简易的多。综合来说,这是一次很特别的体验,至少是一次新鲜的体验,同时也是一次挑战,压力与动力并存。
- 评价队友(Wuhan to Wangguanru)
这次的搭档是老队友了,既是球场上的好搭档,也是生活中的好朋友,熟悉度和默契度都比较高,搭档起来在交流方面基本不存在障碍,而且Wang也是组队责任感比较强的人,性格跟我也比较能相容。此次作业进行相对顺利,希望接下来的结对编程实现也能顺利较好的完成。
- 结对感受(Wangguanru)
这次是我第一次接触原型构建,而且是以组队的形式共同完成。不得不说算是一次新的尝试,并且具有挑战性。一开始觉得不用编程,应该挺简单。但是真正开始的时候就会发现大脑一片空白,完全不知道哪下手。期间我们也走上了歧途,做出了和目标不一样的东西。但是经过我们不断搜集资料 ,设想讨论,也算是做出了自己满意的一份原型设计。经过这次结对作业,我意识到了思考与的调查的重要性,工欲善其事,必先利其器。当我们有了想法,一切准备做好的时候,才发现实现这个原型一点都不难。
- 评价队友(Wangguanru to Wuhan)
因为平时我们私底下关系也很好,球场上也经常组队打球,所以还是具有一定的默契。在对待一些问题的解决上沟通也没啥障碍,有时候想法一拍即合。大家都各司其职,总体工作效率也不错。总的来说合作还是挺顺利,挺愉快的,相信在接下来的作业中,我们依然可以很好的完成。