基于构件的软件工程.pptxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第6章基于构件的软件工程基本概念基于构件的开发模型CBSE过程基于构件的开发典型的构件模型构件分类与检索

6.1基本概念基于构件的软件工程(component-basedsoftwareengineering,CBSE)是强调使用可复用的软件“构件”来设计和构造基于计算机的系统的过程。

通常来讲,构件是计算机软件中的一个模块化的构造块。OMG统一建模语言规范是这样定义构件的:“系统中模块化的、可部署的和可替换的部件,该部件封装了实现并暴露一系列接口。”6.1基本概念

6.1基本概念在面向对象软件工程环境中,构件包括一组协作的类。在进行构件级设计时,需要对构件中的每个类进行详细设计,包括属性、与实现相关的操作、所有与其他设计类相互通信协作的接口(消息)。

6.1基本概念在传统软件工程环境中,一个构件就是程序的一个功能要素。传统构件也称为模块。通常,构件具有以下三个角色之一:控制构件:协调问题域中所有其他构件的调用;问题域构件:完成部分或全部用户的需求;基础设施构件:负责完成问题域中所需相关处理的功能。

Brown和Wallnau给出了如下可能的构件描述:构件——一个系统中有价值的、几乎独立的、并可替换的部分,它在很好定义的体系结构中完成某一确定的功能。运行时软件构件——由一个或多个程序构成的动态绑定包,其中的程序可作为单元进行管理、并可通过在运行时发现的文档化接口来访问。软件构件——仅具有契约性描述的、显示语境依赖的组装单元。业务构件——某一“自治的”业务概念或业务过程的软件实现。

构件分类:纵向: 系统级构件应用构件 横向: 界面构件(控件)业务构件数据访问构件12

除了关于软件构件的这些描述,也可以基于软件构件在CBSE过程中的使用来描述。除了COTS构件,CBSE过程生产:(1)已认证的构件——由软件工程师评估,以确保不仅功能而且性能、可靠性、可用性和其它质量因素均符合待构造的系统或产品的需求。(2)适应的构件——对不想要的或不希望的特征进行适应性修改(也称掩盖或包裹)。(3)组装的构件——被集成到体系结构风格中,并与能够有效地协同和管理构件的合适的基础设施互联。(4)更新的构件——当新版本的构件可用时,替换现存的构件。

1模块接口语言MIL(Moduleinterfacelanguage)2接口定义语言IDL(Interfacedefinitionlanguage)3体系结构描述语言ADL(Architecturedescriptionlanguage)描述构件接口的语言

IDL用于描述接口的一种高级符号语言,IDL不涉及任何接口的实现细节。特点:是一种规范语言,看上去很像C语言;分离对象的接口和其实现;剥离了编程语言和对象的依赖性;提供了一套通用数据类型,并用这套数据类型来定义更为复杂的数据类型。321456接口定义语言IDL

接口定义语言IDL

ADL是一种描述实际系统体系结构的形式语法;构成元素:构件连接件体系结构配置比较有影响的ADL有C2、UniCon、MetaH、Aesop、SADL、Rapide、Wright等。体系结构描述语言ADL

内部接口01应用系统接口02平台接口03构件接口的分类

构件接口的分类

6.2基于构件的开发模型从表面上看,CBSE似乎类似于传统软件工程或面向对象的软件工程。软件团队针对每一系统需求询问如下问题:现有的商业成品构件(commercialoff-the-shelf,COTS)是否能够实现该需求?内部开发的可复用构件是否能够实现该需求?可用构件的接口与待构造系统的体系结构是否相容?团队可以试图修改或去除那些不能用COTS或自有构件实现的系统需求。如果不能修改或删除这些需求,则必须应用软件工程方法构造满足这些需求的新构件。

基于构件的开发模型具有许多螺旋模型的特点。它本质上是演进模型,需要以迭代方式构建软件。不同之处在于,基于构件开发模型采用预先打包的软件构件开发程序。基于构件的开发模型基于构件的开发模型

基于构件的开发模型基于构件的开发模型中,建模和构建活动开始于识别可选构件。这些构件有些设计成通用的软件模块,有些设计成面向对象的类或软件包。不考虑构件的开发技术,基于构件的开发模型由以下步骤组成(采用演进方法):对于该问题领域的基于构件的可用的产品进行研究和评估。考虑构件集成的问题。设计软件架构以容纳这些构件。将构件集成到架构中。进行充分的测试以保证功能正常。

构件的信赖度——一个拿不到源代码的构件如何是可信赖的呢?1构件认证——谁来认证构件的质量?2自然特性预测——如何预测构件合成的自然性质。3需求折衷——在多个构件的特性中人们应该如何进行折衷?4存在的问题:基于构件的开发模型

CBSE过程是这样描述的:不仅标识候

文档评论(0)

gongmengjiao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档