Ran Wei / MBSE 系列 / 模块 1
EN
MBSE 系列 — Ran Wei

模块 1:什么是MBSE?

从以文档为中心到以模型为中心的工程方法 — MBSE为何存在、解决什么问题、以及它所代表的范式转变。

1

五分钟了解系统工程

什么是"系统"?

我们每天都在使用"系统"这个词 — 太阳系、交通系统、医疗系统 — 但在工程领域,它究竟意味着什么?国际系统工程理事会(INCOSE,International Council on Systems Engineering)将系统(system)定义为:"由多个部分或元素组成的组合,它们共同展现出单个组成部分所不具备的行为或意义。" 通俗地说:系统是一组零件的集合,组合在一起后能完成任何单个零件无法独立完成的事情。

类比

想想一辆自行车。一个轮子本身无法带你去任何地方,车把、链条或踏板也不行。但把它们组装在一起,你就拥有了一辆能载人穿越城市的交通工具。自行车就是一个系统 — 它的价值来源于各部件之间的协作,而非任何单一部件。

盖房子 vs. 建城市

如果你要盖一栋房子,一个小团队、几张图纸和一些常识可能就够了。水管工、电工和木匠可以在喝咖啡时协调工作。但如果你要建造一整座城市呢?现在你有成千上万的工人、数百个供应商和数百万个相互依赖关系。五区的水管工需要了解城市另一端团队正在设计的水处理厂。咖啡桌上的谈话已经远远不够了。

这就是系统工程(Systems Engineering)所要解决的根本挑战。随着系统复杂度的增长 — 拥有数百万零件的飞机、由数十个交互子系统组成的自动驾驶汽车、覆盖整个地区的医院信息网络 — 协调问题变成了核心问题。系统工程正是通过结构化的流程、严格的文档和系统性的分析来管理这种复杂性的学科。

说明

系统工程不是关于"造东西",而是关于确保"造对的东西",按正确的顺序,并且让所有部分协同工作。系统工程师更像一位交响乐团指挥,而非某个乐器演奏者:他们确保每个声部和谐配合。

系统工程师具体做什么?

系统工程师贯穿系统的整个生命周期。他们捕获利益相关方的需求(需求分析),设计系统的结构(架构设计),确保各部分协同工作(集成),并确认系统是否满足预期功能(验证与确认)。他们是将一个复杂工程项目黏合在一起的关键角色。

2

以文档为中心的问题

数十年来,系统工程的主要工具一直是文档。需求写在Word文件中,系统架构用PowerPoint或Visio绘制,接口定义存放在电子表格中,测试计划又占据另一组文档。每个工件由不同的团队、在不同的时间、使用不同的格式创建。

传话游戏

还记得小时候的传话游戏吗?一条消息从一个人耳语传到下一个人,到最后一个人时,消息已经被滑稽地扭曲了。以文档为中心的工程方法恰恰面临同样的问题 — 信息在文档、团队和生命周期阶段之间传递时不断退化。

类比

想象一家餐厅:顾客把点单写在餐巾纸上,服务员抄到点菜单上,厨师看着点菜单理解菜品,副厨看着厨师的笔记实际做菜。等菜端上桌时,顾客要的"烤三文鱼,不要莳萝,多放柠檬"变成了"炸三文鱼配莳萝酱"。每一次交接都引入了微小的偏差 — 而微小的偏差会累积成大问题。

一个具体的例子

考虑一个真实场景。需求文档写道:"系统应在200毫秒内响应用户输入。" 三个月后由另一个团队编写的架构文档将其理解为一个指导方针,并按500毫秒的平均响应时间进行设计。又过了六个月编写的测试计划测试系统是否"快速响应" — 根本没有指定具体数值。当系统在实际运行中出现故障时,每个人都指着自己的文档说:"但是我们按照规范做的!"

这不是一个假设的场景。它在大型工程项目中反复发生。需求漂移,设计偏离需求,测试既没有追溯到需求也没有追溯到设计。根本原因始终相同:信息存在于互不关联的文档中,它们之间没有正式的联系

现实后果

1999年,火星气候探测器(Mars Climate Orbiter)失联,原因是一个团队使用英制单位,而另一个团队使用公制单位 — 这一不匹配被埋没在各自独立的文档中,从未通过交叉检查发现。这艘飞船耗资3.276亿美元。以文档为中心的工程方法在应用于复杂系统时,不仅仅是带来不便 — 它会导致灾难性的失败。

文档为何在规模化时失效

文档在管理复杂系统时存在几个根本性的局限:

3

以模型为中心的解决方案

如果不把信息分散在数十个互不关联的文档中,而是拥有一个单一的、共享的、始终保持最新的模型,让每个团队成员都能访问和贡献,会怎样?这就是基于模型的系统工程(MBSE,Model-Based Systems Engineering)的核心理念。

类比

想想文档协作是如何演变的。过去,你写一份Word文档,通过邮件发给五个同事,然后收到五个不同的修改版本 — 每个都有相互冲突的修改。今天,你使用Google Docs(或在线文档):每个人编辑同一份实时文档,变更实时跟踪,永远不会有"哪个版本是最新的"的困惑。MBSE为系统工程做的事情完全一样 — 它用一个单一的、共享的、权威的模型取代了"来回用邮件发Word文件"的方式。

模型作为权威工件

在MBSE中,模型 — 而非任何特定的文档 — 是系统信息的权威来源。需求、架构、行为、接口和测试用例都存在于同一个模型中。它们不仅仅是存放在一起;它们之间有正式的链接。一条需求关联到满足它的设计元素,设计元素又关联到验证它的测试用例。变更需求后,你可以立即看到哪些设计元素和测试用例受到影响。

在MBSE中,文档并没有消失 — 在需要时仍然会生成文档(用于合同、评审、认证) — 但它们是从模型派生出来的,而非独立创建的。模型是单一事实来源;文档只是它的视图。

一句话总结

MBSE用一个单一的、共享的、正式关联的模型取代了互不关联的文档,该模型作为所有系统信息的权威事实来源。

"以模型为中心"在实践中意味着什么?

在以模型为中心的工作流中,工程师直接与模型交互。需求工程师在模型中定义需求。系统架构师在同一个模型中创建系统结构。分析师基于模型数据运行仿真。测试工程师将测试用例追溯到需求 — 所有这些都在一个集成环境中完成。当一条需求变更时,所有依赖于它的下游工件都会被自动标记为需要审查。

说明

MBSE并不意味着"没有文档"。它意味着文档是模型的输出,而非工程过程的输入。可以把它想象成会计软件:权威数据在数据库中,报表(文档)根据需要从数据库中生成。

4

MBSE的定义

在理解了问题和总体解决方案之后,让我们看看正式定义。INCOSE将MBSE定义为:

INCOSE 定义

"建模的形式化应用,用于支持系统需求、设计、分析、验证和确认活动,从概念设计阶段开始,贯穿整个开发和后续生命周期阶段。"

原文:"The formalised application of modelling to support system requirements, design, analysis, verification, and validation activities beginning in the conceptual design phase and continuing throughout development and later lifecycle phases."

让我们逐字拆解这个定义:

MBSE的三大支柱

MBSE建立在三个相互依赖的支柱之上。可以把它们想象成凳子的三条腿 — 拿掉任何一条,整个凳子都会倒塌。

支柱含义示例
建模语言(Modelling Language)用于表达模型的词汇和语法。定义了存在哪些元素(需求、块、动作)以及它们之间的关系。SysML, UML, AADL, SysML v2
建模方法(Modelling Method)指导如何构建模型的过程或方法论。定义创建哪些视图、按什么顺序创建、每个视图回答什么问题。OOSEM, Harmony SE, MagicGrid, ARCADIA/Capella
建模工具(Modelling Tool)支持创建、存储、查询和可视化模型的软件平台。Cameo Systems Modeler, Rhapsody, Capella, Eclipse SysML v2 Pilot
表 1 — MBSE的三大支柱
类比

想想写一部小说。语言是中文(词汇和语法)。方法是写作过程 — 先列提纲,再起草,然后修改。工具是你使用的文字处理软件。你需要三者齐备才能写出好小说。同样,MBSE需要建模语言、建模方法和建模工具协同配合。

这三大支柱构成一个三角形。语言定义了你能表达什么。方法定义了你如何构建模型。工具提供了你在哪里完成工作的环境。一个强大的MBSE实践要求三者都精心选择且良好集成。我们将在模块2中深入探讨每个支柱。

5

优势与挑战

以文档为中心 vs. 以模型为中心:对比

下表从多个关键维度比较了以文档为中心和以模型为中心的方法。这并不是说以文档为中心的工程方法总是错误的 — 对于简单系统,它可能完全胜任。但随着系统复杂度的增长,以模型为中心方法的优势变得不可忽视。

维度以文档为中心以模型为中心(MBSE)
一致性信息在文档间重复;不一致常见且难以检测单一事实来源;一致性由模型保障
可追溯性人工交叉引用(经常不完整或过时)从需求到设计到测试的正式、自动化追溯
沟通模糊的自然语言;不同读者有不同理解具有明确语义的精确建模语言;可视化和文本化视图
复用从以前的项目文档中复制粘贴(容易出错)具有正式定义的、可复用组件的模型库
变更影响分析人工搜索文档以找到受影响的内容自动化影响分析:变更一条需求,立即看到所有受影响的元素
利益相关方参与利益相关方必须阅读冗长文档才能理解系统为每个利益相关方的关注点定制的交互式模型视图
验证覆盖率难以确认每条需求都有对应的测试模型查询可以立即识别未测试的需求
知识保存知识锁定在文档和个人头脑中;人员离开时知识流失知识捕获在模型中;不受人员变动影响
表 2 — 以文档为中心 vs. 以模型为中心的对比

挑战是真实的

MBSE不是万能药。采用它面临着组织必须规划应对的真实挑战:

学习曲线。 习惯于编写文档的工程师必须学习新的建模语言和工具。这需要时间、培训和耐心。一个写了20年Word需求的系统工程师不会一夜之间成为熟练的建模者。

组织变革。 MBSE不仅仅是技术变革;它是文化变革。它需要新的工作流程、新的角色(如模型管理员或模型治理委员会)以及新的协作方式。围绕文档评审建立的流程必须重新设计为围绕模型评审。

工具成本。 专业的MBSE工具可能很昂贵,包括许可费和支持它们所需的基础设施(服务器、培训、定制)。开源替代方案存在,但可能缺乏成熟度或技术支持。

文化阻力。 "我们一直都是这么做的"是一种强大的力量。一些工程师将MBSE视为不必要的额外负担或对其专业能力的威胁。克服这种阻力需要坚强的领导力、清晰的价值展示和早期的成功案例。

实用建议

最成功的MBSE推广从小处开始。选择一个项目、一个团队、一个子系统。首先在那里展示价值。让成功自然传播。试图一夜之间改变整个组织是失败的配方。

6

MBSE的背景与定位

与系统工程标准的关系

MBSE不是取代系统工程 — 而是增强系统工程。国际标准ISO/IEC/IEEE 15288系统与软件工程 — 系统生命周期过程)定义了治理系统工程的过程。MBSE提供了一种以模型为中心的方式来执行这些相同的过程。无论你是在进行利益相关方需求分析、架构设计还是验证,过程保持不变 — 但工件从文档变成了模型元素。

说明

ISO/IEC/IEEE 15288并不强制要求使用MBSE,但与MBSE完全兼容。许多组织将15288作为其过程框架,将MBSE作为其实施方法。标准定义了做什么;MBSE提供了怎么做的更好方式。

MBSE与软件工程方法的区别

如果你有软件工程背景,可能听说过MDD(Model-Driven Development,模型驱动开发)或MDE(Model-Driven Engineering,模型驱动工程)。虽然它们与MBSE共享"以模型为中心"的理念,但存在重要区别:

类比

如果MDD像使用建筑师的CAD工具设计一栋建筑,那么MBSE就像使用城市规划平台设计一整个城区 — 包括建筑、道路、公用设施、公共交通和分区规划。工具和技术有重叠,但范围和关注点根本不同。

本系列后续内容预览

本模块已经为你介绍了MBSE的"为什么"和"是什么"。本系列的后续模块将带你深入了解"怎么做":

在完成整个系列之后,你将对MBSE有扎实的理解 — 不仅是理论,还有在实际项目中开始应用所需的实践知识。

下一模块

模块 2 — MBSE的三大支柱 — 建模语言、建模方法和建模工具:它们是什么、如何关联、以及如何选择。