1.1 系统的概述
随着人类的发展,人们面对越来越多的规模巨大、关系复杂、参数众多地复杂问题,系统论就是为了分析和解决这些问题而生。我们平时接触的计算机系统包括软件系统本质上属于系统论的一个范畴。系统论是一门独立的学科,经历了多年的发展已经形成了体系化的理论。 系统论里的一些原则、理论、方法同样适用于计算机系统,计算机系统里遇到的复杂性问题在系统论里肯定会有原则性的指导。相信前人肯定比我们聪明,我们遇到的问题,前人肯定也遇到过,只不过以另外一种形式呈现。多年的互联网从业经验很容易让我们拘泥于互联网软件系统,就样很容易忽略更一般性的规律和原理。
把互联网软件系统放到软件系统里看,把软件系统放到系统论里看。
从计算机系统出来,进入系统论的层面,再回到计算机系统。仿佛上帝视角与人间视角的来回切换。
系统定义:系统由相互作用和相互依赖的若干组成部分结合成的、具有特定功能的有机整体。系统论强调整体与局部、局部与局部、系统本身与外部环境之间互为依存、相互影响和制约的关系。
系统论要求:把事物或者现象当作系统来研究,并用数学模型去描述和确定系统的结构和行为。系统的思考,区别于系统化的思考,系统的思考是要求我们把事情当做一各个个的系统来看。系统的整体不是系统的部分之和,系统的整体一定大于系统的部分之和。 一个系统能支撑的能力超越于系统组成之和。 例如汽车由轮子、发动机、车架组成。汽车都能行驶,但是轮子、发动机、车架都不能行驶。
1.2 系统三大基本特征:
目的性:任何系统都是有一定的目的。
这里可以理解为业务系统的边界。我们的系统是为了做什么事而设立的?能做什么事?不能做什么事?
动态性:动态性说明系统会发展。
放到我们的业务系统上来说,就是会演进,会向前动态发展。系统内部会随着时间的而变化,系统与外部的交互关系也会随着时间而改变。
有序性:任何系统本质上都是有序的,如果不是,说明我们对系统的描述还不够深刻。
如果我们的业务系统仍然很乱,很杂,那说明我们还没有找到系统的深层次的结构,复杂是因为我们掌握不够。
1.3 系统思维的四层境界:
- 认识系统:认识并了解系统的形式与功能、结构与关系。
- 预测系统:当系统发生某个事件时,能够根据已有知识对系统的行为做出预测。
- 决策系统:对系统足够了解,拥有充足的依据,可以干预系统,对系统进行认定、分析、权衡,最终做出决策。
- 组装系统:系统思维的最高境界,可以根据系统的部件重组一套系统。
这个四种境界可以完美的映射到计算机软件系统上。
系统思维的方法论:
通过抽象思维识别出系统中的实体并用概念模型表达。
通过整体思维对关键问题进行分析、归纳,筛选出恰当的实体作为系统的组装部件。
1.4 系统分类
系统的分类有很多,按照不同的维度可以划分不同的系统,例如按照是否人工可以分为人工系统、自然系统、社会系统等。
这里讲两个系统,决定论系统,演化系统。
决定论系统:有明确的因果关系,掌握系统内部规律就可以做出明确的判定。机械系统、软件系统等均属于这个范畴。
例如飞机、汽车等只要掌握对应的物理原理,就能够让飞机飞行,让汽车在马路上奔驰。
演化系统:更多的是相关性,因果关系不明确或者难以理清,其难度是深不可测。例如人类的免疫系统,医学上虽然知道免疫系统,但是仍然难以理清其原理。人类的大脑,自然界中的蚁群系统,自然界的生态平衡系统等。
对不同系统的方法论也不一样。对决定论系统应该重点是掌握规律,挖掘其特点。