福大软工1816 · 第三次作业 - 结对项目1
《构建之法》有感 设计结对项目
结对队友是大佬级别的扬仔(张扬)
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 10 | 15 |
· Estimate | · 估计这个任务需要多少时间 | 10 | 15 |
Development | 开发 | 600 | 580 |
· Analysis | · 需求分析 (包括学习新技术) | 400 | 180 |
· Design Spec | · 生成设计文档 | 30 | 60 |
· Design Review | · 设计复审 | 10 | 10 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 10 | 10 |
· Design | · 具体设计 | 120 | 300 |
· Coding | · 具体编码 | 0 | 0 |
· Code Review | · 代码复审 | 0 | 0 |
· Test | · 测试(自我测试,修改代码,提交修改) | 30 | 20 |
Reporting | 报告 | 100 | 110 |
· Test Repor | · 测试报告 | 120 | 70 |
· Size Measurement | · 计算工作量 | 10 | 10 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 10 | 10 |
合计 | 730 | 705 |
1. 《构建之法》阅读成果(个人)
- 要通过可量化的指标来衡量软件工程师的工作能力,就像衡量职业运动员一样。衡量标准可以通过以下几点
- 项目大小,可通过LOC、功能点衡量
- 花费时间
- 质量
- 是否按时交付
- 提升个人技能需要扫清门前雪,除去桌上灰。就是“工欲善其事必先利其器”的道理,当你尝试掌握一门语言时,应该先快速翻看它的语法,然后再使用,在实践中提升熟练度。而不是一上来就实践,碰到一个差一个碰到一个差一个,最后发现自己查的都是基础语法
- 有关NABCD的理解
- N,需求,主要通过用户调研的方式来掌握用户真正需要的是什么。
- A,做法,做法不单单是技术,还要考虑到项目落地的过程中的非技术因素,如人脉、平台、客户群体等
- B,好处,做这个东西,能给客户带来什么好处?是否满足客户的需求?
- C,竞争,主要是与同类产品的对比,通过对优劣势进行分析,一方面可以完善自己的产品从而有更高的竞争力,另一方面可以根据自己的优劣势情况来选择针对的客户群体
- D,推广,主要考虑如何推广,如何交付的问题
- 功能,决定用户的满意度。其中功能分为卫生需求功能(不能闪退等)、惊喜功能
- 软件开发的过程中要使用分治的思想,把一个大的任务分成若干个小的成分。一方面可以帮助我们理清项目设计的过程与细节,另一方面可以将小的任务分配给个人,方便PM掌握每个人的任务进展
2. NABCD在项目中的使用
- N(Need,需求)
-
用户问题:
用户苦恼于不知道近几年顶会的热门领域和研究方向,一篇篇去找效率太过低下,所以希望有一个好的平台能够对论文进行整合、分析,方便自己查看
-
用户需求:
- 通过论文列表,爬取论文的题目、摘要、原文链接
- 可对论文列表进行增删改操作(今年、近两年、近三年)
- 对爬取的信息进行结构化处理,分析top10个热门领域或热门研究方向
- 形成如热词图谱之类直观的查看方式
- 对多年间、不同顶会的热词呈现热度走势对比
- 可进行论文检索,相当于实现了搜索引擎的功能
- 可进行数据统计,更加了解该论文在每个国家的不同评论与不同国家/学校对于该方向的研究程度
-
A(Approach,做法)
我们使用Web服务来解决这个需求- 用户登录进服务器可以查看到自己的论文列表
- 论文列表中可以实现筛选、批量删除、导入等功能
- 通过论文标题,进入论文详细界面,可以直接访问原文链接、加入收藏夹、阅读全文、查看热词图谱、对论文讨论等操作。同时讨论区同步在Github上,可以直接@作者,参与讨论。
- 根据数据统计结果,可以得到每个国家的论文数量、每个学校的论文数量。可以根据学校的论文数量、方向大致确定出学校的强势方向
讲了这么多,不如下面这张图来的直观
-
B(Benefit,好处)
- 爬取了原文链接,能够节省搜索原文、Github地址的时间
- 用户可以通过生成的顶会热词,轻松掌握热门研究方向
- 形成热词图谱与摘要,筛选出关键字,便于把握文章主题内容
- 提供了增删改操作与批量导入/删除操作,方便用户管理论文列表
- 增加了收藏夹功能,方便用户保存感兴趣的论文
- 增加了评论区功能,增强交流氛围。由于讨论区可以和Github同步,如果用户对论文有不懂的地方,用户可以在Paper++中直接@作者进行提问,也可以查看到别人的讨论情况。
-
C(Compete,竞争)
优势- 界面简约,用户操作方便,搜索节省时间
- 提供与Github同步的讨论区,让大家有一个交流的平台
- 提供了收藏夹功能,用户感兴趣的文章可以收藏起来有空的时候再看
劣势:
- 界面不够美观
- 布局可能不够合理(缺乏美工经验所致)
-
D(Delivery,推广)
- 初期可以先向数计学院部分实验室做出推广,根据用户的反馈来改进我们的产品
- 产品差不多成熟后,直接将软件推广在Github上,可能能招来一大波从事科研事业的前辈。
- 产品成熟后,可以给各大高校研究生部、旷视微软亚研等科研院所发送推广链接,强行推广一波
3. 原型设计
首先我们的产品叫做Paper++(Face++既视感)
使用了Axure RP 8.0,参考了koucloud网站的简约风格
在设计之前使用Xmind构建了大体框架
用户登录
用户注册
主模块:论文列表
- 在论文列表中点击标题即可进入论文详细页面
- 可以根据顶会、论文类型、发布时间对论文列表进行筛选
- 支持批量删除,只需选中相关项即可
- 支持从论文列表批量导入
- 已收藏的论文边上将显示"星"号
论文列表→论文详请
论文详请页面包含三个卡片,论文摘要、论文热词、讨论天地。同时在右上角有常用功能,收藏、Github地址、阅读原文、原文地址按钮
- 您可以在【论文摘要】卡片下查看到论文摘要
- 您可以在【论文热词】卡片下查看到本文章的热词
- 您可以在【讨论天地】卡片下参与论文讨论。由于讨论区可以和Github同步,如果用户对论文有不懂得地方,用户可以在Paper++中直接@作者进行提问,也可以查看到别人的讨论情况。
- 点击右上角的【Read】按钮即可阅读原文
- 点击右侧的【全屏阅读】按钮,即可进入全屏阅读模式
热点分析
这里可以对三个顶会的热点进行分析,以CVPR热点为例,在右侧雷达图可以直观看到CVPR的热点词汇为"图像分割"、"GAN"
数据分析→录用分析(国家)
根据顶会、年份分析各个国家的论文引用情况,可以从右侧的雷达图中直观的发现美国的论文数量遥遥领先
录用分析(学校)
- 【论文录用情况】可以查看某学校的论文录用情况,如北京大学共有305篇论文被三家顶会录用
- 【研究热点分析】以被录用论文的分类、数量,可以得到研究热点。我们可以点开研究热点查看该学校的研究热点。在图中可以直观发现北大的研究热点为语义分析、目标检测、图像分割三个方向
论文收藏
在这里,您可以看到您收藏过的论文
4. 结对过程
刚发布结对的时候没怎么关注,想着还早,就一直在做自己的事情。后来发现身边的人都结对了,就感觉大事不妙。在最后几天突然发现同班里还有同学没组队,就理所当然的结对在一起了。
附上两人结对讨论产品框架的照片,非摆拍哦,我们在下课后进行了认真的讨论。
遇到的困难及解决方案
- 遇到的问题:
- 刚开始未能理解用户的需求,有困惑
- 还有对于Axure RP软件的不熟悉
- 对于界面设计的无力感,感觉自身的审美水平的限制,想要弄出一个漂亮的界面,但是最终还是选择了简约风
- 解决方案:
- 对于用户需求的疑问,经过向助教的咨询和两人的讨论,最终确定了每个需求所需要的功能和我们要增加的功能,解决了问题1
- 参照B站的视频,照着kopcloud官网画完了我们的原型,解决了问题2
- 界面设计,我们尽力了o(╥﹏╥)o
个人学习进度条
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
1 | 200 | 200 | 10 | 10 | php学习 |
2 | 100 | 300 | 15 | 25 | 学习Axure RP的基本操作 |