原型设计-结对第一次作业
[作业博客]
(https://edu.cnblogs.com/campus/fzu/FZUSoftwareEngineering1816W/homework/2108)
姓名 | 学号 |
---|---|
雷光游 | 031602319 |
吴宜钊 | 031602335 |
一、N(Need,需求)#
毕业生小樱完成论文需要知道近几年顶会的热门领域和研究方向,若根据论文列表一篇一篇查找总结效率太低,因此我们打算设计一个平台帮助他解决现阶段的需求。
- 用户可给定论文列表
- 通过论文列表,爬取论文的题目、摘要、关键词、原文链接;
- 可对论文列表进行增删改操作(今年、近两年、近三年);
- 对爬取的信息进行结构化处理,分析top10个热门领域或热门研究方向;
- 可对论文属性(oral、spotlight、poster)进行筛选及分析;
- 形成如关键词图谱之类直观的查看方式;
- 可进行论文检索,当用户输入论文编号、题目、关键词等基本信息,分析返回相关的paper、source code、homepage等信息;
- 可对多年间、不同顶会的热词呈现热度走势对比(这里将范畴限定在计算机视觉的三大顶会CVPR、ICCV、ECCV内)。
二、A(Approach,做法)#
- 1、平台
- 我们采用手机APP的形式提供这样一个平台。
- 2、针对用户论文列表需求:
- 我们提供用户输入框让用户输入多个论文标题,并且规定格式。
- 我们会对用户提交的论文列表进行展示,允许用户按照年份对其中的论文进行增删改。
- 3、针对用户结构化处理信息需求:
- 对用户提交的论文列表,我们给出查询结果,通过列表的形式展示出题目、摘要、关键词、原文链接。
- 我们提供了分析top10热门领域或热门研究方向的选项。
- 用户可对搜索结果按照论文属性(oral、spotlight、poster)进行筛选及分析。
- 用户的搜索结果可形成关键词图谱。
- 4、针对用户论文检索需求:
- 我们提供一个页面供用户检索论文,当用户填入相关筛选基本信息:论文编号、题目、关键词等信息,即可显示相关的paper、source code、homepage等信息。
- 5、针对用户比对多年不同顶会热词呈现热度走势需求:
- 用户可选择三大顶会CVPR、ICCV、ECCV的其中一个,并且从我们给出的热词中选择其中一个进行热度走势图的生成。
三、B(Benefit,好处)#
- 1、用户不必根据论文列表一篇一篇查找,只需要提交列表即可得出查找结果,用户可以更高效地得到结果,节省了时间和精力。
- 2、本产品提供了论文筛选处理、论文检索、热词呈现热度走势比对等功能,方便用户其他方面的需求。
- 3、信息呈现方式比起网站上大篇幅的展示更为简洁、精确。
- 4、用户操作方式更加方便,只需要操作APP上的几个按钮即可。
四、C(Competitors,竞争)#
我们除了实现用户基本的需求,我们的产品还有如下几个优势:
- 1、用户定制功能
再获得用户同意的情况下,根据用户搜索记录和习惯为每个用户提供专属的消息推送和论文推荐。 - 2、消息推送功能
为用户推送近期学术新闻和热点。 - 3、学术讨论功能
用户可以通过建立学术群分享资源和经验。 - 4、论文收藏功能
当检索到有用的论文时可加入收藏,方便以后的浏览。
五、D(Delivery,推广)#
本产品的目标用户人群大多是计算机领域专业的大学生以及研究人员,因此我们打算在数计学院实验室,计算机相关领域论坛、博客,计算机相关专业毕业设计群中宣传。还可以通过微信公众号推送,微博、朋友圈等平台进行推广。
六、原型展示#
原型制作工具:墨刀
-
1、登陆、注册界面
-
2、基本框架
-
主页、聊天、个人信息区域
-
3、主要功能展示
-
论文列表增、删、改功能:
-
点击确认即可实现对论文的题目、摘要、关键词、原文链接的搜索,并分析出top10热门领域或热门研究方向,实现关键词图谱。
-
论文检索功能,返回paper、source code、homepage等信息,并实现论文收藏的功能:
-
热词分析功能:
用户可以自己输入热词或从推荐的热词中选择,形成近几年热度走势。 -
我的收藏功能(可得到自己收藏论文的相关信息)
-
消息推送以及学术讨论功能:
-
个人信息管理功能
七、效能分析#
- 用户需求涉及顶会热词、热度趋势等相关的内容,对新概念知之甚少,在讨论、分析需求过程中比较耗时
- 初次对原型进行设计,大致规划过程、以及对新工具的熟悉、使用过程都会影响整个任务的效能
八、PSP表格#
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 20 | 20 |
• Estimate | • 估计这个任务需要多少时间 | 20 | 20 |
Development | 开发 | 300 | 250 |
• Analysis | • 需求分析 (包括学习新技术) | 90 | 60 |
• Design Spec | • 生成设计文档 | 100 | 90 |
• Design Review | • 设计复审 | 10 | 10 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 0 | 0 |
• Design | • 具体设计 | 100 | 90 |
• Coding | • 具体编码 | 0 | 0 |
• Code Review | • 代码复审 | 0 | 0 |
• Test | • 测试(自我测试,修改代码,提交修改) | 10 | 10 |
Reporting | 报告 | 30 | 30 |
• Test Repor | • 测试报告 | 0 | 0 |
• Size Measurement | • 计算工作量 | 10 | 10 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 20 | 20 |
合计 | 350 | 300 |
九、结对过程及照片#
我们首先明确用户需求,针对每个需求想出解决方案,再对每个方案的可行性和优劣点进行分析,最后得出完整的方案。原型设计方面使用了墨刀,首先先熟悉了各个功能的使用方法,最后进行了原型相关功能的设计。我们分别负责不同模块的设计,完成之后再让对方进行修改。
十、补充作业#
- 你已经具备的专业知识、技能、能力有哪些?
我目前掌握了计算机专业基础知识,有一定的编程能力,编程语言掌握了c、c++,java的基础知识。 - 离成为一个合格的 IT专业毕业生,在专业知识、技能、能力上还差距哪些?
我只是掌握了专业基础知识,在特定专业领域并没有深入的研究,对编程整体的理解不够,编程基础也不够扎实。对软件设计过程没有深刻的理解,代码质量不好,代码量不够。
skills/技能 | 课前评估(0...9) | 课后评估(0...9) |
---|---|---|
Programming Overal/对编程整体的理解 | 2 | 8 |
Programming:Design(架构设计,模块化设计,接口设计) | 2 | 7 |
Programming:Implementation(模块实现,逐步细化) | 2 | 7 |
Programming:Test(单元测试、代码覆盖率) | 3 | 8 |
Programming:Core Review/Core Quality(代码复审/代码规范/代码质量) | 2 | 7 |
Basic Design Principles&patterns(单元设计模式:单例,MVP,Open-Closed principles,etc) | 1 | 7 |
Personal Software Process(个人软件过程):估计,记录工作量,并逐步提高 | 1 | 7 |