requirements-analysis
Version:
简化的需求分析MCP服务 - 基于AI软件工程(优化版)6步流程
197 lines (154 loc) • 6.97 kB
JavaScript
/**
* 测试完整的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);
}