目录
1.什么是MBSR(基于模型的软件复用)
2.为什么需要MBSR(基于模型的软件复用)
3.MBSR(基于模型的软件复用)有什么
4.怎么做MBSR(基于模型的软件复用)
5.MBSR(基于模型的软件复用)示例
6.MBSR需要的工具和环境
7.后记
1、什么是MBSR(基于模型的软件复用)
基于模型的软件复用 就是把可复用的软件组件和模型一起提供,复用者通过模型了解可复用软件组件的设计(功能、接口和内部实现),确定可复用组件是否适合使用,然后再决定如何复用软件组件。
2、为什么需要MBSR(基于模型的软件复用)
软件复用由来已久,一直是提高软件开发质量和效率的最有效的方法。进行需求分析,然后寻找可复用的代码、动态库 / 静态库已经是开发者的最常见的开发模式。有些需要整体软件运行环境和开发环境支持的复杂系统甚至需要软件运行平台或者开发平台的完整支持。而在复用的软件组件内容越来越复杂,数量越来越多的情况下,如何快速的了解可复用软件组件的设计就成为一个无法回避的话题。如果为复用者同时提供软件设计模型,描述清楚软件组件的功能、接口甚至内部实现,将极大的提高复用的效率和质量。
3、MBSR(基于模型的软件复用)有什么
MBSR 有什么呢?
首先, MBSR 应该有 可复用资源的存储空间:可复用 code 库和模型库。这些存储库的目录结构应该规划清楚,而且便于使用者查找。
其次, MBSR 应该有可复用组件,这是从历史项目中识别出一些可复用组件,基于复用的需求进行组件提炼、封装,在这个过程中,对可复用组件的进行了建模:功能模型、接口模型、组件实现模型。然后把这些可复用模型组件添加进入模型库。
复用者基于模型了解可复用组件,然后选择合适的组件进行了复用,对于不能直接复用的部分进行了定制开发。
最后,把复用后的组件,连同组件对应的模型,作为可复用资源积累起来。持续支持未来的复用。
4、怎么做MBSR(基于模型的软件复用)
MBSR的建立和使用过程如下图所示:
首先是组件库管理者搭建好组件,
然后是组件提供者提炼组件,对组件描述,然后提交组件模型,
组件库管理者会对提交的组件进行评审,并标注组件的一些属性信息,方便未来的查询和使用,
最后是应用开发者查询组件,复用组件,并对组建的质量结果进行评价。
5、MBSR(基于模型的软件复用)示例
如下是一个基于模型的组件复用示例,把网络通信组件 Net.dll封装为可复用组件,并为组件建立相应的模型,描述如下设计:
组件接口设计
组件内部设计
然后组件复用的时候,再基于可复用组件模型,描述
应用程序对组件的接口访问
组件的交互过程
应用组件和可复用组件的部署关系
基于模型的可复用组件,在汽车电子领域已经被非常重视,目前主要的参考架构 AUTOSAR 就提供了完整的可复用组件模型,对组件的接口和组件之间的依赖关系提供了详细的模型。如下是官方提供的 AUTOSAR 可复用组件接口的模型示例图,更多详细信息参见: AUTOSAR_BSW 的 UML 模型库
6、MBSR需要的工具和环境
MBSR需要如下的环境:
可复用模型库和可复用代码库。
项目模型库和项目代码库。
需要如下工具:
工具 |
功能 |
建模工具EA: |
能够访问模型库
能够同步模型和代码:从模型生成代码,从代码逆向模型 |
MBSE平台 iSpace: |
多个模型库的统一管理
MBSR 的流程管理
可复用模型库和项目模型库的关联与跟踪 |
模型发布工具WebEA: |
模型发布
模型浏览
模型质量评审
模型关联分析 |
可视化建模工具 EA 支持 Sys ML 、 UML 、 AUTOSAR 建模、 ArchiMate 、 BPMN 、 UPDM 、数据建模、数据流建模、 NIEM 、 BABOK 等多种建模语言,能够访问模型库,提供权限控制和并发访问控制功能。
MBSE 平台能够管理多个模型库,建立多个模型库之间的跟踪关系和同步流程。并可以对模型库的复用率进行统计分析。
Web EA 可以以 Web 页面的形式发布模型,提供模型的 web 服务总线,可以对浏览模型,对模型质量进行评审,并对模型给出修改建议。
7、后记
希望您读了此文后有所受益。
如果您有经验乐于分享,欢迎投稿给我们,如果您对我们的培训、咨询和工具感兴趣,欢迎了解:
建模工具: EA
MBSE 平台: iSpace
模型 web 浏览工具: WebEA
课程: MBSE (基于模型的系统工程)
课程:基于模型的需求分析、建模于管理
咨询方案: MBSE( 基于模型的系统工程 )
咨询方案: 基于 UML 的模型驱动的开发
所有建模有关的课程: http://www.modeler.org.cn/course/index.asp
咨询方案: 基于模型的工程管理
如果您希望了解更多信息:
作者简介:
俎涛,火龙果软件工程创始人,2001年创立了火龙果软件工程,2004年创立了IBM Rational用户组。1998年,曾作为骨干参与国家重点研究课题《面向特定领域基于组件的软件复用》,有幸比较深入的学习和使用的UML进行领域建模、提炼可复用组件和架构。在后来的研发项目中,一直采用模型进行分析设计,积累了一些心得和经验。
在以往的经历中,最大的感触是汇聚了很多精英人才的软件工程和系统工程领域居然几十年都是一种凌乱迷蒙的状态,从自己的经历所得,觉得清晰的模型,才是拨开工程迷雾的关键所在,所以不断研究和应用各种建模技术,并从自己的工程实践中提炼经验,形成对于自己可持续的方法论,例如《 Nature Model Language- 自然建模语言》《基于模型的三维研发管理》《 iProcess 过程改进方法》《基于模型的需求管理》《模型驱动的架构设计》《基于模型的质量管理》《基于模型的人员能力管理》,目前正在作为产品经理和架构师,进行 MBSE (基于模型的系统工程)平台的研发,希望建立要给基于模型的工程解决方案,后续会不断写些文章,希望能给同行一些借鉴。 |
|