目录
BDD(Block Definition Diagram)——模块定义图
IBD(Internal Block Diagram)——内部模块图
SMD(State Mechine Diagram)——状态机图
MBSE 概述
- 我们为什么需要MBSE?
因为基于文本方法(Text - base approch,Traditional System Engineering)对于系统工程师来说是昂贵的,因此我们需要MBSE。
- MBSE的产物是集成性、联通性和一致性的系统模型。
- 所有的图表和自动生成的文本产区都仅仅是系统模型的一种视图。
- MBSE的三大支柱:建模语言、建模方法和建模工具。
- 当新设计决策和利益攸关者的需求等改变进入系统生命周期中。
MBSE 三大支柱
MBSE 三大支柱:建模语言、建模方法、建模工具
建模语言
1. 通过半形式化语言(例如:SysML)定义
- 可以放在模型里的元素类型
- 元素之间被允许的关系
- 在图中用于表达元素和关系的符号
2. 定义语法→通过一组规则评判模型的好坏
- 图形化建模语言:SysML, UML, UPDM, BPMN, MARTE, 等
- 文本建模语言:Verilog, Modelica
3. MBSE方法的核心是构建和读取结构良好且明确的模型的能力
建模方法
1. 建模方法类似于road map
2. MBSE 项目需要计划——带目的性地开始
- 我们为什么要建模?期望的建模结果是什么?
3. MBSE项目需要评判所需建立的系统模型边界→什么时候停止
- 有多少是需要建模的目标系统的外部环境
- 系统的哪部分需要建模
- 哪些行为需要建模
- 需要将内部结果和行为拆解到多深
- 哪些细节需要在模型体现,哪些细节又需要省略
4. 方法论举例:
- INCOSE Object-Oriented Systems Engineering Method (OOSEM)
- Weikiens System Modelling (SYSMOD) method
- IBM Telelogic Harmony-SE
建模工具
1. 建模工具被设计和开发出来需要兼容一种或多种建模语言
2. 建模工具不同于图标工具(例如:Visio,Schematic,SmartDraw)
3. 商业类建模工具包括
- Agilian (Visual Paradigm)
- Artisan Studio (Atego)
- Enterprise Architecture (Sparx Systems)
- MagicDraw (No Magic)
- Rhapsody (IBM Rational)
- Umodel (Altova)
4. 免费建模工具
- Modelio (Modeliosoft)
- Papyrus (Atos Origin)
5. 建模工具需要能够兼容XML——实现数据交互
SysML简介
首先,SysML是一种语言。用于将Idea 通过沟通从一个地方传递另一个地方。其要点:其目的是在利益攸关者中的系统进行可视化和可交流化。
然后,SysML不是独立的语言,其基于UML语言扩展而来。
最后,SysML不是建模方法,是建模语言。
SysML 术语定义
1. 性质(property)
- 指事物的属性、质量、或特征
- 指属于某人的某物,集体性所用
2. 参数(Parameter)
- 指数值化或可测量的因子,其形成一组设定来实现定义系统或是设置系统运行状态
3. 结构(Structurtong)
- 指复杂事物的元素或部件之间的布置或关系
SysML 图表总览
SysML 图表包括BDD、IBD、UCD、AD、SD、SMD、PD、PKD、RD等。
BDD(Block Definition Diagram)——模块定义图
1. 展示类似模块(block)或是值类型(value type)等元素
value type指值类型,例如单位等(SysML 包图 - Distiller 值类型 (uml.org.cn))
2. 展示元素之间的关系
3. BDD的一般使用方法包括:
- 系统层级树
- 元素分类树
IBD(Internal Block Diagram)——内部模块图
1. 阐述单个模块内部的结构
2. 展示一个模块内部组件的关系和接口
UCD(Use Case Diagram)——用例图
1. 传达系统需要执行的用例
2. 行动者(actor)需要调用和参与用例
3. 用例图是服务的黑箱视图,不需要表达出具体如何完成
AD(Activity Diagram)——活动图
1. 用于细化行为
2. 着重于通过一系列动作表达从输入到输出的控制流和信号流
3. 是理解和表达系统期望的行为的分析工具
SD(Sequence Diagram)——时序图
1. 用于细化行为
2. 着重于模块是如何通过操作调用和异步信号与另一个模块进行交互
3. 通常用作详细设计工具,并被作为生命周期开发阶段的输入
4. 时序图是细化测试用例的良好方式
SMD(State Mechine Diagram)——状态机图
1. 用于细化行为
2. 着重于一组状态以及在响应事件发生时的可能状态变化
3. 状态机图作为生命周期开发阶段的输入
PD(Parametric Diagram)——参数图
1. 参数图表达一个或多个约束(方程和不等式)如何关联到系统的属性
2. 帮助备选物理架构的权衡比较
PKD(Package Diagram)——包图
1. 用于展示模型是基于包容器层级组织
2. 展示包含的模型元素及包与元素之间的关系
RD(Requirement Diagram)——需求图
1. 展示基于文本的需求及需求之间的关系
2. 展示需求与其他模型元素关系,这些模型元素需要满足、修正和精简需求