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



软件分析
1. 产品使用流程
Joplin 的使用流程如下:
-
安装与启动:
- 可在 Windows、macOS、Linux、Android 、iOS和 iPadOS 上安装,开源免费。
- 初次启动时可选择是否进行云同步。
-
创建和管理笔记:
- 可创建多个笔记本来分类管理。
- 支持富文本和 Markdown 编辑模式。
- 支持插入图片、附件、代码块。
-
同步与数据管理:
- 支持多种云存储(如 OneDrive、Dropbox、Nextcloud)。
- 提供端到端加密,保证数据安全。
- 可导入 Evernote(.enex)文件,方便迁移。
-
搜索与分类:
- 提供强大的全文搜索功能。
- 允许使用标签管理笔记,提高检索效率。
-
插件与扩展性:
- 支持第三方插件,拓展功能。
- 可自定义界面主题,提高个性化体验。
2. 需求满足情况
Joplin 非常适合开发者、研究人员、学生等需要结构化管理笔记的用户。其 Markdown 支持、离线使用和云同步能力满足了大多数笔记管理需求。
3. 评估维度
| 维度 | 优点 | 缺点 |
|---|---|---|
| 数据量 | 支持大规模笔记存储,数据可同步到云端 | 云同步速度取决于网络情况,可能会有延迟 |
| 界面 | 界面简洁,支持暗色模式,自定义主题 | UI 设计较传统,交互方式较为基础 |
| 功能 | Markdown 编辑、标签分类、加密、云同步、全文搜索 | 没有内置 AI 总结功能,插件支持较少 |
| 准确度 | 搜索功能精准,支持全文搜索 | 不能搜索图片内的文本(无 OCR) |
| 用户体验 | 操作流畅,无广告,支持跨平台,端到端加密保障安全 | 初学者需要时间适应 Markdown 语法,移动端体验不如桌面端 |
改进意见
- 优化 UI 设计:提升界面美观度,使其更加现代化,增强交互动画和响应式设计。
- 增强插件支持:增加第三方插件市场,允许用户自定义更多功能,如 AI 生成摘要、图表支持等。
- 支持 OCR 识别:增加对图片内文字的识别能力,提高搜索能力。
- 提升同步效率:优化同步机制,提高不同设备间的同步速度,减少延迟。
- 增强移动端体验:改进移动端的操作方式,如手势操作、快捷工具栏,以提升用户体验。
用户调研
采访对象背景
采访对象:吴际老师班同学
选择该对象的原因:
- 经常使用笔记软件,对比过不同产品(本次请他对比下Joplin和goodnotes)
- 对软件功能、用户体验有一定的分析能力。
TA 的需求:
- 需要一个能在多设备同步的笔记软件。
- 希望支持离线模式,保证无网络环境下也能使用。
采访内容

评测结论
综上,我对 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
可复现性及具体复现步骤:
- 可复现性:必然发生
- 复现步骤:
- 在 A 设备上编辑一个笔记并保存,点击同步
- 在 B 设备上同时编辑相同笔记并保存,点击同步
- 同步后,B设备冲突文件夹中出现冲突文件,但无法定位该文件来自哪个文件夹
Bug 具体情况描述:
-
冲突文件夹中没有标明来源:当发生同步冲突时,冲突文件会出现在冲突文件夹中,但没有明确标明该文件来自哪个文件夹(例如,缺少“来自 ✖️✖️✖️文件夹”或“✖️✖️✖️文件夹”的标记),这使得用户无法快速确定冲突的来源。
-
配图说明:

在冲突文件夹中的文件均是对本地文件修改并同步时,与云端的文件冲突,导致本地文件变成冲突文件保存在此,这些文件没有有效标识或链接能够快速定位所属原文件夹(若文件夹多的情况下)。
Bug 分析:
-
可能成因:
- 冲突文件缺乏来源标识:Joplin 在同步冲突发生时,未能在冲突文件夹中标明冲突文件来自哪个文件夹。
-
严重性分析:
- 系统功能:此 Bug 影响了冲突文件的管理和恢复。如果有多个冲突文件,并且文件夹嵌套十分多,很难在短时间内找到冲突的文件并进行对比分析。
- 安全性:此问题可能导致重要数据的丢失,若误删除冲突文件,可能使用户无法恢复重要内容。
- 用户体验:冲突文件夹缺乏来源标识,且设备间处理冲突的方式不同,给用户带来了混乱和困扰,影响用户使用体验。
-
星级:★★★☆☆
- 理由:此 Bug 会使工作效率变低(耗费大量时间去寻找原文件所在位置并且进行比对内容),更严重的话,在多人协作时可能出现冲突管理不当导致的重要数据丢失。
-
该bug可能是开发人员对用户需求掌握不好
改进建议
- 增加冲突文件夹标识:在冲突文件夹中的每个冲突文件旁边,加入一个来源标记,明确指示文件来自文件夹,并且用户只用通过点击就可进行比对冲突文件和云端文件内容。
- 冲突解决提示:当发生冲突时,除了文件放入冲突文件夹外,建议在设备上弹出提示,允许用户选择如何处理冲突(例如:保留本地更改或保留云端更改或暂不同步),以确保用户能明确控制冲突的解决方式。
Bug 2:笔记历史更新频率不稳定,且 iPad 端无法查看历史记录
测试环境
- 设备:
- A 设备:iPad(iPadOS 18.1)
- B 设备:MacBook(macOS 15.3.1)
- Joplin 版本:3.2.13
可复现性及具体复现步骤
-
可复现性:必然发生
-
复现步骤:
- 在A设备和B设备上在 Joplin 中打开一个笔记,并进行多次编辑(例如添加文本、修改内容)
- 保存笔记后,立即打开笔记历史
Bug 具体情况描述
配图


现象
- iPad 端无法查看历史记录:
- 在 iPad 设备上,即使笔记已经有多个历史版本,Joplin 仍然 不提供历史记录查看功能,导致 iPad 用户无法恢复过去的版本。
- 历史更新时间不稳定:
- Joplin 官网文档写的是 “每 10 分钟更新一次”,但在上图中,发现:
- 有时 3 分钟 就有新的历史版本
- 有时 超过 10 分钟 还没有新的历史记录
- Joplin 官网文档写的是 “每 10 分钟更新一次”,但在上图中,发现:
- 历史记录不同步:
- Mac 设备的历史记录和 iPad 设备的历史记录 不同步,即使两台设备都已经完成同步,iPad 仍然看不到 Mac 端已有的历史版本。
Bug 分析
-
可能成因
- iPad 端缺少历史记录功能
- 这可能是 Joplin 在 iPad 端 UI 设计时遗漏的功能,或者 iPad 端的数据库未存储历史数据。
- 历史记录的触发机制可能依赖用户操作
- 可能是 由用户操作触发的,例如当用户停止编辑后的一段时间,才会创建新的历史版本。
- 历史记录没有同步
- 这可能是 Joplin 为了节省同步流量而采取的策略,但 没有提供手动同步历史的选项,使用户无法主动获取历史数据。
- iPad 端缺少历史记录功能
-
严重性分析
-
1. 系统功能影响
历史记录功能的主要作用是防止误删和误修改,如果历史记录不准确或不可用,可能会影响数据恢复。 -
2. 安全性影响
该问题不会导致数据泄露,但可能引发数据覆盖或误恢复,特别是多端同步不一致时,可能让用户找不到正确的笔记版本,影响数据的安全性和一致性。 -
3. 用户体验影响
iPad 端无法访问历史记录会让移动端用户体验明显下降。此外,更新间隔不稳定导致用户无法确定能否找回丢失的内容,增加使用成本。
-
-
星级:★★★☆☆
- 理由:
iPad 端无法查看历史,影响用户数据恢复;历史记录更新时间不稳定,影响用户预期;跨设备历史不同步,降低了多端协作的可靠性。
- 理由:
改进建议
- 在 iPad 端实现历史记录查看功能
- 让 iPad 设备支持历史记录查看,确保所有设备都能访问历史版本,而不是仅限 Mac 或 Windows 端。
- 修正历史记录更新机制
- 提供一个明确的更新时间设置,而不是当前不稳定的 6-15 分钟随机更新机制。
- 允许用户选择 自动模式(10 分钟)或手动模式(立即保存历史),满足不同需求。
- 让历史记录支持多端同步
- 同步历史记录数据,确保所有设备上看到的历史版本一致。
- 在同步设置中增加“同步历史版本”选项,让用户自己决定是否同步历史记录,以避免同步负担过大。
三、分析
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,优化性能,发布新版本 |
浙公网安备 33010602011771号