您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
更易计算的系统描述(SysML)
 
 
   次浏览      
 2020-10-29 
 
编辑推荐:

本文分享和它并行的另一种方法——SysML(System Modeling Language ),主要包括如下三方面:SysML的历史?SysML的主要表达图形有哪些?SysML和OPM有什么不同?

来自于微信精进学思行,由火龙果软件Anna译、推荐。

1 SysML是什么,从哪来?

SysML(System Modeling Language)从名字上看,就让人感觉是正统,因为它翻译过来就叫“系统建模语言”。但是它的历史并不长,从下图可以看到它诞生于2003年,是由对象管理组(Object Management Group,OMG)和系统工程国际委员会(International Council on Systems Engineering,INCOSE)联合开发的。从图中也会发现,它是从UML(Unified Modeling Language)中演化而来的,而UML主要是用于软件系统工程,后来发现可以拓展到其它系统工程中,于是就从UML中选择了部分视图,再加入一些更加通用的视图,就形成了现在看到的SysML。

2 有哪些视图?

前面提到了“视图”,和OMP类似,SysML也是通过图形的方式来描述系统。目前的SysML包含有9类视图,它们可以分为3类:要求(Requirements),结构(Structure)和行为(Behavior),从名称上可以看出,它们分别用来描述系统要满足的要求,结构和行为方式,我们分别进行简介。

2.1 要求

顾名思义,要求图就是用来定义系统应该满足的要求。这种要求通常可以分为两类:功能类和非功能类,比如汽车最基本的功能是要能跑,而其跑起来噪声大小则是非功能类。每个系统的功能可能各不相同,但是其非功能类的要求通常有如下的几种:性能表现,设计边界(如重量,尺寸等),界面要求以及可用性,比如在我们汽车开发中的人机交互(HMI)和用户体验就是一种非功能性的要求。

而每种要求还可以通过图形的方式进行细化,甚至定义非常具体量化的指标。通过要求图的方式定义完系统的要求后,就可以在后续的系统构建和测试中,跟踪要求的满足程度,进行优化调整。

2.2 结构

通俗理解,结构就是静态描述系统构成部分及其之间的相互关系,在SysML主要包含3类:块定义图(Block definition diagram),内部块图(Internal Block diagram)和包(Package Diagram)。

2.2.1 块定义图(Block definition diagram)

块是个抽象概念,用来描述系统中的部件,模组等,它们可以是软件的,也是可以是硬件的。用矩形表示,而这个块本身可以承载它所表示对象的特性,约束,状态等信息。

2.2.2 内部块图(Internal Block diagram)

内部快图其实就是把“块”打开,如果“块”是个黑盒子,那么内部块图就是“白盒子”。

2.2.3 参数图(Parameter Diagram)

参数图的目的是对内部快图的一种参数量化,强化了数学法则对内部块的定义。

2.2.4 包图(Package Diagram)

如果说“内部块”是对"块"的打开,那么包图就是对"块"的进一步封装,因为一个系统中块太多,为了人们的理解,就需要进行进一步的归类。

2.3 行为

我理解“行为”类的图,主要用来表述系统中描述方式,主要包括如下的四类。

2.3.1 活动图(Activity diagram)

活动(activity)用来描述系统的输入,输出和控制的流动,也包括这些协调这些流动的条件,其实很类似于我们常见的流程图。

2.3.2 序列图(Sequence diagram)

在序列图中一个重要的概念是Message,我在工作中听到对它的一个专业翻译“报文”。而序列图其实就是就是基于接收和分发报文来执行动作,比如我在做汽车声音时,为了让某个声音在特定的出发条件下发出,就需要找到对应的报文,然后按照设定的逻辑发出。

2.3.3 状态机(State Machines Diagram)

状态(State)常常表示的是一个对象在生命周期中表现的特定特征,比如汽车中的制动系统,有制动和非制动两种状态。而状态机,描述的就是在一定的触发条件下,对象表现的活动,这种触发可以是时间,事件,某个信号等。比如你按下台灯开关(触发),它就点亮(状态1),再按一次(触发),它就熄灭(状态2)。

2.3.4使用案例(Use case)

描述系统的操作者会怎么使用,比如我们常常说的使用场景,也可以描述多个操作者对同一个系统不同部分的操作。

3 SysML和OPM有什么异同?

在系统架构3 :如何用简洁图形描述系统架构?中的OPM和SysML,它们都是动过视图化的方式来描述系统,让我们更好理解和掌控复杂系统。它们有什么异同?我看到主要有三点:

3.1 视图数量不同

OPM只需要1种类型的图,就能将对象和过程涵盖进来,而SysML需要多个视图(共9个选择)来分别针对不同的用途。

3.2 适用阶段不同

OPM更简洁,但是主要适用于概念构想阶段,而SysML则更加适合详细的设计阶段,而且不同的用途可以采用不同的视图。

3.3 可计算性不同

对系统的描述和达成共识只是开始,而我们更加关心系统的动态性能如何?这就需要引入仿真或计算,并预测复杂系统的特性及其参数变化对功能的影响,而在这个方面SysML的有时要明显优于OPM,并不是因为SysML本身可以计算,而是它对系统的描述更加细致,有利于用外在的辅助仿真工具实现,总体看来,SysML是为各种仿真搭建了一个比较的框架。

总结

SysML(System Modeling Language)用3类(需求、结构、行为)9种类型的图来刻画系统架构,更适合于系统的详细设计阶段,为系统的仿真提供了一个更高的框架。

   
次浏览       
 
相关文章

UML概览
UML图解:用例图(Use case diagram )
UML图解:活动图(activity diagram )
UML图解:类图(class diagram )
UML图解:对象图(object diagram)
UML图解:顺序图( sequence diagram )
 
相关文档

模型跟踪:跟踪图、矩阵、关系(建模工具EA)
自定义表格(Custom Table)在EA中的使用
元素的详情浏览控制
UAF 1.2规范解读(DMM 和 UAFML )
EA中支持的各种图表
EA中的界面原型建模
 
相关课程

UML与面向对象分析设计
UML + 嵌入式系统分析设计
业务建模与业务分析
基于SysML和EA进行系统设计与建模
基于模型的需求管理
业务建模 & 领域驱动设计
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]
 
最新文章
iPerson的过程观:要 过程 or 结果
“以人为本”的工程哲学
企业架构、TOGAF与ArchiMate概览
UML 图解:顺序图( sequence diagram )
UML 图解:对象图( class diagram )
最新课程
基于UML和EA进行系统分析设计
UML+EA+面向对象分析设计
基于SysML和EA进行系统设计与建模
UML + 嵌入式系统分析设计
领域驱动的建模与设计
更多...   
成功案例
某电信运营供应商 应用UML进行面向对象分析
烽火通信 UML进行面向对象的分析设计
西门子 UML与嵌入式软件分析设计
航天科工某子公司 从系统到软件的分析、设计
深圳某汽车企业 模型驱动的分析设计
更多...