[I.2] 个人作业:软件案例分析
[I.2] 个人作业:软件案例分析
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 2026年春季软件工程 (北京航空航天大学 - 计算机学院) |
| 这个作业的要求在哪里 | [I.2] 个人作业:软件案例分析 |
| 我在这个课程的目标是 | 掌握现代软件工程的核心思想与实践方法,提升团队协作与项目管理能力 |
| 这个作业在哪个具体方面帮助我实现目标 | 通过软件案例分析、竞品对比与功能评测,培养产品思维、批判性思维与项目管理视角,加深对软件工程实践的认知 |
选题:Open source is FREE!(开源软件)
主分析对象:Joplin(开源笔记应用)
竞品对比:Standard Notes、Logseq(均为开源软件)
一、调研与评测
1.1 选题与使用场景
本次选择 开源软件 题目,主分析对象为 Joplin——一款支持 Markdown、多端同步的开源笔记应用,在 GitHub 上拥有 40k+ Star。竞品选择同为开源的 Standard Notes 与 Logseq 进行对比。
典型使用场景:课程笔记、代码片段整理、待办清单、跨设备同步复习。

1.2 软件使用流程(10~30 分钟体验)
使用 Joplin 桌面版(Windows)体验约 20 分钟,主要操作如下:
| 步骤 | 操作内容 |
|---|---|
| 1 | 创建新笔记,输入标题与 Markdown 正文,测试标题、列表、代码块 |
| 2 | 创建笔记本(文件夹)分类,将笔记拖拽归类 |
| 3 | 为笔记添加标签(#标签),在侧边栏按标签筛选 |
| 4 | 配置同步(Joplin Cloud / OneDrive / 本地文件夹),测试同步 |
| 5 | 使用待办(- [ ] 复选框),测试待办勾选与筛选 |
| 6 | 使用全局搜索,测试关键词、标签、笔记本组合搜索 |


1.3 产品分析:是否解决需求?优缺点是什么?
从「数据量、界面、功能、准确度、用户体验」五个维度评测 Joplin(1~5 分):
| 维度 | 评分 | 说明 |
|---|---|---|
| 数据量 | 4/5 | 支持大量笔记,本地存储无限制;同步受所选后端限制 |
| 界面 | 3.5/5 | 功能分区清晰,但默认主题偏朴素,需插件增强 |
| 功能 | 4.5/5 | Markdown、标签、待办、加密、多端同步完整;插件生态丰富 |
| 准确度 | 4/5 | 搜索与同步整体可靠,偶有同步冲突需手动处理 |
| 用户体验 | 3.5/5 | 学习曲线适中,对 Markdown 不熟者需适应;快捷键丰富 |
与竞品对比:
- Joplin vs Standard Notes:Joplin 功能更全、同步方案更灵活;Standard Notes 更注重隐私与极简。
- Joplin vs Logseq:Joplin 为传统文档式;Logseq 为大纲/双链式,适合知识图谱型用户。
1.4 改进意见
- 首次使用引导:新用户安装后缺少「创建第一本笔记本」「配置同步」的引导,建议增加简短向导。
- 冲突解决可视化:同步冲突时,当前仅提示「存在冲突」,建议提供并排 diff 或合并选项。
- 移动端编辑体验:移动端 Markdown 编辑不如桌面流畅,可增加快捷插入(标题、列表、链接)工具栏。
1.5 用户访谈(其他软工班同学)
被访者:我的高中同学王志刚,日常用笔记软件记录课程与实验。
选择理由:有笔记与代码整理需求,曾试用过 Joplin、Notion、Typora 等。
访谈要点:
- 需要支持 Markdown 和代码高亮,方便记录算法与命令
- 希望数据能本地存储或自建同步,不依赖单一云服务
- 认为 Joplin 功能够用,但界面「有点老气」,希望有更现代的皮肤
- 同步到 OneDrive 时曾遇到「冲突」提示,不清楚如何安全合并
1.6 评测结论与定量评分
定性结论:d) 好,不错
- 优点:功能完整、开源可审计、多端同步灵活、数据可完全自控
- 不足:界面偏朴素、同步冲突处理不够直观、移动端编辑体验有提升空间
定量评分(10 分制):
| 维度 | 权重 | 得分 | 说明 |
|---|---|---|---|
| 功能完整性 | 0.25 | 9 | Markdown、标签、待办、加密、同步齐全 |
| 数据安全与可控 | 0.20 | 9 | 本地优先、端到端加密、多后端同步 |
| 界面与易用性 | 0.20 | 7 | 清晰但偏朴素 |
| 同步稳定性 | 0.20 | 7.5 | 整体可靠,冲突处理待改进 |
| 扩展性 | 0.15 | 8 | 插件、主题、自定义 CSS |
加权总分 ≈ 8.1/10
1.7 Bug 分析(2 个功能性 Bug)
严重性量化标准:★ 轻微;★★ 偶发有替代;★★★ 影响关键流程;★★★★ 严重受阻;★★★★★ 核心不可用
Bug 1:同步后部分笔记的「更新时间」未正确刷新
| 项目 | 内容 |
|---|---|
| 测试环境 | Windows 11,Joplin 2.14.x;同步后端:Joplin Cloud / OneDrive |
| 复现步骤 | ① 在设备 A 编辑笔记并保存 ② 在设备 B 触发同步 ③ 设备 B 中该笔记内容已更新,但「更新时间」仍显示为旧时间 |
| 可复现性 | 约 15%~20%(10 次同步中约 2 次出现) |
| 现象 | 笔记列表按「更新时间」排序时,刚同步的笔记可能排在不正确位置 |
| 影响 | 用户难以通过「最近更新」快速定位刚修改的笔记 |
| 严重性 | ★★★☆☆(3 星) |
| 可能成因 | 同步时元数据(updated_time)与内容不同步更新;或客户端缓存未正确失效 |
| 改进建议 | 同步拉取笔记时,若内容有变更,应强制更新本地 updated_time 并刷新列表 |
Bug 2:在含大量标签的笔记中,标签输入框输入时卡顿
| 项目 | 内容 |
|---|---|
| 测试环境 | Windows 11,Joplin 2.14.x;笔记含 50+ 个标签 |
| 复现步骤 | ① 打开或创建含大量标签的笔记 ② 点击标签区域,输入新标签名 ③ 输入 2~3 个字符后,界面明显卡顿 0.5~2 秒 |
| 可复现性 | 必然发生(在满足「标签数量 > 30」时) |
| 现象 | 输入时 UI 冻结,输入法候选框延迟出现 |
| 影响 | 影响添加/编辑标签的效率,大标签量用户体验差 |
| 严重性 | ★★★☆☆(3 星) |
| 可能成因 | 每次输入触发全量标签列表过滤或重渲染,未做防抖/虚拟列表优化 |
| 改进建议 | 对标签输入做 debounce;或对标签列表做虚拟滚动,减少 DOM 节点数 |
Bug 未能提前修复的可能原因:测试未充分覆盖「多设备同步」「大标签量」等边界场景;开源项目依赖社区反馈,此类场景反馈较少。
二、分析:工作量与软件质量
2.1 工作量估计(6 人团队)
假设从零实现一个「Joplin 核心功能级别」的笔记应用(Markdown 编辑、笔记本/标签、本地存储、一种云同步、基础搜索):
| 角色 | 人数 | 周期 | 人周 |
|---|---|---|---|
| 产品/需求 | 1 | 16 周 | 16 |
| UI/UX | 1 | 8 周 | 8 |
| 桌面端(Electron) | 1 | 16 周 | 16 |
| 移动端 | 1 | 14 周 | 14 |
| 后端/同步服务 | 1 | 12 周 | 12 |
| 测试 | 1 | 12 周 | 12 |
总计 ≈ 78 人周,仅可做出 MVP。Joplin 实际历经多年迭代,插件、多同步后端、加密等模块工作量远超此估算。
2.2 软件质量与同类排名
在「开源 Markdown 笔记」类产品中:
- Joplin:前 2 名,功能完整、社区活跃、多端支持好
- Standard Notes:更偏隐私与极简,适合「少即是多」用户
- Logseq:大纲与双链特色鲜明,适合知识管理深度用户
可提升的软件工程方面:加强「同步与元数据一致性」「大数据量下的前端性能」的自动化测试与性能 profiling。
三、建议与规划(新任项目经理视角)
3.1 市场现状
市场概况
- 直接用户:需要跨设备、可自控数据的笔记用户(学生、开发者、知识工作者)
- 潜在用户:对隐私敏感、不愿依赖商业云服务的用户
- 规模:笔记应用市场庞大,开源细分市场虽小但增长稳定
竞争产品与态势
| 产品 | 定位 | 优势 |
|---|---|---|
| Joplin | 全功能开源笔记 | 功能全、同步灵活、数据自控 |
| Standard Notes | 极简加密笔记 | 隐私、跨端、订阅制扩展 |
| Logseq | 大纲/双链笔记 | 知识图谱、块引用、白板 |
3.2 市场与产品生态
核心用户:18~35 岁,学生或技术从业者,需要 Markdown、代码块、多端同步。
用户关系:可发展「模板分享」「插件市场」等社区生态,增强粘性。
子产品关系:Joplin Cloud(同步服务)、Joplin Server(自托管)可与主应用形成闭环。
3.3 产品规划:NABCD 分析
| 维度 | 内容 |
|---|---|
| N | 用户需要更直观的同步冲突解决、更流畅的大数据量体验 |
| A | 开发「同步冲突可视化合并」功能;对标签/搜索做性能优化 |
| B | 降低同步焦虑,提升重度用户满意度 |
| C | 竞品在冲突处理上同样薄弱,可形成差异化 |
| D | 通过 Release Notes、社区公告推广;鼓励用户反馈验证 |
3.4 16 周团队规划(6 人)
| 周次 | 内容 |
|---|---|
| 1~2 | 需求调研、竞品分析、技术方案(冲突合并 UI、性能优化方案) |
| 3~4 | 同步冲突合并功能设计与原型 |
| 5~8 | 开发冲突合并逻辑与 UI;标签输入 debounce 与虚拟列表 |
| 9~10 | 联调、同步场景测试、性能测试 |
| 11~12 | 内测(邀请 50~100 名社区用户) |
| 13~14 | 根据反馈修复 Bug、优化文案与引导 |
| 15~16 | 正式发布、撰写 Release Notes、社区宣传 |
四、总结
- 本文以 Joplin 为主分析对象,与 Standard Notes、Logseq 做了功能与体验对比。
- Joplin 在功能完整度、数据自控与多端同步上表现突出,在同步冲突处理与大数据量性能上仍有改进空间。
- 提出「同步冲突可视化合并」与「标签/搜索性能优化」作为优先改进方向,并给出 16 周实施规划。选择开源题目可向 Joplin 社区提交 Issue 或 PR,参与开源贡献。
浙公网安备 33010602011771号