name: zachman-analysis description: 应用Zachman框架视角分析并诚实地指出局限性。从特定行/列视角分析架构。 allowed-tools: Read, Glob, Grep
Zachman分析
何时使用此技能
使用此技能当您需要:
- 从特定利益相关者视角分析架构
- 确保不同视角的完整覆盖
- 检查哪些架构方面已文档化
- 理解每个视角提出的问题
关键词: zachman, 视角, 透视, 疑问词, 什么, 如何, 哪里, 谁, 何时, 为什么, 规划者, 所有者, 设计者, 建造者
Zachman框架3.0概述
Zachman框架是一个用于分类企业架构工件的6x6本体论。它是一个分类模式(分类法),而不是方法论。
关键见解: TOGAF告诉您如何创建架构。Zachman告诉您如何组织您创建的内容。
矩阵
列(疑问词)
每列回答一个基本问题:
| 列 | 疑问词 | 焦点 | 工件 |
|---|---|---|---|
| 1 | 什么(数据) | 感兴趣的事物 | 数据模型、实体列表 |
| 2 | 如何(功能) | 过程和转换 | 流程流、用例 |
| 3 | 哪里(网络) | 位置和分布 | 网络图、站点地图 |
| 4 | 谁(人员) | 角色和职责 | 组织图、RACI矩阵 |
| 5 | 何时(时间) | 事件和时间表 | 时间线、事件模型 |
| 6 | 为什么(动机) | 目标和约束 | 业务驱动因素、规则 |
行(视角)
每行代表一个利益相关者级别,细节逐渐增加:
| 行 | 视角 | 受众 | 级别 |
|---|---|---|---|
| 1 | 规划者/高管 | 董事会、C级高管 | 范围/上下文 |
| 2 | 所有者/业务 | 业务经理 | 业务模型 |
| 3 | 设计者/架构师 | 解决方案架构师 | 逻辑设计 |
| 4 | 建造者/工程师 | 开发人员、工程师 | 物理设计 |
| 5 | 分包商/技术员 | 实施者 | 详细规格 |
| 6 | 用户/运营 | 最终用户、操作员 | 运行系统 |
关键限制:代码提取能力
重要: 并非所有Zachman视角都能从代码分析中提取。
| 行 | 视角 | 代码提取 | 备注 |
|---|---|---|---|
| 1 | 规划者 | 无法提取 | 需要战略上下文、高管输入 |
| 2 | 所有者 | 无法提取 | 需要业务文档、利益相关者访谈 |
| 3 | 设计者 | 部分 | 可以推断结构;设计原理缺失 |
| 4 | 建造者 | 强 | 技术、规格在代码中可见 |
| 5 | 分包商 | 强 | 配置、实现在代码中 |
| 6 | 用户 | 有限 | 需要运行时数据、部署配置 |
这意味着什么
- 行4-5: 此插件可以分析代码并提取有用信息
- 行1-3: 此插件可以指导结构化访谈和文档审查,但不能仅从代码生成内容
- 行6: 需要访问运行系统和操作数据
使用矩阵
用于覆盖检查
使用矩阵作为检查清单以确保文档完整性:
什么 如何 哪里 谁 何时 为什么
规划者 [ ] [ ] [ ] [ ] [ ] [ ]
所有者 [ ] [ ] [ ] [ ] [ ] [ ]
设计者 [ ] [ ] [ ] [ ] [ ] [ ]
建造者 [x] [x] [x] [ ] [ ] [ ]
分包商 [x] [x] [x] [ ] [ ] [ ]
用户 [ ] [ ] [ ] [ ] [ ] [ ]
用于特定分析
分析特定单元格:
- 识别行(利益相关者视角)
- 识别列(疑问词)
- 确定代码提取是否可能
- 如果行1-3:指导人工输入收集
- 如果行4-6:分析代码库以获取相关信息
单元格示例
行4(建造者)示例
| 列 | 问题 | 代码分析能找到 |
|---|---|---|
| 什么 | 什么是数据结构? | 模型、模式、类型 |
| 如何 | 如何构建? | 算法、模式 |
| 哪里 | 在哪里运行? | 部署配置 |
| 谁 | 谁维护它? | Git历史、CODEOWNERS |
| 何时 | 何时执行? | 调度器、触发器 |
| 为什么 | 为什么采用这种方法? | ADRs、注释 |
行1(规划者)示例 - 需要人工输入
| 列 | 问题 | 需要 |
|---|---|---|
| 什么 | 什么是业务实体? | 业务术语表 |
| 如何 | 什么是核心流程? | 流程文档 |
| 哪里 | 我们在哪里运营? | 业务地理 |
| 谁 | 什么是组织结构? | 组织图 |
| 何时 | 什么是业务周期? | 业务日历 |
| 为什么 | 什么是战略目标? | 战略文档 |
向导模式
如果您不确定使用哪行/列:
步骤1:受众是谁?
- 高管 → 行1(规划者)
- 业务经理 → 行2(所有者)
- 架构师 → 行3(设计者)
- 开发人员 → 行4(建造者)
- 实施者 → 行5(分包商)
- 运营 → 行6(用户)
步骤2:什么问题?
- 关于数据/事物 → 列1(什么)
- 关于过程 → 列2(如何)
- 关于位置 → 列3(哪里)
- 关于人员/角色 → 列4(谁)
- 关于时间/事件 → 列5(何时)
- 关于目标/规则 → 列6(为什么)
实际应用
最低可行覆盖
对于大多数项目,确保至少:
- 行3,列1-2(设计者:什么和如何) - 架构图
- 行4,列1-2(建造者:什么和如何) - 技术规格
- 行4,列6(建造者:为什么) - ADRs
全面覆盖
对于企业级工作:
- 行3-5的所有单元格
- 行1-2的关键单元格(带有利益相关者输入)
记忆参考
有关详细限制,请参阅 references/zachman-limitations.md。
有关完整矩阵,请参阅 references/zachman-overview.md。
版本历史
- v1.0.0(2025-12-05):初始发布
- Zachman框架3.0矩阵文档
- 关键限制:按行的代码提取能力
- 向导模式用于行/列选择
- 实际应用和最低可行覆盖
最后更新
日期: 2025-12-05 模型: claude-opus-4-5-20251101