UNPKG

requirements-analysis

Version:

简化的需求分析MCP服务 - 基于AI软件工程(优化版)6步流程

197 lines (154 loc) 6.97 kB
#!/usr/bin/env node /** * 测试完整的MCP调用流程 * 模拟真实的MCP工具调用 */ const { RequirementsAnalysisServer } = require('./dist/index.js'); const fs = require('fs').promises; const path = require('path'); async function testMCPFlow() { console.log('🧪 测试完整的MCP调用流程'); const server = new RequirementsAnalysisServer(); try { // 1. 直接调用startRequirementsAnalysisForTest方法 console.log('\n📋 启动需求分析...'); const startArgs = { projectName: "MCP流程测试项目", projectType: "new", industry: "金融科技", background: "当前系统缺乏完整的需求分析流程,需要建立标准化的需求分析方法,确保项目需求的完整性和准确性,提升开发效率和质量", objectives: "建立完整的需求分析流程,提升需求文档质量,确保开发团队能够准确理解和实现业务需求,降低项目风险和返工成本", budget: "50万", timeline: "3个月", teamSize: "5人", deployment: "cloud" }; const startResult = await server.startRequirementsAnalysisForTest(startArgs); console.log('✅ 需求分析启动成功'); const sessionId = startResult.sessionId; console.log('📝 会话ID:', sessionId); // 2. 直接调用executeStep方法执行第1步 console.log('\n📝 执行第1步...'); const step1Result = `=== 标准化项目信息 === 【项目基本信息】 - 项目名称:MCP流程测试项目(经验证,名称明确具体,符合项目命名规范) - 项目类型:新建系统(符合当前业务发展阶段和技术成熟度) - 所属行业:金融科技(目标市场明确,技术需求匹配度高) - 项目背景:当前系统缺乏完整的需求分析流程,需要建立标准化的需求分析方法 - 核心目标:建立完整的需求分析流程,提升需求文档质量,确保开发团队能够准确理解和实现业务需求 【约束条件】 - 项目预算:50万(预算合理,符合同类项目投入水平) - 项目周期:3个月(时间安排紧凑但可行,建议分阶段实施) - 团队规模:5人(团队规模适中,技能配置需要优化) - 部署要求:云端部署(符合现代化部署趋势) - 特殊要求:无 【验证结果】 - 信息完整度:95%(信息齐全,目标明确) - 目标明确度:高(目标量化清晰,可衡量性强) - 可行性评估:高(技术成熟,市场需求明确) - 风险等级:中(主要风险在于团队技能匹配和时间管控) 【后续建议】 1. 建议明确团队成员的技能要求和分工 2. 建议制定详细的里程碑计划和风险控制措施 3. 建议与相关业务部门建立定期沟通机制 === 验证完成 ===`; await server.executeStep(sessionId, 1, step1Result); console.log('✅ 第1步执行成功'); // 3. 检查文档是否保存 console.log('\n📁 检查第1步文档保存情况...'); const outputDir = path.join('outputs', 'MCP流程测试项目'); try { const files = await fs.readdir(outputDir); console.log('📂 输出目录内容:', files); const step1File = files.find(f => f.startsWith('step1-')); if (step1File) { console.log('✅ 第1步文档已保存:', step1File); const filePath = path.join(outputDir, step1File); const content = await fs.readFile(filePath, 'utf-8'); console.log('📄 文档内容长度:', content.length, '字符'); console.log('📄 文档开头:', content.substring(0, 150) + '...'); } else { console.log('❌ 第1步文档未找到'); console.log('📂 可用文件:', files); } } catch (error) { console.log('❌ 无法读取输出目录:', error.message); } // 4. 执行第2步 console.log('\n📝 执行第2步...'); const step2Result = `# AI智能分析项目全貌 ## 1. 行业背景分析 金融科技行业正处于快速发展期,数字化转型需求强烈。需求分析作为项目成功的关键环节,其标准化和自动化程度直接影响项目质量和效率。当前行业痛点包括需求变更频繁、文档质量参差不齐、团队理解偏差等问题。 ## 2. 用户需求分析 **主要用户群体**: - 业务分析师:需要高效的需求收集和整理工具 - 项目经理:需要清晰的需求追溯和变更管理 - 开发团队:需要准确易懂的需求文档 - 测试团队:需要明确的验收标准 **核心需求场景**: - 需求收集和初步整理 - 需求分析和深度挖掘 - 需求文档生成和维护 - 需求质量评估和改进 ## 3. 技术环境分析 **推荐技术栈**: - 前端:Vue3 + TypeScript + Element Plus - 后端:Node.js + Express + TypeScript - 数据库:PostgreSQL + Redis - 部署:Docker + Kubernetes + 云原生架构 **技术可行性**:高度可行,技术栈成熟稳定,团队技能匹配度良好。 ## 4. 功能规划建议 **核心功能模块**: 1. 需求收集模块(P0) 2. 智能分析模块(P0) 3. 文档生成模块(P0) 4. 质量评估模块(P1) 5. 协作管理模块(P1) 6. 数据统计模块(P2) **实施优先级**:先实现核心的需求分析流程,再逐步完善协作和统计功能。 ## 5. 实施建议 **分阶段策略**: - 第一阶段(1个月):基础需求分析流程 - 第二阶段(1个月):质量评估和改进功能 - 第三阶段(1个月):协作功能和系统优化 **关键成功因素**: - 团队技能培训和知识转移 - 与业务部门的紧密协作 - 持续的用户反馈和迭代优化 ## 6. 商业价值分析 **预期ROI**:200%,投资回收期12个月 **主要价值**: - 提升需求分析效率50% - 降低需求变更成本30% - 提高项目成功率20% - 增强团队协作效率40% **竞争优势**: - 标准化的分析流程 - 智能化的质量评估 - 完整的追溯体系`; await server.executeStep(sessionId, 2, step2Result); console.log('✅ 第2步执行成功'); // 5. 再次检查文档 console.log('\n📁 检查第2步文档保存情况...'); try { const files = await fs.readdir(outputDir); console.log('📂 输出目录内容:', files); const step2File = files.find(f => f.startsWith('step2-')); if (step2File) { console.log('✅ 第2步文档已保存:', step2File); } else { console.log('❌ 第2步文档未找到'); } } catch (error) { console.log('❌ 无法读取输出目录:', error.message); } console.log('\n🎉 MCP流程测试完成'); } catch (error) { console.error('\n❌ 测试失败:', error.message); console.error('错误详情:', error); } } // 运行测试 if (require.main === module) { testMCPFlow().catch(console.error); }