面向对象的中间件软件体系结构研讨课件_第1页
面向对象的中间件软件体系结构研讨课件_第2页
面向对象的中间件软件体系结构研讨课件_第3页
面向对象的中间件软件体系结构研讨课件_第4页
面向对象的中间件软件体系结构研讨课件_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件方法学

第4章:面向对象的中间件软件体系结构软件方法学第4章:面向对象的中间件软件体系结构基于构件的软件开发目标长期以来的软件开发状况多数软件都是针对某个具体的应用系统从头进行开发的导致:出现了大量的同类软件重复开发,造成大量人力、财力的浪费,而且软件的质量也不高对比:汽车工业的生产模式在已有的部件基础上通过组装进行生产:有专门的部件生产工厂,汽车设计者在设计中选择市场上已有的合适的部件避免了大量的重复劳动,提高了产品质量和生产效率,促进分工合作我们的目标:将制造业中的组装式生产模式引入到软件开发中基于构件的软件开发目标长期以来的软件开发状况内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结内容摘要基于构件的软件开发概述内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结内容摘要基于构件的软件开发概述基于构件的软件开发基于构件的软件开发Component-BasedSoftwareDevelopment简称CBSD是指使用可复用构件来开发应用软件基于构件的软件工程Component-BasedSoftwareEngineering简称CBSE基于构件的软件开发基于构件的软件开发构件(Component)的典型定义Pressman书中的定义:构件是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能Brown的定义:构件是一个独立发布的功能部分,可以通过其接口访问它的服务“计算机科学技术百科全书”的定义:软件构件是软件系统中具有相对独立功能,可以明确标识,接口由规约指定,与语境有明显依赖关系,可独立部署,且多由第三方提供的可组装软件实体;软件构件须承载有用的功能,并遵循某种构件模型;可复用构件是指具有可复用价值的构件构件(Component)的典型定义Pressman书中的定商用成品构件Commercialoff-the-shelf简称COTS指由第三方开发的满足一定构件标准的,可组装的软件构件商用成品构件Commercialoff-the-shelf构件的要素规格说明:建立在接口概念之上,作为服务提供方与客户方之间的契约一个或多个实现受约束的构件标准包装方法部署方法构件的要素规格说明:建立在接口概念之上,作为服务提供方与客户3C构件模型关于构件的一个指导性模型由构件的三个不同方面的描述组成概念(concept):关于“构件做什么”的抽象描述,可以通过概念去理解构件的功能。概念包括接口规约和语义描述两部分,语义描述和每个操作相关联(至少表示为前后置谓词形式)内容(content):概念的具体实现,描述构件如何完成概念所刻画的功能周境(context):描述构件和外围环境在概念级和内容级的关系,刻画构件的应用环境,为构件的选用和适应性修改提供指导3C构件模型关于构件的一个指导性模型REBOOT构件模型REBOOT(ReuseBasedonObject_OrientedTechnology):基于面向对象技术的复用一种基于刻面(facet)的模型刻面:对领域进行分析,所得到的一组基本的描述特征刻面可以描述构件执行的功能、所操作的数据、构件应用的周境或任何其它特征通常的刻面描述限制在不超过7或8个刻面一个构件通常包括以下刻面:抽象(abstraction):它是构件概念的抽象性描述操作(operation):它是构件所提供的操作的描述操作对象(operand):它描述操作的对象依赖(dependency):它描述构件与外界的依赖关系REBOOT构件模型REBOOT(ReuseBasedo常用的构件标准CORBA(公共对象请求代理体系结构)CommonObjectRequestBrokerArchitectureOMG发布的构件标准核心是ORB(ObjectRequestBroker),定义了异构环境下对象透明地发送请求和接收响应的基本机制COM+微软开发的一个构件对象模型,提供了在运行于Windows操作系统之上的单个应用中使用不同厂商生产的对象的规约EJB:一种基于Java的构件标准提供了让客户端使用远程的分布式对象的框架EJB规约规定了EJB构件如何与EJB容器进行行交互常用的构件标准CORBA(公共对象请求代理体系结构)面向对象的中间件软件体系结构研讨课件

CORBA技术规范CORBA是OMG组织在1991年提出的公用对象请求代理程序结构技术规范。CORBA的底层结构是基于面向对象模型的模块组成:1接口描述语言(OMGInterfaceDefinitionLanguage,OMGIDL)、2对象请求代理(ObjectRequestBroker,ORB)3IIOP标准协议(InternetInter-ORBProtocol)使用接口描述语言编写的对象接口,使得与语言无关的独立性成为可能。IDL使得所有CORBA对象以一种方式被描述,仅仅需要一个由语言(C/C++、CORBA或Java)到IDL的“桥梁”。CORBA对象的互通要以对象请求代理为中介,这种互通信可以在多种流行通信协议之上实现。在TCP/IP上,来自于不同开发商的ORB用IIOP标准协议进行通讯。CORBA技术规范面向对象的中间件软件体系结构研讨课件

COM/DCOM技术规范COM(ComponentObjectModel,组件对象模型)是Microsoft软件组件标准,是构造二进制兼容软件组件的规范。COM的体系结构包括统一数据传输、持久存储和智能命名、COM核心等。其中:1COM核心:包括服务控制管理、接口代理、接口基和COM库。COM核心定义了COM对象与使用者如何通过二进制标准接口进行交换的规格说明。

2持久存储::通过Istorage和Istream接口提供一个“文件系统”。

3智能命名:通过对象实现接口,使用户可以在以后重新连接一个指定的对象实例,并且使对象实例仍保持原来的状态,另外还提供保存它们名字和其它持久信息的机制。COM库提供对所有客户及组件都非常有用的组件管理服务。DCOM是COM的分布式扩展,Microsoft把DCOM作为开发Internet和组件的基础。当客户和组件位于不同机器时,DCOM用TCP/IP协议等取代COM中的本地进程间通信LRPC,从而对位于Internet不同机器上的组件对象之间的相互通讯提供了透明的支持。COM/DCOM技术规范面向对象的中间件软件体系结构研讨课件目前可以支持DCOM部件开发的编程语言很多,如Java、VisualC++/VisualBasic、Delphi、PowerBuilder等,具有较好的集成性和扩展性。微软的许多其它软件如OLE、OLEDB、ADO都是基于COM/DCOM技术。COM/DCOM并没有真正实现跨平台,目前基于COM的软件较多,但没有运行于异构平台上的基于DCOM的分布式软件。COM/DCOM在微软平台上运行情况较好,但对实时性、可靠性等的支持较少。目前可以支持DCOM部件开发的编程语言很多,如Java、VCOM+技术规范COM+是微软公司在COM、DCOM(DistributedCOM)和MTS(MicrosoftTransactionServer)基础上进一步优化了组件管理环境与事务服务[3],提供了无缝连接系统。它以系统服务的形式把原先一些分散的技术综合起来,并提供简单的编程模型,以直接应用层的编程接口为应用程序提供服务,使创建服务器应用就像实现客户应用一样简单。COM+把COM模型推向了更高层次,成为了企业级别分布式软件开发领域的重要技术。COM+技术规范COM+组件提供了ASP、ASPServlet、ASPBean等技术,实现页面动态内容的实现与显示,ASPServlet运行在Web服务器端的Servlet程序,支持多线程、多用户访问,能完成所有CGI功能。以SOAP为基础的Microsoft的.NET显现出减少实现RPC的困难,快速实现互操作性的潜力,使COM+组件可以与CORBA和Java标准进行通信。采用MFC(Microsoftfoundationclasslibrary)和ATL(activetemplatelibrary)作为开发工具,用COM+技术把模块的类做成动态链接库(DLL)的形式来发布,可以在物理上把模块类的包装与客户的包装脱离开来。COM+组件提供了ASP、ASPServlet、ASPBSOAP通讯协议:SimpleObjectAccessProtocol(简单对象访问协议)的英文缩写,目前已经得到IBM、Ariba、CommerceOne、SAP、康柏、惠普等公司的支持。它能够让不同应用程序之间通过HTTP通讯协议,以XML格式互相交换彼此的资料。作为新生事物,SOAP通过建立HTTP连接隧道来部署自己的协议:SOAP要求把请求参数组织在XML文档中,该文档然后被放到HTTPPOST请求体中发送到运行在Web主机基于SOAP的Web服务。同样,现在正在做很多扩展SOAP的工作,使它能使用其它的传输协议,例如HTTPS和SMTP。它包括四个部分:1SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;2SOAP编码规则(encodingrules),用于表示应用程序需要使用的数据类型的实例;3SOAPRPC表示(RPCrepresentation),表示远程过程4SOAP绑定(binding),使用底层协议交换信息SOAP通讯协议:SimpleObjectAccess

EJB技术规范EJB(EnterpriseJavaBeans)是J2EE的核心技术之一,它是建立基于Java的服务器端组件的标准。EJB是以部件为基础框架,其中每个部件都是分布式对象,可以扩展,也可以适配在不同应用中使用,大大方便了企业应用开发。EJB不局限于一种特定的操作系统,也不局限于任何一种特别的机构、服务器解决方案、中间件或者通信协议,是一种可重用的具有高度可移植性的组件。EJB组件模型包含了EJB服务器、容器、Home接口、Remote接口等。EJB技术规范三种分布式组件对象模型的比较(表1)三种分布式组件对象模型的比较(表1)面向对象的中间件软件体系结构研讨课件三种模型各有其优势:

Java由于平台无关性的优势显著,成为理想的Internet技术;而Windows平台的广泛使用也使COM/DCOM具有深厚的基础;OMG组织在10几年来一直在为自己的组件软件建立标准,而且已被很多组织和公司采用。对于异构环境下的企业应用开发,CORBA和EJB有着明显的优势,并且CORBA和EJB所依赖Java技术可以很好的互补。CORBA处理网络透明性,EJB处理实现透明性。因此,CORBA和EJB技术紧密结合应是今后多层分布式系统发展的一大趋势。三种模型各有其优势:基于构件的软件开发过程基于构件的软件开发过程领域工程步骤-1领域分析:首先要进行领域分析,收集领域中有代表性的应用样本,分析应用中的公共部分或相似部分,抽取该领域的应用体系结构建立领域特定的基准体系结构模型:在领域分析的基础上,构造该领域的基准体系结构,这个基准体系结构应是可以裁剪和扩充的,并可供该领域的应用复用标识候选构件:在领域分析和领域基准体系结构模型的基础上标识该领域的候选构件泛化(generalization)和可变性(variability)分析:提高其通用性,同时寻找候选构件在不同应用中的变化点(variationpoint),通过设置参数、继承或其它手段,使可变部分局部化领域工程步骤-1领域分析:首先要进行领域分析,收集领域中有代领域工程步骤-2重建构件:在泛化和可变性分析的基础上,重建构件,使它成为可复用构件构件的测试:对重建的可复用的构件要严格测试,以提高其可靠性构件的包装:经测试的构件应根据构件库的要求,对它进行包装,以便构件库对它分类储存和检索构件入库:包装后的构件即可存入构件库领域工程步骤-2重建构件:在泛化和可变性分析的基础上,重建构应用系统工程的步骤-1建立应用系统的体系结构模型:可以使用构件生产者提供的领域特定的基准体系结构经裁剪和/或扩充而获得寻找候选构件:根据应用系统的体系结构模型,从构件库或其它可利用的构件源中寻找候选构件评价和选择合适的构件:评价候选构件以判断是否适合于待开发的软件构件的修改(modify)和特化(specialize):在复用时对构件进行特化以满足特定应用的需要应用系统工程的步骤-1建立应用系统的体系结构模型:可以使用构应用系统工程的步骤-2开发未被复用的部分:对新系统中未复用的部分进行开发构件的组装:将特化和修改后的可复用构件和新开发的部分组装成一个新的软件系统集成测试:对组装后的软件系统进行集成测试评价被复用的构件,并推荐可能的新构件应用系统工程的步骤-2开发未被复用的部分:对新系统中未复用的CBSD对质量、生产率和成本的影响对质量的影响:随着长期的测试和使用,构件能够保证很高的质量,因此可以使系统开发的质量得到保证对生产率的影响:一般来说,大约30%~50%的复用可使生产率提高25%~40%对成本的影响与复用相关的成本应由多个采用复用技术的项目来分担通常要经过2~3个采用复用的生产周期(大约3年左右)复用才能带来显著的效益CBSD对质量、生产率和成本的影响对质量的影响:随着长期的测内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结内容摘要基于构件的软件开发概述建造可复用构件建造构件的目的是为了以后复用构件,即为复用而建造构件在建造构件时仍应遵循抽象、逐步求精、信息隐蔽、功能独立、结构化程序设计等思想和原则由于面向对象方法具有封装性、继承等特点,能有力地支持复用,所以应尽可能考虑采用面向对象方法建造可复用构件建造构件的目的是为了以后复用构件,即为复用而建对可复用构件的要求构件的设计应具有较高的通用程度构件应易于调整构件应易于组装构件必须具有可检索性构件必须经过充分的测试对可复用构件的要求构件的设计应具有较高的通用程度创建领域构件的设计框架除应遵循已有的设计概念和原则外,还必须考虑应用领域的特征,例如:标准数据:应该研究应用领域,并标识出标准的全局数据结构(如文件结构或完整的数据库)。于是所有设计的构件都可以用这些标准数据结构来刻画标准接口协议:应该建立三个层次的接口协议:构件内(intramodular)接口、构件外接口以及人机接口程序模板:程序的结构模型可以作为新程序的体系结构设计的模板创建领域构件的设计框架除应遵循已有的设计概念和原则外,还必须可变性分析构件应具有较强的通用性和可变性为了满足不同的复用需求,需要在构件复用时可能发生变化的一个或多个位置上标识变化点(variationpoint),同时为变化点附加一个或多个变体(variant)例如Account构件的帐号编码规则以及透支规则在不同的国家可能不一样·VP1·VP2CVP1descriptioncontext可变性分析构件应具有较强的通用性和可变性··CVP1des

构件系统中的门面和变体构件系统中的门面和变体可变性机制继承:在变化点上创建指定抽象类型或抽象类的子类型或子类。扩展和扩展点:可以在用况和对象构件中的变化点(或扩展点)上附加变体(或扩展)参数化:用于模板、框架和宏的类型和类适用于变体较小时(经常是一个数值、短语或表达式)可变性机制继承:在变化点上创建指定抽象类型或抽象类的子类型或内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结内容摘要基于构件的软件开发概述应用系统工程任务:通过组装可复用构件得到应用系统CBSD中构件是组成应用系统的基本单元注重体系结构和构件接口的分析和设计,忽略构件内部实现的设计应用系统工程任务:通过组装可复用构件得到应用系统关注接口的设计接口是构件行为的描述机制,并提供了对其服务的访问供应接口(Providedinterface):描述构件所提供的服务,可以被其它构件访问请求接口(requivedinterface):请求接口描述构件为完成其功能(服务)需请求其它构件为其提供的服务一个接口可以有多种实现,并且对使用者隐蔽接口描述是构件使用者能依赖的所有信息,因此构件接口描述的表达能力和完整性是CBSD方法主要关注的问题之一关注接口的设计接口是构件行为的描述机制,并提供了对其服务的访基于构件的体系结构基于构件的应用系统体系结构描述了组成应用系统的构件,构件之间的组织结构、交互、约束和关系对系统的组成、结构以及系统如何工作的较为宏观的描述如果在领域工程中已开发了领域基准体系结构(referencearchitecture),则可以通过对基准体系结构的剪裁和/或扩充获得应用系统的体系结构基于构件的体系结构基于构件的应用系统体系结构基于构件的体系结构层次逻辑体系结构以接口形式对每组服务进行描述,并描述那些包怎样交互来满足通常的用户使用场景展示了系统设计的蓝图,可用于验证系统是否提供了适当的功能,并能在系统功能需求变化时方便地改变系统的设计物理体系结构描述系统的物理设计,包括硬件及其拓扑结构、网络和通信协议、基础设施(如运行平台、中间件、数据库管理系统等),以及软件系统的部署展示了系统的实现构架,有助于理解系统的许多非功能属性,如性能、吞吐量、服务的可用性等基于构件的体系结构层次逻辑体系结构基于构件的应用系统开发方法Rationel统一过程Rational’sUnifiedProcess,简称RUP一个关于软件开发的广泛的过程框架,覆盖了整个软件生命周期使用UML进行分析和设计建模,鼓励使用CBSD方法TheSelectPerspectiveMethod支持通用的构件设计方法,并以SelectComponentManager为目标通用构件设计准则使用UML作为构件设计符号SterlingSoftware的Enterprise-CBD方法鼓励使用UML的扩展形式把构件的规格说明和实现分离允许制作技术中立的规格说明,然后再使用不同的实现技术来实现规格说明共同点:关注构件库中的构件、接口的设计和基于构件构架的应用程序组装基于构件的应用系统开发方法Rationel统一过程构件鉴定(qualification)目的:确保获得的构件可以完成所需的功能并能被集成在系统中与系统的其它构件正确交互主要依据是构件的接口描述和相关的规格说明,但这些信息往往还不足以确保构件能成功地集成到系统中对于外部提供的成品构件(COTS)可通过运行构件测试版进行鉴定构件鉴定(qualification)目的:确保获得的构件可构件鉴定需考虑的因素应用编程接口(API)该构件所需的开发和集成工具运行时需求,包括使用的资源(如内存或存储器)、时间或速度以及网络协议服务需求,包括操作系统接口和来自其他构件的支持安全特征,包括访问控制和身份验证协议嵌入式设计假定,包括特定的数值或非数值算法的使用异常处理构件鉴定需考虑的因素应用编程接口(API)构件的特化和组装构件特化根据应用系统的具体情况对其进行特化,对变化点配置特定的变体,必要时要自行开发变体如果所选的构件不能完全满足应用系统的功能需求,还需对构件作适当的修改如果所选的构件未按构件标准开发(如遗产系统中抽取的构件)时,还需按某种构件标准对其进行包装构件组装将经过鉴定和特化后的构件组装成应用系统提倡使用构件组装工具来组装应用系统(能检查接口匹配中的错误,实现组装的自动化或半自动化)构件的特化和组装构件特化内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结内容摘要基于构件的软件开发概述构件的管理构件的分类描述对构件库中的构件进行合理的分类和组织,帮助软件开发人员方便地找到所需要的构件大多数的研究都建议使用图书馆科学索引方法进行构件分类构件库管理系统:主要用于构件的储存、检索、浏览和管理构件的管理构件的分类描述常用的构件分类模式-1枚举分类(EnumeratedClassification)将构件组织成分类层次结构,构件库中的构件按某些性质分成若干大类,每个大类又分成若干较小的类,经过若干次分解,形成构件分类的层次结构,实际的构件位于层次结构的最低层,其它层次则表示构件的类或子类枚举分类模式的分层结构易于理解和检索,但是,在建立层次结构之前,必须进行领域分析,寻找合适的供分类的性质。属性—值分类(Attribute_ValueClassification)为所有构件定义一组属性,每个构件都具有一组属性值,开发人员通过指定一组属性值对构件库检索与刻面分类方法非常类似,不同点在于:属性—值分类法对可使用的属性数量没有限制;属性没有优先级;不使用同义词常用的构件分类模式-1枚举分类(EnumeratedCla常用的构件分类模式-2刻面分类(FacetedClassification)根据一组刻面对构件分类,每个刻面从不同的侧面对构件库中的构件进行分类,并根据重要性设置刻面的优先级每个刻面由一组术语(term)构成,称之为术语空间(termspace),这些术语通常是描述性的关键词检索:用户通过指定一组刻面的术语值寻找匹配的构件使用同义词词典(thesaurus)解决用户指定的术语值与库中构件所对应的术语值之间的不一致问题评价:具有较好的灵活性,易于加入新的刻面值,比枚举分类模式易于扩展和修改常用的构件分类模式-2刻面分类(FacetedClassi构件库管理系统的主要功能构件的分类存储(即添加构件):根据构件库的分类模型将入库的构件储存在构件库中构件检索:从构件库中检索出满足用户要求或接近用户要求的构件.构件库浏览:浏览库中的全部或部分构件删除构件:将不再使用的构件从构件库中删去构件使用情况评价:根据用户使用和检索构件的反馈意见对构件作出评价,为进一步的改进提供依据构件库管理系统的主要功能构件的分类存储(即添加构件):根据构构件的描述和检索构件库管理系统的两个关键技术直接影响到构件库检索的查准率(precision)、查全率(recall)和效率(efficient)常用的构件检索方法规约匹配:基于有序的谓词逻辑的匹配,通过谓词演算公式进行精确匹配,通过逻辑连接符和逻辑量词进行部分精确匹配特征(signature)匹配:通过接口的定义进行匹配,适用于函数之类的构件术语轮廓匹配:基于构件编目描述语言的匹配,将每一个构件的编目描述作为该构件的一个特征矢量,通过测算矢量的距离进行匹配行为采样:基于构件测试的匹配,根据测试结果相同的概率进行匹配构件的描述和检索构件库管理系统的两个关键技术内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结内容摘要基于构件的软件开发概述小结基于构件的软件开发(CBSD)是20世纪90年代开始流行的开发方法。CBSD支持软件复用,能有效提高软件的开发效率和质量,降低开发和维护成本,因此受到人们的关注。本章内容:基于构件的软件开发的概念、领域工程过程和应用系统工程过程、可复用构件的建造、基于CBSD的应用系统分析和设计、以及构件的管理小结基于构件的软件开发(CBSD)是20世纪90年代开始流行Serplogic青鸟软件构件库管理系统—JBCLMS/Main.do系统特点:1系统采用基于B/S的多层体系结构;

2采用分布式的应用架构;

3完全支持UDDIV2.0标准规范;

4采用J2EEV2.0,基于EJB技术,具有较强的灵5活性和扩充性;

6支持刻面分类等多种分类模式;

7提出并采用基于角色的用户管理机制,使系统具;8有灵活的权限分配和安全的控制方式。Serplogic青鸟软件构件库管理系统—JBCLMSht系统功能:

1提供分布式构件及其服务的注册、发布、查询、管理等功能,提供构件管理信息与实体的有效管理平台;

2实现软件构件库中构件管理与构件服务的集成,软件资产与构件服务的集成;

3结合配置管理技术,对构件的构造性和演化性进行支持;

4以UDDIRegistry(UDDI注册中心)形式对Webservices形态的构件提供有效管理支持,并对外界提供服务;

5提供以刻面分类为主,结合多种标准的分类方法对构件库中大量构件进行有效的管理;

6供多样化的检索机制,用户可以更加灵活地查找构件;

7实行基于角色的用户管理,提供更灵活的访问控制机制。系统功能:

1提供分布式构件及其服务的注册、发布、查询、管面向对象的中间件软件体系结构研讨课件面向对象的中间件软件体系结构研讨课件面向对象的中间件软件体系结构研讨课件面向对象的中间件软件体系结构研讨课件构件是构件库中最重要的实体信息。构件(component)是指在应用系统中可以明确辨别的构成部分。构件:构件概念信息和构件实体信息。构件概念信息描述构件基本属性的信息,包括构件名称、分类信息、属性信息等,用于理解和搜索定位构件。构件实体信息。获取构件实体的描述、访问地址、符合的规范等信息。构件是构件库中最重要的实体信息。构件(component)是分类模式(taxonomy)是一种用于分类的标准。青鸟软件构件库目前可用的分类模式有:1ntis-gov:naics:1997(北美工业分类法)、2pku-sei:Facet(刻面分类法)、3uddi-org:iso-ch:3166-1999(地理区域分类法)、4unspsc-org:unspsc、unspsc-org:unspsc:3-1(统一标准产品和服务分类法)、5uddi-org:types(其它类别)等。分类模式(taxonomy)是一种用于分类的标准。青鸟软件构1层次分类法:它将一个被关注的领域严格划分为若干不相交的子领域,子领域可以进一步划分,构成树形的层次结构。这些子领域或其中的元素都称作术语(term)。例如,选定分类模式ntis-gov:naics:1997后,列出了该分类模式的第一层术语信息,可点击选择子术语,进入下一层;或点击选定的分类方案中的任意术语,进入相应层次;或点击取消按钮或"选择分类模式"重新进行选择;或点击增加分类按钮提交,注意:仅仅选择了分类模式是无法进行提交的。1层次分类法:它将一个被关注的领域严格划分为若干不相交的子2刻面分类法:刻面分类使用一组{刻面,刻面术语}来对构件进行分类。刻面是一个单词或短语的固定集合,用于描述构件的某个方面或视角。术语是置于特定语境中的关键词。每个刻面都要具有一组相应的术语,用刻面术语来描述要分类的构件。例如,选定刻面分类模式pku-sei:Facet后,列出了刻面分类模式下的所有刻面,可点击任一刻面,进入下一层选择其对应的术语。

选择任一个刻面,可以进入该刻面下的层次分类结构。此时点击选定的分类方案中的任意术语,进入相应层次;或点击取消按钮或"选择分类模式"重新进行选择;或点击增加分类按钮提交--此时是将选定的信息提交到刻面分类模式页面中,只有点击刻面分类模式页面中的提交按钮才会将增加的刻面分类信息最后提交。2刻面分类法:刻面分类使用一组{刻面,刻面术语}来对构件进3平面分类法:它为需要描述的构件赋予一组与之相关的关键词。关键词是与被描述的对象相关的表达其某种特征的字符串。例如,选定分类模式uddi-org:operators后进入的,在此分类模式中需要填写术语及术语名称,并且要求术语非空。

3平面分类法:它为需要描述的构件赋予一组与之相关的关键词。1、不是井里没有水,而是你挖的不够深。不是成功来得慢,而是你努力的不够多。

2、孤单一人的时间使自己变得优秀,给来的人一个惊喜,也给自己一个好的交代。

3、命运给你一个比别人低的起点是想告诉你,让你用你的一生去奋斗出一个绝地反击的故事,所以有什么理由不努力!

4、心中没有过分的贪求,自然苦就少。口里不说多余的话,自然祸就少。腹内的食物能减少,自然病就少。思绪中没有过分欲,自然忧就少。大悲是无泪的,同样大悟无言。缘来尽量要惜,缘尽就放。人生本来就空,对人家笑笑,对自己笑笑,笑着看天下,看日出日落,花谢花开,岂不自在,哪里来的尘埃!

5、心情就像衣服,脏了就拿去洗洗,晒晒,阳光自然就会蔓延开来。阳光那么好,何必自寻烦恼,过好每一个当下,一万个美丽的未来抵不过一个温暖的现在。

6、无论你正遭遇着什么,你都要从落魄中站起来重振旗鼓,要继续保持热忱,要继续保持微笑,就像从未受伤过一样。

7、生命的美丽,永远展现在她的进取之中;就像大树的美丽,是展现在它负势向上高耸入云的蓬勃生机中;像雄鹰的美丽,是展现在它搏风击雨如苍天之魂的翱翔中;像江河的美丽,是展现在它波涛汹涌一泻千里的奔流中。

8、有些事,不可避免地发生,阴晴圆缺皆有规律,我们只能坦然地接受;有些事,只要你愿意努力,矢志不渝地付出,就能慢慢改变它的轨迹。

9、与其埋怨世界,不如改变自己。管好自己的心,做好自己的事,比什么都强。人生无完美,曲折亦风景。别把失去看得过重,放弃是另一种拥有;不要经常艳羡他人,人做到了,心悟到了,相信属于你的风景就在下一个拐弯处。

10、有些事想开了,你就会明白,在世上,你就是你,你痛痛你自己,你累累你自己,就算有人同情你,那又怎样,最后收拾残局的还是要靠你自己。

11、人生的某些障碍,你是逃不掉的。与其费尽周折绕过去,不如勇敢地攀登,或许这会铸就你人生的高点。

12、有些压力总是得自己扛过去,说出来就成了充满负能量的抱怨。寻求安慰也无济于事,还徒增了别人的烦恼。

13、认识到我们的所见所闻都是假象,认识到此生都是虚幻,我们才能真正认识到佛法的真相。钱多了会压死你,你承受得了吗?带,带不走,放,放不下。时时刻刻发悲心,饶益众生为他人。

14、梦想总是跑在我的前面。努力追寻它们,为了那一瞬间的同步,这就是动人的生命奇迹。

15、懒惰不会让你一下子跌倒,但会在不知不觉中减少你的收获;勤奋也不会让你一夜成功,但会在不知不觉中积累你的成果。人生需要挑战,更需要坚持和勤奋!

16、人生在世:可以缺钱,但不能缺德;可以失言,但不能失信;可以倒下,但不能跪下;可以求名,但不能盗名;可以低落,但不能堕落;可以放松,但不能放纵;可以虚荣,但不能虚伪;可以平凡,但不能平庸;可以浪漫,但不能浪荡;可以生气,但不能生事。

17、人生没有笔直路,当你感到迷茫、失落时,找几部这种充满正能量的电影,坐下来静静欣赏,去发现生命中真正重要的东西。

18、在人生的舞台上,当有人愿意在台下陪你度过无数个没有未来的夜时,你就更想展现精彩绝伦的自己。但愿每个被努力支撑的灵魂能吸引更多的人同行。1、不是井里没有水,而是你挖的不够深。不是成功来得慢,而是你软件方法学

第4章:面向对象的中间件软件体系结构软件方法学第4章:面向对象的中间件软件体系结构基于构件的软件开发目标长期以来的软件开发状况多数软件都是针对某个具体的应用系统从头进行开发的导致:出现了大量的同类软件重复开发,造成大量人力、财力的浪费,而且软件的质量也不高对比:汽车工业的生产模式在已有的部件基础上通过组装进行生产:有专门的部件生产工厂,汽车设计者在设计中选择市场上已有的合适的部件避免了大量的重复劳动,提高了产品质量和生产效率,促进分工合作我们的目标:将制造业中的组装式生产模式引入到软件开发中基于构件的软件开发目标长期以来的软件开发状况内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结内容摘要基于构件的软件开发概述内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结内容摘要基于构件的软件开发概述基于构件的软件开发基于构件的软件开发Component-BasedSoftwareDevelopment简称CBSD是指使用可复用构件来开发应用软件基于构件的软件工程Component-BasedSoftwareEngineering简称CBSE基于构件的软件开发基于构件的软件开发构件(Component)的典型定义Pressman书中的定义:构件是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能Brown的定义:构件是一个独立发布的功能部分,可以通过其接口访问它的服务“计算机科学技术百科全书”的定义:软件构件是软件系统中具有相对独立功能,可以明确标识,接口由规约指定,与语境有明显依赖关系,可独立部署,且多由第三方提供的可组装软件实体;软件构件须承载有用的功能,并遵循某种构件模型;可复用构件是指具有可复用价值的构件构件(Component)的典型定义Pressman书中的定商用成品构件Commercialoff-the-shelf简称COTS指由第三方开发的满足一定构件标准的,可组装的软件构件商用成品构件Commercialoff-the-shelf构件的要素规格说明:建立在接口概念之上,作为服务提供方与客户方之间的契约一个或多个实现受约束的构件标准包装方法部署方法构件的要素规格说明:建立在接口概念之上,作为服务提供方与客户3C构件模型关于构件的一个指导性模型由构件的三个不同方面的描述组成概念(concept):关于“构件做什么”的抽象描述,可以通过概念去理解构件的功能。概念包括接口规约和语义描述两部分,语义描述和每个操作相关联(至少表示为前后置谓词形式)内容(content):概念的具体实现,描述构件如何完成概念所刻画的功能周境(context):描述构件和外围环境在概念级和内容级的关系,刻画构件的应用环境,为构件的选用和适应性修改提供指导3C构件模型关于构件的一个指导性模型REBOOT构件模型REBOOT(ReuseBasedonObject_OrientedTechnology):基于面向对象技术的复用一种基于刻面(facet)的模型刻面:对领域进行分析,所得到的一组基本的描述特征刻面可以描述构件执行的功能、所操作的数据、构件应用的周境或任何其它特征通常的刻面描述限制在不超过7或8个刻面一个构件通常包括以下刻面:抽象(abstraction):它是构件概念的抽象性描述操作(operation):它是构件所提供的操作的描述操作对象(operand):它描述操作的对象依赖(dependency):它描述构件与外界的依赖关系REBOOT构件模型REBOOT(ReuseBasedo常用的构件标准CORBA(公共对象请求代理体系结构)CommonObjectRequestBrokerArchitectureOMG发布的构件标准核心是ORB(ObjectRequestBroker),定义了异构环境下对象透明地发送请求和接收响应的基本机制COM+微软开发的一个构件对象模型,提供了在运行于Windows操作系统之上的单个应用中使用不同厂商生产的对象的规约EJB:一种基于Java的构件标准提供了让客户端使用远程的分布式对象的框架EJB规约规定了EJB构件如何与EJB容器进行行交互常用的构件标准CORBA(公共对象请求代理体系结构)面向对象的中间件软件体系结构研讨课件

CORBA技术规范CORBA是OMG组织在1991年提出的公用对象请求代理程序结构技术规范。CORBA的底层结构是基于面向对象模型的模块组成:1接口描述语言(OMGInterfaceDefinitionLanguage,OMGIDL)、2对象请求代理(ObjectRequestBroker,ORB)3IIOP标准协议(InternetInter-ORBProtocol)使用接口描述语言编写的对象接口,使得与语言无关的独立性成为可能。IDL使得所有CORBA对象以一种方式被描述,仅仅需要一个由语言(C/C++、CORBA或Java)到IDL的“桥梁”。CORBA对象的互通要以对象请求代理为中介,这种互通信可以在多种流行通信协议之上实现。在TCP/IP上,来自于不同开发商的ORB用IIOP标准协议进行通讯。CORBA技术规范面向对象的中间件软件体系结构研讨课件

COM/DCOM技术规范COM(ComponentObjectModel,组件对象模型)是Microsoft软件组件标准,是构造二进制兼容软件组件的规范。COM的体系结构包括统一数据传输、持久存储和智能命名、COM核心等。其中:1COM核心:包括服务控制管理、接口代理、接口基和COM库。COM核心定义了COM对象与使用者如何通过二进制标准接口进行交换的规格说明。

2持久存储::通过Istorage和Istream接口提供一个“文件系统”。

3智能命名:通过对象实现接口,使用户可以在以后重新连接一个指定的对象实例,并且使对象实例仍保持原来的状态,另外还提供保存它们名字和其它持久信息的机制。COM库提供对所有客户及组件都非常有用的组件管理服务。DCOM是COM的分布式扩展,Microsoft把DCOM作为开发Internet和组件的基础。当客户和组件位于不同机器时,DCOM用TCP/IP协议等取代COM中的本地进程间通信LRPC,从而对位于Internet不同机器上的组件对象之间的相互通讯提供了透明的支持。COM/DCOM技术规范面向对象的中间件软件体系结构研讨课件目前可以支持DCOM部件开发的编程语言很多,如Java、VisualC++/VisualBasic、Delphi、PowerBuilder等,具有较好的集成性和扩展性。微软的许多其它软件如OLE、OLEDB、ADO都是基于COM/DCOM技术。COM/DCOM并没有真正实现跨平台,目前基于COM的软件较多,但没有运行于异构平台上的基于DCOM的分布式软件。COM/DCOM在微软平台上运行情况较好,但对实时性、可靠性等的支持较少。目前可以支持DCOM部件开发的编程语言很多,如Java、VCOM+技术规范COM+是微软公司在COM、DCOM(DistributedCOM)和MTS(MicrosoftTransactionServer)基础上进一步优化了组件管理环境与事务服务[3],提供了无缝连接系统。它以系统服务的形式把原先一些分散的技术综合起来,并提供简单的编程模型,以直接应用层的编程接口为应用程序提供服务,使创建服务器应用就像实现客户应用一样简单。COM+把COM模型推向了更高层次,成为了企业级别分布式软件开发领域的重要技术。COM+技术规范COM+组件提供了ASP、ASPServlet、ASPBean等技术,实现页面动态内容的实现与显示,ASPServlet运行在Web服务器端的Servlet程序,支持多线程、多用户访问,能完成所有CGI功能。以SOAP为基础的Microsoft的.NET显现出减少实现RPC的困难,快速实现互操作性的潜力,使COM+组件可以与CORBA和Java标准进行通信。采用MFC(Microsoftfoundationclasslibrary)和ATL(activetemplatelibrary)作为开发工具,用COM+技术把模块的类做成动态链接库(DLL)的形式来发布,可以在物理上把模块类的包装与客户的包装脱离开来。COM+组件提供了ASP、ASPServlet、ASPBSOAP通讯协议:SimpleObjectAccessProtocol(简单对象访问协议)的英文缩写,目前已经得到IBM、Ariba、CommerceOne、SAP、康柏、惠普等公司的支持。它能够让不同应用程序之间通过HTTP通讯协议,以XML格式互相交换彼此的资料。作为新生事物,SOAP通过建立HTTP连接隧道来部署自己的协议:SOAP要求把请求参数组织在XML文档中,该文档然后被放到HTTPPOST请求体中发送到运行在Web主机基于SOAP的Web服务。同样,现在正在做很多扩展SOAP的工作,使它能使用其它的传输协议,例如HTTPS和SMTP。它包括四个部分:1SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;2SOAP编码规则(encodingrules),用于表示应用程序需要使用的数据类型的实例;3SOAPRPC表示(RPCrepresentation),表示远程过程4SOAP绑定(binding),使用底层协议交换信息SOAP通讯协议:SimpleObjectAccess

EJB技术规范EJB(EnterpriseJavaBeans)是J2EE的核心技术之一,它是建立基于Java的服务器端组件的标准。EJB是以部件为基础框架,其中每个部件都是分布式对象,可以扩展,也可以适配在不同应用中使用,大大方便了企业应用开发。EJB不局限于一种特定的操作系统,也不局限于任何一种特别的机构、服务器解决方案、中间件或者通信协议,是一种可重用的具有高度可移植性的组件。EJB组件模型包含了EJB服务器、容器、Home接口、Remote接口等。EJB技术规范三种分布式组件对象模型的比较(表1)三种分布式组件对象模型的比较(表1)面向对象的中间件软件体系结构研讨课件三种模型各有其优势:

Java由于平台无关性的优势显著,成为理想的Internet技术;而Windows平台的广泛使用也使COM/DCOM具有深厚的基础;OMG组织在10几年来一直在为自己的组件软件建立标准,而且已被很多组织和公司采用。对于异构环境下的企业应用开发,CORBA和EJB有着明显的优势,并且CORBA和EJB所依赖Java技术可以很好的互补。CORBA处理网络透明性,EJB处理实现透明性。因此,CORBA和EJB技术紧密结合应是今后多层分布式系统发展的一大趋势。三种模型各有其优势:基于构件的软件开发过程基于构件的软件开发过程领域工程步骤-1领域分析:首先要进行领域分析,收集领域中有代表性的应用样本,分析应用中的公共部分或相似部分,抽取该领域的应用体系结构建立领域特定的基准体系结构模型:在领域分析的基础上,构造该领域的基准体系结构,这个基准体系结构应是可以裁剪和扩充的,并可供该领域的应用复用标识候选构件:在领域分析和领域基准体系结构模型的基础上标识该领域的候选构件泛化(generalization)和可变性(variability)分析:提高其通用性,同时寻找候选构件在不同应用中的变化点(variationpoint),通过设置参数、继承或其它手段,使可变部分局部化领域工程步骤-1领域分析:首先要进行领域分析,收集领域中有代领域工程步骤-2重建构件:在泛化和可变性分析的基础上,重建构件,使它成为可复用构件构件的测试:对重建的可复用的构件要严格测试,以提高其可靠性构件的包装:经测试的构件应根据构件库的要求,对它进行包装,以便构件库对它分类储存和检索构件入库:包装后的构件即可存入构件库领域工程步骤-2重建构件:在泛化和可变性分析的基础上,重建构应用系统工程的步骤-1建立应用系统的体系结构模型:可以使用构件生产者提供的领域特定的基准体系结构经裁剪和/或扩充而获得寻找候选构件:根据应用系统的体系结构模型,从构件库或其它可利用的构件源中寻找候选构件评价和选择合适的构件:评价候选构件以判断是否适合于待开发的软件构件的修改(modify)和特化(specialize):在复用时对构件进行特化以满足特定应用的需要应用系统工程的步骤-1建立应用系统的体系结构模型:可以使用构应用系统工程的步骤-2开发未被复用的部分:对新系统中未复用的部分进行开发构件的组装:将特化和修改后的可复用构件和新开发的部分组装成一个新的软件系统集成测试:对组装后的软件系统进行集成测试评价被复用的构件,并推荐可能的新构件应用系统工程的步骤-2开发未被复用的部分:对新系统中未复用的CBSD对质量、生产率和成本的影响对质量的影响:随着长期的测试和使用,构件能够保证很高的质量,因此可以使系统开发的质量得到保证对生产率的影响:一般来说,大约30%~50%的复用可使生产率提高25%~40%对成本的影响与复用相关的成本应由多个采用复用技术的项目来分担通常要经过2~3个采用复用的生产周期(大约3年左右)复用才能带来显著的效益CBSD对质量、生产率和成本的影响对质量的影响:随着长期的测内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结内容摘要基于构件的软件开发概述建造可复用构件建造构件的目的是为了以后复用构件,即为复用而建造构件在建造构件时仍应遵循抽象、逐步求精、信息隐蔽、功能独立、结构化程序设计等思想和原则由于面向对象方法具有封装性、继承等特点,能有力地支持复用,所以应尽可能考虑采用面向对象方法建造可复用构件建造构件的目的是为了以后复用构件,即为复用而建对可复用构件的要求构件的设计应具有较高的通用程度构件应易于调整构件应易于组装构件必须具有可检索性构件必须经过充分的测试对可复用构件的要求构件的设计应具有较高的通用程度创建领域构件的设计框架除应遵循已有的设计概念和原则外,还必须考虑应用领域的特征,例如:标准数据:应该研究应用领域,并标识出标准的全局数据结构(如文件结构或完整的数据库)。于是所有设计的构件都可以用这些标准数据结构来刻画标准接口协议:应该建立三个层次的接口协议:构件内(intramodular)接口、构件外接口以及人机接口程序模板:程序的结构模型可以作为新程序的体系结构设计的模板创建领域构件的设计框架除应遵循已有的设计概念和原则外,还必须可变性分析构件应具有较强的通用性和可变性为了满足不同的复用需求,需要在构件复用时可能发生变化的一个或多个位置上标识变化点(variationpoint),同时为变化点附加一个或多个变体(variant)例如Account构件的帐号编码规则以及透支规则在不同的国家可能不一样·VP1·VP2CVP1descriptioncontext可变性分析构件应具有较强的通用性和可变性··CVP1des

构件系统中的门面和变体构件系统中的门面和变体可变性机制继承:在变化点上创建指定抽象类型或抽象类的子类型或子类。扩展和扩展点:可以在用况和对象构件中的变化点(或扩展点)上附加变体(或扩展)参数化:用于模板、框架和宏的类型和类适用于变体较小时(经常是一个数值、短语或表达式)可变性机制继承:在变化点上创建指定抽象类型或抽象类的子类型或内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结内容摘要基于构件的软件开发概述应用系统工程任务:通过组装可复用构件得到应用系统CBSD中构件是组成应用系统的基本单元注重体系结构和构件接口的分析和设计,忽略构件内部实现的设计应用系统工程任务:通过组装可复用构件得到应用系统关注接口的设计接口是构件行为的描述机制,并提供了对其服务的访问供应接口(Providedinterface):描述构件所提供的服务,可以被其它构件访问请求接口(requivedinterface):请求接口描述构件为完成其功能(服务)需请求其它构件为其提供的服务一个接口可以有多种实现,并且对使用者隐蔽接口描述是构件使用者能依赖的所有信息,因此构件接口描述的表达能力和完整性是CBSD方法主要关注的问题之一关注接口的设计接口是构件行为的描述机制,并提供了对其服务的访基于构件的体系结构基于构件的应用系统体系结构描述了组成应用系统的构件,构件之间的组织结构、交互、约束和关系对系统的组成、结构以及系统如何工作的较为宏观的描述如果在领域工程中已开发了领域基准体系结构(referencearchitecture),则可以通过对基准体系结构的剪裁和/或扩充获得应用系统的体系结构基于构件的体系结构基于构件的应用系统体系结构基于构件的体系结构层次逻辑体系结构以接口形式对每组服务进行描述,并描述那些包怎样交互来满足通常的用户使用场景展示了系统设计的蓝图,可用于验证系统是否提供了适当的功能,并能在系统功能需求变化时方便地改变系统的设计物理体系结构描述系统的物理设计,包括硬件及其拓扑结构、网络和通信协议、基础设施(如运行平台、中间件、数据库管理系统等),以及软件系统的部署展示了系统的实现构架,有助于理解系统的许多非功能属性,如性能、吞吐量、服务的可用性等基于构件的体系结构层次逻辑体系结构基于构件的应用系统开发方法Rationel统一过程Rational’sUnifiedProcess,简称RUP一个关于软件开发的广泛的过程框架,覆盖了整个软件生命周期使用UML进行分析和设计建模,鼓励使用CBSD方法TheSelectPerspectiveMethod支持通用的构件设计方法,并以SelectComponentManager为目标通用构件设计准则使用UML作为构件设计符号SterlingSoftware的Enterprise-CBD方法鼓励使用UML的扩展形式把构件的规格说明和实现分离允许制作技术中立的规格说明,然后再使用不同的实现技术来实现规格说明共同点:关注构件库中的构件、接口的设计和基于构件构架的应用程序组装基于构件的应用系统开发方法Rationel统一过程构件鉴定(qualification)目的:确保获得的构件可以完成所需的功能并能被集成在系统中与系统的其它构件正确交互主要依据是构件的接口描述和相关的规格说明,但这些信息往往还不足以确保构件能成功地集成到系统中对于外部提供的成品构件(COTS)可通过运行构件测试版进行鉴定构件鉴定(qualification)目的:确保获得的构件可构件鉴定需考虑的因素应用编程接口(API)该构件所需的开发和集成工具运行时需求,包括使用的资源(如内存或存储器)、时间或速度以及网络协议服务需求,包括操作系统接口和来自其他构件的支持安全特征,包括访问控制和身份验证协议嵌入式设计假定,包括特定的数值或非数值算法的使用异常处理构件鉴定需考虑的因素应用编程接口(API)构件的特化和组装构件特化根据应用系统的具体情况对其进行特化,对变化点配置特定的变体,必要时要自行开发变体如果所选的构件不能完全满足应用系统的功能需求,还需对构件作适当的修改如果所选的构件未按构件标准开发(如遗产系统中抽取的构件)时,还需按某种构件标准对其进行包装构件组装将经过鉴定和特化后的构件组装成应用系统提倡使用构件组装工具来组装应用系统(能检查接口匹配中的错误,实现组装的自动化或半自动化)构件的特化和组装构件特化内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结内容摘要基于构件的软件开发概述构件的管理构件的分类描述对构件库中的构件进行合理的分类和组织,帮助软件开发人员方便地找到所需要的构件大多数的研究都建议使用图书馆科学索引方法进行构件分类构件库管理系统:主要用于构件的储存、检索、浏览和管理构件的管理构件的分类描述常用的构件分类模式-1枚举分类(EnumeratedClassification)将构件组织成分类层次结构,构件库中的构件按某些性质分成若干大类,每个大类又分成若干较小的类,经过若干次分解,形成构件分类的层次结构,实际的构件位于层次结构的最低层,其它层次则表示构件的类或子类枚举分类模式的分层结构易于理解和检索,但是,在建立层次结构之前,必须进行领域分析,寻找合适的供分类的性质。属性—值分类(Attribute_ValueClassification)为所有构件定义一组属性,每个构件都具有一组属性值,开发人员通过指定一组属性值对构件库检索与刻面分类方法非常类似,不同点在于:属性—值分类法对可使用的属性数量没有限制;属性没有优先级;不使用同义词常用的构件分类模式-1枚举分类(EnumeratedCla常用的构件分类模式-2刻面分类(FacetedClassification)根据一组刻面对构件分类,每个刻面从不同的侧面对构件库中的构件进行分类,并根据重要性设置刻面的优先级每个刻面由一组术语(term)构成,称之为术语空间(termspace),这些术语通常是描述性的关键词检索:用户通过指定一组刻面的术语值寻找匹配的构件使用同义词词典(thesaurus)解决用户指定的术语值与库中构件所对应的术语值之间的不一致问题评价:具有较好的灵活性,易于加入新的刻面值,比枚举分类模式易于扩展和修改常用的构件分类模式-2刻面分类(FacetedClassi构件库管理系统的主要功能构件的分类存储(即添加构件):根据构件库的分类模型将入库的构件储存在构件库中构件检索:从构件库中检索出满足用户要求或接近用户要求的构件.构件库浏览:浏览库中的全部或部分构件删除构件:将不再使用的构件从构件库中删去构件使用情况评价:根据用户使用和检索构件的反馈意见对构件作出评价,为进一步的改进提供依据构件库管理系统的主要功能构件的分类存储(即添加构件):根据构构件的描述和检索构件库管理系统的两个关键技术直接影响到构件库检索的查准率(precision)、查全率(recall)和效率(efficient)常用的构件检索方法规约匹配:基于有序的谓词逻辑的匹配,通过谓词演算公式进行精确匹配,通过逻辑连接符和逻辑量词进行部分精确匹配特征(signature)匹配:通过接口的定义进行匹配,适用于函数之类的构件术语轮廓匹配:基于构件编目描述语言的匹配,将每一个构件的编目描述作为该构件的一个特征矢量,通过测算矢量的距离进行匹配行为采样:基于构件测试的匹配,根据测试结果相同的概率进行匹配构件的描述和检索构件库管理系统的两个关键技术内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结内容摘要基于构件的软件开发概述小结基于构件的软件开发(CBSD)是20世纪90年代开始流行的开发方法。CBSD支持软件复用,能有效提高软件的开发效率和质量,降低开发和维护成本,因此受到人们的关注。本章内容:基于构件的软件开发的概念、领域工程过程和应用系统工程过程、可复用构件的建造、基于CBSD的应用系统分析和设计、以及构件的管理小结基于构件的软件开发(CBSD)是20世纪90年代开始流行Serplogic青鸟软件构件库管理系统—JBCLMS/Main.do系统特点:1系统采用基于B/S的多层体系结构;

2采用分布式的应用架构;

3完全支持UDDIV2.0标准规范;

4采用J2EEV2.0,基于EJB技术,具有较强的灵5活性和扩充性;

6支持刻面分类等多种分类模式;

7提出并采用基于角色的用户管理机制,使系统具;8有灵活的权限分配和安全的控制方式。Serplogic青鸟软件构件库管理系统—JBCLMSht系统功能:

1提供分布式构件及其服务的注册、发布、查询、管理等功能,提供构件管理信息与实体的有效管理平台;

2实现软件构件库中构件管理与构件服务的集成,软件资产与构件服务的集成;

3结合配置管理技术,对构件的构造性和演化性进行支持;

4以UDDIRegistry(UDDI注册中心)形式对Webservices形态的构件提供有效管理支持,并对外界提供服务;

5提供以刻面分类为主,结合多种标准的分类方法对构件库中大量构件进行有效的管理;

6供多样化的检索机制,用户可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论