第9章-基于构件的软件开发.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章-基于构件的软件开发

* * * * * * * * * * * * * * * * * * * * * * * * * 任务:通过组装可复用构件得到应用系统 CBSD中构件是组成应用系统的基本单元 注重体系结构和构件接口的分析和设计,忽略构件内部实现的设计 接口是构件行为的描述机制,并提供了对其服务的访问 供应接口(Provided interface):描述构件所提供的服务,可以被其他构件访问 请求接口(requived interface):请求接口描述构件为完成其功能(服务)需请求其他构件为其提供的服务 一个接口可以有多种实现,并且对使用者隐蔽 接口描述是构件使用者能依赖的所有信息,因此构件接口描述的表达能力和完整性是CBSD方法主要关注的问题之一 基于构件的应用系统体系结构 描述了组成应用系统的构件,构件之间的组织结构、交互、约束和关系 对系统的组成、结构以及系统如何工作的较为宏观的描述 如果在领域工程中已开发了领域基准体系结构(reference architecture),则可以通过对基准体系结构的剪裁和/或扩充获得应用系统的体系结构 逻辑体系结构 以接口形式对每组服务进行描述,并描述这些包怎样交互来满足通常的用户使用场景 展示了系统设计的蓝图,可用于验证系统是否提供了适当的功能,并能在系统功能需求变化时方便地改变系统的设计 物理体系结构 描述系统的物理设计,包括硬件及其拓扑结构、网络和通信协议、基础设施(如运行平台、中间件、数据库管理系统等),以及软件系统的部署 展示了系统的实现构架,有助于理解系统的许多非功能属性,如性能、吞吐量、服务的可用性等 Rationel统一过程 Rational’s Unified Process,简称RUP 一个关于软件开发的广泛的过程框架,覆盖了整个软件生命周期 使用UML进行分析和设计建模,鼓励使用CBSD方法 Sterling Software的Enterprise-CBD方法 鼓励使用UML的扩展形式把构件的规格说明和实现分离 允许制作技术中立的规格说明,然后再使用不同的实现技术来实现规格说明 共同点:关注构件库中的构件、接口的设计和基于构件构架的应用程序组装 目的:确保获得的构件可以完成所需的功能并能被集成在系统中与系统的其他构件正确交互 主要依据是构件的接口描述和相关的规格说明,但这些信息往往还不足以确保构件能成功地集成到系统中 对于外部提供的成品构件(COTS)可通过运行构件测试版进行鉴定 应用编程接口(API) 该构件所需的开发和集成工具 运行时需求,包括使用的资源(如内存或存储器)、时间或速度以及网络协议 服务需求,包括操作系统接口和来自其他构件的支持 安全特征,包括访问控制和身份验证协议 嵌入式设计假定,包括特定的数值或非数值算法的使用 异常处理 构件特化 根据应用系统的具体情况对其进行特化,对变化点配置特定的变体,必要时要自行开发变体 如果所选的构件不能完全满足应用系统的功能需求,还需对构件作适当的修改 如果所选的构件未按构件标准开发(如遗产系统中抽取的构件)时,还需按某种构件标准对其进行包装 构件组装 将经过鉴定和特化后的构件组装成应用系统 提倡使用构件组装工具来组装应用系统(能检查接口匹配中的错误,实现组装的自动化或半自动化) 基于构件的软件开发概述 建造可复用构件 应用系统工程 构件的管理 小结 构件的分类描述 对构件库中的构件进行合理的分类和组织,帮助软件开发人员方便地找到所需要的构件 大多数的研究都建议使用图书馆科学索引方法进行构件分类 构件库管理系统:主要用于构件的储存、检索、浏览和管理 枚举分类(Enumerated Classification) 将构件组织成分类层次结构,构件库中的构件按某些性质分成若干大类,每个大类又分成若干较小的类,经过若干次分解,形成构件分类的层次结构,实际的构件位于层次结构的最低层,其他层次则表示构件的类或子类 枚举分类模式的分层结构易于理解和检索,但是,在建立层次结构之前,必须进行领域分析,寻找合适的供分类的性质。 属性—值分类(Attribute_Value Classification) 为所有构件定义一组属性,每个构件都具有一组属性值,开发人员通过指定一组属性值对构件库检索 与刻面分类方法非常类似,不同点在于:属性—值分类法对可使用的属性数量没有限制;属性没有优先级;不使用同义词 刻面分类(Faceted Classification) 根据一组刻面对构件分类,每个刻面从不同的侧面对构件库中的构件进行分类,并根据重要性设置刻面的优先级 每个刻面由一组术语(term)构成,称之为术语空间(term space),这些术语通常是描述性的关键词 检索:用户通过指定一组刻面的术语值寻找匹配的构件 使用同义词词典(thesaurus)解

文档评论(0)

jiaoyuguanliji + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档