对于系统工程,重要的是要准确理解所使用的关键术语的含义。本书展现了所有工程以及与此相关的所有其他行业的一个特点,即任何术语都很少有单一的、明确的定义。而沟通往往是系统工程成功的关键,因此这就会导致问题的产生,本章稍后将会进行讨论。
为了解决这个潜在的问题,本章将介绍、讨论和定义本书中使用的特定概念及相关术语。这将构建一种领域特定语言,然后在本书中始终如一地使用该语言。采用的术语将尽可能地基于国际最佳实践,如ISO 15288(ISO 2015)等标准,以确保信息来源。
第一个要讨论的概念是 系统 。根据系统的性质,不同的人会以不同的方式定义系统。因此,为了说明在系统工程中可能遇到的一些典型系统类型,首先需要识别出一些系统类型。系统有许多不同的分类法,其中一种被广泛接受的是由Peter Checkland(Checkland,1999)定义的,如图1.1所示。
图1.1 Peter Checkland的五种通用系统类型
图1.1中显示了Checkland的五种通用系统类型,它们分别是:
❍自然系统 (Natural System)是指人类无法控制的开放系统。这些系统包括天气系统、自然、环境、时间等。
❍物理设计系统 (Designed Physical System)代表大多数人在考虑系统时立即想到的东西,如智能手机、平板电脑、直升机、汽车、火车、飞机、宇宙飞船、船只、电视、照相机、桥梁、电脑游戏、卫星,甚至家用电器。这类系统几乎是无穷无尽的。这些系统通常由物理构件组成,这些构件代表系统的真实世界表现形式。
❍抽象设计系统 (Designed Abstract System)表示没有物理构件但被人们用来理解或解释想法或概念的系统。此类系统包括模型、方程、思想实验等。
❍人类活动系统 (Human Activity System)是基于人类的系统,可以在现实世界中观察到。这些系统通常由不同的人组成,他们相互作用以实现一个共同的目标或目的。这种系统包括政治系统、社会团体、以人为本的服务等。
❍超验系统 (Transcendental System)即超出我们目前理解范畴的系统。此类系统包括未知问题和Numberwang。
这是一个很好的分类方法,本书将以此分类方法作为参考。它为思考不同类型的系统提供了一个非常好的方式,但重要的是,我们可以将系统工程应用在这五种不同类型的系统中。
此外,还应该记住,一个系统有可能与上述多个系统类别相匹配。例如,交通系统必须考虑:车辆(物理设计系统)、运营模式(抽象设计系统)、环境(自然系统)和政治系统(人类活动系统)。在现实生活中,系统是如此的复杂,以至于很容易就能遇到可以归入多个类别系统的示例。
前面介绍了五种不同类型的系统,它们有一些共同的特性。这些特性使得系统能够被理解和开发。我们将在接下来的几个小节中探讨这些问题。
任何系统都有自己的结构,这些结构可以被视为一组相互交互的 系统元素 (System Element),如图1.2所示。
图1.2 系统的基本结构:系统元素
图1.2展示了一个由一组系统元素组成的系统,其中系统分为两种类型: 相关系统 (System of Interest)和 赋能系统 (Enabling System)。相关系统指的是正在开发的系统,而赋能系统指的是任何一个与相关系统有所关联或与之交互的系统。
这里需要注意的是,系统的结构实际上要比这复杂得多,因为系统元素本身可能被分解成更低级别的系统元素,这将导致其被识别成一个具有多个层次的系统结构。鉴于初次讨论,我们会尽可能地减少系统层数,以便简化解释过程。本书后面将详细地讨论系统,届时将考虑跨多个层次的结构示例。
接下来的一个关键点是系统元素之间的交互。这是理解真实系统与所采用的系统工程的关键概念。在考虑系统或系统元素时,重要的是要了解它们将与系统其他元素交互,而不是孤立存在的。在系统工程中,所有事物都存在着关联,因此理解系统元素之间的关系(构成它们之间交互的基础)与理解系统元素本身一样重要。
系统元素之间的交互使得我们可以在它们之间识别和定义接口。了解系统元素之间的接口对于明确和定义所有类型的系统至关重要。除理解接口外,还必须理解流经接口的信息或素材(非信息的东西)。
系统结构和接口将在第3章中详细讨论。
系统工程工作的一个关键内容,就是要了解与系统有关的 干系人 (Stakeholder),如图1.3所示。
图1.3 定义与系统有关的人或物:干系人
图1.3表明干系人与系统有关。了解干系人是系统工程成功的关键,干系人是一个角色,它是与系统有关的人、组织或事物。
理解干系人的时候需要注意一些细节:
❍ 在考虑干系人时,需要考虑的是干系人的角色,而不是与其有关的个人、组织或事物的名称。例如,有一个叫Jon的人,他拥有一辆汽车,其中与汽车相关的干系人不是Jon,而是Jon在与汽车交互时所扮演的不同角色,例如所有者、司机、乘客、担保人、维护者等。不同的干系人角色会以不同的方式去看待汽车。因此,重点是与其考虑Jon这个人,不如考虑Jon所扮演的干系人角色。
❍ 干系人不一定是人,也可以是任何事物,比如组织。例如,在考虑汽车系统时,所有者角色可以由Jon这个人担任,但这辆汽车也可能被企业所拥有。在这种情况下,企业扮演了干系人角色。同样,法律也与汽车有关,这意味着法律也是干系人。
❍ 干系人与担任该角色的个人、组织或事物之间不是一对一的关系。上面已经说明Jon可以担任多个干系人角色,同样,多个人也可以承担相同的干系人角色。例如,考虑与司机一起乘坐车辆的乘客,这种情况下有好几个人同时担任相同的干系人角色——乘客。
❍ 干系人和赋能系统一样,都位于系统边界之外。如果干系人的定义是与系统有关联的一切事物,那么赋能系统实际上就是一种特殊类型的干系人,因为其基本定义是相同的。
识别干系人是系统工程的重要组成部分,因为不同的干系人将从不同的角度来看待同一个系统,具体的角度取决于他们所扮演的干系人角色。这就引出了一个重要的上下文概念,本章稍后将对此进行更详细的讨论。
我们可以通过识别一系列 特征 (Attribute)来描述给定系统的高级属性(Property),如图1.4所示。
图1.4 描述系统的属性:特征
图1.4显示了系统可以由特征来描述,此处的特征与系统的概念有关。需要注意的是,一个系统会包含许多系统元素,这些特征也适合用来描述系统元素。
特征通常用名词表示,可以有许多不同的值,具有明确的、预先定义好的类型,也可能具有特定的单位。下面是一些类型较为简单的特征:
❍尺寸 ,例如长度、宽度和高度,将以实数的形式输入,可能会以毫米为单位。
❍重量 ,将以实数的形式输入,以千克为单位。
❍元素编号 ,它可能是整数类型,可能没有相关的单位。
❍名称 ,可以是字符或文本类型,可能没有相关的单位。
特征也可以采用更复杂的类型,例如:
❍时间戳 ,由一组简单的类型组合在一起成为更复杂的类型。在这种情况下,时间戳可以是日(1~31,整数)、月(1~12,整数)、年(0000以上的整数)、时(1~24,整数)、分(0~59,整数)和秒(0~59,整数)的组合。
❍数据结构 ,可以表示符合特定协议的所有音频或视频文件,例如MP3、MP4等。特征几乎是无限的,因此上面提供的示例旨在抛砖引玉,并不是一份完整列表。
每个系统都至少有一个与之关联的 边界 (Boundary),它有助于解释系统的范围,如图1.5所示。
图1.5 定义系统范围:边界
图1.5表明边界定义了系统的范围。
边界的类型有很多种,包括:
❍物理边界 ,包围系统的某种外壳,它将系统与外部世界隔开。它可以是一个容纳许多系统元素的容器,如汽车的车身、包围一块土地的栅栏、一个房间的墙和门等。
❍概念边界 ,可以想象但不一定能观察到的非物理边界。例如,汽车和与之交互的GPS卫星之间的边界,在这种情况下,系统的边界在哪里呢?是汽车上的发射器和接收器、卫星上的发射器和接收器,还是传输的波或用于传输的协议?
❍干系人边界 ,不同的干系人可能以不同的方式看待系统。因此,系统边界的位置可能会因干系人而异。再次考虑汽车系统的两个不同干系人,乘客可能将汽车的边界视为物理车身或汽车的外壳,而汽车的维护者可能将汽车与卫星之间链接的概念边界视为边界。
系统边界有助于理解系统的一些关键内容:
❍边界内有什么 ,了解哪些系统元素在系统边界内、哪些在系统边界外非常重要。在系统边界内考虑的系统元素将有助于准确定义系统的范围。
❍边界外有什么 ,正如理解边界内的内容很重要一样,就系统元素而言,理解系统边界外的内容同样重要。存在于系统边界之外的事物被认为是干系人或赋能系统,或两者兼而有之。
❍关键接口存在的位置 ,它用来标识跨系统边界发生交互时的接口。识别接口是系统工程的重要组成部分,边界可用于识别系统与外部世界之间的所有接口。
定义给定系统的边界可能不像看起来那么简单,因为不同的干系人可能会识别不同的边界。但这并不一定是问题,我们只需要确保不会因为这些差异而发生冲突就可以了。
每个系统都必须有一个目的,它通过一组 需求 (Need)来表示,如图1.6所示。
图1.6 定义系统的目的:需求
图1.6显示系统的目的可以由需求来描述。需求是用来描述系统的概念。图1.6还显示了不同类型的需求,这里列出了其中的三种:
❍要求(Requirement) ,要求是对希望系统执行某件事的陈述,通常与系统所需的特定功能有关。例如,对汽车的要求可能是司机必须能够使用制动踏板使汽车减速,汽车必须有安全带,或者汽车必须以100英里 /时的最高速度行驶。
❍特性(Feature) ,特性代表系统更高层次的需求,不一定与特定功能相关,但可能与功能集合相关。例如,汽车必须具有自适应巡航控制系统,汽车必须能自动泊车,或者汽车必须具有防撞功能。
❍目标(Goal) ,目标是一种非常高层次的需求,代表了整个系统层面的需求。例如,汽车一次充电可以载一名司机和三名乘客行驶超过300英里的距离。
这里应该强调的是,有许多不同的术语可用于描述各层面的需求,这些需求因组织和行业的不同而大相径庭。例如,术语“能力”(Capability)通常用于航空航天和国防工业,而术语“特性”(Feature)则常用于运输工业,如汽车和铁路。从某种程度上看,采用哪种术语并不重要,只要统一即可。
所有的系统在实现方式上都会受到某种程度的限制,这些限制被称为 约束 (Constraint),如图1.7所示。
图1.7 定义系统实现的限制:约束
图1.7表明约束限制了系统的实现。所有系统都会有与之相关的约束,这些约束将限制系统的实现方式。约束通常被分成如下若干类别:
❍质量约束 ,几乎所有系统都存在与最佳实践出处相关的约束,例如标准。通常需要确定用于交付系统的开发方法必须遵守的许多标准。这些标准通常与描述整个系统工程方法的开发流程相关。例如,对于汽车系统,汽车行业经常采用的标准是ISO 26262。
❍实施约束 ,这些约束将限制系统的构建方式。这可能会限制使用的材料,例如,汽车可能仅限于由铝而不是钢制成的。
❍环境约束 ,所有系统都必须部署在某个地方,许多系统将在一个自然环境中定义,这可能会导致某些约束发挥作用。例如,对于汽车,可能会限制其排放量,以尽量减少对环境的影响。
❍安全约束 ,几乎所有系统都会受到这类约束,以确保系统能够以安全的方式运行,尤其是在出现问题时。例如,汽车可能需要具备在发生碰撞时保护司机和乘客的功能。以上列表是针对不同类型约束的大致分类,但这绝不是详尽无遗的。
约束本身可能很复杂,可能会属于多个不同的类别。例如,对于汽车系统,可能存在一个限制,即所使用的所有材料必须是可回收的,这既属于环境约束,也属于实施约束。
其中一些约束适用于系统生命周期的不同阶段。系统生命周期是一个重要的概念,将在本书后面的章节中详细讨论。
约束也经常被描述为特殊类型的需求,因为它们经常被表示为与特定需求相关,而不是直接与系统本身相关。这将在第6章中详细地讨论,届时会特别关注需求。
现在汇总一下本节介绍和讨论过的所有概念,以总结它们与系统的关系,如图1.8所示。
图1.8 与系统相关的关键概念总结
图1.8总结了本书中使用的与系统相关的关键概念。要充分理解这些内容,因为从现在开始它们将会频繁出现。
系统工程 这个术语的定义有很多,很多出版物都对其中一些定义进行了讨论和对比(Holt & Perry,2019;INCOSE,2018)。就本书而言,所使用的定义出自ISO 15288(ISO 2015),它常被用于INCOSE系统工程手册(INCOSE,2016),它将系统工程定义(见图1.9)为:
实现成功的系统。
图1.9 系统工程的基本定义
图1.9显示了系统工程的基本定义。图1.9看起来可能微不足道,但它将通用术语与本章随后讨论的所有其他概念关联了起来。
这是一个简单而有效的术语定义,但在阅读此描述时必须牢记以下几个因素:
❍ 系统工程是一种多学科方法,它要考虑所有工程领域,包括机械、电气、土木、软件等领域。更为重要的是,我们还应该认识到系统工程不仅限于工程学科,还包括许多其他不同的学科领域,例如管理、数学、物理学、心理学,以及几乎其他所有领域!
❍ 系统工程应用于系统的整个生命周期,不限于任一阶段。这意味着系统工程从构思系统的第一个想法时起到系统最终退役一直都被考虑在内。即使只在一个阶段中工作,也应该考虑生命周期的所有阶段。
❍ 系统工程并没有消除对才智的需求,因为系统工程师绝不能盲目地遵循指令,他们需要具备一定程度的常识才能使系统有效地工作。
考虑到这些因素,可以对最初的定义进行扩展以得到新的定义(Holt & Perry,2007):
系统工程是一种多学科、常识性的方法,能够实现成功的系统。
现在系统工程的定义已经明确,下面有必要了解一下为什么需要系统工程了。