工具:只会使用UML2.5? 该了解MBSE并使用这个工具

1 系统建模简介

建模技术从网络到开发,到芯片设计,系统设计开发,使用的工具各不相同。

我们知道UML2其中常用有4类关系:

  • 依赖

依赖是两个事物之间的语义关系,其中一个事物(独立的)发生变化将影响另一个事物(依赖事物)的语义。

  • 关联

关联是一种结构关系,它描述了一组链,链是对象之间的连接。关键提供了不同类之间的对象可以相互作用的连接。

关联-聚合关系

聚合关系是关联的一个特例,聚合表示类之间的关系是整体与部分的。 但是又可以分离。 使用 ---<> 表示聚合关系,空心菱形指向的是"整体"的类。 比如发动机之于汽车,就是聚合关系。 比如大雁之于雁群,就是聚合关系。

关联-组合关系

组合也是关联的一种特例,这种关系比聚合更强,也称之为强聚合;他同样体现整体和部分的关系,但是此时整体与部分是不可分的,整体的生命周期结束,部分的生命周期也结束。 使用 实心菱形表示组合关系。 比如部门之于单位。 比如翅膀之于鸟儿。

  • 泛化

是一种特殊、一般关系,即OO语言中,类之间的继承关系。 特殊元素(子元素)的对象可替代一般元素(父元素)的对象。用这种方法,子元素共享了对象之间的属性和方法。泛化关系画成一条带有空心箭头的实线,它指向父元素。

  • 实现

实现是类元之间的语义关系,其中一个类元制定了由另一个类元保证执行的契约。两种情况下会使用实现关系:一类是在接口和实现它们的类或构件之间:另一个是在用例和实现它们的协作之间。

使用虚线和空心三角形箭头表示这个关系。

2 什么是基于模型的系统工程(MBSE) ?

markdown 复制代码
基于模型的系统工程(MBSE),建模在支撑系统中的形式化应用,需求、设计、分析、验证和确认活动。

从概念设计阶段开始,一直持续到最后发展和生命周期后期阶段。

							------INCOSE 2020愿景

正式的系统建模是标准的,详细说明、分析、设计的实践,并且验证系统,并且是完全的,与其他工程模型集成。

SysML由九(9)种图表类型和分配表组成,用于跨图表类型映射语言元素:

术语解释,SDLC阶段是指需求、系统分析、系统设计、实施、系统集成和测试全部阶段。

解释:

†:动态仿真(又名动态系统仿真)是指计算机程序执行相关系统的时变行为的能力。一般来说,除了用例图外,SysML和UML 2行为图都可能具有动态系统仿真的能力。

‡:数学建模与仿真(又名数学ModSim,数学M&S,参数模拟)是指计算机程序执行感兴趣系统行为的数学模型的能力,其中模型被定义为一组数学方程。当正确定义和应用时,参数图能够进行数学 ModSim;没有其他 SysML 或 UML 2 图能够做到这一点。

*: 尽管 OMG 的SysML 和 UML 2 规范通常将用例图归类为行为图,但它们的行为语义是模棱两可且不完整的。活动图、序列图和状态机图是图灵完备的,它们的动态行为可以模拟或执行,而用例图不是图灵完备的,不可模拟。

2 敏捷系统工程

以架构为中心的敏捷 MBSE 流程功能

以架构为中心:

敏捷 MBSE 流程必须强调精确且完整的系统架构模型 (SSADM) 作为整个系统开发生命周期 (SDLC) 的主要工作工件。即,SAM = 系统架构的"真理"(参见敏捷宣言)。SSADM 应使用具有多个视图/视点的可扩展且可模拟的架构框架(例如 ISO/IEC 42010、DoDAF、TOGAF)模式进行组织;

通过严格的V&V支持完整的SDLC:

敏捷MBSE流程必须为所有SDLC阶段(需求、系统分析、系统设计、实施、系统集成和测试)提供全面支持;

需求驱动:

系统 V 模型"左侧"的所有系统分析、系统设计和实现元素必须直接或间接地追溯到系统功能和非功能需求;

测试驱动:

系统 V 模型"右侧"的所有系统测试用例必须在单元、集成和系统级别使用"黑盒"和"白盒"测试用例对系统设计和实现进行详尽测试;

可扩展:

敏捷 MBSE 流程必须递归扩展,以适应任意复杂性的系统;

可模拟:

敏捷MBSE过程必须能够对所有SysML行为图(活动,序列,状态机)进行动态模拟(又名动态系统模拟)和所有参数图的数学建模和模拟(又名数学ModSim,数学M&S,参数模拟);

基于模式的重用:

敏捷 MBSE 流程基于经过验证的实用系统分析、设计和架构模式,以提高架构的完整性和一致性,并促进企业模型内部和跨企业模型的重用;

集成 SE 和敏捷 MBSE 最佳实践:

敏捷 MBSE 流程必须能够增强经过验证的传统系统工程最佳实践,并将其与不断发展的敏捷 MBSE 最佳实践集成。 敏捷 MBSE 流程特性

快速、有规律的流程节奏:

短迭代、增量的敏捷"冲刺"允许系统架构和设计工作工件适应不断变化的业务和任务需求;

主动测试:

不断完善测试用例,以便在 SDLC 中尽早发现问题,尤其是软件组件的测试用例;

频繁的点对点评审:

频繁的个人互动和非正式的点对点评审简化了沟通并减少了误解。

小结

这里将在后面几个小节分别讲述SysML建模工具和其10大图表。

  • MBSE 流程希望实现以下目标:

直截了当使用系统:

敏捷MBSE过程应该以简单和系统的方式解释,以便系统工程师易于学习和应用;

促进开放标准的交互使用:

敏捷 MBSE 流程应支持系统架构建模和工具互操作性的开放标准。这些开放标准包括但不限于 SysML、UML2、XMI 和 AP233。这些开放标准应该用于指定系统架构和设计模型(SSADM),并作为系统工程师和其他利益相关者(软件工程师、电气工程师、机械工程师、客户等)之间的通用语言。

相关推荐
骄马之死12 小时前
SpringMVC + SpringBoot 核心知识点总结
java·spring boot·后端
zhengfei61112 小时前
第3章 Agent 类型分类与设计模式
设计模式
GoGeekBaird13 小时前
Anthropic技能"(Skills)的经验分享
后端
王码码203513 小时前
多台服务器怎么统一看状态?Beszel 轻量监控,搭起来不费事
运维·服务器·后端·安全·阿里云·接口·web
刀法如飞13 小时前
一文搞懂DDD 领域驱动设计思想原理
设计模式·架构·代码规范
郑洁文13 小时前
基于Spring Boot的流浪动物救助网站
java·spring boot·后端·毕设·流浪动物救助
指令集梦境15 小时前
Cursor + Spring Boot实战:从零写一个RESTful API
spring boot·后端·restful
码云之上15 小时前
聊聊如何设计一个高效、稳定的 Node.js 接入层
前端·后端·node.js
折哥的程序人生 · 物流技术专研16 小时前
Java 23 种设计模式:从踩坑到精通 | 原型模式 —— 克隆对象,深拷贝与浅拷贝的坑你踩过吗?
java·设计模式·架构·原型模式·单一职责原则