系统工程的艺术:用基于模型的系统工程方法构建复杂系统(原书第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1.1 系统抽象

当考虑系统工程时,请永远不要忘记系统工程的初衷,即开发一个成功的系统,这一点非常重要。这句话听起来像是句废话,但它更深层的含义是指,构成系统工程的每一项活动都应有助于实现这样的目标。

与传统的系统工程相比,考虑MBSE时必须要了解的是关于系统的知识、信息和数据驻留在哪里。在传统的系统工程中,关于系统的所有知识都存在于描述系统的文档集合中。而对于MBSE,所有关于系统的知识都放在抽象系统的模型中,如图2.2所示。

图2.2 模型的概念

图2.2展示了“模型是对系统的抽象”这一MBSE中最基本的概念。抽象可以是系统的表达或者是简化了的系统。模型必须是系统的简化,否则它跟系统本身没有任何区别。因此,鉴于模型是系统的简化这一本质概念,模型中包含的信息也是不完整的。这也催生了“所有模型都是错误的”这一愚昧的观点。在MBSE中,模型的目的是为系统提供一个抽象,以便能够成功地实现该系统。它的目的不是包含尽可能多的信息,也不是试图捕获与系统相关的所有信息,而是获取足够使系统成功实现的相关信息。

要时刻铭记这一点,因为在模型中加入更多的信息过于容易,然而这些信息对于所有人来说没有任何用处。模型中只包含有用的信息,这点至关重要。

模型中的信息会按照特定的集合分组,这些集合被称为视图,如图2.3所示。

图2.3 模型由视图组成

图2.3中的模型由一组视图组成,每一个视图都代表一组信息的集合。最重要的是,这些信息是为了增加整个系统工程的价值而存在的,否则就是在浪费时间。因此,为了确定一组信息是否为视图、是否为整个模型的有效部分,必须回答以下几个问题:

❍哪些干系人想查看视图?回答这个问题的关键在于,每个视图都需要与一组对系统感兴趣的干系人相关联。干系人的概念已经在第1章中有所介绍,并且明确地指出识别正确的干系人集合是系统工程的重要组成部分。每当请求关于系统的信息时,背后都有着确定的干系人。

❍为什么这些干系人要查看视图?了解每个干系人查看视图的原因非常重要。作为模型的一部分,视图必须努力为系统工程带来价值。因此,必须至少有一个干系人能够从查看视图中获得好处。

❍视图中必须包含哪些信息?了解完整模型之外的哪些信息必须可供干系人查看也同样重要。

对于某个视图来说,如果不能回答上述三个问题,那么显而易见,它就不是一个有效的视图,因此也不能被视为系统工程工作的一部分。以视图的形式来展示无用的信息成本非常低,所以每当需要使用视图的时候应当尝试回答这三个问题,以保证视图的有效性。

在成功回答了这三个问题后,还需要考虑第四个问题:

❍干系人希望使用什么语言来查看视图?在与各方干系人沟通时,必须使用干系人能够流利使用的语言进行沟通。这适用于口语和领域特定语言,本章后面将会对这些内容进行讨论。第1章已经对沟通的重要性进行了讨论,这是有效沟通发挥作用的领域之一。干系人使用的语言可能不尽相同,对应于MBSE中,这就意味着不同的干系人可能希望以不同的方式来可视化视图。

确保每个视图都经过这些问题的洗礼至关重要,否则模型中包含的信息可能无法带来任何价值,这也是与MBSE相关的一种高风险场景。

另一种与构成模型的视图相关的高风险情况是,视图之间必须保持一致性。模型的本质和定义应当是一致的。如果一组视图中的每一个视图都与其他视图一致,那么它们就是一个模型。相反,如果一组视图中的视图与其他视图不一致,那么它们就是数据。一旦模型被建立(所有视图都创造了价值并且相一致),它就会被用来作为与系统相关的所有信息的主存储库。也就是说,每当干系人想要了解有关系统的任何信息时,都可以通过访问模型以确定答案。

模型有时会被称为单一事实来源(Single Source of Truth)。这是一个非常重要的定义,它主要包括两方面的内容:

模型是系统的唯一表示——它是单一来源。

模型中的所有信息都是可以经过确定的、尽可能真实的,因此是单一的事实来源。

这个定义存在一些歧义,它并没有说模型只包含在一个单一的位置中,而是说尽管模型在实际使用时可能会被拆分到多个位置、数据或者工具中,但从概念上讲,模型是一个单一的实体。

可以把模型想象成一个庞大而复杂的信息集合,每个视图都类似于一个可以探究该模型的小窗口。必须提供足够多的窗口,以便使所有干系人有信心认为该模型已经被充分理解,并且可以实现一个成功的系统,或者说可以执行系统工程。

有关视图需要理解的最后一个内容是,视图可以通过多种不同的方式可视化,即可以通过任意数量的不同语言进行交流。这与使用不同语言的干系人概念相同,下文会重点进行介绍。