Loading

结对作业一

结对作业一


这个作业属于哪个课程 软件工程2021春软件工程W班(FZU)
结对学号 221801424 221801435
作业要求 作业链接
参考文献

PSP表格和效能分析

psp表格

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

效能分析

因为这次结对的两个人都没有原型设计的经验,所以花了比较多的时间在学习如何制作原型上面(主要是Axure的用法);大致掌握制作方法之后,小组成员之间又花费时间进行了多次探讨,理解了项目需求,对于项目方向有了一个基本一致的理解。当掌握了原型的制作方法以及对于项目需求达成共识之后,便可以很快地开发出我们想要的网页原型。

原型介绍

设计思路

对于项目的基本需求,我们可以大致分为三个方向

  1. 需要由用户上传论文列表或者输入单个论文题目,再爬取论文的关键字、摘要等信息,并将所有的论文信息组织成一张列表。
  2. 用户可以对论文信息列表进行增删改查。
  3. 需要从论文信息列表提取出top10个热门领域或热门研究方向。
    对于以上需求,我们可以划分为三个基本模块,分别是论文搜索、论文管理以及趋势分析,此外,因为每个用户上传的论文列表各不相同,例如用户A主要关注目标检测的论文,而用户B主要关注图像分割的论文,所以,我们还需要增加一个用户模块(比如收藏论文、修改个人信息等),并提供账号的注册和登录功能,其中用户模块只有当用户登录时才能使用。
    功能模块的组织如下图所示,其中黄色箭头代表需要用户登录之后才能使用该功能:
    功能模块组织形式

论文搜索模块(搜索主页)

  1. 该模块提供了一个输入框让用户可以输入想要搜索的论文的题目、关键字等,考虑到用户输入的信息并不是很精确,输入完成后点击检索即可跳转到查询结果页面,该查询页面是对输入进行模糊匹配的结果,用户可以将查询结果添加至论文列表。
  2. 用户也能够利用“直接导入列表文件”按钮上传论文列表文件,系统将通过文件内容将查询结果载入论文列表。
  3. 该主页实现了历史记录功能,该功能在未登录状态下无法使用。
  4. 该主页实现了每日推荐功能。
  5. 该主页底部用旭日图来展现3大顶会的热门研究方向。

主页页面:
搜索主页
主页旭日图:
主页旭日图
搜索结果页面:
搜索结果
未登录时的主页
未登录时的主页

论文管理模块

  1. 该模块负责对用户上传或者搜索添加的论文列表进行增删改查操作,主要由两个页面构成。
  2. 论文页表页面可以对论文列表进行增删改查,在该页的最上方有输入框和全选按钮便于用户选择,每一列表项都有收藏、更新、删除的按钮使得用户可以对其进行操作。
  3. 论文导入可以让用户上传自己的论文,上传的论文也可以用于收藏、分析。

论文列表页面
论文列表
论文导入页面
论文导入

趋势分析模块

  1. 该模块由两个页面组成:走势图页面和最热研究方向Top10页面
  2. 走势图页面利用折线图比较了三大顶会最近几年的论文数量,利用柱状图分析最近几年Top3研究领域论文数量的变化过程,利用沙漏图和饼状图来展现今年计算机视觉领域研究方向的占比情况。
  3. 最热研究方向Top10页面用柱状阶梯图直观地展现了计算机视觉方面最热门的十个研究方向。

走势图页面(1)
走势图页面1
走势图页面(2)
走势图页面2
Top10研究方向
Top10研究方向

用户模块

1. 该模块由两个页面组成:用户收藏页面和用户信息管理页面。 2. 用户收藏页面为用户提供了一个收藏夹,用户可以将对自己比较有价值的论文收藏在其中,方便查阅,并且可以随时对里面的论文进行删除和修改。 3. 用户信息管理,用于管理和设置用户的个人信息。 > 用户收藏页面 > ![用户收藏](https://images.cnblogs.com/cnblogs_com/finoblog/1929583/o_210312082929p12.JPG) > 用户信息管理页面 > ![用户信息](https://images.cnblogs.com/cnblogs_com/finoblog/1929583/o_210312082935p13.JPG)

登录注册模块

  1. 该模块负责发送用户登录和注册请求
  2. 登录和注册的页面如下所示:

登录页面
登录
注册页面
注册

请求驳回页面

  1. 当用户尚未登录且访问用户模块时,出现此页面,提示用户进行登录。

请求驳回页面
驳回

遇到的困难以及解决方法

困难一:如何划分网页的功能模块?

最开始接触题目的时候,我们会感到迷茫,不知道从何下手。虽然学会了Axure的基本操作,但是对于如何设计这样的一个网站,原型组件之间要如何组织,我们一开始是没有头绪的。随后我和我的队友浏览了Axure中文网,借鉴了一些UI设计师设计的界面,这个问题才解决。
给我们的启示:设计页面前最好先参考下UI设计师的作品,这样可以使得页面更加的美观自然。

困难二:如何解决团队合作的问题?

对于我们团队来说,我们是一人负责一个页面,两人同时对原型进行修改,那么,如果两个人都修改了同一页面,修改冲突了该怎么办呢?最开始,我们是想要借助Axure的共享功能来解决这个问题,但是Axure并不支持对于同一页面的并行修改(会造成修改丢失和覆盖)。最后我们发现,可以利用Axure的页面分支功能,这有点类似于github上的分支,我们每一个人都拥有一个“主页”,并且同时对“主页”进行修改,最后经过商讨后再将两个“主页”合并。
给我们的启示:有效地利用工具可以提升团队开发效率。

困难三:如何显示图表?

在需求当中,有一个要求是要我们用图表显示最近几年计算机视觉几大方向论文数量的变化趋势。一开始我们想的是直接用Axure自带的组件画图,但是这种组件“拼凑”出来的图不是很美观,而且无法有效地展示和修改数据。经过我们的调查,我们发现了Axhub组件库,这个组件库自带折线图、漏斗图、饼状图,可以有效方便地满足我们对于画图的需求。
给我们的启示:当有现成的库可以调用时,不要自己造轮子。

困难四:如何将外部js引入原型?

我们希望用旭日图来表现进几年三大顶会论文的关键词出现的频率,但是Axhub并没有旭日图,所以需要我们去寻找新的库。经过调查,我们发现XEcharts可以满足我们的需求,但是有一个问题,就是XECharts的组件库是用html,javascript,和css配合实现的,那么怎么样才能将其运用到我们的博客当中呢?我们一开始的想法是设置一个交互,当主页载入时链接到组件的url地址,但是这样会导致整个主页被覆盖,而我们想要的是将组件放置在主页里面。经过一系列的调查,我们在这篇博客找到了答案,我们可以直接将js代码写入Axure的文本框,然后在载入时调用js函数,最后渲染成我们想要的图像。
给我们的启示:遇到问题时,可以找找别人的博客有没有对应的解决方法,因为大多数时候你的踩的都是别人踩过的坑。

原型地址

论文分析助手

NABCD模型

N(Need)

  • 从问题根源为客户设计一个论文分析平台;
    功能拆解为以下几个功能:

  • 获取待爬取论文列表及论文信息爬取;
    支持用户输入单个论文题目,也支持批量导入论文列表;
    通过论文列表,爬取论文的摘要、关键词、原文链接;

  • 对已爬取的论文列表进行操作;
    可对论文列表进行增删改操作;
    可对论文列表进行查询(输入论文题目,也支持模糊查询:输入论文编号、关键词等基本信息),若在论文列表中不存在所要检索的论文,则根据输入的查询语句到网站爬取并返回论文的摘要、关键词、原文链接;

  • 分析已爬取到的论文信息,提取top10个热门领域或热门研究方向;
    形成如关键词图谱之类直观的查看方式,点击某个关键词可展现相关的论文;
    可对多年间、不同顶会的热词呈现热度走势对比,以动图的形式呈现(这里将范畴限定在计算机视觉的三大顶会CVPR、ICCV、ECCV内);

  • 用户登陆注册等基本功能。

A(Approach)

  • 前端考虑应用框架vue等或GUI界面来实现平台;
  • 后台考虑使用python或java来实现接口搭建和爬虫功能等。

B(Benefit)

  • 快速无障碍的通过平台查询相关论文进行分析,也能获得全面的分析图表,同时可以批量查询,无需一一进行获取;

  • 可以对已收藏的论文列表分析获得统计数据,并进行增删改等操作;

  • 可以获取到计算机视觉领域的三大顶会的相关热词,获取大众对于该领域的关键词热度,查看如今互联网的热点;

  • 后续开发设计类似社区论坛,让你能与其他人一起分享知识和乐趣。

C(Competitors)

  • 从与市场角度相比,我们产品相比较于其他著名的网站更加的简陋,并且论文储备量不及他们,但我们对于互联网行业的新人而言会更加的有利,例如能够免费获取一些图表分析,我们需要在前期阶段扩大自己的闪光点,并不断完善自己的缺点。

  • 与该份作业其他完成者来作比较,我们需要去更加注重ui设计,让界面更加美观,且功能符合逻辑,适应于用户得需求,提高用户的交互性。

D(Delivery)

  • 在前期阶段,我们可以通过在小群体之间发布测试版本,并做宣传让用户去体验我们的平台,如在计算机领域的学生。后续通过客户提出的问题我们做出修复和完善,并不断扩展功能。在有经济能力的条件下,发布上市版。

  • 在互联网上进行宣传,如自媒体的方式等,并不断的去扩展用户功能等,去追赶上一些大平台的脚步,并在做出自己的特色和创新,满足用户的要求。

原型工具

工具上我们一开始打算使用墨刀,后面在查看了墨刀和Axure的区别后进行对比,我们最后选择了Axure Rp来作为我们的开发工具。

结对交流过程及评价

交流过程

过程截图1
过程截图2
过程截图3

结对感受

coldsu(221801424)

在阅读了结对的博客后,自己也第一次有经验的进行了结对合作,在以往有过两人合作的经历,但当时对于沟通方面存在偏差,导致绕了很多弯路,这次的结对合作让我体会到了两人合作共赢的感受,在讨论和完成阶段,我们都在互相帮助彼此能够更加快的完成任务并且能够做出思考一起去做出问题的解决,通过汉堡包理论我也在沟通方面不在那么的"粗鲁"。我们不仅可以增加彼此的友谊,更能互相学习对方的优点和弥补自己所存在的不足,并且一同学习陌生的技术,总的来说,结对合作能让我们1+1>2。

fino(221801435)

这是我第一次进行结对合作,以前不是单打独斗就是3人以上的团队,然后由队长分配任务。相比于单打独斗,结对合作可以使工作推进地更有效率,沟通和分工也变得更为细致;相比于多人团队,结对合作的沟通成本也不会那么大,而且不会出现一人干活,多人摸鱼的情况。所以对我来说,两个人的团队粒度刚刚好。

队友评价

coldsu(221801424) To fino(221801435)

fino队友是一名非常可靠优秀的队友,他在学习上是年段前列,同时他对我的帮助很大,在我不懂的时候他总能够耐心的为我解答,在一起设计ui的时候也给我们的创作带来了很多灵感,并且效率很高,有条不紊。对于问题的提出和解决也是非常的迅速,让我们团队完成项目时间大大缩短,在后续的编码作业中我相信也能够在他身上学到很多,我也在第一次经历结对的窘境后获得了结对的快乐!感谢队友!

fino(221801435) To coldsu(221801424)

cold是一名可靠的队友,他拥有十足的编程经验,能够在我思考不到位的时候指正我的错误,团队合作时也能够积极主动的参与讨论,思考对策,能够主动地推进项目进行,我认为我们之后也能够配合默契,高质量地完成老师教给我们的任务。

posted @ 2021-03-13 00:29  coldsu  阅读(47)  评论(1编辑  收藏  举报