《系统架构:复杂系统的产品设计与开发》——第1章,第1.4节本书结构

简介:

本节书摘来自华章出版社《系统架构:复杂系统的产品设计与开发》一书中的第1章,第1.4节本书结构,作者[美]布鲁斯·卡梅隆,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.4本书结构
本书分为四个部分。
第一部分是第1~3章,介绍了系统思维的原则,并概述了管理复杂度所用的工具。这些原则与工具在后续的其他部分中还会提到。我们会用一些真实的范例来表述它们,这些范例包括:放大器的电路、循环系统、设计团队和太阳系。
第二部分是第4~8章,着重对架构进行分析。我们会深入探讨系统的形式,以便将形式与系统的功能相区隔,然后再来分解系统的功能。我们会提出与特定解决方案无关的功能及概念这两个说法,然后对现有的一些简单系统做分析。这种分析方式,既可以用于人类主动构建的系统,也可以用于机构、城市或大脑等演化而成的系统。第二部分的很多章节都是从一些特别简单的系统开始讲起的。这么写并不是故意要把读者看得很笨,而是由于这些系统的组成部分都可以为大家完全了解,因此我们不妨先从这些系统开始分析,然后再把这套分析方法运用到更为复杂的系统上。从简单的系统讲起有一个好处,就是它的组成部件不会过于复杂。如果这些组件复杂到使我们没有办法一次将其完全理解清楚,那我们就没有办法把这个产品当成系统来进行分析。
第三部分是第9~13章,重点是通过做决策来创建架构。这一部分讲述了从确定需求到选定架构的过程。第二部分是从架构讲到与特定解决方案无关的功能,而第三部分则是直接讲述在没有旧架构可供参考的情况下,如何在设定目标时厘清上游过程中的不明确之处。第三部分围绕着消解歧义、运用创造力及管理复杂度这三个概念进行讲解。
第四部分是第14~16章,探寻了帮助架构师做决策的各种计算方法及工具所具备的潜力。第一部分~第三部分把架构师当成决策人。我们把分析与框架搭建在架构师的领域专长之上,而架构师则要对系统中的各个层面进行整合,衡量各种事务的优先程度,并确定其中最重要的事务。第四部分提出一个想法,就是把架构决策视为模型的参数,并试图通过这些参数来捕捉各个层面或各个属性中的重要因素。我们会演示如何把架构问题中的复杂度有效地浓缩到模型里面,但是大家要记住,模型不是用来取代架构师的,而是用来给架构师做决策提供支持的。根据笔者的经验:这种决策表示方式对于完成架构任务来说是一种有用的心智模型。

相关文章
|
存储 缓存 算法
HLS介绍 - 01 - FPGA的架构、结构以及硬件设计相关概念(二)
HLS介绍 - 01 - FPGA的架构、结构以及硬件设计相关概念
629 0
HLS介绍 - 01 - FPGA的架构、结构以及硬件设计相关概念(二)
|
6月前
|
存储 NoSQL Redis
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 +  无锁架构 +  EDA架构  + 异步日志 + 集群架构
|
12月前
|
存储 前端开发 数据库
一文搞懂SaaS应用架构:应用服务、应用结构、应用交互设计
【10月更文挑战第21天】本文介绍了 SaaS 应用服务的多租户服务、安全服务和更新与维护服务,以及 SaaS 应用的前后端结构和交互设计。多租户服务涉及数据隔离和资源分配;安全服务包括身份认证与授权及数据安全;更新与维护服务涵盖版本管理和技术支持。前端结构关注用户界面设计和前端技术选型;后端结构则涉及微服务架构和数据库管理。交互设计强调租户与应用的交互和应用内部模块间的交互。
943 0
|
编解码 人工智能 文件存储
卷积神经网络架构:EfficientNet结构的特点
EfficientNet是一种高效的卷积神经网络架构,它通过系统化的方法来提升模型的性能和效率。
421 1
画好一张架构图/业务图/流程图问题之如何让图结构更清晰问题如何解决
画好一张架构图/业务图/流程图问题之如何让图结构更清晰问题如何解决
190 1
|
缓存 关系型数据库 MySQL
MySQL数据库——InnoDB引擎-架构-内存结构(Buffer Pool、Change Buffer、Adaptive Hash Index、Log Buffer)
MySQL数据库——InnoDB引擎-架构-内存结构(Buffer Pool、Change Buffer、Adaptive Hash Index、Log Buffer)
220 3
|
前端开发 开发者
【专栏】BEM(Block-Element-Modifier)是一种前端命名规范和架构方法,旨在创建清晰、可维护的代码结构。
【4月更文挑战第29天】BEM(Block-Element-Modifier)是一种前端命名规范和架构方法,旨在创建清晰、可维护的代码结构。它包括Block(独立功能单元)、Element(Block的子元素)和Modifier(表示状态或变体)。BEM的特点包括命名一致性、模块化设计、清晰结构和可复用性,适用于代码组织、样式管理、组件化开发和团队协作。虽然命名较长和学习成本是其局限性,但BEM在提升代码质量和效率方面具有显著优势,是前端开发的重要工具。
314 0
|
Kubernetes Cloud Native API
云原生技术专题 | 深入浅出分析云原生微服务的技术结构和架构设计
云原生技术专题 | 深入浅出分析云原生微服务的技术结构和架构设计
719 0
|
存储 缓存 物联网
DP读书:鲲鹏处理器 架构与编程(二)服务器与处理器——高性能处理器的并行组织结构、ARM处理器
DP读书:鲲鹏处理器 架构与编程(二)服务器与处理器——高性能处理器的并行组织结构、ARM处理器
449 0
|
弹性计算 Java 数据库连接
架构设计第七讲:数据巡检系统之daily&线上表结构自动化比对
架构设计第七讲:数据巡检系统之daily&线上表结构自动化比对
200 0

热门文章

最新文章