【北航软件工程】[I.2]个人作业:软件案例分析

软件工程作业二:个人作业-软件案例分析

项目 内容
这个作业属于哪个课程 首页 - 2026年春季软件工程 - 北京航空航天大学 - 班级博客 - 博客园
这个作业的要求在哪里 [I.2] 个人作业:软件案例分析 - 作业 - 2026年春季软件工程 - 班级博客 - 博客园
我在这个课程的目标是 积累【当大模型不直接协助的】开发经验,提升自己的代码能力
这个作业在哪个具体方面帮助我实现目标 分析主流的文献管理软件,从用户体验的角度了解软件开发的重点和挑战,更深入的理解软件工程中”工程“二字的具体含义

〇、选题与基本信息

  • 分析软件名称:Zotero

  • 选题原因:最近正在用word写论文,论文中需要插入百余条参考文献,有大量整理文献的需求,直接在文中用“Zheng等人(2024)[50]"来标注非常不利于后续修改,任意增删一条文献将要对后面所有文献的序号进行修改,牵一发而动全身。然后,我向Gemini寻求帮助,他向我推荐了这款软件

    image-20260313144149832


一、调研,评测

1. 软件评测

(1)软件使用

  • 下载与安装

    在官网下载Zotero以及其浏览器插件

    image-20260313144557943
  • 安装后首次打开

    页面简洁,直接,有一种macOS的味道

    image-20260313144703385

  • 与word的协同功能

    • 参考文献批量导入

      结合开源网页工具 AnyStyle.io,它会利用算法把纯文本拆解成“作者、年份、标题、期刊”等字段。检查无误后,可导出为 BibTeX 等格式,方便直接导入 Zotero。

      以上两图分别是word纯文本以及导入后的效果

    • 在word中参考文献引用

      下载Zotero同时会下载一个word的插件

      image-20260313145701354

      将光标放到需要插入参考文献编号的地方,点击上方Add/Edit Citation,弹出以下界面

      image-20260313150540694

      可以通过多种方式检索需要的参考文献。

      所有文献插入完成之后,在文末点击Add/Edit Bibliography,即可生成参考文献列表,有多种格式可以选择,支持市面上所有主流格式。

  • 浏览器插件的应用

    打开某篇文献,点击该插件,即可将文献保存到特定文件夹。

    image-20260313150737945

    随后可以在应用里浏览文献,支持批注,翻译(需要下载插件)等功能

    image-20260313150943343

    • 丰富的免费插件库

      image-20260313151030019

      在该中文社区,有丰富的插件可供下载,包括翻译,集成GPT(可用于总结文献,询问相关问题等等),深色模式......

(2)软件分析

  • 基本流程
    1. 批量整理:利用 AnyStyle.io 将不规则的引文、网页整理成标准的 BibTeX 格式,批量导入 Zotero 知识库。
    2. 快速抓取:当阅读单篇文献时,直接点击浏览器插件“Zotero Connector”,一键提取知网或外文数据库上的标题、作者、摘要并将PDF附件自动下载入库。
    3. 高亮与阅读:在 Zotero 原生的标签页中双击打开文献阅读,利用内置阅读器进行高亮和笔记记录。
    4. 论文撰写:在 Word 写作过程中,通过 Zotero Word 插件在光标位置随时穿插引用,一键“Add/Edit Bibliography”自动生成并排版好百余条参考文献,随意增删均可自动对应序号,无需手动干预。
  • 需求解决
    Zotero 完美切中并解决了我的刚需:写论文时,面临海量的参考文献管理、交叉引用和繁琐格式调整的痛点。它把“牵一发而动全身”的手动文献序号更新,变成了后台全自动维护,极大程度地节省了机械劳动时间。
  • 优缺点分析
    • 数据量
      • 优势:本地管理能力极强,支持搭建无上限的多级知识树,轻松容纳数以万计的文献条目而不崩溃。
      • 劣势:官方提供的免费云同步空间仅有抠门的 300MB。面对动辄十几兆的PDF文件,如果不依靠 WebDAV 等第三方网盘服务做“曲线救国”,云空间几周之内就会全面告警,跨设备同步附件体验受直接影响。
    • 界面
      • 优势:界面十分克制且直观,没有多余的商业广告和花哨元素。
      • 劣势:受限于传统的“学术软件”架构,某些默认布局依然略显密闭拥挤;且若不通过外接插件,软件本身对沉浸式暗色模式的适配支持仍有瑕疵。
    • 功能
      • 优势:生态极其出众,可谓“文献管理界的VS Code”。凭借丰富的开源插件系统,用户可以为其注入无缝翻译、大模型总结、自动获取影响因子等各色神仙功能,Word和WPS的深度联动更是神来之笔。
      • 劣势:原生的“开箱即用”功能比较基础,高级操作多半需要用户具备一定的动手折腾能力去搜集配置各种插件。这种插件碎片化现象导致对技术小白的初始学习门槛偏高。
    • 准确度
      • 优势:在主流英文数据库(如 IEEE、ACM、Springer)或带有标准 DOI 的元数据抓取上,基本能达到99%的精确提取。
      • 劣势:但是!在arxiv.org中有bug(后续会提到)
    • 用户体验
      • 优势:开源免费不强制订阅(不被资本痛感裹挟),并且全平台覆盖(Windows、macOS、Linux、iOS)。它尊重用户数据的所有权,支持各种格式文件的灵活穿插管理。
      • 劣势:对edge浏览器的支持不如chrome等,抓取文献不够方便,但是大陆用户显然更倾向于使用edge浏览器

(3)改进意见

  • 优化服务器:避免经常无法翻译的问题,阅读体验急剧下降

  • 深化与Edge浏览器的官方适配:鉴于部分国内用户(尤其是教育网内)无法顺畅访问 Chrome 插件商店,Edge 作为 Windows 系统自带浏览器,其实具有天然的受众基础。Zotero 应该支持在edge浏览器中自动抓取pdf格式的论文,而非必须手动点开论文原文,再使用插件抓取。

(4)用户调研

​ 采访了两位曾经用过Zotero的同学,分别是wdq老师班上的chl同学,以及wj老师班的tzx同学

  1. 你平时写论文或整理科研资料时,主要使用哪些工具?

    C同学:整理科研资料方面,之前用过几天 Mendeley,但体验比较一般,现在主要用 Zotero 配合 Edge 浏览器看文章。然后写论文的话,写小论文用 Word,有时候会用到 LaTeX 结合 BibTeX 格式。

    T同学:我主要混用,阅读和做知识卡片偶尔会用 Obsidian,但是整理核心文献列表和导出参考文献必须用 Zotero。

  2. 作为一名本科生,你在文献阅读和引用排版过程中,最痛点或繁琐的步骤是什么?

    C同学:我觉得在引用和排版的时候,最繁琐的步骤就是为了满足要求,反复调整参考文献的格式。

    T同学:反复调整格式是很麻烦的一件事情!特别是导师或者外审给出降重增删意见时,中间塞进一条或者删掉一条,手工改全篇文献的序号简直就是灾难,非常容易漏掉或者找借口不改。

  3. 在使用 Zotero(或其浏览器抓取/Word插件)期间,让你觉得最出彩、最吸引你的功能是什么?

    C同学:批量导入 Zotero 这套流程。批量收割资料,阅读完之后,去直接在 Word 里点“Add Citation”就完成了,非常方便。

    T同学:肯定是 Word 的一键排版,还有它极其逆天的插件群。我装了翻译插件后连着知网和外联库抓取论文的效率翻了倍,比之前把 PDF 拖进老牌软件里强多了功能非常轻量开源。

  4. 你在日常管理文献的过程中,有没有遇到过让你头疼的 Bug 或操作不便捷的地方?

    C同学:我遇到的bug是好像有时候连机器翻译的接口断断续续的,不知道是网的问题还是服务器不稳定

    T同学:300MB 免费云空间!我才装了一学期的文献就报警容量不足了,后来逼不得已充了会员。

  5. 如果可以给 Zotero 开发组提一个直接影响你使用体验的建议,你希望优先改进哪里?

    C同学:优化的话,强烈建议优化一下zotero插件端在中国大陆的网络连通性和对 Edge 浏览器的原生支持

    T同学:把“插件市场”做在客户端里面。我不喜欢隔三差五去不同的GitHub 库里找更新。其次就是扩大一下免费存储额度,哪怕是给教育邮箱账号一点福利呢?

(5)评测结论


2. BUG分析

Bug 1:Edge 浏览器使用 Zotero 插件在 arXiv 抓取 PDF 失败或显示空白

  • 可复现性及具体复现步骤
    必然发生。
    复现步骤:
    1. 使用 Edge 浏览器打开 arXiv 的文献摘要页(例如:https://arxiv.org/abs/2503.14905)。
    2. 点击右上角 Zotero Connector 插件进行抓取,应用端虽然生成了文献条目,但无法正常打开正文进行阅读(仅保存了网页快照而遗漏PDF全文)。
    3. 若在网页中手动点击“View PDF”跳转至完整的 PDF 原始链接(如:https://arxiv.org/pdf/2503.14905),再次点击 Zotero 插件抓取。
    4. 回到 Zotero 客户端双击刚抓取的文献,打开后的内置阅读器呈现一片空白。
    5. 只有在原摘要页点击右侧的“HTML (experimental)”,进入实验性 HTML 页面后,方能成功让 Zotero 获取全文。
  • Bug 具体情况描述
    在学术界最主流的预印本平台 arXiv 抓取文献时,在 Edge 环境下无论是从摘要页还是原生 PDF 提供页(PDF viewer),Zotero 插件都无法顺利自动带回正确的本地 PDF 文件。抓取后的本地阅读器要么缺少附件只剩网页,要么双击附件时加载为没有任何内容的空白页。只有非常规的“HTML”模式才能生效。这证明了其在 Edge 的原生捕获逻辑存在致命缺失,并非开发者故意的功能。
    image-20260313170501209
  • Bug 分析
    • 可能成因:由于 Microsoft Edge 内置的 PDF 渲染引擎和沙盒机制较 Chrome 更严苛,且近期经常更新其自带附件查看器的架构,Zotero Connector 的 Translator(网页解析器)无法越权拿到 Edge 当前渲染上下文的数据流,导致提取失败。同时对摘要界面的抓取规则可能长时间未适配最新的 arXiv 前端框架。
    • 严重性量化指标及理由:评分:★★★★☆(严重影响用户体验与核心流程。虽然无安全性漏洞,但作为专业的文献管理器,无法一键收割计算机科学最核心的 arXiv 源文献全文,相当于自废武功了一半的工作流,打击了用户的信任)。
    • 未修复原因推测:测试把关不严、依赖于 Chrome Web Store 旧生态代码的套壳移植。开发人员在迭代插件时主要精力在适配 Chrome 等主流内核,而对大陆用户高频使用的 Edge 环境,以及 arXiv 新版的 DOM 树改动,缺乏及时的跨平台黑箱回归测试。
  • BUG 改进建议
    • 正常行为:在任一合法的文献摘要页或 PDF 页点击插件时,Zotero 应当在本地生成含有元信息(标题、作者、年份)以及关联了完整可读 PDF 文件的条目。
    • 可能实现途径:重构 arXiv.js 在 Connector 内部的抓取转换逻辑。增加检测:若处于 Edge 浏览器的 PDF Viewer 扩展中,尝试利用后备API或直接走源站 fetch 下载 PDF 二进制文件并存储,而不是在浏览器上下文内强行抓取内存文件。
  • Bug 反馈
    image-20260313170747955

Bug 2:双击“我的文库”触发网页 404 错误

  • 可复现性及具体复现步骤
    必然出现
    复现步骤:
    1. 打开 Zotero 软件客户端主界面。
    2. 在左侧的文献树形目录中,定位到最顶层的“我的文库”图标。
    3. 双击“我的文库”,软件会自动唤起默认浏览器,并尝试打开一个特定的内网 API 地址(例如:https://www.zotero.org/users/19909485/items)。
    4. 浏览器页面最终加载失败,显示“Page Not Found”的 Error 提示。
  • Bug 具体情况描述
    在左侧导航栏的交互逻辑中,双击用户自定义文件夹正常触发的是“重命名”操作,双击“我的出版物”等自带目录则等同于单击(无特殊操作)。但是,在双击最顶层的根目录“我的文库”时,客户端错误地调用了浏览器开启一个带参数配置的用户主页链接,且该后端的路由接口似乎已经失效(返回 Error: Page Not Found)。
    image-20260313173308453
    image-20260313181334657
  • Bug 分析
    • 可能成因:由于 Zotero 提供 Web 端同步功能,早期的快捷键或双击设计可能是希望允许用户通过双击“我的文库”一键跳转至 Zotero 网页版对应的个人云端库。但在后续的服务端版本迭代中,https://www.zotero.org/users/{id}/items 这个前端路由策略发生了变更,而本地客户端的双击事件绑定(Event Listener)代码并没有同步抹去或更新这一下沉接口,导致触发了死链。
    • 严重性量化指标及理由:评分:★☆☆☆☆(1颗星。属于轻微的用户体验瑕疵。该操作未导致程序崩溃且不涉及数据核心安全,用户关闭错误网页后仍可正常使用 Zotero)。
    • 未修复原因推测:开发人员粗心大意。由于“我的文库”节点最主要的操作是单击和展开,在日常灰度测试中,测试人员罕见对其执行“双击”事件,因此该界面的历史遗留死链监听未能被发现和清理。
  • BUG 改进建议
    • 正常行为:双击“我的文库”时,应该与双击其他不可重命名的系统文件夹逻辑一致,要么无任何特殊事件发生(屏蔽双击动作),要么是在右侧主视窗刷新列表内容。
    • 实现方式:在客户端左侧菜单树的前端渲染代码中,拦截并禁用针对根节点(ID: My Library)的双击跳转事件(dbclick);或者如果官方确实想保留网页端快捷入口,则需将 URL 变量更新为正确的网页版在线库路由。
  • Bug 反馈
    image-20260313181553453
    【更新】很快,收到了Zotero官方的回复!!
    alt text

二、分析

1. 工作量分析

  • 团队配置与时间估计
    假设有一支规模为6人的应届计算机毕业生团队(含前端、后端、测试等分工),并配有专业的兼职或专职 UI 设计师支持,要将一款从零起步的软件开发到当下 Zotero 8.0 这样集成了全平台客户端、复杂的浏览器插件联动(兼容 Chrome/Edge/Firefox 等多个浏览器等)、Word/WPS 深度嵌套插件以及庞大云端同步逻辑的程度,其工作量是极其夸张的。

    粗略时间预估:约 36-40 周(即8到10个月的密集开发期)

    • 前期筹备与架构设计(4周):确定多端同步架构方案,设计跨平台桌面端以及插件通讯协议,建立底层本地数据库模型。
    • 核心桌面端与数据库开发(10周):实现文献元数据的增删改查、PDF本地解析与阅读引擎、复杂的内部知识树目录、双向链接和笔记功能。
    • 浏览器插件及翻译器体系(10周):开发各浏览器通用插件架构,并为全球上万个学术网站编写、调试专属的 JS 解析器,这需要耗费大量的爬虫测试和逆向精力。
    • Word/WPS 联动插件开发(6周):实现复杂的 COM 组件操作或基于宏的联动,打通文本处理器 API,解析并在光标处动态渲染 CSL格式的引文。
    • 云同步系统与联调测试(6周):实现本地库到网盘/云库的秒级同步、防冲突合并逻辑,全平台灰度测试、Bug 修复及 UI 交互打磨优化。

2. 软件质量分析

  • 排名与优劣势比较
    在所有文献管理工具(如 EndNote、Mendeley、NoteExpress 等)中,我认为 Zotero 的综合质量位列第一梯队,甚至在年轻学者和开源爱好者群体中绝对排名第一

    对比维度 Zotero EndNote Mendeley NoteExpress
    核心价格 免费开源 需付费购买(较昂贵) 基础免费,高级扩容付费 商业收费(部分高校买断)
    跨端与抓取联动 极佳(全平台覆盖,网页插件极为丝滑) 一般(偏向桌面端本地深耕) 较好(但被 Elsevier 收购后体验变现) 一般(基本捆绑 Windows 平台)
    扩展与插件生态 极其繁荣(文献管理的 VS Code) 几乎无第三方民间插件 有限的支持 极其封闭,无插件生态
    上手门槛 中等(需自己探索第三方插件配置) 较高(界面古早,功能庞杂) 较低(现代 UI 开发) 较低(界面完全按照国人习惯)
    核心受众与场景 追求开源定制的理工生、全语种学者 SCI 严肃发文、大型长线科研团队 PDF文件在线协作与分享爱好者 重度依赖知网等国内网库的师生
  • 软件工程提高建议
    一个重要的具体切入点:大幅提高“破圈”宣发力度,向本科生及初级学者普及现代文献工作的优势。

    • 推理依据:如果不是我碰巧去向Gemini求援,我作为一个需要撰写科研论文的普通本科生,竟然完全不知道世界上还存在这类专门的“文献自动化管理软件”。在此之前,我一直是在电脑里新建文件夹存下载的 PDF,然后在 Word 里极其痛苦、低效地凭借肉眼一条条去改引用序号的,这种“手工本地管理”是对时间极大的浪费。Zotero 的功能设计极好,但在大众学生群体的心智占领上极其失败,宣发远远脱节于产品力。
    • 具体建议
      1. 直击痛点进行差异化宣传:Zotero 在其官网等公共展示部分,应当显著突出其相比于“本地手动存文献”的降维打击优势。可以通过醒目的短视频做痛点对比:左边是“学生在本地找丢失的PDF文件、手动改错Word序号被导师骂”,右边是“一键高亮批量带回全文、光标点击瞬间生成近百条不出错参考文献”。
      2. 深耕高校底层推广路线:在国内的 B 站 / 小红书 等平台投放“大四/研一毕业论文降维急救神器”等软文或短视频,将这套极其优秀的开源工程产品直接烙印为大学生的“装机必备”。

三、建议和规划

1. 市场现状

  • 市场概况
    根据QYResearch报告出版商调研统计,2025年全球文献管理软件市场销售额达到了29.1亿元,预计2032年将达到42.12亿元,年复合增长率(CAGR)为5.5%(2026-2032)。

    image-20260313180607912
    • 直接用户:全世界上千万的高校本硕博士生、高校科研团队及各领域的独立研究撰稿人。
    • 潜在用户:需要大量处理报告、专利和法律卷宗的企业分析师、律师体系以及即将面临毕业季的海量本科生群体。
  • 竞争产品
    目前国际市场上主要的对手有老牌商业巨头背书的 EndNoteMendeley,以及专注于中文化的 NoteExpress。另外,近年来一些新兴的泛笔记产品如 Obsidian、Notion 也在蚕食文献知识库管理的外围市场。

  • 产品定位

    • Zotero 处于竞争生态中的“开源+高拓展性”核心位置。相比于 EndNote 的昂贵费用和 Mendeley 背后的数据孤岛趋势,Zotero 通过自由免费的机制聚拢了极高粘性的学术极客。在当前竞争态势下,Zotero 不仅在高校学生群体中占优,还隐隐有成为学术界“开源基础设施”的态势。

2. 市场与产品生态

  • 核心用户群
    • 学历背景以本科、硕博、高校教师及科研机构人员为主。
    • 核心痛点(表面需求):极其厌恶“手改引用序号”,需要一个帮他们自动化搞定 CSL 格式引用的工具。
    • 潜在需求:能够在不同设备间无缝接力阅读文献,甚至希望能有个 AI 帮他们自动总结摘要。
  • 用户群体生态体系
    Zotero 拥有其他竞品无法比拟的“开发者-使用者”共生生态。计算机系的学生或程序员为了解决自身的某个科研痛点(如:需要翻译、需要获取被引量影响因子等),会开发小插件(如 Zotero IF、Jasumin 等);这些插件开源后,又极大反哺了那些不懂代码的文史哲及医学留学生。这种良性的知识闭环与互相引流是 Zotero 最宝贵的隐形资产。
  • 产品生态体系
    Zotero 早已不是孤立的产品,它成为了一个“连接中枢”。向上承接各类出版商网页数据的爬取,向下兼容 Word/WPS/LaTeX 提供文献注入输出。

3. 产品规划

  • 新功能设计(NABCD分析)
    如果要我作为新上任的项目经理,针对前文提及的 Bug 和用户调研的痛点,我设计的核心新功能为:内置官方认证插件市场
    • N (Need):小白用户不会从 GitHub 去寻找并手动离线安装 .xpi 格式的老旧插件;高级用户也头疼 Zotero 更新导致的插件大规模失效,他们需要一个稳定、安全、一键获取的一站式插件平台。
    • A (Approach):在 Zotero 客户端侧边栏新增“插件中心” Tab。该中心由官方建立沙盒验证机制,筛选通过稳定性测试的开源库插件。用户只需点击“Install”即可在线安装,无需翻找第三方网站。
    • B (Benefit):彻底抹平小白上手 Zotero 的学习门槛;提升了产品的安全性(防范恶意插件窃取本地文献);同时官方也能借此统合全球开发者的力量,形成真正的平台级应用商店。
    • C (Competitors):EndNote 没有插件生态;Mendeley 生态已死。所以如果 Zotero 走出这一步,将彻底甩开对手,确立“科研极客第一平台”的地位,这是类似 VS Code 降维打击其他文本编辑器的核心杀招。
    • D (Delivery):通过官方开发者社区发布内测版,邀请排名 Top 50 的 GitHub 插件作者优先将插件上架官方商店,随后在社交渠道(B站,Youtube, 小红书等)发布“Zotero 插件傻瓜化时代到来”的推广视频。
  • 角色配置
    对于 6 人团队、16周的开发周期
    • 1名 产品/项目经理(负责需求对接与进度排期)
    • 2名 后端开发(负责搭建官方插件中心服务器、API接口与安全审查沙盒)
    • 2名 客户端(前端)开发(负责 Zotero 在多端 UI 上的 Store 界面渲染与下载合并逻辑)
    • 1名 QA 测试兼运营(专职各类回归测试,联系开源社区头部插件作者沟通入驻)
  • 16周详细规划
    • 第1-2周(需求与架构期):分析用户需求,完成产品需求文档,确定 Zotero 客户端内置商店的前后端对接 API 协议及安全性沙盒隔离草案。
    • 第3-6周(前端重构与后端搭建):后端完成插件管理微服务及包文件上传、校验、存储框架;前端在客户端左侧植入“Store”独立浏览面板原型。
    • 第7-9周(核心联调与闭环测试):实现打通:从商店列表拉取插件详情 -> 一键无感下载 -> 动态重载注入软件底层 -> 安全鉴权。跑通这套底层业务逻辑闭环。
    • 第10-12周(生态冷启动与宣发):产品进入灰度测试。由测试跑查旧版主流插件库的兼容性;项目经理主动联络社区知名插件作者,提供对接指南,完成首批核心插件入驻。
    • 第13-14周(Bug 修复):集中修复测试期间暴露的问题,优化大量插件预载带来的内存泄露与启动卡顿异常。
    • 第15-16周(发布与运维):Zotero "Store" 升级包全频段正式推向主分支。观察线上崩溃率监控;启动B站及小红书的“新版体验宣发”预案。
posted @ 2026-03-13 19:12  iiFF  阅读(104)  评论(0)    收藏  举报