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

项目 内容
这个作业属于哪个课程 2025年春季软件工程(罗杰、任健)
这个作业的要求在哪里 [I.2] 个人作业:软件案例分析
我在这个课程的目标是 综合应用软件工程知识,团队协作开发一个具备实际应用价值的软件,从需求分析、设计、开发到测试和部署,完整经历软件开发生命周期,提高工程实践能力。
这个作业在哪个具体方面帮助我实现目标 更好地理解软件开发的过程、技术选型、架构设计以及团队协作方式,培养软件工程思维,为以后的软件开发打好基础


一、软件的选择

我选择了开源笔记软件Joplin进行下面的分析。

二、软件评测

软件使用

image

image

image

软件分析

1. 产品使用流程

Joplin 的使用流程如下:

  1. 安装与启动

    • 可在 Windows、macOS、Linux、Android 、iOS和 iPadOS 上安装,开源免费。
    • 初次启动时可选择是否进行云同步。
  2. 创建和管理笔记

    • 可创建多个笔记本来分类管理。
    • 支持富文本和 Markdown 编辑模式。
    • 支持插入图片、附件、代码块。
  3. 同步与数据管理

    • 支持多种云存储(如 OneDrive、Dropbox、Nextcloud)。
    • 提供端到端加密,保证数据安全。
    • 可导入 Evernote(.enex)文件,方便迁移。
  4. 搜索与分类

    • 提供强大的全文搜索功能。
    • 允许使用标签管理笔记,提高检索效率。
  5. 插件与扩展性

    • 支持第三方插件,拓展功能。
    • 可自定义界面主题,提高个性化体验。

2. 需求满足情况

Joplin 非常适合开发者、研究人员、学生等需要结构化管理笔记的用户。其 Markdown 支持、离线使用和云同步能力满足了大多数笔记管理需求。

3. 评估维度

维度 优点 缺点
数据量 支持大规模笔记存储,数据可同步到云端 云同步速度取决于网络情况,可能会有延迟
界面 界面简洁,支持暗色模式,自定义主题 UI 设计较传统,交互方式较为基础
功能 Markdown 编辑、标签分类、加密、云同步、全文搜索 没有内置 AI 总结功能,插件支持较少
准确度 搜索功能精准,支持全文搜索 不能搜索图片内的文本(无 OCR)
用户体验 操作流畅,无广告,支持跨平台,端到端加密保障安全 初学者需要时间适应 Markdown 语法,移动端体验不如桌面端

改进意见

  1. 优化 UI 设计:提升界面美观度,使其更加现代化,增强交互动画和响应式设计。
  2. 增强插件支持:增加第三方插件市场,允许用户自定义更多功能,如 AI 生成摘要、图表支持等。
  3. 支持 OCR 识别:增加对图片内文字的识别能力,提高搜索能力。
  4. 提升同步效率:优化同步机制,提高不同设备间的同步速度,减少延迟。
  5. 增强移动端体验:改进移动端的操作方式,如手势操作、快捷工具栏,以提升用户体验。

用户调研

采访对象背景

采访对象:吴际老师班同学

选择该对象的原因:
- 经常使用笔记软件,对比过不同产品(本次请他对比下Joplin和goodnotes)
- 对软件功能、用户体验有一定的分析能力。
TA 的需求

  • 需要一个能在多设备同步的笔记软件。
  • 希望支持离线模式,保证无网络环境下也能使用。

采访内容

image

评测结论

综上,我对 Joplin 的评价是:d) 好,不错

Joplin 是一款功能强大、适合开发者和重度笔记用户的开源笔记软件。它的 Markdown 支持、端到端加密、跨平台同步能力使其在市场上具有独特的竞争力。对于需要一个无广告、可离线使用的高效笔记工具的用户而言,Joplin 是一个不错的选择。

然而,它仍有一些不足之处,例如 UI 设计较传统,交互不够直观,初学者的学习门槛较高。此外,移动端体验相对较弱,云同步的稳定性也有待提升。如果 Joplin 在未来的更新中能改进这些问题,并增加如 OCR 识别、AI 生成摘要等高级功能,它将成为更加全面的笔记管理工具。

三、BUG分析和提交

BUG可量化指标

  • ★★★★★:致命性问题,Bug 会严重影响系统的核心功能、安全性或用户体验,必须立刻解决。
  • ★★★★☆:严重问题,影响系统的关键部分或涉及数据安全,需尽快修复。
  • ★★★☆☆:较高影响,问题可能影响用户体验或系统稳定性,需要在合理时间内修复。
  • ★★☆☆☆:中等影响,问题对用户或系统的影响较小,但仍然需要修复,优先级较低。
  • ★☆☆☆☆:低影响问题,问题对系统和用户影响极小,可以在后期优化或忽略。

Bug 1:冲突文件夹中的文件未标明来自何处

测试环境:

  • 操作系统:
    • A 设备(iPadOS 18.1)
    • B 设备(macOS 15.3.1)
  • Joplin 版本:3.2.13

可复现性及具体复现步骤:

  • 可复现性:必然发生
  • 复现步骤
    1. 在 A 设备上编辑一个笔记并保存,点击同步
    2. 在 B 设备上同时编辑相同笔记并保存,点击同步
    3. 同步后,B设备冲突文件夹中出现冲突文件,但无法定位该文件来自哪个文件夹

Bug 具体情况描述:

  • 冲突文件夹中没有标明来源:当发生同步冲突时,冲突文件会出现在冲突文件夹中,但没有明确标明该文件来自哪个文件夹(例如,缺少“来自 ✖️✖️✖️文件夹”或“✖️✖️✖️文件夹”的标记),这使得用户无法快速确定冲突的来源。

  • 配图说明image
    在冲突文件夹中的文件均是对本地文件修改并同步时,与云端的文件冲突,导致本地文件变成冲突文件保存在此,这些文件没有有效标识或链接能够快速定位所属原文件夹(若文件夹多的情况下)。

Bug 分析:

  • 可能成因

    • 冲突文件缺乏来源标识:Joplin 在同步冲突发生时,未能在冲突文件夹中标明冲突文件来自哪个文件夹。
  • 严重性分析

    • 系统功能:此 Bug 影响了冲突文件的管理和恢复。如果有多个冲突文件,并且文件夹嵌套十分多,很难在短时间内找到冲突的文件并进行对比分析。
    • 安全性:此问题可能导致重要数据的丢失,若误删除冲突文件,可能使用户无法恢复重要内容。
    • 用户体验:冲突文件夹缺乏来源标识,且设备间处理冲突的方式不同,给用户带来了混乱和困扰,影响用户使用体验。
  • 星级:★★★☆☆

    • 理由:此 Bug 会使工作效率变低(耗费大量时间去寻找原文件所在位置并且进行比对内容),更严重的话,在多人协作时可能出现冲突管理不当导致的重要数据丢失。
  • 该bug可能是开发人员对用户需求掌握不好

改进建议

  • 增加冲突文件夹标识:在冲突文件夹中的每个冲突文件旁边,加入一个来源标记,明确指示文件来自文件夹,并且用户只用通过点击就可进行比对冲突文件和云端文件内容。
  • 冲突解决提示:当发生冲突时,除了文件放入冲突文件夹外,建议在设备上弹出提示,允许用户选择如何处理冲突(例如:保留本地更改或保留云端更改或暂不同步),以确保用户能明确控制冲突的解决方式。

Bug 2:笔记历史更新频率不稳定,且 iPad 端无法查看历史记录

测试环境

  • 设备
    • A 设备:iPad(iPadOS 18.1)
    • B 设备:MacBook(macOS 15.3.1)
  • Joplin 版本:3.2.13

可复现性及具体复现步骤

  • 可复现性:必然发生

  • 复现步骤

  1. 在A设备和B设备上在 Joplin 中打开一个笔记,并进行多次编辑(例如添加文本、修改内容)
  2. 保存笔记后,立即打开笔记历史

Bug 具体情况描述

配图

image
image

现象

  • iPad 端无法查看历史记录
    • 在 iPad 设备上,即使笔记已经有多个历史版本,Joplin 仍然 不提供历史记录查看功能,导致 iPad 用户无法恢复过去的版本。
  • 历史更新时间不稳定
    • Joplin 官网文档写的是 “每 10 分钟更新一次”,但在上图中,发现:
      • 有时 3 分钟 就有新的历史版本
      • 有时 超过 10 分钟 还没有新的历史记录
  • 历史记录不同步
    • Mac 设备的历史记录和 iPad 设备的历史记录 不同步,即使两台设备都已经完成同步,iPad 仍然看不到 Mac 端已有的历史版本。

Bug 分析

  • 可能成因

    1. iPad 端缺少历史记录功能
      • 这可能是 Joplin 在 iPad 端 UI 设计时遗漏的功能,或者 iPad 端的数据库未存储历史数据。
    2. 历史记录的触发机制可能依赖用户操作
      • 可能是 由用户操作触发的,例如当用户停止编辑后的一段时间,才会创建新的历史版本。
    3. 历史记录没有同步
      • 这可能是 Joplin 为了节省同步流量而采取的策略,但 没有提供手动同步历史的选项,使用户无法主动获取历史数据。
  • 严重性分析

    • 1. 系统功能影响
      历史记录功能的主要作用是防止误删和误修改,如果历史记录不准确或不可用,可能会影响数据恢复。

    • 2. 安全性影响
      该问题不会导致数据泄露,但可能引发数据覆盖或误恢复,特别是多端同步不一致时,可能让用户找不到正确的笔记版本,影响数据的安全性和一致性。

    • 3. 用户体验影响
      iPad 端无法访问历史记录会让移动端用户体验明显下降。此外,更新间隔不稳定导致用户无法确定能否找回丢失的内容,增加使用成本。

  • 星级:★★★☆☆

    • 理由
      iPad 端无法查看历史,影响用户数据恢复;历史记录更新时间不稳定,影响用户预期;跨设备历史不同步,降低了多端协作的可靠性。

改进建议

  1. 在 iPad 端实现历史记录查看功能
    • 让 iPad 设备支持历史记录查看,确保所有设备都能访问历史版本,而不是仅限 Mac 或 Windows 端。
  2. 修正历史记录更新机制
    • 提供一个明确的更新时间设置,而不是当前不稳定的 6-15 分钟随机更新机制。
    • 允许用户选择 自动模式(10 分钟)或手动模式(立即保存历史),满足不同需求。
  3. 让历史记录支持多端同步
    • 同步历史记录数据,确保所有设备上看到的历史版本一致。
    • 在同步设置中增加“同步历史版本”选项,让用户自己决定是否同步历史记录,以避免同步负担过大。

三、分析

1. 工作量分析

  • 估计时间:约 1 - 2年

2. 软件质量分析

优劣分析

维度 优点 缺点
Markdown 编辑 纯文本格式,支持插件扩展 无法直接支持复杂表格 & 画图
同步功能 支持多种云存储(WebDAV、OneDrive 等) 同步机制容易冲突,日志调试困难
加密安全 端到端加密(E2EE) 密钥管理较复杂,部分功能不支持加密
搜索功能 支持全文检索,插件可扩展 搜索速度较慢,不支持 AI 搜索
插件系统 开放 API,社区贡献度高 官方插件较少,部分插件兼容性差
跨平台支持 Windows / macOS / Linux / iOS / Android 移动端 UI 体验较差,某些设备同步不稳定
用户体验 轻量、无广告、开源自由 界面不够现代化,交互设计较老旧
  • Joplin综合下来可以排第四名(共五个产品)

改进方向

不同平台功能表现不一致 ,说明跨平台测试不充分。所以需要在软件测试方面进行改进。

  • 多端功能一致性检查:所有功能需在所有设备上测试,特别是 历史版本管理、冲突解决 等关键功能。
  • 模拟真实用户操作:定期邀请社区用户进行测试,收集不同设备上的真实数据。

四、建议与规划

1. 市场现状

市场规模

Joplin 主要面向个人知识管理、笔记记录、Markdown 编辑和多端同步的需求,市场主要有两类用户:

  • 直接用户(当前市场):大约 50 万至 100 万的活跃用户(根据 GitHub star 数量和各大论坛讨论情况估算)
  • 潜在用户(未来市场):全球有数亿 Markdown 用户、知识管理用户,Joplin 可拓展至学生、研究人员、程序员、自由职业者等更广泛的群体

竞争产品

Joplin 目前的主要竞争对手有:Evernote、Notion、Obsidian、GoodNotes

产品定位

竞争产品 价格 主要功能 优势 劣势
Joplin 免费 / 订阅制(Joplin Cloud) Markdown 笔记、跨设备同步、本地存储 开源、免费、支持多种云同步 UI/UX 体验一般、同步机制存在问题
Evernote 订阅制 富文本笔记、多端同步、OCR 界面友好、生态丰富 订阅价格高、同步机制复杂
Notion 订阅制/免费 数据库式笔记、团队协作 强大表格、多人协作 网络依赖严重、Markdown 支持较弱
Obsidian 订阅制/免费 本地存储、Markdown、双向链接 强大知识图谱、扩展插件丰富 需额外付费实现云同步
GoodNotes 订阅制 / 一次性购买 手写笔记、OCR 识别、多设备同步 适合手写用户、手写体验极佳、支持 PDF 批注 适用范围局限(手写优先)、Markdown 支持有限

2. 市场与产品生态

1. 核心用户群分析

Joplin 主要用户包括 程序员、研究人员、自由职业者,他们通常具备较高的技术水平,重视数据隐私和跨设备同步。典型需求包括 Markdown 编辑、离线笔记、隐私保护,而潜在需求涉及 OCR 搜索、AI 归档、多人协作

2. 用户生态关系

Joplin 用户之间存在紧密关联,程序员开发插件,研究人员反馈学术需求,自由职业者提出写作优化建议。可以通过 插件开发者社区、用户论坛、API 文档、订阅模式 进一步强化生态,提升用户粘性。

3.生态系统 & 相关产品

Joplin 的核心功能围绕 笔记、同步、隐私、安全 展开,并依赖 Joplin Server、Web Clipper、插件系统 形成完整生态。同时,它可与 Nextcloud(私有云同步)、Zotero(学术管理) 整合,增强竞争力。

3.产品规划

1.新功能

Joplin 目前的搜索功能较为基础,用户查找笔记时主要依赖手动输入关键词,缺乏智能推荐和模糊匹配。同时,标签系统虽然可以帮助整理笔记,但需要用户手动添加,使用门槛较高。因此,可以引入 AI 智能搜索与标签推荐 功能,以提升用户的搜索体验和知识管理效率。

NABCD 分析

维度 内容
N(Need,需求) 1. 现有搜索功能较弱,无法支持模糊匹配、同义词识别等智能搜索。
2. 标签系统需要手动添加,使用效率低,用户容易遗忘分类。
3. 笔记内容越来越多,查找旧笔记困难,需要更智能的检索方式。
A(Approach,方法) 1. 引入 AI 搜索:使用 NLP(自然语言处理)技术,实现模糊匹配、语义搜索、智能推荐相关笔记。
2. 自动标签推荐:基于笔记内容,AI 自动生成合适的标签,减少用户手动管理负担。
3. 增强搜索过滤:增加按时间、内容类型(Markdown、图片、PDF)筛选的功能。
B(Benefit,好处) 1. 提高搜索效率:即使用户输入不准确,也能快速找到相关笔记。
2. 减少手动整理成本:AI 自动推荐标签,降低用户整理笔记的难度。
3. 优化用户体验:结合 NLP 算法,提供更贴近用户思维的搜索方式。
C(Competitors,竞争) 1. Evernote:提供 OCR 搜索,但 AI 搜索功能较弱。
2. Obsidian:插件生态丰富,但搜索功能依赖社区插件,不够智能。
3. Notion:搜索速度快,但不具备 AI 语义分析能力。
D(Delivery,交付) 预计 16 周内 实现 MVP 版本,支持 AI 搜索、智能标签推荐,并在公测后优化体验。

2. 团队成员分工

角色 人数 主要任务
项目经理 1 人 负责产品规划、进度管理、协调开发 & 测试
后端开发 2 人 1 人负责 AI 搜索引擎,1 人负责标签推荐算法
前端开发 1 人 设计 & 实现搜索 UI、标签管理界面
测试工程师 1 人 负责 bug 追踪、自动化测试、性能优化
UX 设计师 1 人 负责用户交互设计,优化搜索 & 标签体验

3. 16 周的产品开发规划

周数 任务 目标
第 1-2 周 需求分析 & 技术选型 明确 AI 搜索的核心需求,评估 NLP 技术(如 OpenAI API、BERT)
第 3-4 周 架构设计 & 数据建模 设计搜索索引系统,优化笔记数据库结构
第 5-6 周 后端开发(搜索引擎) 开发智能搜索 API,支持模糊匹配、语义搜索
第 7-8 周 后端开发(标签推荐) 训练 AI 模型,自动生成笔记标签
第 9-10 周 前端 UI 设计 & 开发 设计智能搜索界面,增加 AI 推荐标签的交互
第 11-12 周 内测 & 反馈调整 内部测试,优化 AI 识别准确度
第 13-14 周 公测 & 用户反馈 开放 Beta 测试,收集真实用户数据
第 15-16 周 修复问题 & 正式发布 解决关键 bug,优化性能,发布新版本

posted on 2025-03-09 18:32  k6699k  阅读(99)  评论(0)    收藏  举报