refactor: 重构/prompt/目录为/resource/ - 更符合资源引用协议语义
- 重命名核心目录: /prompt/ → /resource/ - 更新PackageDiscovery中所有硬编码路径引用 - 重新生成package.registry.json,61个资源全部更新为@package://resource/路径 - 批量更新文档中的路径引用,保持一致性 - 目录结构保持不变:domain/, core/, protocol/, tool/子目录结构完全一致 重构原因: 随着tool协议的加入,prompt目录名称不再准确描述系统本质 重构价值: 为未来资源生态扩展奠定清晰的命名基础 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -0,0 +1,63 @@
|
||||
<execution>
|
||||
<process>
|
||||
# 代码质量管理流程
|
||||
|
||||
## 1. 代码规范制定
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[团队编码规范制定] --> B[代码格式化配置]
|
||||
B --> C[静态代码分析工具配置]
|
||||
C --> D[代码审查流程建立]
|
||||
D --> E[质量门禁设置]
|
||||
E --> F[持续集成集成]
|
||||
```
|
||||
|
||||
## 2. 代码审查流程
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[代码提交] --> B[自动化检查]
|
||||
B --> C{检查通过?}
|
||||
C -->|是| D[人工代码审查]
|
||||
C -->|否| E[修复问题]
|
||||
E --> A
|
||||
D --> F{审查通过?}
|
||||
F -->|是| G[合并代码]
|
||||
F -->|否| H[修改建议]
|
||||
H --> E
|
||||
```
|
||||
</process>
|
||||
|
||||
<guideline>
|
||||
# 代码质量最佳实践
|
||||
|
||||
## 编码规范
|
||||
- **命名约定**:使用有意义的变量名和方法名
|
||||
- **代码格式**:统一使用代码格式化工具
|
||||
- **注释规范**:关键逻辑必须有清晰的注释
|
||||
- **方法长度**:单个方法不超过50行代码
|
||||
|
||||
## 代码结构
|
||||
- **单一职责**:每个类和方法只负责一个职责
|
||||
- **依赖管理**:合理管理类之间的依赖关系
|
||||
- **设计模式**:恰当使用设计模式解决问题
|
||||
- **重构意识**:定期重构消除代码坏味道
|
||||
</guideline>
|
||||
|
||||
<rule>
|
||||
# 代码质量强制要求
|
||||
|
||||
1. **代码覆盖率**:单元测试覆盖率不低于80%
|
||||
2. **复杂度控制**:圈复杂度不超过10
|
||||
3. **重复代码**:重复代码率不超过3%
|
||||
4. **技术债务**:每个迭代必须分配时间处理技术债务
|
||||
</rule>
|
||||
|
||||
<criteria>
|
||||
# 代码质量评价标准
|
||||
|
||||
- ✅ **可读性良好**:代码清晰易懂
|
||||
- ✅ **可维护性强**:易于修改和扩展
|
||||
- ✅ **性能表现佳**:无明显性能问题
|
||||
- ✅ **安全性高**:无安全漏洞
|
||||
</criteria>
|
||||
</execution>
|
||||
@ -0,0 +1,154 @@
|
||||
<execution>
|
||||
<process>
|
||||
# 数据库设计流程
|
||||
|
||||
## 1. 需求分析与概念设计
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[业务需求分析] --> B[数据需求收集]
|
||||
B --> C[实体识别]
|
||||
C --> D[关系建模]
|
||||
D --> E[概念模型设计]
|
||||
E --> F[业务规则定义]
|
||||
```
|
||||
|
||||
## 2. 逻辑设计与物理设计
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[逻辑模型设计] --> B[规范化处理]
|
||||
B --> C[表结构设计]
|
||||
C --> D[索引设计]
|
||||
D --> E[约束定义]
|
||||
E --> F[分区策略]
|
||||
F --> G[性能优化]
|
||||
```
|
||||
|
||||
## 3. 数据库实施与维护
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[数据库创建] --> B[初始数据导入]
|
||||
B --> C[权限配置]
|
||||
C --> D[备份策略]
|
||||
D --> E[监控配置]
|
||||
E --> F[维护计划]
|
||||
```
|
||||
</process>
|
||||
|
||||
<guideline>
|
||||
# 数据库设计最佳实践
|
||||
|
||||
## 设计原则
|
||||
- **范式化设计**:遵循数据库范式,减少数据冗余
|
||||
- **性能考虑**:在规范化和性能之间找到平衡
|
||||
- **可扩展性**:设计时考虑未来的扩展需求
|
||||
- **一致性保证**:确保数据的完整性和一致性
|
||||
|
||||
## 命名规范
|
||||
- **表名**:使用复数形式,如users、orders
|
||||
- **字段名**:使用下划线分隔,如user_id、created_at
|
||||
- **索引名**:使用idx_前缀,如idx_user_email
|
||||
- **约束名**:使用有意义的名称,如fk_order_user_id
|
||||
|
||||
## 索引策略
|
||||
- **主键索引**:每个表必须有主键
|
||||
- **外键索引**:为所有外键创建索引
|
||||
- **查询优化**:为常用查询条件创建复合索引
|
||||
- **唯一约束**:为唯一性要求创建唯一索引
|
||||
|
||||
## 数据类型选择
|
||||
- **整数类型**:根据数值范围选择合适的整数类型
|
||||
- **字符串类型**:VARCHAR vs CHAR的选择原则
|
||||
- **日期时间**:统一使用DATETIME或TIMESTAMP
|
||||
- **JSON类型**:合理使用JSON字段存储非结构化数据
|
||||
</guideline>
|
||||
|
||||
<rule>
|
||||
# 数据库设计强制规则
|
||||
|
||||
## 表设计要求
|
||||
1. **主键必须**:每个表都必须有主键
|
||||
2. **字段非空**:合理设置字段的非空约束
|
||||
3. **数据类型**:选择合适的数据类型和长度
|
||||
4. **默认值**:为可选字段设置合理的默认值
|
||||
|
||||
## 性能要求
|
||||
1. **索引覆盖**:核心查询必须有对应的索引
|
||||
2. **查询时间**:单表查询时间不超过100ms
|
||||
3. **并发支持**:支持预期的并发读写操作
|
||||
4. **存储优化**:合理使用存储引擎特性
|
||||
|
||||
## 安全要求
|
||||
1. **权限控制**:实施最小权限原则
|
||||
2. **敏感数据**:敏感字段必须加密存储
|
||||
3. **审计日志**:重要操作必须记录审计日志
|
||||
4. **备份恢复**:制定完整的备份恢复策略
|
||||
|
||||
## 规范要求
|
||||
1. **命名一致性**:严格遵循命名规范
|
||||
2. **文档完整**:数据库设计文档必须完整
|
||||
3. **版本控制**:数据库变更必须有版本控制
|
||||
4. **变更审批**:结构变更必须经过审批流程
|
||||
</rule>
|
||||
|
||||
<constraint>
|
||||
# 数据库约束条件
|
||||
|
||||
## 技术约束
|
||||
- **数据库版本**:使用稳定的数据库版本
|
||||
- **存储限制**:考虑存储容量和成本限制
|
||||
- **备份窗口**:在业务允许的时间窗口内完成备份
|
||||
- **维护时间**:数据库维护不能影响业务运行
|
||||
|
||||
## 业务约束
|
||||
- **数据保留**:遵循数据保留政策
|
||||
- **合规要求**:满足数据保护法规要求
|
||||
- **性能指标**:达到业务要求的性能指标
|
||||
- **可用性要求**:满足业务连续性要求
|
||||
|
||||
## 运维约束
|
||||
- **监控能力**:数据库运行状态必须可监控
|
||||
- **告警机制**:关键指标超阈值必须告警
|
||||
- **自动化程度**:日常维护任务尽量自动化
|
||||
- **故障恢复**:具备快速故障恢复能力
|
||||
|
||||
## 扩展约束
|
||||
- **水平扩展**:设计支持分库分表的扩展方案
|
||||
- **读写分离**:支持读写分离架构
|
||||
- **缓存集成**:与缓存系统良好集成
|
||||
- **数据迁移**:支持平滑的数据迁移
|
||||
</constraint>
|
||||
|
||||
<criteria>
|
||||
# 数据库设计质量标准
|
||||
|
||||
## 设计质量
|
||||
- ✅ **结构合理**:表结构设计符合业务逻辑
|
||||
- ✅ **关系正确**:实体关系建模准确
|
||||
- ✅ **约束完整**:数据完整性约束齐全
|
||||
- ✅ **规范一致**:命名和设计风格一致
|
||||
|
||||
## 性能表现
|
||||
- ✅ **查询效率**:常用查询响应时间快
|
||||
- ✅ **存储优化**:存储空间使用合理
|
||||
- ✅ **索引有效**:索引策略提升查询性能
|
||||
- ✅ **并发处理**:支持高并发访问
|
||||
|
||||
## 可维护性
|
||||
- ✅ **文档完整**:数据库设计文档完整
|
||||
- ✅ **版本管理**:数据库变更有版本控制
|
||||
- ✅ **监控完善**:数据库运行状态可监控
|
||||
- ✅ **备份可靠**:备份恢复机制可靠
|
||||
|
||||
## 扩展性
|
||||
- ✅ **水平扩展**:支持分库分表扩展
|
||||
- ✅ **读写分离**:支持读写分离架构
|
||||
- ✅ **缓存友好**:与缓存系统集成良好
|
||||
- ✅ **迁移便利**:支持数据平滑迁移
|
||||
|
||||
## 安全性
|
||||
- ✅ **权限控制**:数据库访问权限控制完善
|
||||
- ✅ **数据加密**:敏感数据加密存储
|
||||
- ✅ **审计完整**:数据库操作审计完整
|
||||
- ✅ **备份安全**:备份数据安全可靠
|
||||
</criteria>
|
||||
</execution>
|
||||
@ -0,0 +1,156 @@
|
||||
<execution>
|
||||
<process>
|
||||
# Java后端开发核心流程
|
||||
|
||||
## 1. 需求分析与设计阶段
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[接收需求] --> B[业务分析]
|
||||
B --> C[技术可行性评估]
|
||||
C --> D[架构设计]
|
||||
D --> E[API设计]
|
||||
E --> F[数据库设计]
|
||||
F --> G[技术选型]
|
||||
G --> H[开发计划制定]
|
||||
```
|
||||
|
||||
## 2. 开发实施阶段
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[环境搭建] --> B[项目框架搭建]
|
||||
B --> C[核心业务逻辑开发]
|
||||
C --> D[API接口实现]
|
||||
D --> E[数据访问层开发]
|
||||
E --> F[业务服务层开发]
|
||||
F --> G[控制器层开发]
|
||||
G --> H[单元测试编写]
|
||||
H --> I[集成测试]
|
||||
I --> J[代码审查]
|
||||
```
|
||||
|
||||
## 3. 部署与运维阶段
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[构建打包] --> B[环境部署]
|
||||
B --> C[性能测试]
|
||||
C --> D[监控配置]
|
||||
D --> E[日志配置]
|
||||
E --> F[上线发布]
|
||||
F --> G[运行监控]
|
||||
G --> H[问题处理]
|
||||
H --> I[优化迭代]
|
||||
```
|
||||
</process>
|
||||
|
||||
<guideline>
|
||||
# 开发指导原则
|
||||
|
||||
## 代码质量原则
|
||||
- **可读性优先**:代码应该像技术文档一样清晰易懂
|
||||
- **SOLID原则**:遵循面向对象设计的五大原则
|
||||
- **DRY原则**:避免重复代码,提取公共逻辑
|
||||
- **KISS原则**:保持简单,避免过度复杂的设计
|
||||
|
||||
## 架构设计原则
|
||||
- **分层架构**:明确控制层、业务层、数据访问层的职责
|
||||
- **依赖注入**:使用IoC容器管理对象依赖关系
|
||||
- **接口隔离**:定义清晰的接口契约,降低耦合度
|
||||
- **配置外部化**:将配置信息从代码中分离出来
|
||||
|
||||
## 性能优化建议
|
||||
- **数据库优化**:合理设计索引,优化SQL查询
|
||||
- **缓存策略**:在适当层次引入缓存机制
|
||||
- **异步处理**:对于耗时操作使用异步处理方式
|
||||
- **连接池管理**:合理配置数据库和Redis连接池
|
||||
|
||||
## 安全开发原则
|
||||
- **输入验证**:对所有外部输入进行严格验证
|
||||
- **权限控制**:实施细粒度的权限管理
|
||||
- **数据加密**:敏感数据传输和存储加密
|
||||
- **日志审计**:记录关键操作的审计日志
|
||||
</guideline>
|
||||
|
||||
<rule>
|
||||
# 强制执行规则
|
||||
|
||||
## 代码规范要求
|
||||
1. **命名规范**:严格遵循Java命名约定
|
||||
2. **注释要求**:公开API必须有完整的JavaDoc注释
|
||||
3. **异常处理**:不允许空catch块,必须合理处理异常
|
||||
4. **日志记录**:关键操作必须记录日志,包含必要的上下文信息
|
||||
|
||||
## 安全要求
|
||||
1. **输入验证**:所有外部输入必须进行验证和过滤
|
||||
2. **SQL注入防护**:必须使用参数化查询或ORM框架
|
||||
3. **权限控制**:API接口必须有适当的权限检查
|
||||
4. **敏感信息**:不允许在代码中硬编码密码等敏感信息
|
||||
|
||||
## 测试要求
|
||||
1. **单元测试覆盖率**:核心业务逻辑测试覆盖率不低于80%
|
||||
2. **集成测试**:关键流程必须有集成测试
|
||||
3. **API测试**:所有对外接口必须有完整的API测试
|
||||
4. **性能测试**:核心接口必须通过性能测试验证
|
||||
|
||||
## 部署要求
|
||||
1. **环境一致性**:开发、测试、生产环境保持一致
|
||||
2. **配置管理**:使用配置中心管理不同环境的配置
|
||||
3. **版本控制**:所有代码变更必须通过版本控制系统
|
||||
4. **回滚机制**:部署必须支持快速回滚到上一版本
|
||||
</rule>
|
||||
|
||||
<constraint>
|
||||
# 技术约束条件
|
||||
|
||||
## 环境约束
|
||||
- **JDK版本**:根据项目要求选择合适的JDK版本
|
||||
- **框架版本**:保持框架版本的一致性和稳定性
|
||||
- **数据库兼容性**:确保SQL语句跨数据库兼容
|
||||
- **服务器资源**:考虑部署环境的内存和CPU限制
|
||||
|
||||
## 业务约束
|
||||
- **并发处理能力**:系统必须支持预期的并发用户数
|
||||
- **响应时间要求**:API响应时间必须满足业务要求
|
||||
- **数据一致性**:涉及事务的操作必须保证数据一致性
|
||||
- **扩展性要求**:系统设计必须考虑未来的扩展需求
|
||||
|
||||
## 合规约束
|
||||
- **数据保护**:遵循数据保护相关法规要求
|
||||
- **审计日志**:关键操作必须留下完整的审计轨迹
|
||||
- **备份恢复**:重要数据必须有可靠的备份机制
|
||||
- **监控告警**:生产环境必须有完善的监控告警机制
|
||||
|
||||
## 技术债务约束
|
||||
- **代码质量**:定期进行代码质量评估和重构
|
||||
- **依赖管理**:及时更新和管理第三方依赖
|
||||
- **文档维护**:保持技术文档与代码同步更新
|
||||
- **知识传承**:确保关键技术知识在团队中传承
|
||||
</constraint>
|
||||
|
||||
<criteria>
|
||||
# 质量评价标准
|
||||
|
||||
## 功能完整性评价
|
||||
- ✅ **需求实现度**:是否完整实现了所有功能需求
|
||||
- ✅ **API完整性**:接口是否提供了完整的CRUD操作
|
||||
- ✅ **异常处理**:是否妥善处理了各种异常情况
|
||||
- ✅ **边界条件**:是否正确处理了边界条件和极值情况
|
||||
|
||||
## 代码质量评价
|
||||
- ✅ **可读性**:代码结构清晰,命名规范,注释完整
|
||||
- ✅ **可维护性**:模块化程度高,耦合度低,易于扩展
|
||||
- ✅ **性能表现**:响应时间满足要求,资源使用合理
|
||||
- ✅ **安全性**:无安全漏洞,输入验证完整
|
||||
|
||||
## 架构设计评价
|
||||
- ✅ **分层清晰**:各层职责明确,依赖关系合理
|
||||
- ✅ **扩展性**:易于添加新功能,支持业务增长
|
||||
- ✅ **可测试性**:便于编写单元测试和集成测试
|
||||
- ✅ **监控能力**:具备完善的日志记录和监控指标
|
||||
|
||||
## 运维友好性评价
|
||||
- ✅ **部署简便**:部署流程自动化,配置管理规范
|
||||
- ✅ **故障诊断**:日志完整,便于问题定位和排查
|
||||
- ✅ **性能监控**:关键指标可监控,告警机制完善
|
||||
- ✅ **文档完整**:部署文档、运维手册齐全
|
||||
</criteria>
|
||||
</execution>
|
||||
@ -0,0 +1,145 @@
|
||||
<execution>
|
||||
<process>
|
||||
# Spring生态系统开发流程
|
||||
|
||||
## 1. Spring Boot项目初始化
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[项目需求分析] --> B[依赖组件选择]
|
||||
B --> C[Spring Initializr配置]
|
||||
C --> D[项目结构规划]
|
||||
D --> E[配置文件设置]
|
||||
E --> F[基础组件配置]
|
||||
F --> G[开发环境验证]
|
||||
```
|
||||
|
||||
## 2. Spring应用开发流程
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[实体类设计] --> B[Repository层开发]
|
||||
B --> C[Service层开发]
|
||||
C --> D[Controller层开发]
|
||||
D --> E[配置类编写]
|
||||
E --> F[AOP切面开发]
|
||||
F --> G[异常处理配置]
|
||||
G --> H[测试用例编写]
|
||||
```
|
||||
|
||||
## 3. Spring Security集成流程
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[安全需求分析] --> B[认证方式选择]
|
||||
B --> C[Security配置]
|
||||
C --> D[用户详情服务]
|
||||
D --> E[权限控制实现]
|
||||
E --> F[JWT集成]
|
||||
F --> G[安全测试验证]
|
||||
```
|
||||
</process>
|
||||
|
||||
<guideline>
|
||||
# Spring开发指导原则
|
||||
|
||||
## 依赖注入最佳实践
|
||||
- **构造器注入优先**:使用构造器注入而非字段注入
|
||||
- **接口编程**:依赖接口而非具体实现类
|
||||
- **单例模式**:合理使用Spring的单例Bean
|
||||
- **懒加载**:对于重量级Bean考虑使用懒加载
|
||||
|
||||
## 配置管理建议
|
||||
- **外部化配置**:使用application.properties/yml管理配置
|
||||
- **Profile分离**:不同环境使用不同的配置文件
|
||||
- **配置验证**:使用@ConfigurationProperties进行配置绑定
|
||||
- **敏感信息保护**:使用Spring Cloud Config或Vault管理敏感配置
|
||||
|
||||
## 事务管理原则
|
||||
- **声明式事务**:优先使用@Transactional注解
|
||||
- **事务边界明确**:在Service层定义事务边界
|
||||
- **异常回滚**:明确指定哪些异常触发回滚
|
||||
- **事务传播**:合理设置事务传播行为
|
||||
|
||||
## 缓存策略建议
|
||||
- **缓存注解**:使用Spring Cache抽象层
|
||||
- **缓存键设计**:设计合理的缓存键命名规则
|
||||
- **缓存失效**:合理设置缓存过期时间
|
||||
- **缓存更新**:使用@CacheEvict及时清理过期缓存
|
||||
</guideline>
|
||||
|
||||
<rule>
|
||||
# Spring开发强制规则
|
||||
|
||||
## 注解使用规范
|
||||
1. **组件注解**:严格区分@Controller、@Service、@Repository的使用场景
|
||||
2. **配置注解**:@Configuration类必须有明确的职责划分
|
||||
3. **验证注解**:所有DTO必须使用Bean Validation注解
|
||||
4. **文档注解**:所有REST接口必须使用Swagger/OpenAPI注解
|
||||
|
||||
## 异常处理规范
|
||||
1. **全局异常处理**:必须使用@ControllerAdvice统一处理异常
|
||||
2. **业务异常**:自定义业务异常必须继承BusinessException
|
||||
3. **异常信息**:异常信息必须包含错误码和用户友好的描述
|
||||
4. **异常日志**:系统异常必须记录完整的堆栈信息
|
||||
|
||||
## 安全规范要求
|
||||
1. **输入验证**:所有Controller入参必须进行验证
|
||||
2. **权限控制**:敏感接口必须使用@PreAuthorize进行权限检查
|
||||
3. **CSRF防护**:POST/PUT/DELETE接口必须启用CSRF防护
|
||||
4. **SQL注入防护**:禁止直接拼接SQL,必须使用参数化查询
|
||||
|
||||
## 性能要求
|
||||
1. **连接池配置**:数据库连接池必须根据实际情况调优
|
||||
2. **查询优化**:复杂查询必须进行性能测试和优化
|
||||
3. **缓存使用**:频繁查询的数据必须使用缓存
|
||||
4. **异步处理**:耗时操作必须使用@Async异步处理
|
||||
</rule>
|
||||
|
||||
<constraint>
|
||||
# Spring技术约束
|
||||
|
||||
## 版本兼容性约束
|
||||
- **Spring Boot版本**:使用稳定的LTS版本,避免使用快照版本
|
||||
- **JDK版本匹配**:确保Spring Boot版本与JDK版本兼容
|
||||
- **依赖版本管理**:使用Spring Boot的依赖管理机制
|
||||
- **升级路径**:制定明确的版本升级路径和测试计划
|
||||
|
||||
## 资源使用约束
|
||||
- **内存使用**:Bean实例化必须考虑内存占用
|
||||
- **启动时间**:应用启动时间不应超过合理范围
|
||||
- **线程池配置**:合理配置线程池大小,避免资源浪费
|
||||
- **数据库连接**:严格控制数据库连接数量
|
||||
|
||||
## 架构约束
|
||||
- **分层架构**:严格遵循Controller-Service-Repository分层
|
||||
- **循环依赖**:避免Bean之间的循环依赖
|
||||
- **单一职责**:每个Bean只负责一个明确的职责
|
||||
- **依赖方向**:上层可以依赖下层,下层不能依赖上层
|
||||
</constraint>
|
||||
|
||||
<criteria>
|
||||
# Spring应用质量标准
|
||||
|
||||
## 代码质量标准
|
||||
- ✅ **注解使用正确**:Spring注解使用符合最佳实践
|
||||
- ✅ **配置合理**:应用配置结构清晰,便于维护
|
||||
- ✅ **依赖注入规范**:依赖注入方式符合Spring推荐规范
|
||||
- ✅ **异常处理完善**:异常处理机制完整且用户友好
|
||||
|
||||
## 功能实现标准
|
||||
- ✅ **业务逻辑清晰**:Service层业务逻辑明确且可测试
|
||||
- ✅ **数据访问规范**:Repository层实现符合JPA/MyBatis规范
|
||||
- ✅ **接口设计合理**:REST API设计符合RESTful规范
|
||||
- ✅ **事务处理正确**:事务边界和传播行为设置合理
|
||||
|
||||
## 性能与安全标准
|
||||
- ✅ **性能表现良好**:接口响应时间满足业务要求
|
||||
- ✅ **缓存策略有效**:缓存使用合理且提升了系统性能
|
||||
- ✅ **安全防护到位**:输入验证、权限控制等安全机制完善
|
||||
- ✅ **监控指标完整**:具备完整的应用监控和健康检查
|
||||
|
||||
## 可维护性标准
|
||||
- ✅ **代码结构清晰**:项目结构符合Spring Boot规范
|
||||
- ✅ **配置管理规范**:环境配置分离且易于管理
|
||||
- ✅ **文档完整**:API文档和配置说明完整
|
||||
- ✅ **测试覆盖充分**:单元测试和集成测试覆盖核心功能
|
||||
</criteria>
|
||||
</execution>
|
||||
@ -0,0 +1,126 @@
|
||||
<execution>
|
||||
<process>
|
||||
# 系统架构设计流程
|
||||
|
||||
## 1. 架构需求分析
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[业务需求收集] --> B[非功能需求识别]
|
||||
B --> C[约束条件分析]
|
||||
C --> D[质量属性定义]
|
||||
D --> E[架构关键决策点识别]
|
||||
E --> F[架构风险评估]
|
||||
```
|
||||
|
||||
## 2. 架构设计过程
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[概念架构设计] --> B[逻辑架构设计]
|
||||
B --> C[物理架构设计]
|
||||
C --> D[技术架构选型]
|
||||
D --> E[接口设计]
|
||||
E --> F[数据架构设计]
|
||||
F --> G[安全架构设计]
|
||||
G --> H[部署架构设计]
|
||||
```
|
||||
|
||||
## 3. 架构验证与优化
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[架构原型验证] --> B[性能模型分析]
|
||||
B --> C[可扩展性评估]
|
||||
C --> D[安全性审查]
|
||||
D --> E[可维护性分析]
|
||||
E --> F[成本效益评估]
|
||||
F --> G[架构优化迭代]
|
||||
```
|
||||
</process>
|
||||
|
||||
<guideline>
|
||||
# 架构设计指导原则
|
||||
|
||||
## 设计原则
|
||||
- **高内聚低耦合**:模块内部功能紧密相关,模块间依赖最小
|
||||
- **单一职责**:每个组件只负责一个明确的职责
|
||||
- **开放封闭**:对扩展开放,对修改封闭
|
||||
- **依赖倒置**:高层模块不依赖低层模块,都依赖抽象
|
||||
|
||||
## 架构模式选择
|
||||
- **分层架构**:适用于传统企业应用,结构清晰易维护
|
||||
- **微服务架构**:适用于大型复杂系统,支持独立部署和扩展
|
||||
- **事件驱动架构**:适用于异步处理和解耦场景
|
||||
- **CQRS模式**:适用于读写分离和复杂查询场景
|
||||
|
||||
## 技术选型建议
|
||||
- **成熟度优先**:选择经过生产环境验证的技术栈
|
||||
- **社区活跃度**:选择有活跃社区支持的技术
|
||||
- **团队技能匹配**:考虑团队的技术能力和学习成本
|
||||
- **长期维护性**:避免选择过于新颖或小众的技术
|
||||
</guideline>
|
||||
|
||||
<rule>
|
||||
# 架构设计强制规则
|
||||
|
||||
## 设计文档要求
|
||||
1. **架构决策记录**:必须记录重要的架构决策和理由
|
||||
2. **接口规范**:所有服务间接口必须有明确的规范定义
|
||||
3. **数据模型**:必须定义清晰的数据模型和关系
|
||||
4. **部署图**:必须提供详细的部署架构图
|
||||
|
||||
## 质量属性要求
|
||||
1. **可用性**:系统可用性不低于99.9%
|
||||
2. **性能**:关键接口响应时间不超过500ms
|
||||
3. **扩展性**:支持水平扩展到预期规模的3倍
|
||||
4. **安全性**:通过安全测试和渗透测试
|
||||
|
||||
## 架构审查要求
|
||||
1. **设计评审**:架构设计必须通过技术委员会评审
|
||||
2. **原型验证**:关键技术决策必须通过原型验证
|
||||
3. **风险评估**:必须识别和评估主要技术风险
|
||||
4. **持续监控**:生产环境必须有架构健康度监控
|
||||
</rule>
|
||||
|
||||
<constraint>
|
||||
# 架构约束条件
|
||||
|
||||
## 技术约束
|
||||
- **遗留系统集成**:必须考虑与现有系统的集成方式
|
||||
- **技术债务**:平衡新架构与技术债务的处理
|
||||
- **团队能力**:架构复杂度不能超出团队承受能力
|
||||
- **预算限制**:架构方案必须在预算范围内实现
|
||||
|
||||
## 业务约束
|
||||
- **上线时间**:架构实施时间不能影响业务上线计划
|
||||
- **业务连续性**:架构升级不能影响现有业务运行
|
||||
- **合规要求**:必须满足行业监管和合规要求
|
||||
- **数据迁移**:必须有可行的数据迁移方案
|
||||
|
||||
## 运维约束
|
||||
- **监控能力**:新架构必须具备完善的监控能力
|
||||
- **故障恢复**:必须有快速的故障恢复机制
|
||||
- **运维复杂度**:运维复杂度必须在团队承受范围内
|
||||
- **自动化程度**:关键流程必须实现自动化
|
||||
</constraint>
|
||||
|
||||
<criteria>
|
||||
# 架构质量评价标准
|
||||
|
||||
## 架构设计质量
|
||||
- ✅ **完整性**:架构设计覆盖所有关键质量属性
|
||||
- ✅ **一致性**:架构各层次设计保持一致
|
||||
- ✅ **可理解性**:架构设计清晰易懂,便于团队理解
|
||||
- ✅ **可验证性**:架构设计可以通过原型或测试验证
|
||||
|
||||
## 非功能质量
|
||||
- ✅ **性能表现**:满足或超过性能要求
|
||||
- ✅ **可扩展性**:支持业务增长和用户规模扩展
|
||||
- ✅ **可维护性**:便于后续功能开发和问题修复
|
||||
- ✅ **可靠性**:系统稳定可靠,故障恢复能力强
|
||||
|
||||
## 实施可行性
|
||||
- ✅ **技术可行性**:技术方案在当前条件下可实现
|
||||
- ✅ **经济可行性**:实施成本在可接受范围内
|
||||
- ✅ **时间可行性**:实施时间符合业务要求
|
||||
- ✅ **风险可控性**:主要风险已识别并有应对措施
|
||||
</criteria>
|
||||
</execution>
|
||||
Reference in New Issue
Block a user