【Harmony】概述

原文来自本人的微信公众号文章  系统工程实验室

引言

基于模型的系统工程(简称MBSE,英文全称Model based System Engineering )的实践至少需要三个维度的支撑:建模语言、建模方法论和建模工具。建模语言为模型的表述提供了统一的支撑,建模方法论为建模的行为提供了更为一致的准则,建模工具为建模的实现提供了更为自动化的支撑。今天要讨论的主题 “IBM Rational Harmony” 正是MBSE建模方法论之一。

IBM Rational Harmony 架构

Harmony全称为 “Rational Integrated Systems / Embedded Software Development Process Harmony ” ,Harmony的整体架构如下图所示。与经典的系统V模型类似,左侧“下降沿”表示为系统分解,右侧的“上升沿”表示为系统侧层层验证。

 

引自 Harmony SE handbook

在Harmony方法轮中,V模型包含需求分析、系统功能分析、设计综合、软件分析及设计、软件实现以及与之相对应的单元测试、模块集成及测试、(子)系统集成及测试、系统验收测试。涉众需求作为输入,会经过需求分析、系统功能分析、设计综合、软件分析设计、软件实现等阶段,各阶段的输入和输出都以模型的形式提现。同时,系统的演化以迭代的方式进行,系统的变更会触发新的迭代循环。例如新的需求的加入,会重新经历需求分析、系统功能分析......等其他阶段。除此之外,Harmony还引入了统一的配置仓储,用于支撑模型数据的存储及复用。

同样,从上图中还可以看出,Harmony将整个V模型阶段划分为两个松耦合的部分:

  • Harmony for Systems Engineering:需求分析、系统功能分析、设计综合
  • Harmony for Embedded Real TimeDevelopment:软件相关的分析、设计、实现及相应的验证

Harmony for Systems Engineering
本文主要对 “Harmony for System Engineering” 进行简要论述,即对需求分析、系统功能分析、设计综合进行简要说明,后续系列文章中会对各个阶段进行详细说明。

需求分析阶段

需求分析阶段的主要目标是对系统的输入需求进行分析,作为需求工程的一部分,需求分析一个非常大的范围,期内包含的诸多的活动、方法,在此不做详细论述。在Harmony的上下文中,对如下图所示的范围进行论述。

  • 输入:
    • 涉众需求:涉众需求是从用户的角度描述系统的需求,包含用户对系统的功能需求和性能需求的期望。该层级的需求一般是比较零散的、不规范的。
  • 输出
    • 涉众需求规范:该需求是对涉众需求的规范化描述。基于客户输入的涉众需求,以及工程师所遵循的需求分析准则(如何)对涉众需求进行重新定义和整理,并生成理解一致的、清晰的、正确的、可验证的需求。
    • 系统需求规范:系统需求规范是对涉众需求的工程化语言描述的转换,将从用户角度出发描述的需求转化为工程师角度的需求。
    • 用例模型:模型是MBSE的主要交付物形式,用例模型是Harmony需求分析阶段的关键交付物。同时,Harmony要求对系统用例进行分组和优先级划分。
    • 除了删除可见部分外,输出物还包含了模型间的关联关系,具体的是系统需求和涉众需求间的关联。用例模型和系统需求间的关联。

系统功能分析阶段

系统功能分析阶段主要目标是将需求分析阶段产生的功能性的系统需求转化为更加精确的系统描述。该阶段是用例驱动的,每个用例都会被分析,并产生可执行的模型,模型通过执行的方式进行验证。

该阶段基于每个用例,会对其设计相应的黑盒活动图、黑盒序列图以及黑盒的状态机图。

设计综合阶段

设计综合阶段的目标是系统物理机构的开发,该架构需要满足性能需求前提下保证系统功能需求的实现。设计综合阶段包括架构分析和架构设计两个阶段。

  • 架构分析阶段
    • 系统功能分析用于定义系统“做什么”,架构分析用于定义系统“如何做”。如何进行架构分析在Harmony有一套建议的工作流可供参考,后续会详细介绍。
  • 架构设计阶段
    • 架构设计阶段的重点是功能需求和非功能需求到架构结构的分配。
    • 该阶段将用例相关的黑盒视图转化为白盒视图。

小结

Harmony是支持MBSE的建模方法论之一,其定义了基于模型的系统工程的建模工作流和典型模型输出物。整个方法论基于系统V模型展开,系统模型贯穿系统研发的整个生命周期。

关于每个阶段的详细工作流及最佳实践会在后续文章总给出,请关注“系统工程实验室”微信订阅号。

时间: 2024-10-25 02:35:58

【Harmony】概述的相关文章

Android Dalvik虚拟机概述

Dalvik虚拟机概述 Dalvik是Google公司自己设计用于Android平台的Java虚拟机.Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一.它可以支持已转换为 .dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统.Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux 进

第一课 MongoDB 概述与安装

1.课程大纲 本次课主要介绍 MongoDB 背景知识和 MongoDB 的安装与配置,让大家对 MongoDB 有一个初认识. 其基本的知识点包含: NoSQL数据库概述 MongoDB 数据库简单介绍 Linux 下安装 MongoDB 数据库 Mac 和 Windows 下安装 MongoDB 数据库 2.课程简单介绍 MongoDB是由MongoDB.inc研发的一款NoSQL类型的文档型数据库,MonogoDB名字来源于英文单词humongous,这个单词的意思是巨大无比.暗喻Mong

java面向对象:面向对象的思想和概述

1:面向对象思想 面向对象是基于面向过程的编程思想. 面向过程:强调的是每一个功能的步骤 面向对象:强调的是对象,然后由对象去调用功能 2:面向对象的思想特点 A:是一种更符合我们思想习惯的思想 B:可以将复杂的事情简单化 C:将我们从执行者变成了指挥者 开发,设计,特征 面向对象开发 就是不断的创建对象,使用对象,指挥对象做事情. 面向对象设计 其实就是在管理和维护对象之间的关系. 面向对象特征 封装(encapsulation) 继承(inheritance) 多态(polymorphism

java基础总结——概述

  一.java语言概述 来自维基百科 https://zh.wikipedia.org/wiki/Java Java是一种计算机编程语言,拥有跨平台.面向对象.泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发. 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机.电话.闹钟.烤面包机等家用电器的控制和通信.由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划.随着1990

译-BMC Remedy Action Request System权限控制概述

原文链接:Access control overview 说明: BMC Remedy Action Request System是BMC ITSM产品平台,简称AR 或者Remedy,可实现基于ITIL标准的整个IT管理流程的实施定制.该平台可实现多种权限级别的管理,包括人员.组.角色,以及表.字段.行级别等.本文可以用作其他对权限要求比较精细的系统参考. 为了便于理解,部分名词翻译如下: Server:服务器Form (or table):表单Field (or column):字段Acti

Aircrack-ng: (1) 概述

作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 目录 一.概述 二.工具与命令介绍 Linux命令 (1) ifconfig (2) macchanger (3) iwconfig (4) iwlist Aircrack-ng 工具 (1) airmon-ng (2) airodump-ng (3) aireplay-ng (4) aircrack-ng 其他Aircrack-ng工具 一.概述 Aircrack-ng是一款用于破解无线

NHibernate框架与BLL+DAL+Model+Controller+UI 多层架构十分相似--『Spring.NET+NHibernate+泛型』概述、知识准备及介绍(一)

原文://http://blog.csdn.net/wb09100310/article/details/47271555 1. 概述 搭建了Spring.NET+NHibernate的一个数据查询系统.之前没用过这两个框架,也算是先学现买,在做完设计之 后花了一周搭建成功了.其中,还加上了我的一些改进思想,把DAO和BLL之中相似且常用的增删改查通过泛型T抽象到了DAO和BLL的父类中,其DAO 和BLL子类只需继承父类就拥有了这些方法.和之前的一个数据库表(视图)对应一个实体,一个实体对应一

排序算法--概述和参考

1 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 我们这里说说八大排序就是内部排序. 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序.堆排序或归并排序序. 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短: 2 参考 http://blog.csdn.net/hguisu/article/details/77

Css3之高级-7 Css动画(概述、关键帧、动画属性)

一.动画概述 动画概念 - 过渡属性只能模拟动画效果 - animation 属性可以制作类似 Flash 动画 - 通过关键帧控制动画的每一步 - 使元素从一种样式逐渐变化为另一种样式 - 实现复杂的动画效果 - 浏览器兼容性 - 最新版本支持良好 - Chrome 和 Safari 需要前缀 -webkit- - FireFox 需要前缀 -moz- - Opera 需要前缀 -o- 动画示例 - 声明动画 - 创建一个已命名的动画 - 使用 @keyframes 声明动画的关键帧 - 为元