本节书摘来自华章出版社《系统架构:复杂系统的产品设计与开发》一书中的第1章,第1.3节学习目标,作者[美]布鲁斯·卡梅隆,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.3学习目标
本书要展示的是如何思考,而不是具体应该思考哪些内容。我们的目标是帮助读者形成一套思考并创建系统架构的方式,而不是提供一套过程。根据笔者过去的经验,优秀的架构师总是能对架构及其方式达成明确的共识,但他们各自所要面对的具体工作以及工作情境,则有相当大的区别。
本书的目标是帮助系统架构师规划并引领系统开发过程中的早期概念性阶段,并为整个开发、部署、运营及演变的过程提供支持。
为了达成上述目标,本书会帮助架构师:
在产品所处的情境与系统所处的情境中使用系统思维。
分析并评判已有系统的架构。
指出架构决策点,并区分架构决策与非架构决策。
为新系统或正在进行改进的系统创建架构,并得出可以付诸生产的架构成果。
从提升产品价值及增强公司竞争优势的角度来审视架构。
通过定义系统所处的环境及系统的边界、理解需求、设定目标,以及定义对外体现的功能等手段,来厘清上游工序中的模糊之处。
为系统创建出一个由其内部功能及形式所组成的概念,从全局的角度对这一概念进行思考,并在必要时运用创造性思维。
驾驭系统复杂度的演化趋势,并为将来的不确定因素做好准备,使得系统不仅能够达成目标并展现出功能,而且还可以在设计、实现、运作及演化过程中一直保持易于理解的状态。
质疑并批判地评估现有的架构模式。
指出架构的价值所在,分析公司现有的产品开发过程,并确定架构在产品开发过程中的角色。
形成一套有助于成功完成架构工作的指导原则。
为了实现上面所说的这些目标,我们会展示系统架构的原则、方法及工具。原则是持续存在的基本原理,它们一直有效或在绝大部分情况下有效。方法是对达成具体目标所需的手段和任务所做的一种规划方式,它们应该坚实地建立于原则之上。通常来说,方法是可以运用到各种项目中的。工具也是一种可以推动项目发展过程的方式,它们有时可以运用到某些项目中。
本书的一项既定目标,是使读者在阅读过程中形成一套自己的系统架构原则。架构师所做的决策,所使用的方法及工具,都应该建立在这套原则之上。
“原则是通用的规则与方针,它们应该是持续有效且很少变化的。原则可以用来为某个组织完成其任务的方式提供指导与支持。然而一个组织从确定价值到开始行动,再到取得成果,却是由一系列经过规划的理念来共同阐释并指引的,在这些理念中,原则只是其中的一个元素而已。”
—1998年6月29日,美国空军在为其空军总部订立信息管理原则时所述
“原则要根据实践中的事实做出修改。”
—James Fenimore Cooper所著的《The American Democrat》一书(1838年出版)第29章
笔者在本书的各处文字中都会阐述自己的原则,然而大家应该在阅读过程中根据自己的经验形成一套自有的原则。