MBSE简介
MBSE(基于模型的系统工程)是对复杂系统进行分析设计和开发的有效方法。当前航空、汽车、机械、船舶、机械、企业信息化的系统规模越来越大、涉及到的专业也越来越多,让系统的建设面临前所未有的挑战:
涉及多个层次:系统-子系统-模块
多个专业:软件、电子、机械、光电、热动..
需要多种角色分工合作:系统工程师,软件工程师、电子工程师、专业工程师、测试工程师
涉及到多种开发工具和开发语言
当系统越来越复杂的时候,各个部分之间的关系清晰跟踪就显得更为重要,模型可以引导工程师对工作内容进行梳理,从混沌演进到清晰,进而提高分析和设计的能力,在此基础上,模型就会成为专业化积累和交流的基础。
MBSE可以帮助我们基于模型对系统研发全周期进行跟踪管理,实现各个阶段的正向推导和跟踪,包括:
用户需求分析和验证
系统需求分析、系统设计和验证
软件需求分析、软件设计、实现和验证
软件需求分析、软件设计、实现和验证
如下是MBSE的过程框架V模型:
MBSE的工作过程
MBSE (模型驱动的系统工程)涉及系统研发全周期,如下是MBSE的整体工作流程:
各个角色执行的活动有:
角色 |
活动 |
需求工程师 |
用户需求调查:调查用户的原始需求。
用户需求分析:对用户的原始需求进行梳理和分析。 |
系统工程师 |
系统需求分析:对系统的功能和非功能需求进行分析。
系统设计:对系统的结构、接口和交互进行设计。
系统验证:对系统的行为和状态进行仿真验证。 |
软件工程师 |
软件需求分析:对软件的功能和非功能需求进行分析。
软件设计:对系统的结构、接口和过程进行设计。
软件实现:使用开发语言,编写软件程序,编译为可执行程序。
软件测试与验证:对软件的功能和性能、可靠性进行测试。 |
电子工程师 |
硬件需求分析:对硬件的功能和非功能需求进行分析。
硬件设计:对硬件的结构、接口和过程进行设计。
硬件实现:使用硬件实现语言,编写软件程序,编译为可执行程序。
硬件与验证:对硬件的功能和性能、可靠性进行测试。 |
机械工程师 |
机械需求分析:对机械的功能和非功能进行需求分析。
机械设计:对机械的结构、接口和物理效能进行设计。
机械实现:加工制造机械零件,并组装为机械装置。
机械测试与验证:对机械的功能、性能和可靠性进行测试。 |
集成工程师 |
系统集成:把软件、硬件、机械即成为一个整体的系统。 |
测试工程师 |
系统测试:对系统整体进行功能、性能、可靠性测试。 |
MBSE相关的工件
在MBSE的全周期过程中会用到各种模型,如下是主要的模型:
这些模型涉及到不同的建模标准,例如:
系统分析设计建模:SysML
软件分析、设计建模:UML
硬件建模:VHDL 和 Verilog HDL
物理系统建模: Modelica
建模工具EA支持 MBSE:
而EA支持SysML和UML,并可以 生成VHDL和 Modelica的代码,用户可以在EA实现系统和软件建模和仿真验证。
如下是EA对MBSE的支持的工作流程的视图:
EA对MBSE的具体支持如下:
工作
|
工作内容说明 |
基于模型对需求进行管理 |
把用户需求、系统需求、软件需求等各种需求进行建模、列表视图的编辑和管理,并可以实现
各种需求模型之间的跟踪管理。 |
系统分析设计与建模 |
采用系统工程分析设计方法,采用SysML建模系统分析设计模型,并对系统模型可以进行运行仿真,指标分析与验证。 |
软件分析设计与建模 |
采用软件工程分析设计方法,采用UML建模软件需求和设计模型,并可以基于设计模型生成code,进行模型仿真和验证。 |
算法建模与仿真 |
采用模块图建模系统结构单元,采用状态机描述控制逻辑,采用算法模块建模算法功能,可以生成代码、仿真和验证。
|
软件开发 |
采用各种编程语言(例如:C,C++,Java,C#,Python,JavaScript)编写软件程序,代码检查、编译为可执行程序。 |
软件测试 |
可以基于类生成单元测试类和测试用例,
可以基于软件需求生成软件测试用例,
可以基于系统需求生成系统测试用例,
对测试用例进行跟踪和管理。 |
如果您希望了解更多信息:
下载 pdf版: 《基于EA实现MBSE》
本文使用的建模工具为EA,可以下载试用版http://tool.uml.com.cn/ToolsEA/download.asp
后记
希望您读了此文后有所受益。
如果您有经验乐于分享,欢迎投稿给我们。
如果您对我们的培训、咨询和工具感兴趣:
|