Files
lexgo/docs/10-workload-estimate.md
T

8.0 KiB
Raw Blame History

generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Workload-Estimate wiki_url: https://git.ilapage.cn/OPC/lexgo/wiki/Workload-Estimate.- wiki_revision: 2c07708c1b6b90d6d8c0a94d6f6adfc7917518c9 synchronized_at: 2026-09-10T06:50:16Z

LexGo 开发工作量估算

估算口径

暂按两名熟悉 Go/Vue 的工程师、每人每周 5 个有效工作日、每日 8 小时计算。复用用户指定的 go-admin/go-admin-ui 管理底座、保留 Python NLP、首发英语、有可用测试语料和合法可用的词典;一个产品、单一 MySQL 8 数据库,无 SaaS/原生 App/全离线同步。MySQL 8 和管理端 go-admin 已获用户确认,其他估算条件尚待确认。

每项人日包含分析、实现、相关测试、评审修正和必要文档;不是纯编码时长。M4 只包含跨功能的额外稳定化,不重复计算各功能基础测试。日历周以两人能合理分工为前提,依赖、请假和确认等待会延长日历时间。AI 辅助未作为固定折扣,实际速度用 M0/M1 数据校准。

首版目标暂按 P0 范围;M2/M3 按选定的 P1/P2 能力补齐。27 种语言全部达到质量承诺、旧实例全量迁移和商业扩展不在基准总额内。

分阶段总量

阶段 人日 人时 两人日历周参考 前置与退出条件
M0 风险验证与方案定版 10~20 80~160 1~2 确认首发语言/底座/数据库;分词位置、查词、复习样例和阅读交互可行
M1 首个核心可用版 50~80 400~640 5~8 M0 通过;P0 学习闭环、隔离、幂等与基础恢复可验收
M2 主要功能补齐 30~50 240~400 3~5 M1 稳定;选定 P1 格式、练习、CSV、显示与管理补齐
M3 外部/语言专项 30~60 240~480 3~6 M1 接口稳定;选定集成与新增语言各有验收证据
M4 集中稳定化 20~40 160~320 2~4 前述目标范围完成;压测、恢复、升级和发布候选验证
首版 M0+M1 60~100 480~800 6~10 可用闭环,不是全部功能复刻
基准合计 M0~M4 140~250 1120~2000 14~25 选定范围覆盖,不承诺 27 语言完整对齐

两人周数由阶段人日除以 10 得到,是容量参考,不是通过资源排程求出的最早完工时间。单人相同工作量约 28~50 个有效工作周,尚未加入技能差异和等待。

M0、M1 可分配工作包

这是工作量拆解,不是已批准的实施计划。正式开工时按可独立测试/回退的边界细化单元工单,不机械地为每一行建父子层级。

包 范围与需求 人日 依赖 验收样例
W00 基线、语言、词典、token 定位、SRS 样例、阅读交互风险验证 10~20 D01~D07 的必要范围确认 样本文本可还原、点击定位正确;技术选择形成记录
W01 工程接入、身份与最小用户/全局管理 U01/A01/A02/A09 5~8 W00 普通用户不能访问管理 API;账号与偏好流程可用
W02 书库/章节/文本导入/分章选项/队列 U02/U04/U08/U09 7~11 W01 与数据契约 失败可见;相同任务重试不生成重复章节
W03 语言资源、分词集成、词典基础 A03/A04/U14 7~11 W00/W01,和 W02 契约对齐 语言安装状态正确;离线查词可用;错模型明确报错
W04 阅读器、主查询、词语短语、完成阅读 U10~U13/U16 12~19 W02/W03 划词与短语正确,跨章状态同步,重复完成不重复计数
W05 复习/基础词汇库/复习配置 U17/U19/A07 7~11 W04 的词条契约 固定时钟下到期、重学、等级与重复作答符合样例
W06 难度统计、目标日历、基础主题、响应式 U03/U21/U24/U25 6~10 W02/W04/W05 的事件契约 忽略/已知分开,事件统计一致,手机与键盘可操作
W07 首版集成、备份任务与恢复 A10/N01~N07 6~10 W01~W06 两账号闭环通过;空实例恢复后数据和文件抽样一致
W01~W07 合计 M1 50~80

W02/W03 可在契约确定后分工;W04 依赖它们的真实集成结果;W05 不宜在词条身份和状态语义未定时先冻结实现。无法通过简单增加人数消除这条依赖链。

后续阶段拆解

阶段 工作包 人日
M2 EPUB/网页/字幕文件导入与失败回退 9~15
M2 完整词汇 CSV、练习模式与过滤补齐 6~10
M2 查询形态、字体、TTS、主题、PWA 及本人数据维护 9~15
M2 词典格式、翻译服务配置与调用补齐 6~10
M3 Anki、YouTube、Jellyfin 选定连接方式与降级 12~24
M3 中日读音/汉字专项与选定新增语言验收 12~24
M3 专项集成回归、样例与使用说明 6~12
M4 压测、长文/大词典优化 7~14
M4 Worker 故障、升级/回退、完整恢复演练 7~14
M4 发布候选回归、交付文档和验收修正 6~12

新增功能在各阶段包含自身基础测试;发布候选回归仅覆盖组合与环境差异。原中文分析 M4 同时提到“迁移需求”,但没有定义旧数据范围;本表将全量迁移单列为条件增量,不隐含承诺在 20~40 人日内完成。

条件增量与重估点

变化 处理方式
旧实例全量迁移成为必需 先用虚构/获授权样本盘点和 dry-run,再估用户、章节、文件、状态与索引迁移;不把 CSV 工期当全量迁移
禁止 Python / 要求所有语言同等支持 M0 增加逐语言可行性与质量验证,重新估 NLP 工作;当前区间不适用
更换底座或数据库 在 W01 前解决兼容性;开工后切换需评估数据与接口返工
公开服务、多租户或收费 另立需求并估算安全、配额、审计及运维,不并入自托管基准
第三方字幕/翻译不稳定 按选定服务验证降级和成本,调整 M3 范围
团队人数/熟练度/有效投入不同 用实际可用人日重算日历时间,不线性承诺效率

如果需要预算预留,可对基准人日另加 20%:168~300 人日;该比例是管理假设,不是统计置信区间,也不包含新增范围。基准低/高值已经体现已知实现难度,不应再重复加入相同工作包。

进度记录方式

当前开发完成量为 0,文档准备不计作上述产品包已完成。本轮编写文档的实际工时未记录,不反推为已消耗人日。M0 后记录实际投入、遗漏项、语言/底座测试结果,再更新 M1~M4;每阶段结束按剩余范围重估。

管理端选型更新(2026-09-10)

用户指定本地 go-admin/go-admin-ui,替代早期 gin-vue-admin 推荐。W00 改为验证指定前后端 commit、工具链、MySQL 8 适配、认证与数据隔离;W01 在验证通过的配套版本上复用管理能力。不能仅因已选底座下调工作量:两套本地版本的构建、依赖与业务接入尚未实测。当前 60~100 人日首版及 140~250 人日总区间暂保留,M0 以实际结果重估,不把底座选择算作 W00 已完成。

学习端架构对估算的影响(2026-09-10)

学习端使用 create-vue 新建 Vue 3 + TypeScript + Vite 工程,独立于管理端 go-admin-ui。通用路由、状态和组件可复用成熟库,但阅读器、划词、短语、复习界面仍需定制;后端共用 go-admin 的通用能力并新增学习模块。学习端不是现成管理页面换皮,也不包含直接移植 LinguaCafe 前端的承诺。

W00 后续需验证双前端与共享后端的接口/身份衔接、学习端构建及阅读交互;W04 的自定义阅读器工作量不能因存在 go-admin-ui 而扣除。原人日区间暂保留为待重新评估的规划量级,待需求和 MVP 范围讨论后更新,不视为已确认排期。本轮只记录技术方案,未消耗这些产品工作包的实施进度。