软工实践第三次作业-结对原型设计
软工实践第三次作业-结对原型设计
结对同学学号:
031602334
031602240
UI界面
html下载链接
pdf
需求分析
N -- Need,需求
基本需求:
- 用户可给定论文列表
- 通过论文列表,爬取论文的题目、摘要、关键词、原文链接;
- 可对论文列表进行增删改操作(今年、近两年、近三年);
- 对爬取的信息进行结构化处理,分析top10个热门领域或热门研究方向;
- 可对论文属性(oral、spotlight、poster)进行筛选及分析;
- 形成如关键词图谱之类直观的查看方式;
- 可进行论文检索,当用户输入论文编号、题目、关键词等基本信息,分析返回相关的paper、source code、homepage等信息;
- 可对多年间、不同顶会的热词呈现热度走势对比(这里将范畴限定在计算机视觉的三大顶会CVPR、ICCV、ECCV内)。
附加需求:
A -- Approach,方法
经过讨论确定,我们的平台主要基于web端实现,有以下几点原因:
- web端无需额外安装客户端,访问成本较低;
- web端无平台限制,方便用户跨平台访问,也降低了开发成本;
- 可直接在浏览器访问其他论文链接,使用更加便利;
- 移动设备显示面积较小,阅读论文的体验较差,且阅读方面有更完善的应用支持。
具体实现操作如下:
对于论文列表的查找和更新需求,我们的处理方式是设计为双栏页面,左页面可即时对列表进行更新操作。后台对已输入完成的论文标题进行检索,并将结果呈现于右页面。
头部提供导入、导出、统计分析、清单选择等功能。统计分析提供根据属性、关键词、热点和地区等不同侧重点的统计分析结果。
对于论文检索需求,我们的处理方式是在主页面中央和各页面顶部都置有搜索框,可以直接输入搜索或者根据选项进行更精细的搜索。
对于热词走势对比需求,我们的处理方式是
B -- Benefits,好处
- 帮助用户检索、整理了论文清单,并直接呈现部分关键信息,方便了学习,节省了时间;
- 基于web端运行,便于使用;
- 对论文清单、顶会论文进行统计分析,并生成许多有参考价值的数据、图表,帮助用户迅速了解近年的研究热点、主要方向、重要成果;
- 可设置多个清单,即时编辑、检索,方便用户管理自己的学习资源;
- 设置了相关领域、论文推荐,方便用户迅速了解相关领域动向和重要成果。
- 设置了论文指标,方便用户迅速了解该论文的质量;
- 设置了评论区,可提出疑问、解答问题,方便了用户间的交流。
C -- Compettors,竞争
我们的竞争对手有如Papers、Mendeley、Endnote这样的文献管理软件,也有如知网、百度学术、IPOL这样的文献检索网站。他们通常都更专精于一个领域,要么专做文献管理,要么做好文献检索。而我们的网站不仅能提供文献检索功能,还能帮助用户管理文献,并进行统计分析,给出热词趋势、热点研究方向等有价值的信息。我们的软件不仅能更好地服务科研工作者,也能帮助刚刚开始进行科研的同学迅速入门。
但我们的网站目前仅支持计算机视觉领域三大顶会的检索、统计,而且文献管理功能也较为简单,无法满足部分用户更深入的要求。
D -- Delivery, 推广
先从自己所处的实验室、班级开始,推荐他们试用网站并提供反馈,然后完善网站,并逐步扩展功能。
待网站足够完善后,开始向其他实验室、班级推广,争取得到实验室、学院老师的推广。
如能得到良好的使用反馈,可以继续向全学校、对外推广,并扩大团队,进一步完善、拓展网站功能。
原型设计
###**主页**- 点击画面中央搜索框 1可输入想要查找的论文标题;
- 点击输入框旁的下拉按钮 2可进行高级搜索;
- 点击右上角批量搜索按钮 3可进入批量搜索页面;
- 点击右上角user下拉选择栏按钮 4选择注册或登录;
- 点击切换图片按钮 5可进行搜索栏背景图切换;
- 点击图片6、7、8可分别进入CVRR、ECCV和ICCV的会议介绍页面。
可依据检索词、检索词位置、作者、出版物以及发表时间进行检索,点击搜索或搜索图标课进入高级搜索页面。
点网址标示页返回主页。
###**user下拉选择栏按钮**用户可选择登录或注册。
点网址标示页返回主页。
###**高级搜索页面**- 点击 1 可对搜索结果进行筛选;
- 点击搜索结果 2可进入论文的详情介绍页;
- 点击 3 可对论文结果进行筛选;
- 4 为登录注册按钮;
- 5 为论文热度走势图;
- 6 为相关课题界面。
点网址标示页返回主页。
###**批量搜索页面**- 点击下拉栏 1对批量查找到的论文进行筛选;
- 点击按钮 2显示用户已经生成的论文清单;
- 点击下拉栏 3对批量查找的论文进行统计分析;
- 点击按钮 4 导入论文列表,并显示于本页左侧;
(注:点击页面左侧的勾叉按钮可对论文列表中的某一条进行增删) - 点击论文条 5可展开论文的简介;
- 6 显示的为还在查找中的论文。
点返回键返回主页。
###**筛选、统计**统计栏 1 2 3 4 可分别对生成的论文根据
进行分析和统计。
点返回键返回主页。
###**注册**点击注册进行新用户注册。
点网址标示页返回主页。
###**注册成功**点网址标示页返回主页。
###**登录**账号登录和短信登录。
点网址标示页返回主页。
###**重置密码**点网址标示页返回主页。
###**会议介绍页面**点网址标示页返回主页。
- 点网址标示页 1返回主页;
- 点击标题 2进入论文源页面;
- 点击下载图标 3可下载pdf格式的论文或论文源代码;
- 4 为本论文的收藏、引用、查看与分享数;
- 5 为本论文的关键词。
点网址标示页返回主页。
结对过程
我们首先阅读了《构建之法》第三、四、八章的内容,并使用NABCD模型进行了需求分析,然后经过讨论,明确了各部分功能、页面的设计概要和细节。
确定好需求和设计细节后,我们学习了Axure RP的基本用法,熟悉了可能涉及到的原型设计。接着便是逐步完成各个页面的设计,并编写博客。
结对过程中画的部分草图:
结对照片:
遇到的困难
- 如何理解用户的需求;
该网站面对的主要是新入科研的同学,所以我们在确保基本功能得到满足的前提下,尽可能使操作更加简便,并添加了多清单、论文指标、相关推荐等功能,便于同学管理论文、快速了解相关领域。 - 初次使用原型设计工具,非常不熟练;
- 如何设计网站;
我们为完成网站的各部分设计比对了许多相关网站,欲在完成需求的前提下,使网站易于上手,且简洁美观。
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 35 | 32 |
· Estimate | · 估计这个任务需要多少时间 | 35 | 32 |
Development | 开发 | 1750 | 1885 |
· Analysis | · 需求分析 (包括学习新技术) | 180 | 170 |
· Design Spec | · 生成设计文档 | 30 | 34 |
· Design Review | · 设计复审 | 20 | 9 |
· Coding Standard | · 代码规范(为目前的开发制定合适的规范) | 0 | 0 |
· Design | · 具体设计 | 1500 | 1643 |
· Coding | · 具体编码 | 0 | 0 |
· Code Review | · 代码复审 | 0 | 0 |
· Test | · 测试(自我测试,修改代码,提交修改) | 20 | 38 |
Reporting | 报告 | 70 | 69 |
· Test Report | · 测试报告 | 30 | 22 |
· Size Measurement | · 计算工作量 | 10 | 12 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 30 | 35 |
合计 | 1855 | 1986 |
总结和感想
软件开发一定要弄清楚“他们想从软件中得到什么”,只有确定了需求,才能确保之后的设计开发正常进行下去。做设计和原型的过程,就是在与用户交流和明确需求的过程。如果不明确好需求,那就可能在之后的设计、开发过程中花费大量时间和精力更改需求、修改代码。
在开始原型设计前,我们进行了细致的讨论,对各部分都绘制了设计图,所以整个原型制作过程还算顺利。不过由于对细节的要求程度比较高,所以在页面排版、按键等交互效果和整体效果美化上花了很长时间。
总体来说,这次结对合作的过程非常开心.°ʚ(´꒳`)ɞ°.,队友非常给(ke)力(ai),在一起讨论的过程中学到了很多,期待下次的合作w
参考链接
[IPOL][31]
CVPR
ECCV
ICCV
Semantic Scholar
PLOS
补充作业
Skill/技能 | 课前评估 | 课后评估 |
---|---|---|
Programming Overall/对编程整体的理解 | 2 | 4 |
Programming:Comprehension(程序理解)(如何理解已有的程序,通过阅读,分析,debug) | 3 | 5 |
Programming:Test(单元测试、代码覆盖率) | 2 | 5 |
Programming:Performance(效能分析和改进) | 3 | 4 |
Programming:Code Review/Code Quality(代码复审/代码规范/代码质量) | 3 | 5 |
Programming: Communication(线程之间/进程之间/不同平台的进程之间) | 1 | 4 |
Programming: Command line and files(处理命令行参数和文件系统) | 2 | 5 |
Programming Language(C/C++/C#/Java)(pick one language) | 2 | 6 |
Personal Software Process(个人软件过程):个人源码管理(TFS/GitHub) | 3 | 5 |
Personal Software Process(个人软件过程):估计,记录工作量,并逐渐提高 | 3 | 4 |