ios-projects/docs/system-map/ios/review/05-业务能力归类审查.md

12 KiB
Raw Blame History

05 业务能力归类审查

审查对象:已有文档 03-C端业务能力初步清单.md 审查方法:先独立归类,再与文档比对


一、独立业务能力归类

基于代码扫描独立建立的业务能力清单:

能力 1账号注册与登录

  • 代码依据: Apple ID 登录LoginPage、会话恢复SplashScreen/AuthManager、Token 刷新APIClient、账号禁用/注销状态处理AccountStatusView
  • 用户目标: 使用 Apple ID 安全登录,会话自动恢复
  • 关联页面: P01, P03, P04, P05
  • 独立判定: 已存在,核心流程完整

能力 2新手引导与目标设定

  • 代码依据: WelcomePage → OnboardingPage → GoalSetupPage 流程
  • 用户目标: 首次使用时了解产品价值,设定个性化学习目标
  • 关联页面: P02, P06, P07, P26, P27
  • 独立判定: 已存在

能力 3个人资料维护

  • 代码依据: EditProfilePage头像/昵称/身份/方向/目标/简介)+ ProfileView查看
  • 用户目标: 维护个人档案信息
  • 关联页面: P23, P24
  • 独立判定: 已存在

能力 4知识库浏览与管理

  • 代码依据: LibraryHomeView列表/筛选/分页、LibraryDetailPage详情/排序/删除、CreateLibraryPage创建、DiscoverView公开库发现/订阅)
  • 用户目标: 创建、浏览、管理个人知识库,发现和订阅公开知识库
  • 关联页面: P12, P14, P15, P21
  • 独立判定: 已存在。部分功能未完成官方库筛选、KB 管理页、搜索逻辑)

能力 5知识点管理

  • 代码依据: LibraryDetailPage 知识点 Tab列表/排序/删除/批量操作、AddKnowledgePage手动/文件/图片添加、KnowledgeDetailPage查看、EditKnowledgePage编辑
  • 用户目标: 在知识库中增删改查知识点
  • 关联页面: P14, P16, P17, P18
  • 独立判定: 已存在。收藏 API 未支持、重命名/移动到文件夹为 TODO

能力 6资料上传与处理

  • 代码依据: ImportPage文件/相册/链接导入、ImportReviewPageAI 候选审批)
  • 用户目标: 将外部资料导入知识库,审核 AI 提取的知识点
  • 关联页面: P19, P20
  • 独立判定: 已存在

能力 7文档阅读

  • 代码依据: MaterialReaderView多格式渲染/位置恢复/标记已读、MaterialDetailView处理状态/元数据、QuickLook系统预览、ShareLink外部打开
  • 用户目标: 阅读学习资料,支持多种格式
  • 关联页面: P37, P38, S03
  • 独立判定: 已存在

能力 8阅读笔记

  • 代码依据: QuickNoteSheet创建笔记/自动锚点记录)
  • 用户目标: 在阅读过程中记笔记
  • 关联页面: S02
  • 独立判定: 已存在。本地存储UserDefaults未同步到服务端

能力 9阅读行为跟踪

  • 代码依据: ReadingRuntimeSessionManager + ReadingEventCollector + ReadingPositionStore
  • 用户目标: 自动记录阅读行为,用于分析
  • 关联页面: P37自动执行
  • 独立判定: 已存在

能力 10学习信息收集

  • 代码依据: LearningSessionView计时、MaterialReaderView阅读会话
  • 用户目标: 记录学习时长和阅读行为
  • 关联页面: P09, P37
  • 独立判定: 已存在。但 LearningSessionView 未发现 API 保存调用,需确认学习会话数据是否真正被收集

能力 11继续学习

  • 代码依据: StudyHomeView 优先级算法ContinueLearningResponse → MainAction.continueSession
  • 用户目标: 从上次中断处继续学习
  • 关联页面: P08
  • 独立判定: 已存在

能力 12AI 对话

  • 代码依据: AIChatPage流式对话/思考过程/多会话管理/范围限定)
  • 用户目标: 与 AI 进行学习相关对话
  • 关联页面: P30, S01
  • 独立判定: 已存在

能力 13题目与测验

  • 代码依据: QuizListView查看/生成、QuizTakerView作答/提交、QuizResultView结果/解析)
  • 用户目标: 通过测验检验学习效果
  • 关联页面: P34, P35, P36
  • 独立判定: 已存在

能力 14学习分析

  • 代码依据: AnalysisHomeView统计徽章/趋势图/连续统计/学习记录/推荐/薄弱点)
  • 用户目标: 查看学习数据分析和趋势
  • 关联页面: P22
  • 独立判定: 已存在。掌握度趋势图和每周活跃图为占位实现

能力 15主动回忆与 AI 反馈

  • 代码依据: ActiveRecallView → AIFeedbackPageView 链路
  • 用户目标: 主动输出知识,获得 AI 评估反馈
  • 关联页面: P11, P32, P31
  • 独立判定: 占位实现(全部使用硬编码数据)

能力 16间隔复习

  • 代码依据: ReviewCardView闪卡翻转/自评)
  • 用户目标: 基于间隔重复的闪卡复习
  • 关联页面: P10
  • 独立判定: 占位实现(硬编码数据,未接通 API

能力 17学习会话计时

  • 代码依据: LearningSessionView专注计时/暂停/结束/庆祝)
  • 用户目标: 记录专注学习时长
  • 关联页面: P09
  • 独立判定: 部分完成本地计时完成API 持久化待确认)

能力 18消息与通知

  • 代码依据: NotificationListView分组展示/已读标记、SettingsView通知开关
  • 用户目标: 接收系统通知,管理通知偏好
  • 关联页面: P28, P25
  • 独立判定: 已存在。通知开关存在绑定 bug

能力 19设置与应用偏好

  • 代码依据: SettingsView外观/语言/复习提醒/通知/存储/iCloud/退出登录)
  • 用户目标: 管理应用全局设置
  • 关联页面: P25, P26, P27
  • 独立判定: 已存在。合规页面入口缺失、设备管理未实现

能力 20帮助与反馈

  • 代码依据: FeedbackFormView类型选择/内容输入/提交)
  • 用户目标: 提交问题和建议
  • 关联页面: P29
  • 独立判定: 已存在

能力 21存储空间管理

  • 代码依据: ProfileView 存储空间展示 + SettingsView iCloud 同步开关
  • 用户目标: 了解和控制存储使用
  • 关联页面: P23, P25
  • 独立判定: 部分存在展示完成iCloud 同步待确认)

二、与已有文档的能力对比

完全一致的能力14 项)

序号 独立能力 文档能力 判定
1 账号注册与登录 1. 账号与用户 一致
2 新手引导与目标设定 2. 新手引导与目标设定 一致
3 知识库浏览与管理 3. 知识库管理 一致
4 知识点管理 4. 知识点管理 一致
5 资料上传与处理 5. 资料上传 一致
6 文档阅读 6. 文档阅读 一致
7 阅读笔记 7. 阅读笔记 一致
8 阅读行为跟踪 8. 阅读行为跟踪 一致
9 学习信息收集 9. 学习信息收集 一致
10 继续学习 10. 继续学习 一致
11 AI 对话 11. AI 对话 一致
12 题目与测验 14. 题目与测验 一致
13 帮助与反馈 20. 帮助与反馈 一致
14 设置与应用偏好 19. 设置与合规 基本一致

需要调整的能力6 项)

独立能力 文档对应 问题 建议
个人资料维护 合并入"1. 账号与用户" 文档将个人资料维护合并入账号与用户能力。独立判定认为这是可接受的归类,但边界稍显模糊。 可保持现状,或拆分出"个人资料维护"子能力
主动回忆与 AI 反馈 15. 主动回忆 + 12. AI 学习分析 文档将"主动回忆"和"AI 学习分析"分为两个独立能力。独立判定认为主动回忆 → AI 反馈是一个连续流程,不应强行拆分。 建议将"15. 主动回忆"与"12. AI 学习分析"合并为"主动回忆与 AI 反馈"
间隔复习 16. 间隔复习 一致
学习分析 13. 学习分析 一致
学习会话计时 无独立条目 文档将学习会话计时合并入"9. 学习信息收集"。独立判定认为学习会话计时是一个有独立 UI 的用户行为,宜作为独立能力或子能力。 建议在"学习信息收集"能力下明确标注"学习会话计时"子项
消息与通知 18. 消息与通知 一致
存储空间管理 合并入"17. 会员与额度" 文档将其归入"会员与额度"。独立判定认为当前代码中无会员/订阅/付费功能,命名为"会员与额度"不准确。 建议重命名为"存储与额度"或"存储空间管理"

文档有但未发现代码支持的能力1 项)

文档能力 判定 说明
17. 会员与额度 未发现会员/订阅相关代码 代码中无内购、订阅、付费墙、会员等级等实现。存储展示和 iCloud 同步开关存在,但被描述为"会员与额度"不准确。

三、能力归类质量检查

以技术模块命名检查

文档能力名 是否以技术模块命名 判定
账号与用户 通过
知识库管理 通过
阅读行为跟踪 边缘 偏技术,建议改为"阅读进度同步"或保持
AI 对话 通过
AI 学习分析 通过

闭环拆分过度/不足检查

文档能力 问题
主动回忆 + AI 学习分析 拆分过度。主动回忆提交 → AI 反馈是一个连续用户体验,不应分为两个能力
阅读行为跟踪 + 学习信息收集 边界模糊。两者都涉及数据收集,调用相同的底层 FFI 和 API
文档阅读 + 阅读笔记 + 阅读行为跟踪 三个能力高度耦合在 MaterialReaderView 中,是否过度拆分值得商榷

按页面名称命名检查

文档能力 是否直接使用页面名 判定
继续学习 StudyHomeView 的功能,非页面名) 通过
题目与测验 通过
主动回忆 是(与页面同名) 建议改为"主动回忆与 AI 评估"

四、文档业务能力依赖关系图审查

文档中的依赖关系图:

账号与用户
  └─ 新手引导与目标设定
       └─ 知识库管理
            ├─ 知识点管理
            ├─ 资料上传 → 文档阅读
            │    ├─ 阅读笔记
            │    └─ 阅读行为跟踪 → 学习信息收集
            └─ 题目与测验
       ├─ AI 对话
       ├─ 继续学习 → 主动回忆 / 间隔复习 / 文档阅读
       │    └─ AI 学习分析
       └─ 学习分析
            └─ AI 学习分析

审查意见:

  1. "AI 对话"应在"知识库管理"下有分支(知识库范围对话)。
  2. "AI 对话"也应在"文档阅读"下有分支(资料范围对话)。
  3. "题目与测验"应在"文档阅读"下有分支(从资料阅读触发解析后进入测验)。
  4. "阅读笔记"也应关联到"知识点管理"(知识点详情页有笔记入口)。
  5. "主动回忆 → AI 学习分析 → 间隔复习"应形成环路(分析后加入待巩固)。
  6. "学习分析"应在"学习信息收集"之后,而非独立于信息收集。

五、总体评估

评估维度 结果
能力数量合理度 20 项基本合理,建议合并"主动回忆"与"AI 学习分析"
能力命名准确度 17/20 准确1 个偏技术阅读行为跟踪1 个以页面命名主动回忆1 个不准确(会员与额度)
能力边界清晰度 阅读相关 3 个能力(文档阅读/阅读笔记/阅读行为跟踪)边界可讨论
依赖关系准确度 基本正确,若干分支缺失
遗漏能力 无重大遗漏,学习会话计时建议作为子能力标注

结论:业务能力归类文档整体合理,主要问题是"会员与额度"命名不准确(当前无会员功能)、"主动回忆"与"AI 学习分析"建议合并、依赖关系图缺少几个交叉引用。