欢迎来到天天文库
浏览记录
ID:39306147
大小:406.00 KB
页数:60页
时间:2019-06-30
《基于构件的软件工程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章基于构件的软件工程基本概念基于构件的开发模型CBSE过程基于构件的开发典型的构件模型构件分类与检索6.1基本概念基于构件的软件工程(component-basedsoftwareengineering,CBSE)是强调使用可复用的软件“构件”来设计和构造基于计算机的系统的过程。6.1基本概念通常来讲,构件是计算机软件中的一个模块化的构造块。OMG统一建模语言规范是这样定义构件的:“系统中模块化的、可部署的和可替换的部件,该部件封装了实现并暴露一系列接口。”6.1基本概念在面向对象软件工程环境中,构件包括一组
2、协作的类。在进行构件级设计时,需要对构件中的每个类进行详细设计,包括属性、与实现相关的操作、所有与其他设计类相互通信协作的接口(消息)。6.1基本概念在传统软件工程环境中,一个构件就是程序的一个功能要素。传统构件也称为模块。通常,构件具有以下三个角色之一:(1)控制构件:协调问题域中所有其他构件的调用;(2)问题域构件:完成部分或全部用户的需求;(3)基础设施构件:负责完成问题域中所需相关处理的功能。Brown和Wallnau给出了如下可能的构件描述:(1)构件——一个系统中有价值的、几乎独立的、并可替换的部分,
3、它在很好定义的体系结构中完成某一确定的功能。(2)运行时软件构件——由一个或多个程序构成的动态绑定包,其中的程序可作为单元进行管理、并可通过在运行时发现的文档化接口来访问。(3)软件构件——仅具有契约性描述的、显示语境依赖的组装单元。(4)业务构件——某一“自治的”业务概念或业务过程的软件实现。构件分类:纵向:系统级构件应用构件横向:界面构件(控件)业务构件数据访问构件除了关于软件构件的这些描述,也可以基于软件构件在CBSE过程中的使用来描述。除了COTS构件,CBSE过程生产:(1)已认证的构件——由软件工程师
4、评估,以确保不仅功能而且性能、可靠性、可用性和其它质量因素均符合待构造的系统或产品的需求。(2)适应的构件——对不想要的或不希望的特征进行适应性修改(也称掩盖或包裹)。(3)组装的构件——被集成到体系结构风格中,并与能够有效地协同和管理构件的合适的基础设施互联。(4)更新的构件——当新版本的构件可用时,替换现存的构件。描述构件接口的语言模块接口语言MIL(Moduleinterfacelanguage)接口定义语言IDL(Interfacedefinitionlanguage)体系结构描述语言ADL(Archit
5、ecturedescriptionlanguage)接口定义语言IDLIDL用于描述接口的一种高级符号语言,IDL不涉及任何接口的实现细节。特点:是一种规范语言,看上去很像C语言;分离对象的接口和其实现;剥离了编程语言和对象的依赖性;提供了一套通用数据类型,并用这套数据类型来定义更为复杂的数据类型。接口定义语言IDL体系结构描述语言ADLADL是一种描述实际系统体系结构的形式语法;构成元素:构件连接件体系结构配置比较有影响的ADL有C2、UniCon、MetaH、Aesop、SADL、Rapide、Wright等
6、。构件接口的分类内部接口应用系统接口平台接口构件接口的分类6.2基于构件的开发模型从表面上看,CBSE似乎类似于传统软件工程或面向对象的软件工程。软件团队针对每一系统需求询问如下问题:现有的商业成品构件(commercialoff-the-shelf,COTS)是否能够实现该需求?内部开发的可复用构件是否能够实现该需求?可用构件的接口与待构造系统的体系结构是否相容?团队可以试图修改或去除那些不能用COTS或自有构件实现的系统需求。如果不能修改或删除这些需求,则必须应用软件工程方法构造满足这些需求的新构件。基于构件
7、的开发模型基于构件的开发模型基于构件的开发模型具有许多螺旋模型的特点。它本质上是演进模型,需要以迭代方式构建软件。不同之处在于,基于构件开发模型采用预先打包的软件构件开发程序。基于构件的开发模型基于构件的开发模型中,建模和构建活动开始于识别可选构件。这些构件有些设计成通用的软件模块,有些设计成面向对象的类或软件包。不考虑构件的开发技术,基于构件的开发模型由以下步骤组成(采用演进方法):对于该问题领域的基于构件的可用的产品进行研究和评估。考虑构件集成的问题。设计软件架构以容纳这些构件。将构件集成到架构中。进行充分的
8、测试以保证功能正常。基于构件的开发模型存在的问题:构件的信赖度——一个拿不到源代码的构件如何是可信赖的呢?构件认证——谁来认证构件的质量?自然特性预测——如何预测构件合成的自然性质。需求折衷——在多个构件的特性中人们应该如何进行折衷?6.3CBSE过程CBSE过程是这样描述的:不仅标识候选的构件,而且认证每个构件接口,适应性修改构件以消除体系结构中的不匹配,组装构件到选择
此文档下载收益归作者所有