《系统架构:复杂系统的产品设计与开发》——第2章,第2.2节系统与涌现

2023-10-17 14:59

本文主要是介绍《系统架构:复杂系统的产品设计与开发》——第2章,第2.2节系统与涌现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

2.2系统与涌现
2.2.1系统
由于系统思维是一种把疑问、状况或难题明确视为系统的思维方式,因此,要讲解系统思维,首先就必须讨论系统。英语中很少有哪个词的使用范围像系统这样广泛,而且其定义也有很多种,本书采用文字框2.1中的定义。
系统是由一组实体和这些实体之间的关系所构成的集合,其功能要大于这些实体各自的功能之和。


7e39fb740edfdd7c8744915c22d39dff228c3939

这个定义体现了两个重点:
1.系统是由相互作用或相互联系的实体组成的。
2.实体之间发生相互作用时,会出现一种功能,这种功能大于或不同于这些实体各自所具备的那些功能。
无论如何定义系统这个词,其核心都是上面所列出的第一点,也就是必须要有实体及实体之间的关系。实体(也称为部件、模块、例程、配件等)就是用来构成全体的各个小块。关系可以是静态的(例如连接关系),也可以是动态并交互的(例如货物交换关系)。
根据定义中的这一部分,我们可以确定有哪些事物不能称为系统。如果某物是一个连贯的整体,那它就不是系统。比如,一块砖(在宏观层面上)不能构成一个系统,因为它里面并不包含实体。然而,一面砖墙却可以构成一个系统,因为它包含实体(许多的砖块与砂浆)及关系(负载交换与几何关系)。毫无关系的一组实体也不能构成系统(例如位于乌克兰的一个人和位于亚洲的一袋米)。
要想给出一个能够把非系统的事物排除在外的定义,是相当困难的。有人可以说,一块砖头在适当的层面上就是一个系统。因为它是黏土做成的,而黏土本身是多种材料的混合物,这些材料之间具备相互关系,例如可以共同分担负荷,可以构成平行六面体等几何形状。住在乌克兰的人可能会用欧元购买亚洲的米,于是这两个实体就可以构成一个交易系统。
宽泛地说,任何一组实体其实都可以解读为一个系统,这也就是系统一词使用面较广的原因。有一个与系统密切相关的概念,叫做complex。作为形容词来讲,它的本义和首要义项是“复合的”,用来形容实体与关系较多的事物。而在某些语言中,complex还可以作为名词,用来表示“系统”这一含义。这种用法在科技英语中也有所体现,例如“肯尼迪航天中心39A发射复合体”(Launch Complex 39A)中的“复合体”,指的就是“系统”。
系统和产品,是两个容易混淆的概念。产品是能够交换或具备交换潜力的事物。有一些事物是产品但不是系统(例如米),还有一些事物是系统但不是产品(例如太阳系),但由于很多事物既是产品(可供交换)又是系统(含有很多相互联系的实体),因此这两个词经常混用。
与系统有密切关系的另一个概念是架构,也就是本书的主题。用最简单的话来说,我们可以把架构定义为“对系统中的实体及实体之间的关系所进行的抽象描述”[1]。由于架构是对系统所做的描述,因此对于一个存在且能够运作的系统来说,这两个概念显然是紧密相关的。
2.2.2涌现
在系统这个词的定义中,第二项特征是系统思维所要强调的重点。系统是一组实体及其关系的集合,其功能大于这些实体各自的功能之和。
系统思维所要强调的这一部分,就是涌现(emergence)的意义所在,也是系统的力量与魅力所在。涌现是指系统在运作时所表现、呈现或浮现出的东西。我们之所以要构建系统,就是为了取得令人满意的涌现物。对涌现的理解,是系统思维的目标,同时也可以体现出系统思维的艺术。
当系统的各个部件聚集起来时,会涌现出什么东西呢?最明显和最关键的涌现物,就是功能。功能(function)是系统所做的事情,也就是它的动作、产出或输出。我们设计某个系统,是想使该系统涌现出可以预期且令人满意的主要功能(例如汽车可以载人)。这项主要功能,通常与系统所产生的好处有关(我们之所以买车,是因为它有个好处,这个好处就是可以载人)。系统也可能会涌现出我们可以预料到但不合人意的产出(例如汽车燃烧碳氢化合物)。有时,当系统成形时,还会涌现出意料之外的功能。比如,汽车可以给人一种自由感,这项意料之外的产出,是令人满意的。而有些意料之外的功能却是我们所不愿意见到的,例如汽车可以致人死亡。从表2.1中可以看出:系统所涌现出来的功能,有些是可以预料到的,有些则是在事前无法预料到的;有些功能令人满意,另一些则不合人意。此外我们还可以明确地看出:除了主要功能之外,系统还可能涌现出其他一些令人满意的功能,例如人在汽车里可以感到温暖或凉爽,汽车能够令人感到愉悦等。
表2.1 对涌现出的功能进行分类


c93aec4399f6b291e8fa38be5b22c07601fa0cd9

预期的涌现意外的涌现,令人满意的汽车可以载人,汽车内可以使人感到温暖/凉爽,汽车令人感到愉悦,汽车可以创造一种个人自由的感觉
不合人意的,汽车燃烧碳氢化合物,汽车可以致人死亡。
系统的基本性质在于它会涌现出新的功能。比如图2.1中的这两个元素:沙和漏斗形玻璃管。沙是一种天然材料,并没有预期的功能。漏斗可以汇聚其他物品或使之沿渠道流出。当这两件元素组合起来时,一项新功能就诞生了,这就是计时功能。我们怎么会知道沙和漏斗拼接起来能变成一种计时器呢?沙和漏斗这两个机械元素怎么会产生一种可以记录抽象概念(也就是“时间”)的信息系统呢?
除了功能之外,系统还会涌现出性能(performance)。性能就是系统运作或执行其功能的好坏程度。它是系统功能的一项属性。某辆汽车的运输速度有多快?某个沙漏能否准确地计时?这些都是性能问题。图2.2中的足球队是个人类系统。所有足球队的功能都一样,就是队员协作比赛,取得比对手更多的进球。然而,有些足球队的成绩要比其他足球队更好,因为他们可以赢得更多的比赛。图2.2是参加2014年世界杯的德国足球队,他们赢得了冠军,可以说是这届比赛中成绩最好的球队。
图2.1 由沙和漏斗构成的系统所涌现出的功能:计时


20d5c4c3b5cbc6c0218ddf1cfa6eedaea9ff3842

图片来源:LOOK Die Bildagentur der Fotografen GmbH/Alamy
系统架构的第一条原则所谈的就是涌现(参见文字框2.2)。原则是一种长期有效的道理,它们总是能够(或者几乎总是能够)适用于各种问题。本书在介绍系统架构的原则时,一般都会先给出一些名人名言,用来展示伟大的思考者如何将这些原则精彩地表述出来。每条原则都会包含叙述和指引这两部分(指引部分可以用来指导我们的行动),有的原则还会给出深入的讨论。
文字框2.2 涌现原则(Principle of Emergence)


6eacc474d66048709a967de5e733fff24a988b99

“系统并不是其组成物的简单加总,而是这些组成物之间互动的产物。”
—Russell Ackoff
“整体大于其各部分之和。”
—亚里士多德(Aristotle),《形而上学》
当各实体拼合成一个系统时,实体之间的交互会把功能、行为、性能和其他内在属性涌现出来。我们要思考并试着探寻系统所涌现出的预期属性和意外属性。
实体之间的交互会导致涌现物。涌现物指的是系统在运作时所表现、呈现或浮现出来的东西。系统的附加价值是由涌现物所赋予的。
涌现的结果,使得变化以无法预知的方式进行传播。
一个实体所发生的变化将会如何影响涌现出来的属性,是很难预测的。
能够涌现出预期属性的系统,是成功的系统。不能涌现出预期属性或意外涌现出不良属性的系统,是失败的系统。
除了性能之外,系统还会涌现出其他属性,例如可靠性(reliability)、可维护性(maintainability)、可操作性(operability)、安全性(safety)和健壮性(robustness,鲁棒性)。这些以“某某性”为格式的属性,其对应的英文单词大多以“ility”结尾。与功能和性能方面的涌现物不同,这些属性并不是立刻就能创造出价值的,而是要通过系统在整个生命期中的运作情况来体现。某辆汽车是否能安全地载人?某个沙漏是否能可靠地计时?德国足球队是否能稳定地赢得比赛?某个软件是否能健壮地或可靠地运行?某辆车在路边抛锚,究竟是机械性的故障,还是嵌入式软件性的故障?
在表2.1的四类涌现物中,最后一类涌现物特别重要,值得单独讨论,这就是意外且不良的涌现物。我们把这种涌现物称为紧急状况(emergency,这个词的词根和涌现物的英文单词emergence相同)。汽车可能因失控而导致旋转或翻滚。足球队可能会在重要的比赛日产生冲突或表现不佳。图2.3是袭击新奥尔良的卡特里娜飓风(Hurricane Katrina),这是一种引发紧急状况的自然现象。这个系统的破坏力非常大。


b41735bbff912cc264e000191292540a5ca9315a

这些和功能及性能相关的涌现属性(也就是刚才提到的“某某性”),以及系统不引发紧急状况这一特点,与系统所创造的价值有着密切的联系。价值就是有着一定成本的利益。构建系统是为了获得利益(这个利益,在观察者的眼中,是以财富、名望或功用等主观标准来评判的)。
总之:
系统是由多个实体及实体间的关系所构成的集合,其功能大于这些实体各自的功能之和。
每件事物几乎都能视为系统,因为其中差不多都含有一些相互关联的实体。
当系统的功能大于其中每个实体各自的功能之和时,就会有涌现物出现。
对涌现物的理解,是系统思维的目标,同时也体现出系统思维的艺术。
系统运作时会涌现出一些功能、性能,以及一些以“某某性”为名的属性。与系统不引发紧急状况这一特点一样,这些功能、性能和属性,也都与系统的利益和价值密切相关。

这篇关于《系统架构:复杂系统的产品设计与开发》——第2章,第2.2节系统与涌现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/226169

相关文章

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压