《系统架构:复杂系统的产品设计与开发》——第3章,第3.5节对复杂系统进行思索

简介:

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

3.5对复杂系统进行思索
系统思考者在对复杂系统进行分析或综合时,可以使用许多技巧来帮助自己思考。
3.5.1自顶向下及自底向上式的思考
自顶向下(top-down)和自底向上(bottom-up)是思考系统时的两种方向。本书的绝大部分内容都是按照自顶向下的方式来阐述的。我们先从系统的目标开始,然后思考概念及高层架构。在制定架构时,我们会反复地对架构进行细化,并在我们所关注的范围内,把架构中的实体分解到最小。这种方法相当于系统工程V字模型中的左侧部分[2]。
与之相对的思考方式是自底向上。也就是先思考工件、能力或服务等最底层的实体,然后沿着这些实体向上构建,以预测系统的涌现物。除了这两种方式外,还有一种办法是同时从顶部和底部向中间行进,这叫做由外向内(outer-in)的思考方式。
设计Team XT时,我们主要用的是自顶向下的方式,先确定系统及其功能,然后对系统进行分解,并确定其内部的各种过程。Team XT所在公司的CEO当然也可以用自底向上的办法来思考,例如CEO决定把16个最为合适的员工请到某间办公室,叫他们自己去组织一个团队,并研拟一套最有效的设计方案。
真正复杂的系统实际上是没有顶和底的,因此,我们在现实的工作中总是会使用由内向外(middle-out)的办法,也就是在系统层级中选定一个点,然后试着由该点开始,向上或向下探索1~2层。好的架构师应该要能够运用所有这四种方法。

3.5.2交替思考
Zigzagging(交替思考、Z字形思考)是Nam Suh在研究公理化设计(axiomatic design)时提出的一个术语[3]。Suh发现,我们在思考系统时,思维会在形式领域和功能领域之间来回切换,也就是先在其中某个领域尽可能久地进行思考,然后再换到另一个领域。
我们一开始在思考Team XT时,先认清了该团队的功能,那就是“研发设计方案”。然后切换到形式领域,并且确定了小组这一形式概念。把团队分解成小组之后,我们又切换回功能领域,思考每个小组都要完成什么功能,同时也思考“研发设计方案”这一功能应该如何涌现出来。在思考系统的其他层面时,我们依然可以运用这种在形式与功能之间反复跳跃的思维模式。

相关文章
|
22天前
|
监控 持续交付 API
深入理解微服务架构:构建高效、可扩展的系统
【10月更文挑战第14天】深入理解微服务架构:构建高效、可扩展的系统
72 0
|
3月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
778 3
|
7天前
|
前端开发 安全 关系型数据库
秒合约系统/开发模式规则/技术架构实现
秒合约系统是一种高频交易平台,支持快速交易、双向持仓和高杠杆。系统涵盖用户注册登录、合约创建与编辑、自动执行、状态记录、提醒通知、搜索筛选、安全权限管理等功能。交易规则明确,设有价格限制和强平机制,确保风险可控。技术架构采用高并发后端语言、关系型数据库和前端框架,通过智能合约实现自动化交易,确保安全性和用户体验。
|
15天前
|
存储 数据管理 调度
HarmonyOS架构理解:揭开鸿蒙系统的神秘面纱
【10月更文挑战第21天】华为的鸿蒙系统(HarmonyOS)以其独特的分布式架构备受关注。该架构包括分布式软总线、分布式数据管理和分布式任务调度。分布式软总线实现设备间的无缝连接;分布式数据管理支持跨设备数据共享;分布式任务调度则实现跨设备任务协同。这些特性为开发者提供了强大的工具,助力智能设备的未来发展。
56 1
|
24天前
|
存储 监控 负载均衡
|
1月前
|
传感器 存储 架构师
构建基于 IoT 的废物管理系统:软件架构师指南
构建基于 IoT 的废物管理系统:软件架构师指南
66 9
|
1月前
|
存储 安全 开发工具
百度公共IM系统的Andriod端IM SDK组件架构设计与技术实现
本文主要介绍了百度公共IM系统的Andriod端IM SDK的建设背景、IM SDK主要结构和工作流程以及建设过程遇到的问题和解决方案。
49 3
|
2月前
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
81 6
|
2月前
|
网络协议 安全 中间件
系统架构设计师【第2章】: 计算机系统基础知识 (核心总结)
本文全面介绍了计算机系统及其相关技术,涵盖计算机系统概述、硬件、软件等内容。计算机系统由硬件(如处理器、存储器、输入输出设备)和软件(系统软件、应用软件)组成,旨在高效处理和管理数据。硬件核心为处理器,历经从4位到64位的发展,软件则分为系统软件和应用软件,满足不同需求。此外,深入探讨了计算机网络、嵌入式系统、多媒体技术、系统工程及性能评估等多个领域,强调了各组件和技术在现代信息技术中的重要作用与应用。
69 4
|
2月前
|
缓存 运维 NoSQL
二级缓存架构极致提升系统性能
本文详细阐述了如何通过二级缓存架构设计提升高并发下的系统性能。
119 12
下一篇
无影云桌面