# Architecture Assessment

> Architecture quality assessment. 当用户需要评估架构质量、检查系统性能、分析安全风险或评估可扩展性时使用此skill。

- Skill: `fengqiliu/architecture-assessment` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add fengqiliu/architecture-assessment`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fengqiliu/architecture-assessment/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: fengqiliu (https://skillmd.com/u/fengqiliu)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/fengqiliu/architecture-assessment

---


# Architecture Assessment

架构评估技能，从多个维度评估系统架构质量。

## 评估维度 (ATAM + 更多)

```
┌─────────────────────────────────────────────────────────┐
│                  架构质量评估                            │
├──────────────┬──────────────┬──────────────┬─────────────┤
│  性能        │  安全性      │  可用性       │  可维护性   │
├──────────────┼──────────────┼──────────────┼─────────────┤
│  性能测试    │  安全审计    │  容错设计     │  代码质量   │
│  容量规划    │  威胁建模    │  监控告警     │  文档完整   │
│  瓶颈分析    │  合规检查    │  灾难恢复     │  测试覆盖   │
└──────────────┴──────────────┴──────────────┴─────────────┘
```

## 1. 性能评估

### 性能指标定义

| 指标 | 定义 | 目标值示例 |
|------|------|----------|
| 响应时间 (RT) | 请求到响应的时间 | P99 < 200ms |
| 吞吐量 (TPS) | 每秒处理事务数 | > 1000 TPS |
| 并发用户 | 同时活跃用户数 | > 5000 |
| 资源利用率 | CPU/内存/磁盘使用 | CPU < 70% |
| 错误率 | 失败请求占比 | < 0.1% |

### 性能测试类型

```
□ 负载测试 (Load Testing)
  - 验证预期负载下的性能
  - 关注: RT, TPS, 资源利用率

□ 压力测试 (Stress Testing)
  - 超过预期负载，探索极限
  - 找到系统崩溃点

□ 容量测试 (Capacity Testing)
  - 确定最大容量
  - 规划扩容依据

□ 尖峰测试 (Spike Testing)
  - 突发流量冲击
  - 验证弹性伸缩
```

### 性能评估报告模板

```markdown
## 性能评估

### 当前性能状态
| 指标 | 当前值 | 目标值 | 状态 |
|------|--------|--------|------|
| P50 响应时间 | XX ms | < 100ms | ✅/❌ |
| P99 响应时间 | XX ms | < 200ms | ✅/❌ |
| TPS | XXX | > 1000 | ✅/❌ |
| 错误率 | X.X% | < 0.1% | ✅/❌ |

### 瓶颈分析
1. [瓶颈点]
2. [瓶颈点]

### 优化建议
| 优化项 | 预期收益 | 实施成本 | 优先级 |
|--------|---------|---------|--------|
|        |         |         |        |
```

## 2. 安全性评估

### 安全评估框架

```
□ 身份认证 (Authentication)
  - 密码策略
  - 多因素认证
  - 社交登录

□ 访问控制 (Authorization)
  - 权限模型 (RBAC/ABAC)
  - 最小权限原则
  - API 鉴权

□ 数据保护 (Data Protection)
  - 传输加密 (TLS)
  - 存储加密
  - 敏感数据脱敏

□ 安全审计 (Audit)
  - 操作日志
  - 异常检测
  - 合规报告
```

### OWASP Top 10 检查

```
□ A01: Broken Access Control
□ A02: Cryptographic Failures
□ A03: Injection
□ A04: Insecure Design
□ A05: Security Misconfiguration
□ A06: Vulnerable Components
□ A07: Auth Failures
□ A08: Data Integrity Failures
□ A09: Logging Failures
□ A10: SSRF
```

### 威胁建模 (STRIDE)

| 威胁类型 | 描述 | 缓解措施 |
|---------|------|---------|
| Spoofing | 冒充身份 | 强认证 |
| Tampering | 数据篡改 | 完整性校验 |
| Repudiation | 否认操作 | 数字签名/审计日志 |
| Information Disclosure | 信息泄露 | 加密/访问控制 |
| DoS | 服务拒绝 | 限流/冗余 |
| Elevation of Privilege | 权限提升 | 最小权限原则 |

## 3. 可用性评估

### 可用性指标

| 可用性级别 | 年停机时间 | 适用场景 |
|-----------|-----------|---------|
| 99.9% | 8.7 小时 | 普通业务 |
| 99.99% | 52 分钟 | 重要业务 |
| 99.999% | 5 分钟 | 关键系统 |

### 容错设计检查

```
□ 冗余设计
  - 服务多实例部署
  - 数据多副本存储
  - 跨可用区/区域部署

□ 故障隔离
  - 舱壁模式
  - 断路器模式
  - 限流熔断

□ 故障恢复
  - 自动故障转移
  - 数据一致性修复
  - 服务快速重启
```

### 监控告警检查

```
□ 基础设施监控
  - CPU/内存/磁盘
  - 网络流量

□ 应用监控
  - 请求量/响应时间
  - 错误率
  - 业务指标

□ 日志监控
  - 集中式日志
  - 日志分析
  - 异常聚合

□ 告警配置
  - 告警阈值
  - 告警升级
  - 告警收敛
```

## 4. 可维护性评估

### 代码质量指标

| 指标 | 优秀 | 良好 | 差 |
|------|------|------|-----|
| 测试覆盖率 | > 80% | 60-80% | < 60% |
| 圈复杂度 | < 10 | 10-20 | > 20 |
| 重复代码 | < 3% | 3-10% | > 10% |
| 文档覆盖率 | > 80% | 50-80% | < 50% |

### 架构可维护性检查

```
□ 模块化程度
  - 模块间耦合度
  - 模块内聚力
  - 接口稳定性

□ 技术债务
  - 已知问题数量
  - 遗留代码比例
  - 重构需求

□ DevOps 成熟度
  - 部署频率
  - 变更前置时间
  - 变更失败率
```

## 5. 可扩展性评估

### 水平扩展 vs 垂直扩展

| 维度 | 垂直扩展 | 水平扩展 |
|------|---------|---------|
| 扩展方式 | 增加单机资源 | 增加机器数量 |
| 限制 | 硬件上限 | 架构设计 |
| 成本 | 线性增长 | 线性增长 |
| 复杂度 | 低 | 高 |

### 扩展性设计模式

```
□ 无状态设计
  - Session 外置
  - 本地无状态存储

□ 分片策略
  - 数据分片
  - 服务分片

□ 异步处理
  - 消息队列
  - 事件驱动

□ 读写分离
  - 主从复制
  - CQRS
```

## 综合评估报告模板

```markdown
# 架构质量评估报告

## 评估概要
- **系统**: [系统名称]
- **评估日期**: [日期]
- **评估人**: [姓名]
- **总体评级**: [A/B/C/D]

## 维度评分

| 维度 | 评分 | 主要发现 |
|------|------|---------|
| 性能 | X/10 | [简述] |
| 安全性 | X/10 | [简述] |
| 可用性 | X/10 | [简述] |
| 可维护性 | X/10 | [简述] |
| 可扩展性 | X/10 | [简述] |

## 详细发现

### 严重风险 (必须解决)
| 问题 | 影响 | 建议 |
|------|------|------|
|      |      |      |

### 中等风险 (尽快解决)
| 问题 | 影响 | 建议 |
|------|------|------|
|      |      |      |

### 低风险 (持续改进)
| 问题 | 影响 | 建议 |
|------|------|------|
|      |      |      |

## 改进路线图

### Phase 1 (0-3个月)
- [ ] 改进项1
- [ ] 改进项2

### Phase 2 (3-6个月)
- [ ] 改进项1
- [ ] 改进项2

### Phase 3 (6-12个月)
- [ ] 改进项1
- [ ] 改进项2

## 结论
[总结和建议]
```

## 快速评估 Checklist

```
性能
□ 有性能测试报告吗？
□ 响应时间是否满足 SLA？
□ 存在已知的性能瓶颈吗？

安全
□ 做过安全审计吗？
□ 敏感数据是否加密？
□ 有入侵检测机制吗？

可用性
□ SLA 是什么？
□ 当前可用性是多少？
□ 有灾难恢复计划吗？

可维护性
□ 代码质量如何？
□ 有自动化测试吗？
□ 文档是否最新？

可扩展性
□ 系统能承受 10 倍增长吗？
□ 扩展瓶颈在哪？
□ 扩容需要多长时间？
```

