结对第一次—原型设计(文献摘要热词统计)
作业格式
这个作业属于哪个课程 | 软件工程1916 |
---|---|
这个作业要求在哪里 | 结对第一次—原型设计 |
结对学号 | 221600417 | 221600414 |
我在这个课程的目标是 | 学习原型设计工具,理解NABCD模型,提高需求分析能力 |
其他参考文献 | [1]邹欣.构建之法[M] |
作业正文
1.NABCD模型
-
Need(需求)
总体:高效率地获取近几年顶会的热门领域和研究方向
进一步细分之后,用户需求将分为这几个部分:
- 用户可给定论文列表
- 通过论文列表,爬取论文的题目、摘要、关键词、原文链接;
- 可对论文列表进行增删改操作(今年、近两年、近三年);
- 对爬取的信息进行结构化处理,分析top10个热门领域或热门研究方向;
- 可对论文属性(oral、spotlight、poster)进行筛选及分析;
- 形成如关键词图谱之类直观的查看方式;
- 可进行论文检索,当用户输入论文编号、题目、关键词等基本信息,分析返回相关的paper、source code、homepage等信息;
- 可对多年间、不同顶会的热词呈现热度走势对比(这里将范畴限定在计算机视觉的三大顶会CVPR、ICCV、ECCV内)。
- 可进行数据统计,例如每个国家录用文章的分析、每个学校录用文章的分析、哪个学校哪方面的研究方向比较强等。
将用户的需求进一步整理,明确所需要的功能以及逻辑流程:
- 用户可给定论文列表
功能图:
逻辑流程图:
-
Approach(做法)
开发一个基于爬虫和数据挖掘的Web网站,让用户能在短时间内了解最新热门领域。
1.热度检测:
- 用户输入或批量导入待爬取的论文列表或者会议名称。
- 系统爬取相应的论文列表并在前端显示爬取成功的论文列表(类型、题目,摘要,关键字,原文链接)。
- 用户可对爬取结果列表进行增删查改。
- 筛选完毕之后提交至后台进行热度检测。
- 前端生成关键词图谱(云图),热度一目了然。
- 用户可以只筛选某一类别(oral、spotlight、poster)的热点论文研究方向查看关键词图谱。
2.论文搜索:
- 用户输入论文编号、题目、关键词等搜索条件进行搜索。
- 检索结果以卡片的形式顺序展示在页面上,用户可以依次浏览各个论文的内容。
- 各个论文展示出该论文的题目和源码部分,用户如果对该论文感兴趣,可点击阅读原文跳转到原文位置进行全文阅读。
3.热词分析
- 系统给出所列论文的热词。
- 用户可选择一至多个热词进行分析。
- 页面根据用户的分析条件,对三大顶会(CVPR,ICVV, ECVV)的热词进行分析,以柱状图的形式展示出三大顶会的不同热词之间的热度关系。
4.数据统计
- 用户通过选择学校和国家,展示出不同学校和国家的热点研究领域的饼状图,研究热度一目了然。
- 通过对每个国家录用文章的分析、每个学校录用文章的分析,系统展示出不同国家和不同学校的某一个领域的研究强项评分。
- 以表格的形式展示出TOP5的某个研究领域的排名。
- 用户可以进一步选择感兴趣的研究领域进行排行,查看该领域研究能力比较强的高校排名。。
-
Benefit(好处)
1.客户端采用web的方式:
- 用户随时随地可以访问站点,免去安装应用的麻烦。
- 站点升级优化方便快捷,用户体验不打折扣。
2.支持用户登录注册:
- 一个账号随处可用,登录即可查看浏览记录,一键收藏,随时查看。
3.数据显示直观,图表分析一目了然:
- 采用大号字体和表格,排版简洁清晰。
- 热点论文数据结合柱状图、折线图、雷达图等各个样式的图标,数据尽收眼底。
4.搜索筛选高度自定义:
- 用户可对搜索论文加以年份、属性、所属国家、高校等条件加以限制,使检索结果更加准确。
- 可在检索结果之上进行二次检索,缩小目标论文的范围,获取所需信息更加方便快捷。
-
Competitors(竞争)
1.智能推送热点论文,检索一步到位:
据我们所知,目前比较权威的几个论文检索网站对用户数据方面的支持都不怎么好,基本上就是用完就走,每次都要重新开始检索数据库,对用户很不友好。而我们的站点可以保存用户的检索记录,以及收藏功能,将用户的使用记录加以处理,后期可以使用推荐算法,给不同的用户推送不同研究方面的高引、热点论文,使检索过程更加方便快捷。
2.界面设计简洁大气,操作简单,上手容易:
界面采用卡片式左右布局,左侧为菜单栏,右侧为功能区,用户可根据个人需求随意切换,检索框和筛选框采用大中型输入框和复选框,采用大号字体,检索结果列表整齐美观,使用户更加容易上手操作,比起其他的站点,具有更强的竞争优势,更加顺畅的用户体验。
3.零门槛起步,零费用体验:
据我们调研,国内多个论文检索网站多多少少均存在部分功能收费的情况,而我们的网站全部功能均免费使用,无任何费用,这对于用户来说是一个很大的吸引点,十分具有竞争性。
-
Delivery(推广)
1.线下推广:
可以借助我们学生的优势,在大学城各大校园里,采用发传单、张贴海报的形式,让同学们近距离了解我们的网站,互相宣传通知。由于大学生是查找论文资料的第一群体,因此在大学生群体之间推广,可以迅速让他们成为我们的第一批用户。
2.线上推广:
在各个社交媒体上进行广告投放,吸引相关的群体注册登录。让同学们在QQ、微信、微博中积极转发,让更多的人了解我们的网站,使用我们的产品。
2.原型设计
工具:墨刀
预览效果:在线预览地址
登录界面
- 首页简洁清晰,没有任何干扰物
- 背景为一团聚合的烟雾,意为 在海量零碎的论文信息中,挖掘其中的价值
- 项目名为 热度嗅探,与背景相呼应
首页(热度检测)
- 左侧为导航栏,右方为功能区
- 画风简约
- 内容显示具有立体感
论文搜索
- 检索结果将论文以卡片的形式进行展示
热词分析
- 柱状图颜色分明,样式美观
数据统计
- 统计结果一目了然
3.结对照片
4.总结
黄乐兴:
-
结对心得
在这次结对的开始,我们讨论出了一个理想的任务分配方案。但好景不长,等到我们开始工作的时候,就发现每个人的任务之间存在着依赖关系,并不能并发进行。这次的任务不同以往,整个任务较为紧凑,并不能轻易地进行划分切割。最后,我们两个一起分析了需求,并合并了两个人在理解上的冲突, 规划了这个项目所需的所有功能点以及每个功能的具体实现过程。
-
项目总结
通过本次的项目,我对于结对编程有了进一步的理解。结对编程的目的是提高开发效率,但这个前提是分析出整个项目的子任务以及任务之间的关系。对于本次的需求分析以及原型开发任务,需要两个人对需求展开各自的理解,并整合出一份较好的实现过程。当我们有了一个共同的想法之后,就可以开展一些可并行的任务。例如,在功能的实现已经有了共同的想法之后,一个人可以进行相关的原型开发,另一个人可以进行功能的文档编写。
因此,结对编程中,我们需要对任务进行一定的分析,找出一些前置任务,也就是大部分任务开始前所需要完成的。
-
遇到的困难以及解决方法
本次遇到的困难主要有四点。
第一点是:需求分析,解决方法是:找到整个需求的初衷,以这个初衷为基础,进一步地分析出每个需求点的本质,试图站在用户的角度思考每个需求。
第二点是:原型设计开发,解决方法是:阅读官方教程,并在相关论坛里面找到有关的技术经验。一个好的技术经验能够加快整个开发的过程。
第三点是:导出图片,大部分人导出的图片较为模糊,但作为一份客户推销的文案,我们应该尽可能地让客户看到一个好的项目。解决方法是:百度搜索相关问题,解决步骤即为 1.放大200% 2.下载导出png
第四点是:界面排版以及选色占整个任务时间一半以上,解决方法是:搜索外国UI设计网站,借鉴别人的模板,并在日后不断观赏大佬的设计产品,以此提高自己的审美能力。
冯凯:
-
结对心得
通过本次结对过程,我学习到了如何与队友进行分工合作去完成一个任务,以前做作业,基本上都是我们单独去完成的,自己做起来比较得心应手,不用考虑其他的因素,然而在团队作业中,我们需要密切配合,商量好分工,每个人承担一部分工作量,还要搭配得当,不断交流。
-
项目总结
这个项目对于我来说是一个全新的任务,在读完一遍作业要求后,感觉迷迷糊糊,不是很懂题目的意思,不知道从哪里开始写起,光是讨论项目内容就花费了一个多小时,在理解了项目需求之后,才知道怎么去做。由于之前很少接触到原型设计工具,所以花费了很长时间去学习使用墨刀设计原型,也算是又学会了一项技能吧,以后再遇到需要设计的东西,就能很快做出来了。
-
遇到的困难以及解决方法
初期需求分析过程中,感觉需求很繁杂,因此使用图标的方式将需求逐个列了出来,待目标明晰之后再开始开发。在原型设计阶段,刚开始设计的界面比较简陋,不够美观,后面通过参考一些网站的设计界面,再结合自己项目的需求,逐步设计出布局美观的界面。
5.效能分析及PSP
效能分析:
本次作业我们在结对过程中完成了需求分析以及原型设计部分,无论是分析阶段还是设计阶段,可以说是花了很大的心思去准备的,因此完成效果应该还是很不错的。至于效率方面,如果打个分的话,应该只有七十几,原因就是第一次在这种创新的课程模式下去完成作业,多多少少有些不太习惯,在合作中碰到不少的问题,花费很大的时间去查找原因,解决问题,加上初次使用原型设计工具,因此在设计过程中进展十分缓慢。后面如果需要具体去实现的话,应该是比较快的, 因为在代码方面,我们比较熟悉,写起来比较快,效率会高一些。而且我们的网站在设计初期实现了客户的所有需求,还有自己扩展的功能,可以说是十分具有吸引力。
PSP:
PSP 2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 600 | 750 |
• Estimate | • 估计这个任务需要多少时间 | 600 | 750 |
Development | 开发 | 600 | 700 |
• Analysis | • 需求分析 (包括学习新技术) | 80 | 100 |
• Design Spec | • 生成设计文档 | 50 | 60 |
• Design Review | • 设计复审 | 30 | 30 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 60 | 70 |
• Design | • 具体设计 | 200 | 250 |
• Coding | • 具体编码 | 100 | 100 |
• Code Review | • 代码复审 | 50 | 60 |
• Test | • 测试(自我测试,修改代码,提交修改) | 30 | 30 |
Reporting | 报告 | 90 | 90 |
• Test Report | • 测试报告 | 50 | 60 |
• Size Measurement | • 计算工作量 | 20 | 20 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 20 | 10 |
合计 | 670 | 790 |