软工实践原型设计——PaperRepositories

软工实践原型设计——PaperRepositories

写在前面

PSP表格

PSP3.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 10 10
· Estimate · 估计这个任务需要多少时间 10 10
Development 开发 690 775
· Analysis · 需求分析 (包括学习新技术) 200 150
· Design Spec · 生成设计文档 100 30
· Design Review · 设计复审 10 10
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 20 20
· Design · 具体设计 100 150
· Coding · 具体编码 200 400
· Code Review · 代码复审 10 5
· Test · 测试(自我测试,修改代码,提交修改) 50 10
Reporting 报告 20 30
· Test Repor · 测试报告 10 10
· Size Measurement · 计算工作量 5 10
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 5 10
· 合计 720 815

NABCD模型

N——Need 需求

  • 痛点——现有的论文没有很好的分类整合起来,一篇篇查找效率太低,无法及时有效的获得最新的热门领域和研究方向

    他不知道近几年顶会的热门领域和研究方向,根据论文list去一篇一篇查找总结效率又着实太低

  • 需求

    • 用户可给定论文列表
      通过论文列表,爬取论文的题目、摘要、关键词、原文链接;
      可对论文列表进行增删改操作(今年、近两年、近三年);
    • 对爬取的信息进行结构化处理,分析top10个热门领域或热门研究方向;
      可对论文属性(oral、spotlight、poster)进行筛选及分析;
      形成如关键词图谱之类直观的查看方式;
    • 可进行论文检索,当用户输入论文编号、题目、关键词等基本信息,分析返回相关的paper、source code、homepage等信息;
    • 可对多年间、不同顶会的热词呈现热度走势对比(这里将范畴限定在计算机视觉的三大顶会CVPR、ICCV、ECCV内)。
  • 补充需求:
    • 用户可以通过检索功能得到某个关键词的综合搜索结果,包括在此领域最近有相关报告的作者和相关会议记录、论文。
    • 检索结果中还会显示收藏、下载、添加笔记的人数,亦可以查看他人的笔记,方便自己的学习。还可以添加收藏、笔记方便日后查看、学习。

A——Approach 方法

  • 基于Web的设计——Web端的开发更符合用户群体使用此类应用的习惯。同时方便用户访问,提高用户体验和粘性
  • “论文列表功能”——针对用户自定义给定论文列表爬取论文的需求,采用拖拽上传的功能批量操作,使用户快速增删改论文。
  • “检索结果功能”——针对用户结构化处理爬取信息的需求,快速检索筛选出论文的属性和相关信息,并增加了论文下的笔记功能,方便受众使用。
  • “会议热点功能”——针对用户快速了解top10的热门领域和研究方向的需求,在首页采用轮播新闻页和Top10论文榜的展示形式,模仿门户网站展示学术领域内容,提高用户可阅读性。
  • “论文分析和热词分析”——输入通过词云以及饼状图展示出该论文中的高频词汇。丰富筛选条件,从而精确得到用户需要的相关信息。

B —— Benefits 好处

  • 参考了门户网站首页和新浪微博的推送方式,提高了用户体验,避免了学术相关应用的枯燥性。
  • 在传统的搜索、爬取功能上推送了相关领域人士的信息和相关会议,方便用户快速获取信息,提高查找效率,快速上手。
  • 增加了关注功能,便于第一时间掌握相关信息,不至于在信息泛滥中迷失方向。

C —— Compettors 竞争

优势:

  • 形成了类似"问答社区"似的用户交流形式,有利于形成"专家"和"小白"间的良性互动
  • 在传统的搜索结果如作者、会议、论文的基础上增加了笔记的功能,有利于知识碰撞和交流进步。
  • 通过丰富的数据可视化增强信息的可阅读性,在各种图表中加入交互元素,便于用户筛选信息。
  • UI设计轻快活泼,产品设计符合轻松方便的思想,结合了搜索产品、问答社区和门户网站的优点。

劣势:

  • 论文导入时通过excel上传增加了用户的操作流程。
  • 上传文件采用列表形式,当输入条目较多时不够直观。

D —— Delivery 推广

  • 针对研究计算机视觉方向的同学间先进行小部分推广,收集用户体验并进行改进。
  • 扩大受众,不再仅仅局限于计算机视觉方面的资料爬取,并向多方面推广,收集更多的资料后进行优化。
  • 不断进行软件迭代,积累更多用户。

流程思路

软工实践原型设计——PaperRepositories

结对过程

软工实践原型设计——PaperRepositories

分工情况

    • 会议热点(首页)
    • 导航栏
    • 论文列表
    • 个人中心
    • 我的收藏
  • 队友

    • 登陆页
    • 背景块
    • 检索结果
    • 论文分析

做完登录和首页以后我们有意识的做了个大概的模板,然后做每个新的页面时可以直接引用,提高了不少效率。

原型实现

  • 登录页面

    登录之后直接切换到会议热点(首页),为相关会议的热点新闻以及十大热门论文,可以方便使用者了解最新的会议动态。
    软工实践原型设计——PaperRepositories

  • 检索结果

    采用混合检索,可以通过人名、论文名、会议等进行检索,并且将检索到的结果按分类或综合查看。在概要页可查看论文的标题、作者、属性(oral、spotlight、poster)、源代码链接等信息。检索结果中还会显示收藏、下载、添加笔记的人数,亦可以查看他人的笔记,方便自己的学习。还可以添加收藏、笔记方便日后查看、学习。
    软工实践原型设计——PaperRepositories

    通过导航栏的搜索框进行快速查询
    软工实践原型设计——PaperRepositories

  • 论文列表

    可以通过拖拽excel表格的形式上传文件,上传文件后可在下方的列表中查看,并选择论文进行进行添加。添加后即可在论文结果处查看论文的题目、作者、原文链接、摘要、关键词等信息。
    软工实践原型设计——PaperRepositories

    软工实践原型设计——PaperRepositories

    点击进入详情页
    软工实践原型设计——PaperRepositories

  • 论文分析

    • 热度走势分析

      可以通过输入关键词来查看该关键词近10年来的热度对比趋势图。可以自行选定10年内的某个时间。
      软工实践原型设计——PaperRepositories

    • 论文分析

      通过输入论文标题,检索出该论文,并通过词频图以及饼状图展示出该论文中的高频词汇。
      软工实践原型设计——PaperRepositories

  • 我的收藏

    可以查看自己收藏的论文
    软工实践原型设计——PaperRepositories

  • 个人中心

    根据时间轴排序查看下载、笔记、喜欢和浏览记录。
    软工实践原型设计——PaperRepositories

遇到的困难及解决办法

  • 困难1:对需求理解不够准确

    • 相互讨论得到结果
    • 询问有选实践课的同学
  • 困难2:第一次使用原型设计工具,RP为全英文软件,刚开始完全不知道那个按钮在哪里

    • 将RP汉化
    • 观看相关教程视频
  • 困难3:没有UI设计经验,对UI的设计规则不是很了解
    • 查看新浪微博,作为整体布局的参考

心得体会

前两次的作业都是独立完成,而这次的作业需要结对,原本以为两个人做起来会轻松许多。但是在实践中证明这次的工作量还是挺大的,和队友两个人从最初的一起理解题目,到后面的设计,实现中不断的讨论修改细节。每做一个小模块我们都讨论了一下我们是不是理解错题目了。而且有时和队友的理解是不一样的,就出现了做着做着发现和刚开始讨论的有出入,就要重新修改的情况。因为对RP软件的不熟悉,刚开始制作的时候进度很慢,轮播图做了比较久,后面熟悉之后就快了很多了。一步一步的做出一个原型设计还是挺不错的(虽然中间的过程很艰辛)。我们觉得我们设计的页面还是挺友好美观的。

补充作业

  • 你已经具备的专业知识、技能、能力有哪些?

    • 简单的数据库的设计与开发
    • Android开发,只做过小demo
    • 前端三大件(html,css,javascript)
  • 离成为一个合格的 IT专业毕业生,在专业知识、技能、能力上还差距哪些?

    • 各项技能都不是非常精通
    • 专业知识仅限于课本上学习的(考试完之后就比较少用好,例如:数逻、组原)
    • 学习能力还需提高
skill/技能 课前评估 课后评估
Programming:Tst 0 6
Programming Language 3 7
Development on Different Platforms 3 7
Person Software Process:个人源码管理 1 7
Person Software Process:估计,记录工作量 1 6

在学习这门课之前都没有做任何的记录,个人源码管理也只是保存在电脑中,没有上传到github上面过。在每一次的编程作业时只会大概的感觉一下这个我要做多久,做完之后也不会去记录和反思。但是通过这几次的作业,都会去记录每一小项花费的时间。通过学习熟悉git的基本操作,将源码上传到github上,这样就算没有带着自己的电脑也能在别人电脑上继续完成项目。希望能够通过不断地学习实践,达到估计得水平

上一篇:[异常篇]001.MySQL数据库忘记root密码解决办法[转载]


下一篇:maven打包时报错:-source 1.5 中不支持 diamond 运算符