一份真实 IT 架构设计说明书的精读笔记:从业务需求到技术落地的全链路拆解

以国家电网营销业务IT架构设计说明书V1.4为蓝本,逐章节拆解一份真实企业级架构文档的写法、逻辑和落地价值,讲清架构文档到底该怎么写才能指导实际工程。

为什么我要精读一份"老掉牙"的架构文档

有句话说:“架构不是画出来的,是长出来的。”

但在大型企业里,架构必须先"写出来"——写成一份能让几十人、几百人达成共识的文档,然后才有资格"长出来"。

我最近翻到一份真实项目中的架构设计文档:《营销业务IT架构设计说明书 V1.4》,2011年的版本,出自某大型央企的信息化建设工程。这份文档覆盖了从业务分析到物理部署的完整链条,是一套典型的、按TOGAF思路组织的企业级架构交付物。

你可能会说:2011年的东西,技术栈都过时了吧?

没错,里面提到的J2EE、SOA、ESB,在今天的互联网架构里已经不是主流选型。但文档的组织方式、思考逻辑、各层之间的推导关系,这些东西并不会过时。恰恰相反,今天很多团队写架构文档时犯的毛病——业务和技术脱节、数据架构缺失、部署方案拍脑袋——在这份十几年前的文档里反而处理得更严谨。

这篇文章不讲新技术,就干一件事:逐章节精读这份真实文档,带着批判性思维分析它的写法、优缺点,以及哪些思路至今仍有参考价值。


一、文档全景:八章结构背后的架构思维

先看看这份文档的章节骨架:

章节 核心内容 对应TOGAF ADM阶段
第1章 引言 编写目的、适用范围、术语表、参考资料 预备阶段
第2章 总体架构设计 设计原则、设计思路、总体框架、部署模式 Phase A 架构愿景
第3章 应用架构设计 业务分析、应用规划、应用部署 Phase B/D
第4章 数据架构设计 数据建模、数据分类、数据部署 Phase C
第5章 技术架构设计 组件技术、SOA、J2EE、关键技术 Phase D
第6章 物理架构设计 主机、存储、备份、网络、容灾 Phase D(细化)
第7章 应用集成设计 内部集成、外部集成 Phase D
第8章 安全架构设计 安全需求、风险分析、安全设计 贯穿各阶段

笔记心得:这个结构最大的优点是"分层递进"——先讲原则和总体框架,再分别展开应用、数据、技术三个核心架构域,最后落到物理实现和集成安全。读者跟着章节走,就像跟着架构师做了一次完整的思维推演。

但问题也很明显:没有专门的"现状诊断"章节和"迁移规划"章节。这两块内容散落在各章节的局部描述中,缺少系统性的呈现。如果你要写自己的架构文档,建议在总体设计之前加一章"现状分析与差距评估",在最后加一章"演进路线图"。


二、引言章:别小看"术语表"的力量

2.1 编写目的和适用范围

文档开篇就讲清楚了三件事:写给谁看、管什么范围、用来干什么

原文是这样写的:

“IT架构设计在借鉴营销多年信息化建设经验的基础上,充分考虑营销业务未来发展需求,旨在营销应用架构、数据部署、软硬件规划、应用集成和安全等方面形成统一设计,为各网省公司的营销业务应用建设提供参考和依据。”

这段话虽然官腔味重,但信息密度很高——它明确了这份文档是**“标准化设计”**的定位,不是某个省公司的个性化方案,而是全系统的统一参考基线。

精读启发:写架构文档,第一段就要回答"这份文档的法律效力是什么"。是强制执行的规范,还是推荐参考的指南?是面向开发团队的实施手册,还是面向管理层的决策依据?很多文档写了半天,读者都不清楚自己该以什么心态来看。

2.2 术语表的隐藏价值

这份文档列了将近40个术语定义,从BICC到WorkFlow,覆盖了通信协议、存储技术、中间件、安全等多个领域。

很多人觉得术语表是"凑页数"的产物,但在大型跨组织项目中,术语表是消除歧义的第一道防线。比如"数据部署"这个词,在总部视角是"集中存储策略",在省公司视角可能是"本地缓存策略"——如果没有统一定义,后面几十页的设计就会出现理解偏差。

笔记心得:术语表还有一个隐性作用——暴露架构师的知识边界。你列了哪些术语,说明你认为读者需要了解哪些领域。这份文档大量列出通信协议术语(SIP、H.248、MGCP),说明呼叫中心集成是一个关键技术难点。


三、总体架构设计:原则写得好,但"为什么"讲得不够

3.1 八条设计原则的"标准化写法"

文档列出了八条设计原则:实用性、标准化、一体化、统一性、适用性、可靠性、安全性、投资保护。

说实话,这些原则放在任何一份架构文档里都成立。它们更像是"行业公约"而非"项目决策"。

原则 实际指导意义 落地检验标准
实用性 选用成熟技术,不追新 技术选型是否有同行案例
标准化 统一功能规划,统一业务运作 是否有标准化设计文档支撑
一体化 纵向贯通、横向集成 数据交换和集成平台是否到位
适用性 可配置、可扩展,满足3-5年发展 配置项是否可枚举
可靠性 7×24小时不间断运行 高可用方案是否具体到组件级
投资保护 继承现有软硬件和数据资源 是否盘点了存量资产

精读启发:好的架构原则应该可以证伪。“本系统优先选用已在国内电力行业有3个以上落地案例的技术栈”——这就是一条可验证的原则。而"坚持实用性原则"更像是表态,不是决策。

3.2 总体框架的四层结构

文档的总体框架设计把整个系统分成:业务架构、应用架构、数据架构、技术架构四层,外加物理架构、应用集成和安全架构三个横切面。

这个分层方式非常经典,本质上就是TOGAF的内容架构(Content Framework)的中国化表达。它的核心价值在于:让不同角色的读者都能找到自己的"入口"。业务人员看业务架构,开发人员看应用和技术架构,DBA看数据架构,运维看物理架构。

有句话说:“架构文档不是写给自己看的,是写给五个不同部门的人同时看的。” 四层架构加三个横切面的组织方式,本质上是一种"多视角文档设计"。


四、应用架构设计:从业务模型到应用部署的推导链

4.1 业务分析 → 业务模型 → 应用规划

第三章的逻辑链条很清晰:先做业务分析(搞清楚营销业务到底在干什么),再抽象出业务模型(把业务活动结构化表达),最后推导应用架构(哪些业务活动对应哪些应用模块)。

这个推导顺序至关重要。很多团队写架构文档时,直接从"我们要建一个XX系统"开始,跳过了"业务到底需要什么"这一步。结果就是系统设计得很漂亮,但业务人员一看就说"这不是我们干活的流程"。

文档的做法是

  1. 分析营销业务涉及的所有业务领域(新装增容、抄表核算、电费收缴、客户服务等)
  2. 将业务活动按照"业务类-业务项-业务子项"三级结构组织
  3. 在此基础上划分应用功能模块,明确每个模块覆盖哪些业务活动

4.2 双模式部署设计:务实的妥协

文档最有意思的设计决策之一是:同时设计了"网省集中"和"地市集中"两种部署模式

这不是架构上的犹豫不决,而是面对现实的务实选择。不同省份的客户规模差异巨大——有的省几千万用户,有的省几百万用户。一刀切地要求全部省级集中,对于小省来说资源浪费;全部地市级部署,对于大省来说管理成本太高。

笔记心得:架构设计不是寻找"最优解",而是在约束条件下寻找"可行解"。这份文档给出两种模式并详细描述各自的适用条件,比那些只画一张"完美架构图"的文档实用得多。

部署模式 适用场景 数据集中度 硬件投资
网省集中 客户规模大、管理要求统一 高(省级数据中心) 集中投入
地市集中 地域辽阔、网络条件差 中(地市级数据中心) 分散投入

五、数据架构设计:从概念模型到数据分类的完整链条

5.1 三级数据建模思路

第四章是整份文档中方法论最扎实的部分。它采用了经典的数据建模三级递进:

  1. 顶层概念模型:回答"有哪些核心数据主题"——客户、产品、资产、账务……
  2. 数据概念模型:回答"每个主题下有哪些关键实体"——客户主题下有用电客户、联系人、客户档案……
  3. 数据逻辑模型:回答"每个实体有哪些属性、实体间什么关系"——用电客户与客户档案是一对一,与用电合同是一对多……

这种从粗到细的建模方式,本质上是把业务语义逐步翻译成技术可实现的数据结构。对于跨多个省公司、多个应用系统的大型项目来说,统一的数据模型是避免"信息孤岛"的根本手段

5.2 数据技术分类:不只是"分个类"

文档在数据建模之后,专门用了一节做"数据技术分类"——把数据按照业务特性和技术特性两个维度进行归类。

分类维度 具体类别 技术含义
业务特性 客户数据、产品数据、交易数据、管理数据 决定数据归属权和使用权限
技术特性 OLTP数据、OLAP数据、归档数据 决定存储方案和访问策略

精读启发:很多团队的数据架构止步于ER图,缺少对"数据该怎么存、怎么流转、怎么治理"的技术规划。这份文档把数据分类和后续的"数据部署设计"挂钩——不同类别的数据对应不同的物理存储方案和备份策略。

5.3 数据部署:与部署模式联动

数据部署设计同样按照"网省集中"和"地市集中"两种模式分别展开,详细描述了每种模式下:

  • 生产数据库如何部署
  • 历史数据如何归档
  • 数据同步和交换如何实现

这种"数据跟着部署走"的设计思路,确保了应用架构和数据架构之间的一致性。


六、技术架构设计:SOA+组件化的技术底座

6.1 技术选型背后的逻辑

第五章的技术架构设计,核心思路是两个关键词:组件化(Component)面向服务(SOA)

文档的技术分层是这样的:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
┌─────────────────────────────────────┐
│        表示层(Web/Portlet)          │
├─────────────────────────────────────┤
│        业务逻辑层(业务组件)          │
├─────────────────────────────────────┤
│        服务层(SOA/WebService)       │
├─────────────────────────────────────┤
│        数据访问层(J2EE/JDBC)        │
├─────────────────────────────────────┤
│        基础设施(中间件/数据库/OS)    │
└─────────────────────────────────────┘

2011年选择J2EE+SOA,在当时是非常主流且稳妥的技术路线。文档不仅说了"选什么",还解释了"为什么选"——组件化是为了支持业务功能的灵活组合,SOA是为了实现跨系统的服务调用和流程编排。

精读启发:技术架构最忌讳的就是"罗列技术名词"。这份文档的优点在于,它把每个技术选择和业务需求挂钩——工作流技术是因为营销业务流程复杂且多变,SOA是因为需要与银电联网等外部系统集成。

6.2 关键技术的深度展开

文档对"工作流技术"和"性能优化技术"做了特别深入的展开。工作流部分详细说明了流程引擎的选择标准、流程定义的规范、以及流程监控的机制。性能优化部分则从数据库优化、应用服务器优化、网络优化三个层面给出了具体措施。

笔记心得:技术架构章节的深度应该不均匀。对于项目的核心技术难点(如本例中的工作流和性能),要花大量篇幅讲清楚;对于标准技术(如HTTP协议、TCP/IP),一笔带过即可。


七、物理架构设计:从逻辑到落地的"最后一公里"

7.1 为什么物理架构要单独成章

在很多架构文档中,物理部署只是技术架构的一个小节。但这份文档用了整整一章来讲物理架构,内容涵盖:

  • 物理部署方案(分两种模式)
  • 主机系统(数据库服务器、应用服务器的具体配置)
  • 存储系统(性能需求、容量估算、配置建议)
  • 备份系统(备份策略、技术方案、方案设计)
  • 95598呼叫中心平台(接入方式、容量估算、部署设计)
  • 网络要求(网络构成、带宽需求、QoS要求)
  • 异地容灾(容灾技术选择、建设要求)
  • 开发测试环境
  • 软件平台规划(操作系统、数据库、中间件、备份软件)

7.2 容量估算:架构文档的"硬核"内容

文档在物理架构部分做了详细的容量估算——根据客户规模推算数据量,根据数据量和交易频率推算服务器配置,根据服务器数量推算存储容量和网络带宽。

这种"业务量→数据量→计算量→硬件配置"的推导链条,是架构文档中最有实操价值的部分。开发人员看到这一章就知道:我这个系统要处理多大的数据、用多高配置的机器、网络带宽够不够。

客户规模 生产库容量(估算) 应用服务器数量 网络带宽要求
500万户以下 XX TB X台 XX Mbps
500-1000万户 XX TB X台 XX Mbps
1000万户以上 XX TB X台 XX Mbps

精读启发:没有容量估算的架构文档,就像没有配方的菜谱——你知道要放盐,但不知道放多少。一份能指导落地的架构文档,必须回答"多少"这个问题。


八、应用集成设计:系统不是孤岛

8.1 三个集成维度

第七章把集成需求分成三个维度:

  1. 与企业级集成平台的集成——目录服务、企业门户、数据中心、应用集成平台、流程集成
  2. 与企业内部其他业务的集成——与财务、物资、人资等兄弟系统的数据和流程交互
  3. 与外部系统的集成——银电联网(与银行系统的实时交互)、第三方代收等

这种分类方式的优点在于:它把集成的边界画清楚了。哪些集成走企业内部ESB,哪些走外部专线,哪些走互联网通道——不同的通道意味着不同的安全要求、不同的协议标准、不同的性能约束。

8.2 集成设计的"落地细节"

文档在描述银电联网集成时,详细给出了:

  • 交互协议(TCP长连接/短连接)
  • 报文格式(定长报文/XML)
  • 交易码定义
  • 超时和重试机制
  • 对账和差错处理

精读启发:集成设计最怕"大而化之"——“本系统通过ESB与XX系统集成”。真正能指导开发落地的集成设计,必须给出协议、报文、异常处理的具体方案。


九、安全架构设计:不只是"加个防火墙"

9.1 从风险分析出发

第八章的安全架构设计有一个很好的起点:先做风险分析,再定安全策略。文档列出了营销系统面临的主要安全威胁:

  • 非法用户越权访问
  • 合法用户滥用权限
  • 敏感数据泄露
  • 外部网络攻击
  • 操作抵赖

然后针对每类威胁,设计对应的防护措施。这种"威胁→措施"的对应关系,比直接罗列安全技术更有说服力。

9.2 六层安全防护体系

文档设计了六个层面的安全防护:

安全层面 关键措施
用户认证 统一目录服务、LDAP集成、多因素认证
权限管理 基于角色的访问控制(RBAC)、数据级权限
审计管理 操作日志、安全审计、异常行为检测
数据安全 传输加密、存储加密、数据脱敏
终端控制 终端准入、USB管控、屏幕水印
基础环境 物理安全、网络安全分区、系统加固

笔记心得:安全架构的关键不在于用多先进的技术,而在于覆盖度——从用户登录到数据落盘,每一个环节都有对应的防护措施。这份文档的安全设计虽然技术手段是2011年的水平,但覆盖面非常完整。


十、配套的架构方法论:三阶段驱动的设计流程

精读完文档本体,再来看配套的《信息化总体架构设计方法论》,就能理解这份文档为什么是这么组织的。

方法论把架构设计分成三个阶段:

阶段一:分析现状

  • 审阅已有架构资产
  • 发放评估调查问卷
  • 与业务和技术人员深入访谈
  • 输出:现状评估报告(业务现状、数据现状、应用现状、技术现状、组织现状)

阶段二:设计架构

  • 业务架构设计(流程分级、场景定义、流程创建)
  • 应用架构设计(功能划分、边界确定、集成关系、应用分布)
  • 数据架构设计(概念模型、逻辑模型、数据流转)
  • 技术架构设计(技术选型、平台组件、部署方案)

阶段三:制定路线

  • 识别差距和优先级
  • 制定演进路线图
  • 规划分阶段实施计划

笔记心得:这套方法论最大的价值是定义了架构角色和职责分工——企业架构师、业务架构师、应用架构师、数据架构师、技术架构师、项目经理、架构资产管理员,每个角色都有明确的职责和技能要求。这种RACI矩阵式的分工,是大型架构项目不跑偏的组织保障。


十一、批判性审视:这份文档的五个不足

夸完了优点,也该说说不足。带着今天的视角审视,这份文档有几个明显可以改进的地方:

不足一:缺少量化的架构决策记录

文档虽然做了很多设计选择(比如两种部署模式、SOA技术路线),但没有记录"为什么选A不选B"的决策过程。好的架构文档应该包含ADR(Architecture Decision Record),记录每个关键决策的背景、选项、评估和结论。

不足二:非功能性需求不够具体

文档提到了"7×24小时运行"、“满足未来3-5年发展"等要求,但缺少具体的SLA指标:系统响应时间是多少?并发用户数是多少?数据恢复时间目标(RTO)是多少?这些数字应该是架构设计的硬约束。

不足三:演进路线图缺失

文档描述了目标架构,但没有给出从现状到目标的迁移路径。哪些模块先建、哪些后建、过渡期怎么并行运行——这些是项目落地时最头疼的问题,文档里没有回答。

不足四:架构治理机制薄弱

虽然配套方法论提到了"架构遵从"的概念,但文档本身缺少治理机制的描述:谁来审查架构合规性?多久审查一次?发现偏离怎么处理?没有治理的架构,就像没有交警的交通规则。

不足五:成本估算和ROI分析缺失

对于一份要指导投资决策的架构文档来说,缺少成本估算是一个遗憾。两套部署方案分别需要多少硬件投入?SOA改造的人力成本是多少?这些数字是管理层审批项目的关键依据。


十二、可复用的架构文档框架:从这份文档提炼

综合以上分析,如果要写一份能真正指导落地的IT架构设计文档,可以参考以下框架:

推荐的文档结构

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
第1章 引言(目的、范围、术语、参考)
第2章 现状诊断(业务/应用/数据/技术现状评估)
第3章 架构愿景与原则(设计原则、目标架构愿景、约束条件)
第4章 业务架构(业务能力、业务流程、业务规则)
第5章 应用架构(应用划分、功能分配、部署模式、集成关系)
第6章 数据架构(数据模型、数据分类、数据流转、数据治理)
第7章 技术架构(技术选型、平台组件、技术标准)
第8章 物理架构(硬件配置、容量规划、网络设计、容灾方案)
第9章 安全架构(风险分析、安全策略、安全设计)
第10章 迁移规划(差距分析、演进路线、分阶段实施计划)
第11章 架构治理(遵从机制、审查流程、变更管理)
附录:架构决策记录(ADR)、容量估算表、术语表

每个章节的核心交付物

章节 必须回答的核心问题
现状诊断 现在有什么、缺什么、哪里痛
架构愿景 要到哪里去、为什么
业务架构 业务到底在做什么、该怎么做
应用架构 系统怎么划分、模块怎么交互
数据架构 数据怎么组织、怎么流转、怎么治理
技术架构 用什么技术栈、为什么选它
物理架构 需要多少机器、多大存储、多宽带宽
安全架构 面临什么威胁、怎么防护
迁移规划 怎么从现在走到目标、分几步走
架构治理 怎么保证大家按规矩来

十三、架构文档的生命力在于"可执行”

精读这份文档,最大的感触是:好的架构文档不是PPT,是施工图。

它有明确的层次推导(业务→应用→数据→技术→物理),有具体的部署方案(两种模式可选),有容量估算(多少机器、多大存储),有集成细节(什么协议、什么报文格式)。开发人员拿到这份文档,虽然还需要做详细设计,但大方向不会跑偏。

相比之下,今天很多"架构文档"其实只是一堆漂亮的架构图加上模糊的原则描述。看起来很高大上,但真要照着做项目时,处处都是坑。

有句话说:“文档的厚度决定了团队沟通的成本。” 架构文档写得越具体、越可操作,后面开发、测试、运维的扯皮就越少。

如果你正在写或即将写一份架构设计文档,记住三个检验标准:

  1. 开发人员能不能照着做详细设计? 如果不能,说明应用架构和技术架构写得不够细。
  2. 运维人员能不能照着做资源规划? 如果不能,说明物理架构和容量估算缺失。
  3. 项目经理能不能照着做项目排期? 如果不能,说明迁移规划和阶段划分不够清晰。

满足这三条,你的架构文档就从"摆设"变成了"工具"——而这,才是一份架构文档存在的真正意义。

广告
广告位预留中 (728x90)

📚 关注公众号,免费获取技术材料

扫码关注公众号,回复「资料」领取:

  • 📘 企业架构设计模板
  • 📗 数据治理实施指南
  • 📙 工业软件技术白皮书
公众号二维码

长按或扫描二维码