软工[I.2] 个人作业:软件案例分析

项目 内容
这个作业属于哪个课程 2025年春季软件工程(罗杰、任健)
这个作业的要求在哪里 [I.2] 个人作业:软件案例分析
我在这个课程的目标是 学习软件工程的基础知识,了解软件开发的基本流程,开发出一款受人欢迎的软件
这个作业在哪个具体方面帮助我实现目标 分析成熟的软件,学习如何设计软件功能,如何规划软件开发流程

第零部分 选题

  • 选题类型:开源软件分析
  • 选择软件:Joplin,Evernote

第一部分 软件调研评测

软件评测

软件基本介绍

Joplin是一款轻量级开源笔记软件,它支持以Markdown的形式记录笔记,对笔记进行加密,以及在云上进行同步(Nextcloud/Dropbox/OneDrive/WebDAV)。该应用支持Windows、macOS、Linux、Android、iOS等系统,并可以直接在官网进行下载。

软件使用

以下为软件的初始页面,其中对于第一次使用的用户,软件提供了详尽的引导教程。
image
用户点击新建笔记后,可以在编辑界面内使用Markdown的格式编写笔记,并看到最终的实现结果,同时界面上的快捷栏允许用户快速调用Markdown的常用操作。
在传统的Markdown语法之外,Joplin还内置了许多新内容,包括但不限于数学公式,化学方程式,复选框,流程图,笔记注释等。
image
软件内置了画图功能,允许用户画图并将其插入到笔记中。
image
软件支持以多种方式导入笔记,并将其导出为各种类型的文件。
image
image
用户也可以选择将自己的笔记分享至网络上,与云端进行同步,以及与他人协作编辑笔记。
image
特别的,相较于传统的笔记软件,Joplin允许用户设置待办事项并更新待办事项状态,以辅助用户更好地完成工作。
image

软件分析

基本使用流程
  • 在官网进行下载安装
  • 阅读新用户指导手册,熟悉软件操作流程
  • 点击“新建笔记”,按照手册中的Markdown语法编写笔记,完成后将其导出为所需形式的文件
  • 用户可以使用Ctrl+S快捷键完成笔记的同步

总之,Joplin是一款功能十分完善的开源笔记软件。它在满足用户记录笔记的基本需求的同时,还提供了云端同步笔记,OCR文字识别(可在图片内搜索文字),自定义UI与Markdown渲染,插件安装与开发等高级功能,这些功能可以充分满足开发者的需求。

优缺点分析
维度 优点 缺点
数据量 本地使用数据库存储笔记,能支持上万条笔记的存储和索引,并支持将笔记同步到云端,保证存储不会丢失 数据量特别大的情况下查询速度可能变慢,同时存储大量图片附件时,同步速度受到本地网速影响
界面 界面简洁直观,同时支持通过CSS样式自定义整个UI 部分内容缺少提示,新用户上手有一定难度,同时部分UI不够现代化
功能 在Markdown编辑器之外提供了多种实用功能(标签系统,端到端加密等),同时允许用户通过安装插件对已有功能进行拓展,更符合开发者需求 部分功能较为复杂,不适合新手学习,同时某些复杂的Markdown功能可能需要插件支持
准确度 Markdown渲染准确度高,同时全文搜索功能允许用户精准匹配笔记内容 OCR文字识别功能在图片模糊时的准确度不足
用户体验 Joplin是一款开源且免费的软件,可以离线使用重要功能,性能优秀 有一定使用门槛,第一次接触时需要适应,缺少中文的用户引导

改进意见

  • 增加笔记自动清理功能,允许用户设置清理长时间不被使用的笔记,优化本地存储和索引效率
  • 提供更多可选的预设UI或自定义选项,让用户更加方便地配置界面
  • 提供更加完善的新手引导,包括插件安装等
  • 对OCR识别进行优化,提升在图片模糊的搜索准确度

用户调研

采访对象:22级魏同学(非本软工班)。
为什么采访:该同学在课程学习中有记录笔记的需求,有Joplin的使用经验,同时也使用过其他笔记软件。
采访对象需求:以便捷的方式记录笔记,能向笔记中插入图片,公式等多种内容。
采访记录:
image

评测结论

e) 非常推荐

Bug分析和提交

Bug评级

级别 严重性 描述 影响范围
⭐⭐⭐⭐⭐ 致命性 系统崩溃、数据丢失、致命安全漏洞 系统无法运行,可能造成严重数据泄露或安全风险
⭐⭐⭐⭐ 严重 系统功能受损、重要数据丢失 影响核心功能,大部分用户体验明显受损
⭐⭐⭐ 中等 某些功能异常、UI重大问题、性能严重下降 影响部分用户体验,但核心功能仍可使用
⭐⭐ 轻微 小型UIBug、某些功能偶发错误 影响有限,用户仍可正常使用软件
建议优化 文字拼写错误、轻微视觉问题 仅影响美观,对功能无影响

测试环境

操作系统:Windows11
软件版本:Joplin Windows桌面版3.2.13

bug分析

bug1:通过笔记本删除的笔记被单独恢复时无法再次被删除

可复现性:Windows桌面版必然触发。
bug描述与复现步骤:

  1. 新建笔记本,在该笔记本内新建笔记
  2. 删除笔记本,此时笔记本和笔记会出现在回收站内
  3. 在回收站内单独恢复笔记,此时右键点击该笔记,发现“删除笔记”按钮失效

以下三张图分别对应每一步的执行结果,可以看到最后一张图中,笔记不能以这种方法删除。
image
image
image
bug分析:

  • 可能成因:单独恢复笔记时,由于笔记没有所属的笔记本,导致无法删除。在进一步的测试中,恢复原所属笔记本后笔记可以被删除,这进一步证明了这种猜想。
  • 严重程度:轻微(⭐⭐),因为用户还可以在顶部"笔记"一栏删除笔记,该bug只轻微影响了功能。
  • 未修复原因:用户仍可通过其他方式删除笔记,该bug对实际功能的影响不大。

bug改进建议:修改前端删除笔记部分的判定逻辑,特别处理笔记无所属笔记本的情况

bug2:切换笔记导致操作无法撤销

可复现性:Windows桌面版必然触发。
bug描述与复现步骤(由于没有“撤销”按钮,本bug无配图,具体内容见这里):

  1. 在笔记内删除文本
  2. 切换至另外一份笔记
  3. 切换会原来的笔记
  4. 尝试撤销,发现无法撤销

bug分析:

  • 可能成因:切换至其他笔记后,原笔记的缓存被释放,导致记录的用户操作丢失
  • 严重程度:中等(⭐⭐⭐),因为操作记录的异常丢失会给用户带来一定不便
  • 未修复原因:该bug在2023年已经被反馈过一次,且被开发组认证为bug,推测未被修复的原因是该bug涉及内存管理部分,修复难度大

bug改进建议:修改内存管理模块,确保笔记的缓存内容在切换笔记时不会被释放。

第二部分 分析

工作量分析

在个人使用过程中,我认为Joplin主要由笔记编写与管理,搜索与过滤,云端同步,插件扩展等模块组成,在有专业UI支持的情况下,完成各个模块所需的工作量如表格所示:

模块 主要功能 所需时间
笔记编辑器 Markdown解析,附件管理,画图模块 4个月
数据存储 SQLite数据库管理 1.5个月
搜索 关键词匹配,OCR识别 3.5个月
云同步 OneDrive,Nextcloud等功能支持 3个月
插件拓展 插件市场,允许用户自定义插件 3个月
桌面端UI Windows/macOS/LinuxUI设计与美化 2个月
移动端移植 移动端功能移植,UI设计与美化 4个月

总时长为21个月,考虑到可能存在的bug修复与反馈,实际开发时间约为两年。

软件质量分析

其他常用的笔记软件包括Obsidian,Evernote,Standard Notes,Notion等。
优势:

  • Markdown功能强大:在原生Markdown编辑的基础上加入了数学公式,流程图绘制,代码高亮等多种功能,优于Evernote。
  • 开源与插件扩展:完全开源,用户可对软件进行定制,同时Joplin支持多种插件扩展,社区活跃,比Evernote,Notion,Standard Notes更加开放
  • 多平台同步:支持在OneDrive、Dropbox、Nextcloud等多个平台进行笔记同步,强于 Obsidian。
  • 数据存储:数据可完全存储在本地,无需依赖云服务,比Evernote,Notion更开放。

劣势:

  • 新手上手门槛高:软件复杂度高,插件管理不直观,比Evernote更难使用。
  • UI设计较粗糙:界面不够直观和现代化,不如Evernote和Obsidian直观。
  • 移动端体验较差:iOS和Android端体验一般,卡顿问题较多,不如Evernote。
  • 缺乏协作功能:主要是单人笔记应用,团队协作功能较弱,不如Notion

综上,我认为Joplin的质量在同类产品中的排名约为第二或第三。

建议和规划

市场现状

市场概况

Joplin作为一款开源笔记和待办事项管理软件,其市场主要面向需要高效笔记管理和跨平台同步的用户群体。随着数字化转型的加速,个人和企业对知识管理和任务管理的需求日益增长,Joplin的市场潜力较大。
目前Joplin的直接用户包括需要跨设备同步笔记和任务的学生和研究人员,中小型企业或团队,对开源社区感兴趣的人士和技术爱好者。其总用户数量难以精确统计,但其在多个平台的下载量和活跃度显示出其拥有数十万甚至上百万的直接用户。
潜在用户方面,笔记应用市场正处于快速增长阶段,随着更多用户寻求安全、灵活且功能强大的笔记解决方案,Joplin的潜在用户群体将进一步扩大。

竞品分析

以下是部分竞品,以及各自的优势、劣势与定位

产品名称 优势 劣势 定位
Evernote 用户基础庞大,生态系统完善 免费版功能受限 个人笔记、知识管理
Notion 界面美观,功能灵活,支持团队协作 学习曲线较陡,免费版功能有限 项目管理,团队协作
OneNote 免费使用,功能全面,与Office生态系统深度集成 界面较为传统,Markdown支持较弱 个人笔记,办公
Obsidian 数据完全本地存储,隐私性高,插件生态系统丰富 界面较为复杂,适合技术用户 研究笔记,技术开发

市场与产品生态

用户描述

Joplin的核心用户群主要由技术爱好者与开发者,学生与研究人员,小型团队组成,典型用户的特征如下:

  • 年龄和学历:这部分人年龄在20-35岁之间,大部分为本科生,研究生以及更高学历。
  • 专业:以理工科专业为主。
  • 爱好:热衷于知识管理,喜欢探索新技术,对开源社区感兴趣。
  • 表面需求:高效管理技术笔记、项目文档。
  • 潜在需求:对数据安全和软件高度可定制化的需求,以及对开放性和开源精神的追求。
用户群体关系

Joplin的用户群体之间存在紧密的关系,技术爱好者,研究人员与学生,小型团队共同构成了一个多元化的用户生态。

  • 技术爱好者与开发者是Joplin的核心用户群体之一,他们参与Joplin的插件开发与主题定制,为Joplin提供了丰富的插件和扩展功能,同时也吸引了更多技术用户加入。
  • 学生和研究人员通常需要高效的知识管理工具,他们通过技术爱好者提供的插件生态更好地使用Joplin的高级功能,为Joplin提供了稳定的用户基础。
  • 小型团队通常需要灵活的工具来管理项目,他们可以从技术用户那里获取定制化建议,为Joplin提供了多样化的使用场景。

综上所述,Joplin的开源特性使其能够吸引技术爱好者和开发者参与插件开发,形成一个活跃的插件生态系统。

产品规划

新增功能

目前Joplin的核心用户群中,学生,中小型团队对团队协作有较高的需求,例如与同学共享学习笔记等。Joplin虽然在个人笔记管理方面表现出色,但在团队协作方面功能较弱,而竞争对手如 Notion、Evernote已经提供了成熟的协作功能,因此考虑在软件中添加团队共享与编辑功能。以下是NACBD分析:

  • N(Need, 需求):现有用户中,教育团队需要共享文献资料,共同管理笔记;开发团队需要共同维护项目文档。
  • A(Approach, 方法):利用现有的同步框架如(WebDAV、Dropbox)实现数据同步,结合实时通信技术实现实时协作。
  • B(Benefit, 好处):团队成员可以实时协作,减少沟通成本,提高了工作效率。
  • C(Competitors, 竞争):目前主要竞争对手大多提供了团队协作功能,但免费版下功能受限,Joplin可以利用自身的开源特性,安全性和跨平台支持吸引更多用户。
  • D(Delivery, 推广):依托自身原有的广大用户群体,在Joplin官方社区,github等公布功能更新,在开发者大会上进行团队协作演示,邀请用户使用并分享使用体验。
角色配置

项目经理:1人
UI设计工程师:1人
前端开发工程师:1人
后端开发工程师:2人
测试工程师:1人

详细规划
周数 阶段 目标 任务
1 需求分析与设计 明确功能需求,制定产品需求文档 产品经理与团队讨论需求,UI设计师绘制初步原型
2 需求分析与设计 确定前后端技术栈,UI设计完成 开发团队确定技术方案,UI设计师完成最终原型
3-5 核心功能开发 基本框架搭建完成 后端开发人员完成共享笔记,权限管理模块,前端开发人员搭建实时协作界面框架
6-8 核心功能开发 功能进一步完善 前端开发人员完成实时协作功能的界面和交互逻辑,后端开发人员添加端到端加密模块,测试人员编写测试用例
9-11 核心功能开发 完成跨平台适配 前后端开发人员完成跨平台移植,测试人员进行模块测试
12-13 测试与优化 完成所有测试,同时优化相关性能 测试人员进行整体功能测试,性能测试和跨平台兼容性测试,开发人员修复bug,优化性能和安全性,UI工程师进一步优化用户体验
14-15 用户测试 发布原始版本,收集用户反馈,修复测试中的关键问题 开发人员修复bug,测试人员进行验证,产品经理评审测试结果
16 正式发布与推广 正式发布与推广 开发团队发布最终版本到各大平台,产品经理启动推广计划
posted @ 2025-03-14 00:29  xx32767xx  阅读(56)  评论(0)    收藏  举报