将业务需求或产品描述转化为结构化需求报告,涵盖功能模块、非功能需求、架构约束及领域类型识别。
# Skill 1:需求分析 ## 功能概述 将模糊的业务需求、PRD或产品描述,转化为结构化的架构分析结果,包括功能模块清单、非功能需求、架构约束条件。 ## 输入与输出 | 项目 | 内容 | |------|------| | **输入** | 业务需求描述、PRD文档、产品描述文本 | | **输出** | 结构化需求分析报告(含功能清单、非功能需求、约束条件、领域类型) | ## 执行流程 ### Step 1:输入理解与清洗 - 读取用户输入的原始需求 - 区分"明确陈述"和"隐含假设" - 识别用户所在领域(平台级/尽调/合规/其他) ### Step 2:领域类型识别 根据输入内容判断所属领域,调整后续分析侧重点: | 领域类型 | 识别关键词 | 分析重点 | |---------|-----------|---------| | 平台级架构 | 平台、编排、市场、工作流、生态 | 模块化、扩展性、多租户 | | 尽职调查系统 | 尽调、审查、评估、报告、合规审查 | 流程管理、数据采集、报告生成 | | 合规系统 | 合规、监管、审批、审计、风险控制 | 审计追溯、权限管控、数据安全 | | 通用 | 无法明确归类的 | 全面覆盖各维度 | ### Step 3:功能模块提取 从需求中提取功能模块,按以下维度组织: - **模块名称**:简短且描述性强 - **功能描述**:该模块的核心职责 - **优先级**:P0(核心必选)/P1(重要可选)/P2(增强可选) - **依赖关系**:该模块依赖哪些其他模块 输出格式: ```markdown | 模块名称 | 功能描述 | 优先级 | 依赖关系 | |---------|---------|--------|---------| | 用户管理 | 用户注册、登录、权限管理 | P0 | 无 | | ... | ... | ... | ... | ``` ### Step 4:非功能需求提取 | 维度 | 典型问题 | |------|---------| | 性能 | 预期并发用户数、响应时间要求(P50/P95/P99)| | 可用性 | SLA要求、故障恢复时间(RTO/RPO)| | 安全性 | 认证方式、数据加密、合规要求 | | 可扩展性 | 未来用户增长预期、功能扩展计划 | | 可维护性 | 运维团队规模、部署频率 | | 数据量 | 数据规模预估、存储需求、增长预期 | > **注意**:若用户未明确给出某维度要求,标注为"待确认",并给出参考建议值。 ### Step 5:架构约束提取 从需求中识别显式和隐式的架构约束: | 约束类型 | 示例 | |---------|------| | 技术约束 | 必须使用Java技术栈、必须兼容现有系统 | | 业务约束 | 预算限制、上线时间、团队规模 | | 环境约束 | 私有部署、公有云、混合云、信创环境 | | 法规约束 | 数据本地化、行业合规要求(GDPR/等保等)| ### Step 6:输出需求分析报告 ```markdown # 需求分析报告 ## 1. 领域类型 - **识别结果**:[平台级/尽调/合规/通用] - **识别依据**:[简要说明] ## 2. 需求摘要 [用200字以内概括核心需求] ## 3. 功能模块清单 | 模块名称 | 功能描述 | 优先级 | 依赖关系 | |---------|---------|--------|---------| ## 4. 非功能需求 | 维度 | 要求 | 说明 | |------|------|------| | 性能 | ... | ... | | 可用性 | ... | ... | | 安全性 | ... | ... | | 可扩展性 | ... | ... | | 可维护性 | ... | ... | | 数据量 | ... | ... | ## 5. 架构约束 | 约束类型 | 约束内容 | 影响 | |---------|---------|------| | ... | ... | ... | ## 6. 待确认项 - [ ] 待确认项1 - [ ] 待确认项2 ``` ## 质量检查清单 - [ ] 功能模块是否完整覆盖需求? - [ ] 优先级标注是否合理? - [ ] 非功能需求是否覆盖6个维度? - [ ] 约束条件是否区分了显式和隐式? - [ ] 领域类型识别是否准确? - [ ] 待确认项是否明确标记?
don't have the plugin yet? install it then click "run inline in claude" again.