- 这个作业属于哪个课程:软件工程 1916|W
- 这个作业要求在哪里:结对第一次——原型设计(文献摘要热词统计)
- 结对学号:221600126 刘忠燏, 021600823 余秉鸿
- 这个作业的目标:掌握利用原型设计,针对用户需求提供解决方案的办法;掌握原型设计工具(墨刀)的使用;使用 NABCD 模型进行需求分析
需求分析
本部分将使用《构建之法》第八章中提出的 NABCD 模型,对作业中小樱期待的平台进行需求分析
N —— Need(需求)
- 基本需求
- 用户可给定论文列表
- 通过论文列表,爬取论文的题目、摘要、关键词、原文链接
- 可对论文列表进行增删改操作
- 对爬取的信息进行结构化处理,分析 top10 个热门领域或热门研究方向
- 可对论文属性(oral、spotlight、poster)进行筛选及分析
- 形成如关键词图谱之类直观的查看方式;
- 可进行论文检索:当用户输入论文编号、题目、关键词等基本信息,返回相关的 paper、source code、homepage 等信息
- 可对多年间、不同顶会的热词呈现热度走势对比(范围是计算机视觉的三大顶会 CVPR、ICCV、ECCV)
- 可进行数据统计,例如每个国家录用文章的分析、哪个学校哪方面的研究方向比较强等
除了以上基本需求,我和结对伙伴通过分析,得出了以下(可能的)扩展需求:
- 扩展需求
- 通过输入顶会名称进行论文列表爬取
- 对筛选出的论文列表进行导出操作
- 增加历史纪录,用户可浏览最近查看过的论文
- 增加收藏夹,用户可收藏自己所需要的论文
- 用户可设定自己感兴趣的研究领域(方向),当有关的论文更新时进行通知
- 在线生成论文引用格式
A —— Approach(做法)
-
平台选择
考虑到多数人更习惯在电脑上编辑文档,并且手机端由于屏幕太小,阅读不便,故采用 Web 实现该方案
-
用户登录
主要满足前一节扩展需求中的历史纪录与收藏夹的功能。如果保存在本地将不方便用户在多端操作。
-
论文列表导入
有两种方式,本地上传文档和会议名称检索获取。其中会议名称获取的论文列表。因为考虑到此列表可进行筛选和编辑,应增加一个文档导出功能,用于以后进行再次筛选。
论文列表可以进行热词(关键词)筛选,发布年份筛选,顶会筛选,并生成新的论文列表。
当前论文列表可以在后方直接添加论文的超链接,方便用户阅读。 -
论文分析处理
提取论文热词,按照列表爬取的信息进行统计和排序,并将频次按序列出。选中的热词可在下方显示近几年来的热词频率的折线图,用户可以根据折线图感受走势,并在折线图下方给出与该热词有关的论文列表(是否要针对不同顶会进行分类?)。
-
论文检索
输入论文编号,题目和关键词,返回相关的论文链接。
-
数据统计
B —— Benefit(好处)
- 用户可以根据给定的论文列表进行筛选,可以较为方便的得到计算机相关领域的论文的原文链接。
- 产品提供热词分析,并且可以通过热词、发布年份以及顶会的对论文列表里的论文进行筛选,可有效缩小用户搜索范围,减少用户的搜索时间。
- 为用户提供收藏夹和历史浏览服务。方便用户对阅读过和收藏的文章进行二次阅读。
- 界面较为简洁明了,操作简单。
- 可以在线生成论文引用格式。
- 利用热词划分版块,可以更加针对性地让用户学习某一个热门领域的知识,并且新增最新文章推送可以使用户了解当前领域最新动态。
C —— Competitors(竞争)
- 列表增删改可以有效缩短用户检索时间,有利于用户在有限时间内获得自己想要的信息。
- 关键词推荐可以帮助用户迅速确定当前大热方向。
- 用户可以将筛选过的论文列表及收藏的论文进行导出,可在其他电脑导入。
- 收藏夹可以根据用户感兴趣的热词,实时推送最新被收录的论文,永远走在前沿。
- 对于用户浏览过的论文进行记录,防止用户错过那些忘记收藏的论文。
- 个人中心可以对当前页面的一些属性进行设置,提高用户浏览体验。
D —— Delivery(推广)
- 考虑到部分用户不会特意为了一个功能去安装一个 App,所以可以借助与现有平台推广
(比如微信公众号下绑定小程序?) - 在开发阶段,邀请一些用户(主要是针对从事相关领域研究的研究生和老师等)进行抢先体验
原型设计
本次作业中,我们采用墨刀作为我们的原型设计工具。相较于其他设计工具,墨刀的个人版是免费的,其他软件的价格令人咋舌,虽然有一个月左右的免费试用,学生党伤不起😂,不过墨刀只提供了移动端 App 和 Web 应用的原型开发。以下为我们所设计出来的原型:
用户在输入用户名和密码后进入系统(用户名和密码用于收藏夹和历史纪录功能):
用户登录之后,给出论文列表,可进行论文检索(这里的论文列表以上传包含论文名称的列表实现(?)):
同时用户还可以对论文进行热词分析,并选择其中若干个关键词进行关注。当新发布了与关键词相关的论文时会对用户进行推送
用户在登录后,还可以查看自己浏览过的以及收藏的论文:
讨论照片
效能分析(PSP 表格)
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 20 | 20 |
· Estimate | · 估计这个任务需要多少时间 | 20 | 20 |
Development | 开发 | 240 | 370 |
· Analysis | · 需求分析(包括学习新技术) | 90 | 95 |
· Design Spec | · 生成设计文档 | 30 | 35 |
· Design Review | · 设计复审 | - | |
· Coding Standard | · 代码规范(为目前的开发制定合适的规范 | - | |
· Design | · 具体设计 | 120 | 240 |
· Coding | · 具体编码 | - | |
· Code Review | · 代码复用 | - | |
· Test | · 测试(自我测试、修改代码、提交修改) | - | |
Reporting | 报告 | 45 | 45 |
· Test Report | · 测试报告 | - | |
· Size Measurement | · 计算工作量 | 10 | 10 |
· Postmortem & Process Improvement | · 事后总结,并提出过程改进计划 | 35 | 35 |
合计 | 295 | 435 |
一些感想
刘忠燏想说
有的时候不聊还不知道,一聊才发现自己的思维能力有待提高,这次作业里的扩展需求都是我的搭档提出来的。我只能做到在已知这些需求的情况下去构想设计思路,可能是自己的见识还不够广泛,眼界还不够开阔吧。之后的学习中要多关注一下这个方面,毕竟思维上的限制对软件开发的影响还是不小的。