




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(一)绪论P2: 软件复用是在软件开发过程中避免重复劳动的解决方案。通过软件复用,可以提高软件开发的质量和效率。P3:基于软件构件的开发有哪些好处?开发工作构建在已有的成果的基础上。可以控制开发复杂性。可以控制软件系统部署复杂性。简化整个软件需求和开发周期内的工作。便于系统升级。较好地利用本组织的最佳方法。降低开发费用。缩短产品投放市场所需的时间。P4:软件工厂的两个要素(软件“元器件”技术;软件“元器件”的组装)。(2) 构件的基本思想构件与面向对象技术中的对象概念之间的关系。P5构件的概念:所谓构件,是指可以被独立部署的结构单元,表示构件时基于某种结构与运行模型的,独立于具体应用系统的,可以被另外发布或交付的功能单元,是系统的一个物理的、可单独替换或升级的部分,是对一系列软件操作或实现的包装,这种包装可以用来构造应用程序或更大的构件。P6构件的要素:1、 规范说明2、 一个或多个实现3、受约束的构件标准4、包装方法5、部署方法P7 构件的来源:1、从现有的构件中获取符合条件的构件,直接使用或者作适应性修改,得到可复用的构件。2、提取现有遗产系统的有用功能,这些功能可以包装成构件以在未来使用。3、从第三方市场上购买现成的商业构件。4、为满足现有的业务需要从头专门开发的构件。P7 构件的分类:1、 从构件性质来看,构件可以分为抽象构件和具体构件。抽象构件:该类构件是适应领域要求,对同领域一族具有共性和变化性的构件进行的抽象。在抽象构件的接口中有描述领域变化性的成分。抽象构件一般是不够完整的,在使用之前必须具体化。具体构件:该类构件是相对于抽象构件而言的,具体构件描述应用系统固定的构成成分,其接口不具有描述变化性的成分,它可以不加修改地直接复用。使用具体构件,需要做的只是输入该构件和它所依赖的其他构件。2、 根据构件重用的方式,通常可以分为白匣子、灰匣子和黑匣子三类。白匣子:提供构件的同时也提供实现构件的全部源代码。灰匣子:灰匣子只提供有关界面部分的源代码,开发人员在应用构件时对构件的内部实现是不清楚的,只能在接口界面上做一些用户化的工作。黑匣子:完全不提供源代码,其他构件只能通过构件接口访问这个构件。3、 根据构件的使用范围,可分为专用构件和通用构件。专用构件:针对某个领域中的某一特定系统设计开发的构件。通用构件:可以被某领域所有组织共享的构件。4、 根据构件的粒度大小,可以分为分布式构件、业务构件和系统级构件。分布式构件:这是粒度最小的构件,同时分布式构件也是基于构件的开发方法中一个关键的概念,它作为一种设计工件,在开发生命周期的早期阶段就可以看到,是构建和部署的一个基本单元。业务构件:这是中粒度构件,实现单个业务概念的构件。整个基于构件的开发是以业务构件概念为核心的。系统级构件:基于构件的开发方法中粒度最大的构件。它将业务构件构成的系统进行封装,将该系统作一个整体当作黑盒处理,并且它具有清晰的设计接口。5、根据构件的功能用途,可以分为系统构件、支撑构件和领域构件系统构件:在整个构件集成环境和运行环境都使用的构件。支撑构件:在构件集成环境及构件管理系统中使用的构件。领域构件:为专门领域开发的构件。6、根据构件重用时状态,可以分为动态构件、链接构件和静态构件动态构件:在软件运行时可以动态嵌入的构件。链接构件:如对象链接和嵌入库(OLE)、动态链接库(DLL)。静态构件:如源代码、系统分析构件、系统设计构件。P8:构件的粒度1、构件粒度的概念 一般认为:构件粒度是用来描述构件所提供特征的粗细程度的量化,或者说是构件所提供特征的计算量的大小,但通常难以精确度量。2、构件粒度的划分大粒度构件、中粒度构件、小粒度构件3、构件粒度与业务模型之间的关系构件的粒度与构件所实现的业务模型的稳定性密切相关,模型越稳定,可能发生变化的机会就越少,那么相应的构件所需要包容的变化就越少,构件的粒度就可以越大;反之亦然。构件粒度与业务模型之间存在一种双向映射关系。P10:软件构件技术的研究内容构件获取:有目的地构件生产和从已有系统挖掘提取构件。构件模型:研究构件的本质特征及架构间的关系。构件描述语言:以构件模型为基础,解决构件的精确描述、理解及组装问题。构件分类与检索:研究构件分类策略、组织模式及检索策略,建立构件库系统,支持、构件的有效管理。构件复合组装:在构件模型的基础上研究构件组装机制,包括源代码级的组装基于运行级的组装。标准化:构件模型的标准化和构件库系统的标准化。(三)构件管理和组装技术与软件复用相关的两个基本开发活动是:面向复用的开发和基于构件的软件开发。一、构件的模型1、构件模型的基本概念 软件构件模型是对软件构件本质特征的抽象描述,是对开发可重用软件构件和构件之间相互通信的一组标准的描述,它一般规定了创建和实现构件的指导原则、构件接口的结构、构件与软件架构以及构件与构件之间的交互机制。构件模型的组成:构件与容器建立构件模型要考虑以下几个因素:表达能力。简单性。语言无关性。一致性。完备性。可扩展性。2、 典型的构件模型:CORBA EJB COM/DCOM/COM+2、 构件的组装1、构件组装概述构件组装:就是将构件关联起来从而满足某种功能需求。构件组装成为构件开发方法的核心技术。2、 构件组装过程1)构件组装的一般方法2) 本书提出的组装方案在应用本方案进行构件组装时,需要以下几个步骤:首先根据用户需求通过构件视图的可视化编辑工具创建构件视图,生成构件的连接子描述信息和构件视图描述信息其次,根据构件视图在构件库中查找或开发新的构件最后,应用系统自动生成工具根据构件视图描述文档和连接子描述文档将构件组装起来,生成新的应用系统。3、 构件组装分类1)按照组装的时间划分基于源代码级的组装基于源代码级的组装是一种较低层次的构件组装方法,一般采用源代码复制修改、功能模块调用来组装构件。基于代码级的组装方法需要开发人员必须可以访问构件的源代码,对构件的实现及有相当程度的了解,这种技术是最原始的,不够灵活且效率低下。基于运行级的组装基于运行级的组装以构件模型为基础,在构件运行时进行构件之间的服务请求和调用来协调构件之间的行为进行组装;具有很高的灵活性;在分布式异构环境中得到了广泛的应用,成为目前软件构件组装技术研究的一大热点。2) 基于运行级的组装方式按照组装时对构件内部的了解程度又分为黑盒组装构件组装人员不需要对构件的实现细节有任何了解,也不需要对构件进行任何的修改就可以直接组装构件白盒组装构件组装人员对构件的实现有清楚的了解,必要时组装人员可以对构件进行修改灰盒组装介于黑盒组装和白盒组装之间的一种组装方法,通过调整构件的组装机制而不是通过修改构件来完成构件的组装,从而构成满足需求的应用系统3) 按照构件组装复杂程度划分简单组装已知构件接口的语义,直接使用它们进行组装手工组装使用Java Bean Box等进行的组装复杂组装有面向动态数据的组装;需要了解构件内部构成知识的组装;需要查询外部模型以确定如何组装智能组装存储了构件的语义,在组装时能读取该语义,并对组装任务和构件进行推理,实现自动组装。目前这是构件组装研究中的一个热点和难点问题。4) 按照组装后构件状态的变化内部组装指构件被集成到系统中,成为系统的固定组成部分。源代码编译后链接到系统中属于此类组装。内部组装通常是一种在线组装,构件之间存储于同一台机器中。外部组装组装过程中构件是独立运行的,构件之间通过进程间通信实现交互。远程过程调用,CORBA,WebService组装都是属于这类组装。通常外部组装属于离线组装。未来外部组装模式将是主流的组装模式。5)其他划分方法基于接口的构件组装基于消息传递的构件组装基于复合文档的生成式构件组装5、 构件组装描述语言XML1)构件组装描述语言应满足条件便于描述与理解支持结构化描述独立于构件和平台易于生成和修改方便扩充1) 什么是Web服务Web服务是Internet上一套统一的、开放的标准,它定义了应用程序如何在Web上实现互操作。Web服务的提供者可以使用自己喜欢的任何语言,在任何平台上编写Web服务,只要Web服务的使用者可以通过Web服务标准对这些服务进行查询和访问。Web服务中的关键技术:SOAP、WSDL、UDDI,它们都是基于XML语言的。2)WEB服务的体系结构Web服务是由WSDL描述服务,UDDI注册和发现服务,SOAP访问服务的。WEB服务的体系结构包括三个角色:服务提供者、服务请求者、UDDI服务注册中心3) 基于Web服务的异构构件组装6、 构件组装工具构件组装工具的功能构件浏览构件组装工具首先应该能够浏览被复用构件的功能规格说明,包括构架层次、构件属性、构件使用的环境等等。构件图形化表示在设计过程中,为了便于对构件进行操作,需要将构件在构件空间中以图形化的方式表示出来。构件的关联事件关联是构件组装的另外一项核心内容,事件源与事件监听者通过一条有向线进行事件间的关联,事件源对应于构件的某一属性,监听者对应于另一个构件的某一操作。该动作完成的同时,事件监听者完成了自身向事件源的注册操作。3、 构件库的设计与管理1、 构件库的基础知识构件库,顾名思义,就是存储构件的仓库。关于构件库的概念,不同的研究机构与学者给出了不同形式的定义,目前尚没有一个权威的定义。本书认为,构件库是一个对构件进行存储与管理的场所。构件库是一定形式的构件集合,其由构件、容器、构件管理程序三个部分构成。2)构件库的基本功能:基本功能有: 构件描述:描述构件的基本信息、构件与其他构件之间的交互信息等。 构件分类:按照不同的分类方法对构件进行分类。 构件入库:构件入库前会选择构件所属的分类,然后将构件描述信息、构件实体或构件实体地址、构件的相关文档提交到构件库中。 构件存储:存储构件实体及构件相关信息。 构件检索:构件检索是构件复用的第一步,也是构件库提供的最重要的功能。 构件下载:获取满足检索条件的构件,将其下载到本地进行适应性修改或直接复用。 构件更新:维护构件的版本信息,对构件信息进行升级、替换等。 构件管理:不同类型的构件库用户对构件库具有不同的操作权限,构件库应该对这些用户信息进行维护,为不同的用户分配不同的权限。3)构件库的用户角色:构件提供者:开发构件、提供构件描述信息。构件库的管理者:对构件库进行日常维护和管理,包括对构件的增、删、改、查以及对构件库用户信息的维护等。构件的使用者:检索构件、获取构件,根据需要对构件作适应性修改以及对构件库使用情况提出反馈信息等。4)构件库的分类子程序库和类库领域专用构件库软件资产库具有完备构件检索系统的构件库2、 构件描述构件描述的具体内容应包括三个方面:构件的基本信息构件的分类信息构件的接口信息3、 构件库的分类检索技术1)构件分类检索技术的必要性 在一个大的构件库中检索可复用的构件,存在很多影响检索效率的因素,一般包括:用户的请求与所需构件信息的相近程度;检索策略;检索方法的详尽性和具体性;使用的匹配和相似分析机制因此要在众多构件的库里中找到所需的构件需要构件分类检索技术的支持。 构件复用的成本=检索成本+理解成本+修改成本构件的分类检索技术是构件库系统的核心技术。2) 构件库的分类检索技术概述 构件分类检索技术包括构件的分类技术和构件的检索技术,两者密切相关。构件的分类技术是构件检索技术的基础,构件检索技术依赖于构件的标识和分类。构件分类机制:构件分类就是采用某种方法把一些特征上类似的构件归并到一起,将构件库里的构件分成若干个子集,每个子集的构件具有相似的特征,通过它所具有的特征来检索和定位构件。 一个实用的分类机制应该具有以下几个特点: 分类信息要从复用者的角度反映构件之间的关系。 所指定的分类信息必须满足充分性,能应用于不同粒度的复用构件,并能应用于软件开发生命周期的各个阶段。 应具有良好的可扩充性和灵活的可修改性。 分类模式必须易于理解,不能太复杂,否则会增加理解的难度,影响构件的复用。 构件的检索技术: 构件库建立的根本目的就是为了最大限度地支持构件复用,而构件的使用者使用构件库的重要手段就是检索所需构件。特点: 检索内容多。 查询请求复杂。 模糊查询。3) 构件分类检索的步骤三步:将构件分类入库,即为构件添加分类信息后将构件入库。将构件使用者的检索需求转化为构件库的查询语句;匹配过程,即将构件的分类信息与构件使用者的查询语句进行匹配。 构件的分类入库过程:向构件库提交新的软件构件,包括构件实体和构件描述信息。验证构件信息,规范化构件描述。根据提交的构件描述信息,为构件添加分类信息。将加入分类信息的构件入库。 需求描述转化为查询语句的步骤用户向构件库管理系统的检索子系统提交检索需求描述信息。将用户的检索需求信息转化为高层抽象的基本查询语句。由基本检索语句演化成检索子系统能实际执行的查询语句。4) 现有的构件分类检索技术 根据构件的表示划分从构件的表示出发,W.Frakes将现有的构件分类检索方法划分为信息科学方法、超文本方法和人工智能方法三类。其中,信息科学方法是现阶段软件界研究的主要方法。 信息科学方法的分类几种分类检索方式: 关键词分类检索关键词的分类检索方法是构件分类检索方法中最简单也是最为人熟悉的一种方式。这种方式的优点是简单、易于实现,但在某些场合没有应用的价值,所以关键词的检索方式只能作为一种辅助的构件分类和检索方法。枚举分类检索枚举分类方式又称为按层次分类方式,是一种被广泛采用的信息分类方法。这种方法的优点在于本身结构清晰,所以容易理解和使用,同时也会对整个领域有完整、清晰的认识。复用者在构件检索时,可以沿着树型结构上下的移动,非常自然。缺点:(1)构件库系统难于演化;(2)这种分类需要大量的领域知识,对构件库系统的创建者提出了较高的要求;(3)描述上存在不可避免的二义性。刻面分类检索所谓刻面是指能从特定的视角刻画或反映构件本质特性的方面,它从不同的侧面对构件库中的构件进行分类。每个刻面由一组术语(term)构成,称为术语空间(term Space)。如下图所示:刻面分类中,刻面下的术语通过一般/特殊关系的层次结构进行组织,并采用“术语层次树”的形式进行显示;在刻面分类中,“一般/特殊关系”体现了术语空间的纵向关系,“同义”关系体现了术语空间的横向关系。采用这两种关系是基于两个目的:简化术语的定位、检索到所需改动最少的构件。 刻面分类检索的特征: 刻面必须充分并明确地描述构件库中的全体构件,即每一个构件都可以用该刻面来分类。 每一个刻面与一个术语空间相关联。 一个刻面的术语空间为有限的不定空间,即可以随时地随着时间的演进而动态地增加和删除术语。 每一个构件的所有刻面必须予以定义,不允许在对构件分类时有未定义的刻面,但查询时,用户可以利用任意数目的刻面来查询。 构件库管理者对构件进行分类时,应该针对每一个刻面,从术语空间中选择适当的术语,以完成构件的封装工作。 在一个术语空间中的术语按一般/特殊关系形成树状的层次结构,每一个术语附带有不定数目的同义词。 刻面分类检索的优点: 更容易修改,更富有弹性。 它将从不同角度描述构件的术语在刻面的划分下组成一个有组织、有层次术语空间,消除了在问题规模较大时单一关键词带来的构件库的混杂,方便了构件的管理。 刻面的分类易于构件库使用者的理解和使用。 刻面分类检索的缺点: 刻面分类模式的定义。 术语空间的建立和维护。 属性-值分类检索和刻面分类方法的区别: 刻面是经过严格筛选的,并且有数量的限制,但属性则没有限制。 刻面之间正交,并一个刻面分类模式表达了构件的一个完备的描述,属性-值方法可以随意选择属性来检索构件。 刻面的术语空间是有限不定空间,而属性的值域是无限空间。 术语之间存在各种关系,而属性值之间是一种线性关系。根据构件检索的复杂度划分按照构件检索的复杂度来划分,H.Mili将其分为基于正文的方式、基于词法描述子的方式和基于规约的方式三类。基于正文的分类检索:该方法将构件的正文看做一种隐含的描述符,从正文中自动提取分类信息,正文本身不需要任何分类处理。基于词法描述子的方式这种分类检索方式就是在构件分类时,对构件赋予一组关键词短语,即添加分类信息给每个构件;检索时利用这些分类信息来检索构件。关键词分类检索、枚举方式、刻面方式和属性-值方式都属于此种方式。基于规约的方式:这种分类方法是基于形式化的构件规约。编码机制代价构件检索评价指标实现代价检索质量检索效率创建索引的代价索引部署的代价索引维护的代价查询和优化时间查询结果的使用难易程度辅助理解的效果查全率查准率查询时间5) 构件检索的评价准则查全率:检索到符合要求的合格构件的数量与所有数量与所有数据库中实际符合条件的构件总数的比率。查全率=|检索到的相关构件集合|库中所有相关构件集合|查准率:是检索到的符合要求的合格构件的数量和检索到的所有构件数量的比率。查准率=|检索到的相关构件集合|检索到所有构件集合|交迭率:是指不同检索方法查到的构件集间的关系。交迭率=|m1m2|m1m2|x|表示集合x中的元素个数,m1和m2分别为两种检索方法查询到的构件集合。4、 构件视图1、构件视图的含义构件视图的概念在某种程度上借鉴了产品数据管理(PDM)和数据库管理系统(DBMS)中的相关概念与技术,但构件视图有其自身的特点。构件视图与构件不同,构件是物理上的概念,而构件视图是一个逻辑上的概念。构件视图给用户提供了一种以多种角度观察和使用构件库中构件的机制,同一个构件的相关视图可以有多个,而构件库中只存储一个相应的构件实体,从而实现构件间的关系表示和构件实体相分离。2、 构件视图的分类从表示构件之间不同关系的角度讲,构件视图分为组装视图和普通视图。1)组装视图:代表构件的一个业务功能,是构件的一个别名,反映构件之间的调用关系。 一个构件,在一种组装上下文环境中,调用一组构件,完成一定的业务功能,这个构件在这种上下文环境中所代表的业务功能叫做这个构件的一个组装视图。2) 普通视图:表示构件之间除组装关系外的其他关系,可以根据需要灵活地创建普通视图,辅助构件库的管理。例:电子商务领域视图电子商务领域视图电子商务领域视图关联关联关联关联构件1构件2构件3构件4从支持软件生命周期的不同阶段的角度讲,组装视图又可以分为设计视图和实现视图。1)设计视图 设计视图是软件开发分析与设计阶段的软件制品,此时的构件视图表示的是系统的高层建模,设计视图处于未实现状态,即构件库中不一定有相同的构件实体与之对应。2)实现视图 实现视图是软件实现阶段的软件制品,实现视图中涉及的构件, 构件库中都有相应的构件实体与之对应。3、 视图之间的关系组装视图中的关系组装视图与构件之间的关系组装视图与构件之间是多对一的关系。组装视图之间的关系组装视图之间是多对多的关系。组装视图的层次关系普通视图中的关系1) 普通视图与构件之间的关系 普通视图与构件之间的关系2) 普通视图之间的关系仍然是多对多的父子关系,不同于组装视图,这时的父子关系不再是调用与被调用的关系,而是分类、组成等逻辑关系。3) 普通视图的视图与视图之间仍然呈现单方向的层次结构,叶子节点视图往往会关联构件,管理构件库中的构件分类、组成等关系。4、 构件视图描述根据构件视图模型,采用一种描述语言,将构件视图模型中所定义的本质属性和行为特征以文档的形式描述出来,解决构件视图的创建、精确描述及理解问题。(1) 构件视图描述语言构件视图描述语言必须满足的条件: 语义丰富,可以描述各种类型的视图。 易于理解与掌握。 支持结构化描述。 独立于构件和组装平台。 易于修改、方便扩充。 易于解析与验证。5、 基于构件视图的构件管理和组装视图库在构件库中引入构件视图,通过构件视图加强构件间的关系管理,并且通过存储和复用组装视图,兼顾软件结构设计层次和实现层次的复用,更好地支持构件组装。为了更好地说明和分析问题,本书把引入视图后的构件库中的视图管理部分称为视图库。视图库由视图库数据和视图库管理系统两部分组成。视图库基本功能:视图上传、视图验收、视图存储、视图检索、下载视图、删除视图、安全管理视图库采用分布式架构视图库存储方式:数据库存储、文件系统存储。本文采用将关系数据库和文件系统相结合的方式来存储构件视图及其组织信息。构件视图在视图库中以文件形式存储,以目录组织文件信息,视图库根目录下分为待验收目录和已验收目录,待验收目录下存储刚刚上传尚未验收的视图文件,已验收目录下存储管理员已经验收、可以复用的视图文件。基于构件视图的组装过程如下图所示:(四)基于构件的软件过程1、软件开发过程软件开发过程是将用户需求转化为用户所需要的软件产品的一系列活动的集合,可以定义为人们用来开发和维护软件以及相关产品(项目计划、文档、模型、代码、测试用例和用户手册)的一组活动、方法、技术以及实践的集合.2、基于构件的软件开发过程特征定义: 基于构件的软件开发过程是运用以构件为中心的思想来指导软件生命周期的各个阶段,包括需求分析、系统设计、系统实现、测试、部署、维护和升级,甚至应用系统创建过程中的项目管理也是基于构件的。基于构件的软件开发只是基于构件的软件开发过程的一个重要方面。基于构件的软件开发过程的特点:(1) 分而治之基于构件的软件开发过程的核心是将应用系统划分为不同粒度的构件。需求分析阶段,按照领域需求将系统的问题空间进行划分,即划分业务构件,这是对系统的垂直划分;设计阶段,又将业务构件进一步划分为粒度更小的服务构件,这是对系统的横向划分。(2) 以构件为中心的思想贯穿软件生命周期(3) 支持高度并行开发(4) 支持迭代和持续开发(5) 支持高度复用3、基于UML的构件处理UML的建模过程:(1)描述需求,包括系统基本功能需求和对计算机系统的要求。(2)系统分析,分析的任务是找出系统的所有需求并加以描述,同时建立模型。(3)系统设计,设计阶段的任务是通过综合考虑所有的技术限制,以扩展和细化分析阶段的模型。(4)实现,实现阶段是对类进行编程的过程。(5)测试和配置,完成系统编码后,需要对系统进行测试,以保证所开发的系统符合用户需求。基于UML的构件抽取方法:两种方式:从已有系统中抽取可复用构件,从系统分析、设计的初期就考虑构件,整个系统通过构件组装而成基于UML的构件抽取过程:通过USE CASE框图映射系统的需求视图,得到系统的功能模型。利用交互图来描述每个用例的具体实现流程和所涉及的相关对象。通过分析USE CASE和交互图得到类图,来描述系统的静态结构和完成功能的实体:为得到满足实际应用的构件,必须分析获取系统中的类,得到类图。通过分析类图,抽象出系统的构件模型:UML模型图中类图是进行构件划分和提取的关键,构件是对类的更大粒度的抽象和封装。通过构件图表示构件与外界的交互。基于UML的构件抽取过程:通过USE CASE框图映射系统的需求视图,得到系统的功能模型。利用交互图来描述每个用例的具体实现流程和所涉及的相关对象。通过分析USE CASE和交互图得到类图,来描述系统的静态结构和完成功能的实体:为得到满足实际应用的构件,必须分析获取系统中的类,得到类图。通过分析类图,抽象出系统的构件模型:UML模型图中类图是进行构件划分和提取的关键,构件是对类的更大粒度的抽象和封装。通过构件图表示构件与外界的交互。软件构件抽取策略:(1)当决定某一个类是否属于一个构件时,一般是依据一个类与其它类之间的交互方式。一个类如果只是发送消息,则将这种类称为客户机类,一个类如果只是接收消息,则将这种类称为服务器类,如果二者兼有,则称为客户机、服务器类。(2)服务器类通常应为单独划分为一个构件。因为服务器类是消息传递的终点,例如,数据处理类为领域类提供数据存取服务,接收领域类发送的消息提供相应得服务,属于服务器类,可单独得划分为一个数据处理构件。(3)客户机类主要是请求业务/领域类提供服务。如边界类位于系统与外界的交界处,包括所有的窗体、报表、与打印机和扫描仪等硬件的接口,以及与其它系统地接口,可以划分为一个用户界面构件。客户机类只是要求提供服务而不能提供服务,一般不将客户机类划归到某个领域构件中,而是把它划分到用户界面构件中。因为一个客户机类的并入只会增加构件交互的复杂性造成构件的修改和维护困难,而不会增加构件的功能,例如为了一时的方便,在数据查询构件中包含打印类,使得该构件与具体的打印程序相关,构件的可复用性降低,同时代码的修改和维护困难。在构件设计中应避免此类情况。(4)当一个类只为另一个类提供服务时,应考虑是否将这两个类合并。例如某协调控制类如果只为特定的领域类服务,可以把这两个类合并为一个领域构件。4、 基于构件进行软件开发的相关概念领域工程和面向构件的软件开发过程之间的关系基于构件进行软件开发包括两个子过程,一个是领域工程,另一个是开发单个应用系统的软件过程成为应用工程,也就是面向构件的软件开发过程。领域工程和应用工程既有区别又有联系。领域工程完成一系列工作,以建立一组可以被其他软件工程师复用的模型和软件构件,然后这些模型和软件构件被越过分隔领域工程和基于构件的软件开发的“边界”传送。领域工程1 领域工程的基本概念应用工程的重点是单个系统;领域工程的重点是在一个领域内对个相关的系统。1)领域:是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。2)领域模型(Dom
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年沐浴盆行业研究报告及未来行业发展趋势预测
- 2025年公共就业服务行业研究报告及未来行业发展趋势预测
- 铲车安全操作技能提升与年度考核手册编制服务协议
- 2025年度生物质能源项目设备供应与安装服务合同
- 2025年度购物中心品牌入驻及租赁一体化合同
- 2025尤慧孙三十全面离婚财产分割及子女抚养权明确协议
- 2025年智慧物流园区车辆运输管理服务协议
- 2025年度绿色建材EPS挤塑聚苯板采购及严格质量评估合同
- KTV多媒体网络直播服务与技术支持合同
- 2025年度生物医学产品安全监控与应急处理服务合同
- 2024-年全国医学博士外语统一入学考试英语试题
- 冶金渣公司安全生产委员会工作职责
- 老年患者护理心理护理
- 二年级体育上册 体育与健康室内课教案
- 项目担保合作协议范本
- 2024-2025学年湖南省“炎德·英才·名校联考联合体”高二第一次联考(暨入学检测)数学试题(含答案)
- 夹娃娃机合同模板
- 维修人员技能提升与企业绩效关联研究
- 2024-2030年中国儿童室内游乐园行业市场发展现状及发展趋势与投资前景研究报告
- GB 44263-2024电动汽车传导充电系统安全要求
- 项目资金融资合同范本
评论
0/150
提交评论