1.MBSE简介
MBSE(基于模型的系统工程)是对复杂系统进行分析设计和开发的有效方法。当前航空、汽车、机械、船舶、企业信息化的系统规模越来越大、涉及到的专业也越来越多,让系统的建设面临前所未有的挑战:
涉及多个层次:系统-子系统-模块
多个专业:软件、电子、机械、光电、热动..
需要多种角色分工合作:系统工程师,软件工程师、电子工程师、专业工程师、测试工程师
涉及到多种开发工具和开发语言
当系统越来越复杂的时候,各个部分之间的关系清晰跟踪就显得更为重要,模型可以引导工程师对工作内容进行梳理,从混沌演进到清晰,进而提高分析和设计的能力,在此基础上,模型就会成为专业化积累和交流的基础。
MBSE可以帮助我们基于模型对系统研发全周期进行跟踪管理,实现各个阶段的正向推导和跟踪,包括:
用户需求分析和验证
系统需求分析、系统设计和验证
软件需求分析、软件设计、实现和验证
硬件需求分析、软件设计、实现和验证
如下是MBSE的过程框架V模型:
2.MBSE的工作过程
MBSE (模型驱动的系统工程)涉及系统研发全周期,如下是MBSE的整体工作流程:
各个角色执行的活动有:
角色 |
活动 |
需求工程师 |
用户需求调查:调查用户的原始需求。
用户需求分析:对用户的原始需求进行梳理和分析。 |
系统工程师 |
系统需求分析:对系统的功能和非功能需求进行分析。
系统设计:对系统的结构、接口和交互进行设计。
系统验证:对系统的行为和状态进行仿真验证。 |
软件工程师 |
软件需求分析:对软件的功能和非功能需求进行分析。
软件设计:对系统的结构、接口和过程进行设计。
软件实现:使用开发语言,编写软件程序,编译为可执行程序。
软件测试与验证:对软件的功能和性能、可靠性进行测试。 |
电子工程师 |
硬件需求分析:对硬件的功能和非功能需求进行分析。
硬件设计:对硬件的结构、接口和过程进行设计。
硬件实现:使用硬件实现语言,编写软件程序,编译为可执行程序。
硬件与验证:对硬件的功能和性能、可靠性进行测试。 |
机械工程师 |
机械需求分析:对机械的功能和非功能进行需求分析。
机械设计:对机械的结构、接口和物理效能进行设计。
机械实现:加工制造机械零件,并组装为机械装置。
机械测试与验证:对机械的功能、性能和可靠性进行测试。 |
集成工程师 |
系统集成:把软件、硬件、机械即成为一个整体的系统。 |
测试工程师 |
系统测试:对系统整体进行功能、性能、可靠性测试。 |
3.MBSE相关的工件
在MBSE的全周期过程中会用到各种模型,如下是主要的模型:
这些模型涉及到不同的建模标准,例如:
顶层架构建模:Archimate /DoDAF
系统分析设计建模:SysML
软件分析、设计建模:UML
硬件建模:VHDL 和 Verilog HDL
物理系统建模: Modelica
4.使用EA进行 MBSE的全周期建模:
MBSE 建模涉及到多个层次:业务、系统、软件、算法、物理系统,建模工具EA提供MBSE全周期建模的规范支持:业务建模、SysML、UML、MARTE等,如下图所示:
建模工具EA同时提供完整的基于模型的工程实践支持,具体支持的功能如下所示:
这样就可以实现基于模型的需求分析、设计和仿真验证。
如下是EA对MBSE的支持的工作流程的视图:
EA对MBSE的具体支持如下:
工作
|
工作内容说明 |
基于模型对需求进行管理 |
把用户需求、系统需求、软件需求等各种需求进行建模、列表视图的编辑和管理,并可以实现
各种需求模型之间的跟踪管理。 |
系统分析设计与建模 |
采用系统工程分析设计方法,采用SysML建模系统分析设计模型,并对系统模型可以进行运行仿真,指标分析与验证。 |
软件分析设计与建模 |
采用软件工程分析设计方法,采用UML建模软件需求和设计模型,并可以基于设计模型生成code,进行模型仿真和验证。 |
算法建模与仿真 |
采用模块图建模系统结构单元,采用状态机描述控制逻辑,采用算法模块建模算法功能,可以生成代码、仿真和验证。
|
软件开发 |
采用各种编程语言(例如:C,C++,Java,C#,Python,JavaScript)编写软件程序,代码检查、编译为可执行程序。 |
软件测试 |
可以基于类生成单元测试类和测试用例,
可以基于软件需求生成软件测试用例,
可以基于系统需求生成系统测试用例,
对测试用例进行跟踪和管理。 |
5. 使用iSpace进行MBSE过程管理
MBSE涉及多个层次的工作:
系统需求、系统设计;
子系统需求、子系统设计;
软件需求、软件设计
硬件需求、硬件设计
这必然涉及到多种角色、多种工作、多种模型、多种文档、多种工具,这就需要有一个对MBSE全周期进行支持的平台,而iSpace就是这样的平台。
iSpace的定位时首先能够让工程人员对MBSE本身的过程进行建模,这样才能让参与其中的各个角色了解自己的工作流程、工件、工具,进而建立协作的基础。iSpace可以对
MBSE过程建模:
工作流程:用户需求、系统需求、系统设计、软件需求、软件设计、软件实现、软件测试、系统测试;
角色:产品经理、系统工程师、软件工程师、测试工程师;
工件:原始请求、系统模型、系统文档、软件模型、软件文档、实现的组件、测试模型、测试文档;
工具:需求工具、设计工具、开发工具、集成工具、测试工具。
iSpace支持MBSE的完整的工程管理,主要包括如下方面:
1. MBSE过程指南
2. 支持MBSE全周期的模型库和团队协作
3. 基于模型的三维研发管理
4. 集成MBSE各种工程工具
5. 基于模型的工程管理
6. 基于模型的需求管理
7. 设计建模、仿真与管理
8. 基于模型的测试管理
9. 基于模型的质量管理
10. 基于模型的跟踪管理
11. 工程数据对象管理
iSpace 可以帮助用户解决如下问题:
问题 |
解决方法 |
MBSE过程复杂,实施混乱 |
提供可视化过程指南,把MBSE整个过程用可视化建模,作为工程师的过程指南 |
角色责任不清楚 |
可以建模MBSE的各种角色,把MBSE的过程涉及的工作分配给相应的角色,可以为人员分配角色。提供图形和列表
两种角色职责视图,并可以对人员的工作进行计划和跟踪。 |
模型、文档众多,难以管理 |
可以建模MBSE的各种工件,包括:条目、模型、文档,并可以对各种工件的信息进行描述,查看各个工件的关系。对工件的工作制定计划和跟踪。
可以建立结构化工程数据结构,录入需求、变更和缺陷信息,进行跟踪和管理。 |
可视化模型的图形清晰,但是和管理工具的对接复杂,难以支持管理 |
可以把模型图转换为列表视图的方式展示,可以查看一个对象关联的其他对象,管理对象的属性和状态,提高管理的能力。
|
需求跟踪涉及多种模型,缺乏跟踪视图的管理 |
支持2种跟踪视图:跟踪表和跟踪树,支持多达五级跟踪-用户需求->系统需求->系统设计->软件需求->软件设计->系统测试。并可以统计跟踪的覆盖率,进行跟踪关系显示。并可以保存跟踪视图,随时方便浏览。 |
缺乏面向需求、设计模型的评价指标和评价方法,造成质量难以持续积累。 |
支持以可视化方式建立质量模型(包括评价对象类型->质量维度->评价指标->量化指标),这样可以提高质量模型的完善性,在此基础上,可以对模型的各级元素进行对性的指标评价,并可以自动统计质量报告。 |
iSpace的功能结构图如下所示
如下是iSpace的功能的概要说明:
编号 |
功能特性 |
说明 |
1 |
MBSE过程建模
|
可以对MBSE整个过程建模,包括:工作流程、角色模型、工件模型。可以建立各个视图的关联:工作流的活动关联到角色的职责、工件的实例。这样可以让工程人员从三个视图对MBSE有清晰完整的理解。 |
2 |
三维研发管理 |
支持以模型为核心的三位研发管理,可以提供三维视图:条目、模型、文档,用户可以根据自己的需要选择对应的视图进行工作:
模型:进行专业化的分析设计和仿真;
条目:进行属性管理、状态管理和影响分析;
文档:按照特定的文档模板输出,便于读者阅读。
|
3 |
集成MBSE工具 |
MBSE可以根据需要继承各种工程工具,目前可以支持的工具有:需求管理工具DOORS、建模工具EA、文档工具office、算法建模工具Matlab、集成测试工具integrator、能力管理工具iPerson,今后可以根据用户需要集成更多的工程工具。 |
4 |
工程管理 |
可以基于MBSE过程模型对其中的要素进行管理,包括:
基于过程视图的工作任务进度管理
基于角色视图的工作任务管理
基于工件视图的进度管理 |
5 |
需求管理 |
可以结合EA进行需求的建模,包括:基于Sys
ML的系统需求建模,基于UML的软件需求建模;
可以以条目化视图浏览需求模型,进行需求管理:
对需求条目管理,编辑1个需求内容,编辑需求属性,附加文档建立需求之间的跟踪关系:建立需求关联,用跟踪树和跟踪表展示跟踪关系;跟踪需求的状态:状态看板和状态列表;统计需求信息:类型统计,状态统计、负责人统计、版本统计;把需求管理列表视图导出为文档。变更管理:标记需求的变更,并分析变更的影响范围。 |
6 |
设计管理 |
可以结合EA进行设计的建模,包括:基于Sys
ML的系统设计建模,基于UML的软件设计建模;
可以以条目化视图浏览设计模型,进行设计管理:
对设计条目管理,编辑1个组件内容,编辑组件属性,附加文档
建立设计之间的跟踪关系:建立设计关联,用跟踪树和跟踪表展示跟踪关系;
跟踪设计的状态:状态看板和状态列表;
统计设计信息:类型统计,状态统计、负责人统计、版本统计;
把设计管理列表视图导出为文档。
变更管理:标记设计的变更,并分析变更的影响范围。 |
7 |
测试管理 |
可以结合EA进行测试的建模,包括:基于图形对测试建模;
可以以条目化视图浏览测试模型,进行测试管理:
对测试用例条目管理,编辑1个测试用例内容,编辑测试用例属性,附加文档
bug管理:为测试用例标记bug,并分析bug的影响范围。
建立测试用例和bug之间的跟踪关系:用跟踪树和跟踪表展示跟踪关系;
跟踪bug的状态:状态看板和状态列表;
统计bug信息:类型统计,状态统计、负责人统计、版本统计;
把测试管理列表视图导出为文档。
|
8 |
质量管理 |
支持基于模型的质量管理,支持全周期质量管理:需求质量,设计质量,测试质量。
对质量管理提供完整支持:
评测标准建模:以建模工具EA建立质量tree,包括评价对象类型->质量维度->评价指标->量化指标
基于模型元素的质量评测:基于质量标准对模型的条目化视图进行质量评测,标识发现的问题。
质量报告:对质量评价结果进行统计分析,以可视化图形或者列表的方式展示。
|
9 |
跟踪管理 |
可以创建模型元素的关联关系,并以多种视图进行跟踪关系分析:跟踪图、跟踪表;并可以吧跟踪视图进行保存,根据需要随时浏览对应的跟踪视图。
|
10 |
工程数据对象管理 |
可以对一个MBSE工程中根据需要创建不同的数据对象,对每个数据对象的属性进行配置,然后按照配置登记数据记录。
|
11 |
人员与权限管理 |
可以建立人员账户,还可以对账户进行管理:查询、修改。
可以对模型包创建模型工件,为模型工件增加密码安全保户,管理员可以对模型工件内部的各级模型包面向用户分配权限:查看、修改。
|
下面,我们对iSpace 的功能逐一进行详细说明
6 MBSE 过程建模
MBSE是一个全周期的系统开发过程,涉及到多个阶段、多个角色、多个活动和工件,这些整个流程的路线图、角色的协作、工件的跟踪管理都是比较复杂的事情,所以MBSE本身也需要建模,iSpace提供对MBSE的三维的建模,包括:工作流程、角色模型、工件模型。可以建立各个视图的关联:工作流的活动关联到角色的职责、工件的实例。这样可以让工程人员从三个视图对MBSE有清晰完整的理解。
iSpace中,用户可以对EA建立的各种模型进行团队协作和管理,包括:
建立模型库,建立模型共享、复用和协同的建模工程环境。
用户可以通过MBSE的过程视图,看到各个模型之间的关系。
可以对模型进行描述,对模型的状态进行管理。
可以对模型附加对应的文档,实现模型和文档关联管理。
6.1 过程视图
如下是MBSE过程建模,把MBSE的过程以流程图的形式展示出来:
甬道:说明活动负责的对应角色
活动:对应到角色的职责
工件:模型、文档、条目
6.2 角色视图
如下是MBSE角色建模,描述如下内容:
角色:工作中人员的抽象,其中列出该角色负责的活动
人员:具体到每一个工作人员;
关系:可以描述角色之间的协作关系,人员到角色的分配关系。
6.3 工件视图
如下是MBSE工件建模,描述如下内容:
有哪些工件:条目、模型、文档;
这些工件之间什么关系:条目到模型的关联,模型到文档的关联;
这些工件对应的数据源:条目对应到结构化数据,模型来自于EA的模型库,文档连接到对应文件。
7. 三维研发管理
支持以模型为核心的三维研发管理,可以提供三维视图:条目、模型、文档,用户可以根据自己的需要选择对应的视图进行工作:
模型:进行专业化的分析设计和仿真;
条目:进行属性管理、状态管理和影响分析;
文档:按照特定的文档模板输出,便于读者阅读。
如下是在iSpace中把EA的模型元素转换为条目列表视图
在模型图转换为条目化列表视图后,可以实现全周期的跟踪:需求->设计->开发->测试,用户可以根据自己需要创建相应的跟踪视图:
跟踪视图(用户需求 to 系统需求):把用户需求分解到系统需求
跟踪视图(系统需求 to 系统设计):把系统需求映射到系统设计的各个模块
跟踪视图(系统设计 to 软件需求): 基于系统设计的模块划分软件边界,确定软件需求;
跟踪视图(软件需求 to 软件设计): 把软件需求映射到软件设计的各个模块;
跟踪视图(软件需求 to 软件测试): 基于软件需求设计软件测试用例;
跟踪视图(系统需求 to 系统测试): 基于系统需求设计系统测试用例。
支持跟踪树和跟踪表2种跟踪模式:
跟踪树:以树形方式展示各个层次的跟踪,可视化强,便于分析。
跟踪表:以列表的方式展示各个层次的跟踪,清晰简介,对照明确,便于管理。
如下是跟踪树和跟踪表视图:
跟踪树视图 |
|
跟踪表视图 |
基于模型的三维研发管理具体包括:
需求管理
设计管理
测试管理
质量管理
下面详细说明如下:
7.1 基于模型的需求管理(使用iSpace)
可以条目化视图浏览需求模型,进行需求管理:
对需求条目管理,编辑1个需求内容,编辑需求属性,附加文档
建立需求之间的跟踪关系:建立需求关联,用跟踪树和跟踪表展示跟踪关系;
跟踪需求的状态:状态看板和状态列表;
统计需求信息:类型统计,状态统计、负责人统计、版本统计;
把需求管理列表视图导出为文档。
变更管理:标记需求的变更,并分析变更的影响范围。
7.2 基于模型的设计管理(使用iSpace)
可以以条目化视图浏览设计模型,进行设计管理:
对设计条目管理,编辑1个组件内容,编辑组件属性,附加文档
建立设计之间的跟踪关系:建立设计关联,用跟踪树和跟踪表展示跟踪关系;
跟踪设计的状态:状态看板和状态列表;
统计设计信息:类型统计,状态统计、负责人统计、版本统计;
把设计管理列表视图导出为文档。
变更管理:标记设计的变更,并分析变更的影响范围。
如下是设计模型及其之间的跟踪关系,可以在iSpace中采用列表的形式建立需求-设计-实现之间的跟踪。
7.3 基于模型的设计管理(使用iSpace)
可以结合EA进行测试的建模,包括:基于图形对测试建模;
可以以条目化视图浏览测试模型,进行测试管理:
对测试用例条目管理,编辑1个测试用例内容,编辑测试用例属性,附加文档
bug管理:为测试用例标记bug,并分析bug的影响范围。
建立测试用例和bug之间的跟踪关系:用跟踪树和跟踪表展示跟踪关系;
跟踪bug的状态:状态看板和状态列表;
统计bug信息:类型统计,状态统计、负责人统计、版本统计;
把测试管理列表视图导出为文档。
可以对缺陷的状态分布进行统计,如下是状态统计饼图:
7.4 质量管理(基于模型)
iSpace提供质量指标建模和度量功能,可以帮助用户建立MBSE全周期完整的质量评价体系:
系统需求评价指标和度量方法
系统设计评价指标和度量方法
软件需求评价指标和度量方法
软件设计评价指标和度量方法
测试设计评价指标和度量方法
在MBSE(基于模型的系统工程)中,强调把模型作为需求和设计工作的交付物,而基于模型的需求和设计质量评价可以更加准确,可以有效的提高需求和设计工作的质量,进而提高整个系统的质量。这就需要我们把传统的需求和设计质量评价指标映射到相应的需求和设计模型上,转化为切实可行的需求模型和设计模型的评价指标,并建立相应的评价方法和指南。而这些工作应该是团队规模和持续的,这也就需要相应的工具支持,让质量评测简单而易于积累。
使用iSpace进行基于模型的质量评审支持如下功能:
对评审指标进行管理
对模型元素进行质量评审
生成评审报告
支持基于模型的质量管理,支持全周期质量管理:需求质量、设计质量、code质量、测试质量。
对质量管理提供完整支持:
质量标准建模:以建模工具EA建立质量tree,包括评价对象类型->质量维度->评价指标->量化指标
基于模型元素的质量评测:基于质量标准对模型的条目化视图进行质量评测,标识发现的问题。
质量报告:对质量评价结果进行统计分析,以可视化图形或者列表的方式展示。
如下是评测指标tree :
如下是对采用评测指标对一个模型工件的质量评测:
8. 基于模型的工程管理
MBSE项目还需要对整个项目过程的进度、人员的工作任务以及工件的状态进行跟踪管理,使用iSpace可以对MBSE项目中的如下内容进行管理:
基于过程视图的工作任务进度管理
基于角色视图的工作任务管理
基于工件视图的进度管理
8.1 基于过程的任务管理
可以基于MBSE的过程视图,列出该过程的各个角色负责的任务,可以对各个任务制定计划时间、标记实际完成时间,跟踪任务的状态。
8.2 基于角色的任务管理
以角色视角,列出各个角色的所有任务,可以以对各个任务计划完成时间、登记实际完成时间,跟踪任务的状态。
8.3 基于工件的任务管理
以工件视角,列出各个工件的负责人,计划完成时间、实际完成时间,跟踪任务的状态。
8.4 基于kanban的任务管理
提供基于看板的任务管理,用户可以把任务列入Kanban,采用Kanban跟踪工作的状态,对工作进展一目了然。
9. 工程数据对象管理
在MBSE工程中,用户会有很多还需要能够录入和管理一些结构化的工程数据,在iSpace中可以根据需要创建不同的数据对象,对每个数据对象的属性进行配置,然后录入数据记录。
10. 模型权限管理
MBSE注定是多个角色协同完成工作,这就需要建立各个角色的账户,并对各个账户根据工作需要进行授权,实现团队协作。团队的工作也需要安全防护,iSpace可以对模型工件提供多重安全保护:
为模型工件提供密码安全保护,
对模型工件内部的各级包面向用户权限控制:查看、修改。
如下是面向模型包的用户权限分配界面:
如果您希望了解更多信息:
下载 pdf版:《使用EA和iSpace实现MBSE》
本文使用的建模工具为EA,可以下载试用版http://tool.uml.com.cn/ToolsEA/download.asp
后记
希望您读了此文后有所受益。
如果您有经验乐于分享,欢迎投稿给我们。
如果您对我们的培训、咨询和工具感兴趣:
|