敏杰开题——软工团队项目选择与NABCD分析
阅读原文时间:2023年07月09日阅读:1

这是一篇软件工程课程博客

Q

A

这个作业属于哪个课程

2020春季计算机学院软件工程(罗杰 任健)

这个作业的要求在哪里

团队项目选择

我们在这个课程的目标是

团队协作实践敏捷开发

这个作业在哪个具体方面帮助我们实现目标

选定题目、梳理需求

本组为自选课题:知识路书(暂定名)

很多人在泛读文献时常常会自行整理笔记或博客,将某个研究方向的发展过程或某个特定问题的解决过程作出一个概括性介绍。这个工作的极简形式是几行潦草的笔记,终极形式则是一篇文献综述。

比如这篇博客简短地总结了(那个年代)style transfer的发展过程,这篇文章则简单梳理了后rcnn时代目标检测的研究脉络

据我所知,几乎每一个研究人员都学习过如何写综述,因为它是了解某个领域研究实质、整顿思路而催化灵感的过程。因此即使作为综述的简化形式,这种总结式的文章依然能有效帮助我们找寻某个问题或某个问题的答案。

然而我们注意到如下事实:

  • 以博客文章或笔记的形式对已有工作进行梳理,只能以顺序的方式介绍每一篇论文、每一个相关工作,因为“一条线”的书写顺序是符合人脑思维习惯的。但很不幸,研究发展的过程往往是树状的,常常有好的论文可以引出多条分支,因此这样线性地讲故事很难体现科研工作间的承接关系,很难直观展现“谁解决了谁”和“谁推翻了谁”
  • 这样的文章更多是写给自己的笔记性质的学习材料,因此一篇中规中矩的小论文未免太耗时耗力了。
  • 就呈现效果而言,夹杂学术概念的大量文字很难突出重点,经常变得晦涩难懂,不是知识记录与分享的最佳方式

于是我们的结论是:在这件重要的工作上,我们的思维过程缺少好的、快的呈现形式,难以直观、高效地表现知识脉络。这就是我们想要解决的问题。

实际上思维导图或许正是我们需要的东西——树状地具象化思维关系,画几个随性的圈圈就能非常直观地展现概念间的跳跃与顺承。可惜思维导图并不是专门为文献阅读所设计的,因此常见的思维导图工具(如XMind等)依然不能让我们高效地呈现自己的学术见解。它们大而全,但我们需要小而美。因此我们受思维导图启发,希望开发一款应用软件,能够快速导入并绘制出文献(或概念)间的层次关系,并让用户可以基于此在浏览器中高效完成自己的交互式笔记。

我们预期它可以像拉力赛时赋予驾驶员方向的road map一样,为广大科研者照亮路况,因此我们称其为知识路书。

具体来说,为了解决这个需求我们希望其具备如下功能:

  • 简单的文献管理

    • 用户可以本地上传文献.bib格式数据将文献导入
    • 用户可以借助GUI工具手动整理文献间的引用关系
    • 用户可以标注文献已读/未读
    • 【extra】用户可以借助设备管理,将文献关联到本机路径并调用外部阅览器打开文献阅读
    • 【extra】借助字段嗅探或学术搜索引擎,自动关联文献间的引用关系
  • 单篇文献笔记

    • 用户可以为每一篇文献作出笔记梳理
  • 【extra】单个作者/团队标注

    • 用户可以为关注的作者与团队建立标注,并关联其发表的工作
  • 【extra】单篇知识随笔

    • 用户可以编写题目自由的随笔
  • 多篇文献路书(编辑模式)

    • 用户可以将文献和知识随笔引入一篇路书,每篇文献、随笔分别对应一个独立节点
    • 文献间可以根据引用关系自动在路书中绘制引用路线图
    • 用户可以在文献和文献、文献和随笔间连接强、弱关系线路
  • 多篇文献路书(阅览模式)

    • 用户可以直观查看每个文献对应的文献笔记
    • 用户可以生成阅览链接,将路书在站内分享
    • 【extra】用户可以将路书以html或其他可交互文档的形式发布

其中标注【extra】的功能为我们认为对提升用户体验有帮助,但较难实现或实行性价比较低的功能,因此它们的实现优先级次于其他功能。

综合考虑跨平台能力、交互效果与开发难度,我们决定以web应用的形式展开这个项目。为了便于分工合作,我们自然地选择了前后端分离的技术路线。

前端:计划基于vue.js框架及相关组件库实现,UI组件库选用较成熟的View UI(原iView),其中较难实现的绘图部分我们已经检索到了如下开源实现或参考代码:

后端:计划基于django+rest-framework实现,借助这个框架我们可以快速搭建restful api,将开发重心移至前端

UI设计:原型阶段整体设计保留View UI提供的类antd风格,待核心功能完善后尝试配合功能效果定制扁平化或拟态化风格的界面

我们的目标用户,显然是和我们一样有文献阅读与梳理需求的科研工作者,尤其是需要频繁接触新领域的年轻科研人员,如硕士生、博士生。

在商业模式的选择上,由于这个项目是以解决我们自身需求为导向提出的,相比于盈利我们更看重其使用体验,并且由于目标受众群体较小也不足以支撑起足够鲁棒的盈利模式,因此我们考虑将其作为开源项目维护,希望依赖强大的开源社区将其打磨为一款出色的软件产品。

用户可以借助我们的产品更好地进行知识梳理,优化、简化文献阅读流程,直观地记录与展示自己的阅读工作。

思维导图竞品

XMIND :

  • 深受欢迎的专业思维导图绘制工具,支持十分完善的绘制功能

    • 优点

      • 多平台支持,有良好的移动端适配
      • 功能强大,支持多种结点连接模式,支持多媒体内容插入
      • 良好的自动排版算法
      • 界面美观且提供多种设计模板
    • 缺点

      • 很多功能需要付费且价格昂贵,不适于收入较少的学生群体
      • 纯粹的知识导图编辑软件,没有文献管理等专为科研场景提供的功能

mindmeister:类似XMIND

文献管理竞品

mendeley:

  • 轻量的文献管理工具,自带用户社区与文献推荐

    • 优点

      • 配有用户社区,可以查看其他用户对某篇文献的评论与笔记
      • 自带的PDF阅读器可以标记并高亮文献内容、记录贴士。所有编辑都可以同步记录至个人账户
      • 每周会发送文献推荐邮件
    • 缺点

      • 只能以列表形式呈现所管理的文献,当管理的文献数目较多时难以快速找到某篇特定文献,同时也没有办法体现文献间的引用关系

电子笔记竞品

  • oneNote:

    • Microsoft开发的数字笔记产品,也是很多人目前使用频率很高的论文笔记工具。
    • 优点
      • 多平台适用;
      • 支持手写和键入等多种方式;
      • 为不同使用场景做了功能优化。如拍照时可以自动识别PPT区域并在拍照后自动将该区域拉伸形变至适合屏幕的形状
    • 缺点
      • 无法类似展现文献知识脉络;
      • 不支持Markdown或LaTeX笔记;
      • 不支持插入编程语言。
    • 定位
      • 面向一般用户的专业数字笔记工具
  • jupyter notebook:

    • jupyter notebook是一个交互式笔记本,支持运行 40 多种编程语言。
    • 优点
      • 支持Markdown笔记及多种后端编程语言(Python以外的后端需要插件或定制);
      • 支持插入编程代码并运行;
      • 支持安装插件进行功能扩展
    • 缺点
      • 对于论文笔记而言,无法展现文献之间的知识脉络;
      • 需要在本地运行,文件保存在本地;
    • 定位
      • 面向开发者的代码演示与轻量IDE
  • notion:

    • notion是一款结合文档、知识库以及任务管理功能的全能协作工具。
    • 优点
      • 支持Markdown笔记;
      • 有效支持团队协作:例如有看板任务管理、日历、OKRs、会议记录等功能;
    • 缺点
      • 用户系统较简陋,每次登陆时都需要繁琐地邮箱验证,体验较差
      • 无法展现文献之间的知识脉络;
      • 主要为团队协作开发。对于科研论文整理而言,有很多不必要的功能(会稍显臃肿)。
    • 定位
      • 内容驱动的个人工作流

其他相关产品

citespace:

  • 可视化文献挖掘工具,通过查阅文献数据库自动分析、挖掘学术热点

    • 优点

      • 支持多种聚类算法与聚类形式,用户可以灵活定制关注的学术方向
    • 缺点

      • 较难理解使用,有一定的学习门槛
      • 基于jdk6开发,目前缺少有力的维护,因此逐渐出现各种兼容性问题

最终发布一个带有可部署服务程序的web应用,可以在部署配置后为用户提供个人文献梳理的相关功能。

我们准备参考Overleaf和Gitlab的发布形式:既提供官方站点,使个人用户可以开袋即食而免去部署的繁琐步骤,帮助迅速建立用户社区;也提供必要的部署工具,使潜在的团体用户(高校、企业等)可以自行部署并灵活定制

在推广方式的选择上,由于我们的目标用户群体在高校圈内富集,可以借助推广邮件、代理人推荐等方式定向投送。

嗨,哥们儿,

你平时读论文的时候会划拉两笔吗?我们最近有个项目专门做文献脉络梳理和内容呈现,想象一下你能通过很简单的编辑就构建一个描述论文发展的树状图谱——对,类似你熟悉的思维导图,但它专门为文献阅读者的习惯做了细节优化,比如公式、代码和任何图片、音视频都可以以你熟悉的latex或markdown导入。下次组会试试看用我们的知识路书给老板做汇报,保证你成为全组最靓的仔。感兴趣的话上GitHub搜一下我们的开源项目:知识路书,欢迎使用,更期待你参与我们的项目!

ALPHA:预计用户量:50

BETA:预计用户量:300

RC:预计用户量:500