天天看点

福大软工1816 · 第三次作业 - 结对项目1

《构建之法》有感 设计结对项目

结对队友是大佬级别的扬仔(张扬)

作业链接

队友链接

PDF链接

PSP表格

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

1. 《构建之法》阅读成果(个人)

  1. 要通过可量化的指标来衡量软件工程师的工作能力,就像衡量职业运动员一样。衡量标准可以通过以下几点
    • 项目大小,可通过LOC、功能点衡量
    • 花费时间
    • 质量
    • 是否按时交付
  2. 提升个人技能需要扫清门前雪,除去桌上灰。就是“工欲善其事必先利其器”的道理,当你尝试掌握一门语言时,应该先快速翻看它的语法,然后再使用,在实践中提升熟练度。而不是一上来就实践,碰到一个差一个碰到一个差一个,最后发现自己查的都是基础语法
  3. 有关NABCD的理解
    • N,需求,主要通过用户调研的方式来掌握用户真正需要的是什么。
    • A,做法,做法不单单是技术,还要考虑到项目落地的过程中的非技术因素,如人脉、平台、客户群体等
    • B,好处,做这个东西,能给客户带来什么好处?是否满足客户的需求?
    • C,竞争,主要是与同类产品的对比,通过对优劣势进行分析,一方面可以完善自己的产品从而有更高的竞争力,另一方面可以根据自己的优劣势情况来选择针对的客户群体
    • D,推广,主要考虑如何推广,如何交付的问题
  4. 功能,决定用户的满意度。其中功能分为卫生需求功能(不能闪退等)、惊喜功能
  5. 软件开发的过程中要使用分治的思想,把一个大的任务分成若干个小的成分。一方面可以帮助我们理清项目设计的过程与细节,另一方面可以将小的任务分配给个人,方便PM掌握每个人的任务进展

2. NABCD在项目中的使用

  • N(Need,需求)
  1. 用户问题:

    用户苦恼于不知道近几年顶会的热门领域和研究方向,一篇篇去找效率太过低下,所以希望有一个好的平台能够对论文进行整合、分析,方便自己查看

  2. 用户需求:
    1. 通过论文列表,爬取论文的题目、摘要、原文链接
    2. 可对论文列表进行增删改操作(今年、近两年、近三年)
    3. 对爬取的信息进行结构化处理,分析top10个热门领域或热门研究方向
    4. 形成如热词图谱之类直观的查看方式
    5. 对多年间、不同顶会的热词呈现热度走势对比
    6. 可进行论文检索,相当于实现了搜索引擎的功能
    7. 可进行数据统计,更加了解该论文在每个国家的不同评论与不同国家/学校对于该方向的研究程度
  • A(Approach,做法)

    我们使用Web服务来解决这个需求

    1. 用户登录进服务器可以查看到自己的论文列表
    2. 论文列表中可以实现筛选、批量删除、导入等功能
    3. 通过论文标题,进入论文详细界面,可以直接访问原文链接、加入收藏夹、阅读全文、查看热词图谱、对论文讨论等操作。同时讨论区同步在Github上,可以直接@作者,参与讨论。
    4. 根据数据统计结果,可以得到每个国家的论文数量、每个学校的论文数量。可以根据学校的论文数量、方向大致确定出学校的强势方向
    讲了这么多,不如下面这张图来的直观
福大软工1816 · 第三次作业 - 结对项目1
  • B(Benefit,好处)
    1. 爬取了原文链接,能够节省搜索原文、Github地址的时间
    2. 用户可以通过生成的顶会热词,轻松掌握热门研究方向
    3. 形成热词图谱与摘要,筛选出关键字,便于把握文章主题内容
    4. 提供了增删改操作与批量导入/删除操作,方便用户管理论文列表
    5. 增加了收藏夹功能,方便用户保存感兴趣的论文
    6. 增加了评论区功能,增强交流氛围。由于讨论区可以和Github同步,如果用户对论文有不懂的地方,用户可以在Paper++中直接@作者进行提问,也可以查看到别人的讨论情况。
  • C(Compete,竞争)

    优势

    1. 界面简约,用户操作方便,搜索节省时间
    2. 提供与Github同步的讨论区,让大家有一个交流的平台
    3. 提供了收藏夹功能,用户感兴趣的文章可以收藏起来有空的时候再看
    劣势:
    1. 界面不够美观
    2. 布局可能不够合理(缺乏美工经验所致)
  • D(Delivery,推广)
    1. 初期可以先向数计学院部分实验室做出推广,根据用户的反馈来改进我们的产品
    2. 产品差不多成熟后,直接将软件推广在Github上,可能能招来一大波从事科研事业的前辈。
    3. 产品成熟后,可以给各大高校研究生部、旷视微软亚研等科研院所发送推广链接,强行推广一波

3. 原型设计

首先我们的产品叫做Paper++(Face++既视感)

使用了Axure RP 8.0,参考了koucloud网站的简约风格

在设计之前使用Xmind构建了大体框架

福大软工1816 · 第三次作业 - 结对项目1

用户登录

福大软工1816 · 第三次作业 - 结对项目1

用户注册

福大软工1816 · 第三次作业 - 结对项目1

主模块:论文列表

  1. 在论文列表中点击标题即可进入论文详细页面
  2. 可以根据顶会、论文类型、发布时间对论文列表进行筛选
  3. 支持批量删除,只需选中相关项即可
  4. 支持从论文列表批量导入
  5. 已收藏的论文边上将显示"星"号
福大软工1816 · 第三次作业 - 结对项目1

论文列表→论文详请

论文详请页面包含三个卡片,论文摘要、论文热词、讨论天地。同时在右上角有常用功能,收藏、Github地址、阅读原文、原文地址按钮

  1. 您可以在【论文摘要】卡片下查看到论文摘要
福大软工1816 · 第三次作业 - 结对项目1
  1. 您可以在【论文热词】卡片下查看到本文章的热词
福大软工1816 · 第三次作业 - 结对项目1
  1. 您可以在【讨论天地】卡片下参与论文讨论。由于讨论区可以和Github同步,如果用户对论文有不懂得地方,用户可以在Paper++中直接@作者进行提问,也可以查看到别人的讨论情况。
福大软工1816 · 第三次作业 - 结对项目1
  1. 点击右上角的【Read】按钮即可阅读原文
福大软工1816 · 第三次作业 - 结对项目1
  1. 点击右侧的【全屏阅读】按钮,即可进入全屏阅读模式
福大软工1816 · 第三次作业 - 结对项目1

热点分析

这里可以对三个顶会的热点进行分析,以CVPR热点为例,在右侧雷达图可以直观看到CVPR的热点词汇为"图像分割"、"GAN"

福大软工1816 · 第三次作业 - 结对项目1

数据分析→录用分析(国家)

根据顶会、年份分析各个国家的论文引用情况,可以从右侧的雷达图中直观的发现美国的论文数量遥遥领先

福大软工1816 · 第三次作业 - 结对项目1

录用分析(学校)

  1. 【论文录用情况】可以查看某学校的论文录用情况,如北京大学共有305篇论文被三家顶会录用
福大软工1816 · 第三次作业 - 结对项目1
  1. 【研究热点分析】以被录用论文的分类、数量,可以得到研究热点。我们可以点开研究热点查看该学校的研究热点。在图中可以直观发现北大的研究热点为语义分析、目标检测、图像分割三个方向
福大软工1816 · 第三次作业 - 结对项目1

论文收藏

在这里,您可以看到您收藏过的论文

福大软工1816 · 第三次作业 - 结对项目1

4. 结对过程

刚发布结对的时候没怎么关注,想着还早,就一直在做自己的事情。后来发现身边的人都结对了,就感觉大事不妙。在最后几天突然发现同班里还有同学没组队,就理所当然的结对在一起了。

附上两人结对讨论产品框架的照片,非摆拍哦,我们在下课后进行了认真的讨论。

福大软工1816 · 第三次作业 - 结对项目1

遇到的困难及解决方案

  • 遇到的问题:
    1. 刚开始未能理解用户的需求,有困惑
    2. 还有对于Axure RP软件的不熟悉
    3. 对于界面设计的无力感,感觉自身的审美水平的限制,想要弄出一个漂亮的界面,但是最终还是选择了简约风
  • 解决方案:
    1. 对于用户需求的疑问,经过向助教的咨询和两人的讨论,最终确定了每个需求所需要的功能和我们要增加的功能,解决了问题1
    2. 参照B站的视频,照着kopcloud官网画完了我们的原型,解决了问题2
    3. 界面设计,我们尽力了o(╥﹏╥)o

个人学习进度条

第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
1 200 php学习
2 25 学习Axure RP的基本操作