




已阅读5页,还剩51页未读, 继续免费阅读
(计算机应用技术专业论文)改进的构件分类模式在车间调度构件库中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 软件复用是在软件开发中避免重复劳动的解决方案,是解决软件危机的有效手段。基 于构件的软件开发是当前最具潜力的软件复用方法,构件库系统是基于构件的软件开发核 心。而构件的分类与描述又是构件库管理系统的核心,能否有效地对构件进行分类存储将 关系到构件库的管理、构件的查询效率、构件的可理解程度、构件的可维护性等多个非常 重要的因素。 本文以大连市青年基金项目“求解先进车间调度问题的智能优化算法构件库研究”为 基础,以构件的分类与检索为主题,针对智能优化方法求解车i 日j 生产调度问题的构件库规 模小、专业性强的特点,在研究现有构件分类与管理的基础上,提出了一种基于动态权重 的数字化刻面分类模式。该模式对刻面分类做了两点改进:通过引入编码一原子术语对 照表将用户的检索条件及构件库中的构件描述序列由文字序列转换为数字序列,从而有效 地降低了构件检索时的匹配难度。新模式对刻面分类方案中的每个刻面引入了一个由客 户关注度决定的动态权重。以刻面分类进行构件分类的构件库中,在进行构件检索时,各 个刻面具有相同的固定优先级,这种做法完全忽略了用户对不同刻面的需求偏好;而动态 权重的引入,能够贴切地反映出客户的这种偏好,使得用户关注度高的刻面具有较高的优 先级,从而提高构件检索时的查准率。在以基于动态权重的数字化分类进行构件分类的构 件库中,进行构件检索时,首先将检索条件的数字化描述序列写成一个行向量,然后用构 件库中构件的数字化描述序列的列向量组成一个矩阵,结合根据用户对各个刻面的关注度 生成的动念权重,再根据本文提出的以构件间的相关度为基础的向量乘法,就可以将构件 的检索过程转换为一个疗维向量与聆维矩阵的乘法,通过对乘法的结果向量中各个构件与 目标构件的相关度进行排序,就可以向用户反馈一个构件列表。这种检索过程具有高效率 和高查准率的特点,特别适合小规模的领域构件库。 通过求解先进车间调度问题的智能优化算法构件库中的应用实践,检验了改进的分类 在提高检索效率及查准率方面的性能,证明了基于动态权重的数字化刻面分类对小规模领 域构件库的可行性。 关键词:构件库;构件分类;动态权重的数字化刻面模式 火连交通大学1 i 学硕十学位论文 a b s t r a c t s o f t w a r er e u s ei sa l le f f e c t i v em e a s u r et os o l v es o f t w a r ec r i s i s c o m p o n e n t b a s e ds o f t w a r e d e v e l o p m e n t ( c b s d ) i st h em o s tp o t e n t i a lw a y o fs o f t w a r er e s u e ,a n dc o m p o n e n tr e p o s i t o r yi s t h ec o r eo fc b s d c o m p o n e n t sc l a s s i f i c a t i o na n dt h ed e s c r i p t i o ni st h ec o l eo fc o m p o n e n t r e p o s i t o r y t m sa r t i c l et a k e sd a l i a ny o u t hf u n d i n gp r o j e c t “r e s e a r c ho nc o m p o n e n tr e p o s i t o r yo j i n t e l l i g e n to p t i m i z a t i o na l g o r i t h mf o ,j o bs h o ps c h e d u l i n g a s af o u n d a t i o n ,t a k e s c o m p o n e n t sc l a s s i f i c a t i o na n dt h er e t r i e v a la u ss u b j e c t s i nv i e wo fc h a r a c t e r i s t i co fs m a l ls c a l e d a n ds p e c i a l i z e do fc o m p o n e n tr e p o s i t o r yo fi n t e l l i g e n to p t i m i z a t i o na l g o r i t h mf o rj o bs h o p s c h e d u l i n g ,p r o p o s e do n ek i n do fi m p r o v e dc l a s s i f i c a t i o nm o d e lw i t hd y n a m i cw e i g h t a n d d i g i t i z e df a c e tb a s e do ns t u d yo fe x i s t i n gc o m p o n e n tc l a s s i f i c a t i o na n di nm a n a g e m e n t n en e w m o d e lh a sm a d et w oi m p r o v e m e n t st ot h ef a c e t e dc l a s s i f i c a t i o nm o d e l :b yi n t r o d u c t i o no f c o d e a t o mt e r m i n o l o g yc o m p a r a t i v et a b l et ot r a n s f o r m sd e s c r i p t i o ns e q u e n c eo fu s e r sr e t r i e v a l c o n d i t i o na n dt h ec o m p o n e n t si nt h ec o m p o n e n tr e p o s i t o r yi n t ot h ed i g i t a ls e q u e n c e ,s ot h a t r e d u c e dt h ed i f f i c u l t yo fc o m p o n e n tm a t c hw h e nr e t r i e v i n g g i nn e w m o d e lh a si n t r o d u c e do n e d y n a m i cw e i g h tt of a c e tw h i c h i sd e c i d e db yc u s t o m e ra t t e n t i o n i nac o m p o n e n tl i b e a r yw h i c hi s c l a s s i f i e dw i t hf a c e t e dc l a s s i f i c a t i o nm o d e l ,w h e ne a c hf a c e th a st h ef i x e dp r i o r i t y ,t h u s c o m p l e t e l yn e g l e c t e dt h ep r e f e r e n c eo fu s e r h o w e v e r t h ei n t r o d u c t i o no ft h ed y n a m i cw e i g h tc a n r e f l e c tt h i sc u s t o m e r sp r e f e r e n c ea p p r o p r i a t e ,t h e r e f o rr a i s e st h e t h ea c c u r a c yr a t i o w h e nc a r r i e s o u tt h ec o m p o n e n tr e t r i e v e ,f i s t l y ,o r g a n i z e dt h ed i g i t i z e dd e s c r i p t i o ns e q u e n c eo fe v e r yf a c e tt o a nv e c t o r ,s e c o n d l y ,o r g a n i z e dd i g i t i z e dd e s c r i p t i o ns e q u e n c e so fe v e r yc o m p o n e n ti n t h e r e p o s i t o r yi n t o am a t r i xjw i t ht h eh e l po fm u l t i p l i c a t i o nt h a ti n t r o d u c t e di nt h ea r t i c l e ,c a n t r a n s f o r mp r o c e s so fc o m p o n e n tr e t r i e v i n gt oam u l t i p l i c a t i o no f av e c t o ra n dam a t r i x t l l i sk i n d o fr e t r i e v i n gh a st 1 1 eh i g he f f i c i e n c ya n dt h eh i g ha c c u r a c yr a t i oc h a r a c t e r i s t i c ,e s p e c i a l l y q u a l i f ys m a l ls c a l ed o m a i nc o m p o n e n tr e p o s i t o r y p r a c t i c eo fb u i l d i n gc o m p o n e n tr e p o s i t o r yo fi n t e l l i g e n to p t i m i z a t i o na l g o r i t h mf o rj s p v a l i d a t e st h ef e a s i b i l i t yo ft h en e wc l a s s i f i c a t i o nm o d e l k e y w o r d s :c o m p o n e n tr e p o s i t o r y ;c o m p o n e n tc l a s s i f i c a t i o n ;d i g i t i z e d f a c e t e d c l a s s i f i c a t i o nm o d e lw i t hd y n a m i cw e i g h tv a l u e 大连交通大学学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢及参考 文献的地方外,论文中不包含他人或集体已经发表或撰写过的研究成 果,也不包含为获得太整銮通太堂或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在 论文中作了明确的说明并表示谢意。 本人完全意识到本声明的法律效力,申请学位论文与资料若有不 实之处,由本人承担一切相关责任。 学位论文作者签名:秭影基、 日期:羽d7年2 月多日 大连交通大学学位论文版权使用授权书 本学位论文作者完全了解太整銮通太堂有关保护知识产权及保 留、使用学位论文的规定,即:研究生在校攻读学位期间论文工作的 知识产权单位属太董褒通太堂,本人保证毕业离校后,发表或使用 论文工作成果时署名单位仍然为太董銮通太堂。学校有权保留并向 国家有关部门或机构送交论文的复印件及其电子文档,允许论文被查 阅和借阅。 本人授权太董銮通太堂可以将学位论文的全部或部分内容编入 中国科学技术信息研究所中国学位论文全文数据库等相关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论 文。 ( 保密的学位论文在解密后应遵守此规定) ,喱厂 学位论文作槲:勃磁 导:缈 日期:勿汐多年2 月猡日日期:勿矽歹年肛月矿日 学位论文作者毕业后去向: 工作单位: 通讯地址: 电子信箱: 电话: 邮编: 绪论 绪论 一、研究背景 软件复用是在软件开发中避免重复劳动的解决方案,是解决软件危机的有效手段。通 过软件复用,可以提高软件开发的效率和质量。近十几年来,面向对象技术出现并逐步成 为主流技术,为软件复用提供了基本的技术支持。软件复用研究重新成为热点。 基于构件的软件开发( c o m p o n e n t b a s e ds o f t w a r ed e v e l o p m e n t ,简称c b s d ) 方式是实现 软件复用的主要手段。基于构件的软件开发大致可分为可复用软件构件( 简称构件) 的生产, 构件的存储、组织和检索,基于构件的系统组装三个主要过程【4 l 。软件构件是软件复用的 基本单位。构件库用于存放开发中生成和使用的众多构件,在基于构件的软件开发过程中, 构件库扮演着非常重要的角色,它是连接领域工程和应用工程的桥梁。 构件库的功能有构件的分类、组织、存储和检索。构件的有效组织是管理和检索构件 的基础。合理地组织构件库的关键,是合理地对构件进行分类,从而按照不同的分类模式 将构件组织成不同的构件集合。合理的构件分类体系是构造构件库存储、管理、检索机制 的基础,其最终目的是引导获得所需的信息。有效的检索将依赖于有效的分类体系的灵活 建立和实施。是否有效地对构件进行分类存储将关系到构件库的管理、构件的查询效率、 构件的可理解程度、构件的可维护性等多个非常重要的因素。对库中进行恰当的分类不仅 能简化构件库系统的管理过程,而且能够为检索提供更加多样的途径。 刻面分类是比较常用的构件分类方式之一。刻面分类的优点在于它将不同角度描述构 件的术语在刻面的划分下组成一个有组织、有层次的术语空间,消除了在问题规模较大时 单一关键词带来的构件库的混杂,方便了构件的管理;而且刻面之间的正交性使得按这种 方案生成的构件库也易于修改和扩展。因此,刻面分类比较适合在大规模构件库中使用。 然而,传统刻面分类模式,在进行构件检索时,需要大量的语词匹配,而语词匹配算法的 时间复杂度较高,所以检索的响应时间较长。另外,在传统刻面分类模式中,一旦刻面分 类方案形成,则对应不同的检索用户来说,刻面的优先级是由构件库管理人员预置的,是 固定的和相同的。这就忽视了不同用户在组合检索条件时对各个刻面的不同偏好,从而导 致查准率的降低。对于中小型的领域构件库来说,由于其规模较小,存储的构件数量有限, 用户在进行构件检索时,就希望能够又快有准地得到他想要的构件。也就是说用户在进行 构件检索时,对查准率有较高的期望,对响应时问有较低的期望。为此有必要对刻面分类 进行改进,以提高以其为分类方式的构件库中构件检索时的查准率及检索效率。 二、本文主要工作及意义 本论文在对现有刻面分类的学习和研究的基础上,提出了一种适用于中小型领域构件 库的基于动态权重的数字化刻面分类,并对该模式在智能优化算法解决车间调度问题的构 件库的构件分类与检索中的应用做了探讨。 人连交通大学。1 :学硕十学何论文 本论文研究课题来源为大连市青年基金项目“求解先进车间调度问题的智能优化算法 构件库研究”和横行课题“以机械制造行业为主的优化车间调度模型系统研究”。 本论文的主要任务是: 对软件复用技术进行学习和研究; 对现有构件分类方式进行学习和研究; 对中小型领域构件库的构件分类与检索技术进行研究; 改进现有刻面分类方式,以使其更加适应中小型领域构件库的需求; 验证改进模式的有效性; 开发“求解先进车间调度问题的智能优化算法构件库管理系统”,并将改进刻面分类 模式应用于该系统。 三、本文结构 本文首先介绍软件复用的相关技术以及构件库的相关概念;然后介绍构件库系统中常 用的构件分类与描述方式,并注重介绍了刻面分类模式的应用现状及其优缺点;最后详细 介绍了改进刻面分类模式及其在“求解先进车间调度问题的智能优化算法构件库中的应 用。本文的具体组织结构如下。 第一章:软件复用与构件库。本章是对本文研究背景的介绍。主要介绍了软件复用技 术的相关知识、软件构件的定义及其特征、基于构件的软件开发的流程、构件库的基本概 念及其作用等问题。 第二章:构件的描述与分类。本章主要介绍本文的研究主题。构件的分类与描述是合 理地组织构件库的关键所在,它关系到构件库的管理维护,以及构件的高效率检索。本章 首先介绍的构件的描述与分类,然后介绍构件分类与描述模式中最常用的刻面分类模式, 给出了该模式的相关概念与研究现状,为第三章改进算法的引入打下基础。 第三章:改进的刻面分类模式及其应用。本章在研究传统的刻面分类模式的不足之处 的基础上,给出了一种基于动态权重的数字化刻面分类模式。对该模式的数据结构以及其 树建模过程给出的详细介绍。同时,对比传统刻面分类模式,阐述了基于动态权重的数字 化刻面分类模式的优点。最后通过与传统刻面分类模式的性能对比,证明了基于动态权重 的数字化刻面分类模式在小规模领域构件库中应用的有效性。 第四章:改进的刻面分类在智能优化算法车间调度构件中的应用。本章介绍了求解车 间调度问题的智能优化算法构件库的设计与实现,以及改进的刻面分类在该构件库中的应 用。主要介绍了系统的开发方案、所用到的相关技术、部分关键技术的实现方案、系统的 功能模块图等。 2 第一章软f ,l :复j j 与构什库 第一章软件复用与构件库 纷繁复杂的数字化世界呈现出分布性、并行性和协同性三大发展趋势,软件系统正变 得越来越复杂和庞大,对高质量的软件服务和对应用系统的实时、持续更新的双重要求, 使得传统软件技术不但没有能够彻底解决“软件危机”,反而使得软件业面临的“危机” 压力比过去任何时候都要大【1 3 】。大规模的、系统化的软件复用被认为是解决软件危机的唯 一有效的途径。通过软件复用,可以加速知识的积累与复用,提高软件开发的效率和质量。 软件复用是对知识的复用,而软件构件是可复用知识的载体。一般认为,基于构件的软件 开发是当前最具潜力的软件复用方法,而用于存放复用所需的大量构件的构件库又是基于 构件的软件开发核心。本章将对软件复用以及构件库的相关技术作简要介绍。 1 1 软件复用 软件复用是指在两次或多次不同的软件开发过程中重复使用相同或者相近软件元素 的过程。这些软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚 至领域知识。软件复用是在软件开发中避免重复劳动的解决方案,是解决软件危机的有效 手段。通过软件复用,可以提高软件开发的效率和质量。近十几年来,面向对象技术出现 并逐步成为主流技术,为软件复用提供了基本的技术支持。软件复用研究重新成为热点, 被视为解决软件危机,提高软件生产效率和质量的现实可行的途径。它通常可分为产品复 用和过程复用两条途径。基于构件的复用是产品复用的主要形式,也是当前复用研究的焦 点。同时,在分布对象研究领域,软件构件技术也是一个重要内容。当前软件构件技术被 视为实现成功复用的关键因素之一p j 。 通常情况下,应用软件系统的开发过程包含以下几个阶段:需求分析、设计、编码、 测试、维护等。如果每个应用系统的开发都是从头开始,那么在系统开发过程中就必然存 在大量的重复劳动,如:用户需求获取的重复、需求分析和设计的重复、编码的重复、测 试的重复和文档工作的重复等。 探讨应用系统的本质,可以发现其中通常包含三类成分: 通用基本构件:是特定于计算机系统的构成成分,如基本的数据结构、用户界面 元素等,它们可以存在于各种应用系统中; 领域共性构件:是应用系统所属领域的共性构成成分,它们存在于该领域的各个 应用系统中; 应用专用构件:是每个应用系统的特有构成成分。 应用系统开发中的重复劳动主要在于前两类构成成分的重复开发。 软件复用的出发点是应用系统的开发不再采用一切“从零开始”的模式,而是以已有 的工作为基础,充分利用过去应用系统开发中积累的知识和经验,如:需求分析结果、设 计方案、源代码、测试计划及测试案例等,从而将开发的重点集中于应用的特有构成成分 大连交通人学 :学硕十学何论文 的设计与实现上。通过软件复用,在应用系统丌发中可以充分地利用已有的开发成果,消 除了包括分析、设计、编码、测试等在内的许多重复劳动,从而提高了软件开发的效率, 同时,通过复用高质量的已有开发成果,避免了重新开发可能引入的错误,从而提高了软 件的质量。 1 2 软件构件 软件复用是对领域知识的复用,而软件构件( 简称构件) 是可复用知识的载体,是可复 用知识的一种描述方式,是基于构件的软件开发方法的核心元素,面向构件的软件过程的 每个阶段都与之休戚相关。 1 2 1 软件构件的定义 不同的人或组织对构件这一术语有不同的定义,这些定义具有共同的要素i l6 】:软件构 件是独立开发并具有特定功能的软件单位,用于与其它构件及支撑环境组装成应用系统。 这一共同要素反映了构件的三个基本特征:单元特征构件不是完整的应用程序,需 要组装。复用特征构件的价值在于实现知识复用,需要规范。商品特征构件 是预制的知识服务,需要订购。 1 2 2 软件构件的特征 从软件构件的定义可以看出构件具有以下几个基本特征: 复用性( r e u s a b i l i t y ) :复用性是软件构件最基本的特征,只有可以被复用的构件 才有其存在的价值;同时为了提高软件开发的速度与质量,只有容易被复用的构件才有其 应用的需求。所以,复用应该具有可复用性和易复用性两层含义。 封装性( e n c a p s u l i z a b i l i t y ) :封装性使得构件可以对外界隐藏其实现细节,仅通 过接口与外界交换信息。以接口和接口定义语言为主要内容的构件交互机制,实现了描述 与实现的分离。对于构件,封装应该满足构件内部的功能实现是紧耦合的,而构件之间的 关系是松耦合的,从而保证构件功能复用的完整性和构件开发及交付的独立性。 组装( c o m p o s i t a b i l i t y ) :构件通过组装可以形成更大的实体,组装是实现软件复 用的手段。 定制( c u s t o n i z a b i l i t y ) :定制是指构件在组装过程中随组装环境的不同而做出自 适应调整,其过程大致分为识别组装环境和做出相应的调整,包括调整内部结构或外部接 口状态,完成与其它构件或应用框架融合。 自治性( a u t o n o m y ) :构件必须能够独立发布和独立运行。 粗粒度( c o a r s eg r a n u l a r i t y ) :构件应该代表一定的领域服务功能,是企业级应用 的一个有效部件。 集成特征( i n t e g r a t i o nc h a r a c t e r ) :在一定的软件体系结构下,将异构的软件构 件无缝地结合起来。 4 第一章软什复j 玎j j 构件库 接口连接机制:以契约性接口和外部环境相连接,接口是对构件外部特征的唯一抽 象。 1 2 3 软件构件的类型 构件作为一个抽象的概念,并不局限于一个方法或者一组业务功能的简单集合。构件 按照其构成可以分成不同的粒度单位,它们支持不同层次的复用。按照构件的复用粒度的 大小机器关注点的不同可以将其分为业务构件和服务构件。服务构件又按照其服务的层次 分为展现构件、逻辑构件、运算构件、扩展构件,如图1 1 所示。业务构件是最大粒度的 可复用构件,是为实现一个自治的业务功能而生产的构件。它通常由一组服务构件、业务 流程、用户界面和数据模型组成,提供相对独立的业务功能。服务构件可视为小粒度的可 复用构件,服务构件完成特定类型的功能,是组成业务构件的基本元素1 1 引。 图1 1 构件类型及关系图 f i g i it y p e sa n dr e l a t i o n s h i po fc o m p o n e n t 1 3 基于构件的软件开发 基于构件的开发或基于构件的软件工程( c o m p o n e n t b a s e ds o f t w a r ee n g i n e e r i n g ,简称 c b s e ) 是一种软件开发新范型,是实现软件复用的主要手段。它是在一定构件模型的支持 下,复用构件库中的一个或多个软件构件,通过组合手段高效率、高质量地构造应用软件 系统的过程。由于以分布式对象为基础的构件实现技术日趋成熟,c b s d 已经成为现今软 件复用实践的研究热点,被认为是最具潜力的软件工程发展方向之一。 基于构件的软件开发大致可分为可复用软件构件( 简称构件) 的生产,构件的存储、组 织和检索,基于构件的系统组装三个主要过程【4 】。存放开发中使用和生成的众多构件的构 件库在基于构件的软件开发起到了重要的作用。围绕构件库,可以将软件开发活动划分为 5 大连交通大学t 学硕十学位论文 构件的生产、构件的管理和构件的复用等三部分。相应地,每部分的软件开发人员就被分 为构件生产者、构件管理者和构件复用者,他们的丌发实践与构件库均有着较密切的联系, 如图1 2 所示。 图1 2 基于构件的软件开发过程 f i g 1 2p r o c e s so fc o m p o n e n t - b a s e ds o f t w a r ed e v e l o p m e n t 构件生产者 构件生产者相对于构件库而言就是构件的提供者,其主要任务包括: ( 1 ) 构件生产:生产具有可复用性的构件。构件生产通过以下三条途径来实现: 综合利用领域工程、逆向工程以及再工程技术,从应用领域的现有系统中抽取 构件和构架; 对已经入库的构件和构架进行再工程,以进一步提高他们的可复用性; 根据应用的需求,直接开发所需构件。 ( 2 ) 构件适应性修改:根据构件使用者的反馈,对构件进行适应性修改,并将修改后 的结果作为该构件的一个新版本放入构件库中; ( 3 ) 构件描述:将生产出的构件以一种规范化、易于理解的方式来全面、准确地描述, 使得复用者能够准确地理解构件的功能以及其他非功能性指标( 如性能、可靠性等) ,并由 6 第一章软什复用与构仲库 此来判断该构件是否完全符合他的要求;同时构件描述信息应为构件组装提供支持。描述 信息还是构件库管理构件的主要依据。只有经过规范化描述的构件才可以存入构件库中保 存。 构件管理者 即构件库系统的管理员,负责对构件进行分类、存储和维护。 ( 1 ) 构件分类:构件管理者要根据构件生产者提供的构件描述信息,采用几种分类方 式( 例如刻面、关键词等) 对构件进行分类,以便构件复用者能够快速准确地找到所需的构 件; ( 2 ) 构件库管理:构件管理者还要对构件库进行日常管理和维护,包括修改、删除构 件及其描述信息,以及增加、修改、删除构件管理人员、构件复用者、构件提交者的使用 权限、收集整理用户反馈信息等工作,以保证构件库系统的正常运作。 构件复用者 是构件库的用户,构件库是为复用者的组装工作提供服务的。构件复用者所作的工作 是: ( 1 ) 构件查询:根据构件库中的分类信息,在构件库中查找符合特定条件的构件,然 后再对找到的构件进行评估,找出最符合要求的构件; ( 2 ) 构件理解和适应性修改:利用构件生产者的描述提供的信息来理解构件的功能以 及其他非功能性信息。如果所选择的构件不完全符合复用者的要求,那么复用者可以对其 进行适当的修改。但是,需要注意的是,随着所需修改部分比例的增加,修改构件所花费 的代价将以非常快的速度增长,因此,在合理的分工模式下,更为适合的方法是将信息反 馈给构件的生产者,由构件生产者来完成构件的适应性修改; ( 3 ) 构件组装:复用者的最终目标是通过组装现有构件来开发软件系统; ( 4 ) 系统演化:通过快速替换系统中某些构件来对系统进行修改,如进行错误更正一、 版本升级或适应不断变化的需求。 基于构件的软件开发,不仅使软件产品在客户需求吻合度、上市时间、软件质量上领 先于同类产品,提高了项目的成功率,而且对软件的开发和维护变得简单易行,用户可以 随时随地应应对商业环境变化和i t 技术变化,实现“敏捷定制”。从最终用户的角度来看, 采用基于构件技术开发的系统,在遇到业务流程变化或系统升级等问题时,不再需要对系 统进行大规模改造或推倒重来,只要通过增加新的构件或改造原来的构件来实现。构件技 术可以使软件的投放市场时间减少为原来的1 2 到1 5 ,使软件的缺陷密度降低为原来的 1 5 到1 1 0 ,使软件的维护成本降低为原来的1 5 到1 1 0 ,使整体软件的开发成本降低大 约1 5 ,长期项目可降低高达7 5 的成本。 7 大连交通大学t 学硕十学何论文 1 4 构件管理与构件库 1 4 1 基本概念 在构件数量很多、构件特征丰富并且构件间相互关系也比较复杂的情况下,如何管理 诸多构件就成为一个很重要的问题,必须考虑如何对之作出有效的管理以保持较好的复用 效果【3 0 1 。为完成对众多构件的管理,需要有二种作为基础设施的系统软件完成所有管理功 能,我们称之为构件库( c o m o p n e n tr e p o s i t o r y ) 。构件库是位于构件与用户之间的一层系统 软件,是一种支持对大量构件进行有效管理的基础设施。构件库不仅仅是一个只能进行插 入、删除操作的构件存储器,它必须能够有效地组织和管理大量的可复用构件,能够支持 对构件的描述、存储、管理,提供良好的检索手段,提供对构件的度量及对构件质量的评 估,并提供相应的工具支持丌发者在开发过程中方便地查询、理解和选取构件,使得基于 构件复用的软件开发成为现实。构件库的目标是提供对代码级、设计级、分析级、测试级 等各抽象层次的复用的支持。 1 4 2 构件库的角色 软件复用过程包括两个相关子过程:开发可复用软件的领域工程( d o m a i ne n g i n e e r i n g , 简称d e ) 和基于可复用软件构造应用系统的应用工程( a p p l i c a t i o ne n g i n e e r i n g ,简称a e ) 。 1 4 2 1 领域工程 领域工程负责生产、维护和分类可复用资产,使其能够供应给应用工程使用i l5 。领域 工程对领域进行系统分析,识别出该领域应用的共同特征和可变特征,并对刻画这些特征 的对象和操作进行选择和抽象,形成领域模型,依据领域模型生产出该领域应用中共有的 体系结构( 即特定领域的软件构架) 或生成过程,并以此为基础识别、开发和组织可复用构 件。具体地说,领域工程包括以下步骤: ( 1 ) 领域分析:收集领域中有代表性的应用样本,分析应用中的公共部分或相似部 分,抽取该领域的应用体系结构; ( 2 ) 建立领域特定的基准体系结构模型:在领域分析的基础上,构造该领域的基准 体系结构,这个基准体系结构应是可以裁剪和扩充的,并可供该领域的应用复用; ( 3 ) 标识候选构件:在领域分析和领域基准体系结构模型的基础上标识该领域的候 选构件; ( 4 ) 泛化( g e n e r a l i z a t i o n ) 和可变性( v a r i a b i li t y ) 分析:提高其通用性,同时寻 找候选构件在不同应用中的变化点( v a r i a t i o np o i n t ) ,通过设置参数、继承或其它手 段,使可变部分局部化; ( 5 ) 重建构件:在泛化和可变性分析的基础上,重建构件,使它成为可复用构件; ( 6 ) 构件的测试:对重建的可复用的构件要严格测试,以提高其可靠性; ( 7 ) 构件的包装:经测试的构件应根据构件库的要求,对它进行包装,以便构件库 8 第一章软件复j j 与构什库 对它分类储存和检索; ( 8 ) 构件入库:将包装好的构件存入构件库。 1 4 2 2 应用工程 应用工程的关注点是如何使用由领域工程得到的可重用资产进行应用系统的丌发。应 用工程主要包括以下步骤: ( 1 ) 建立应用系统的体系结构模型:可以使用构件生产者提供的领域特定的基准体 系结构经裁剪和或扩充而获得; ( 2 ) 寻找候选构件:根据应用系统的体系结构模型,从构件库或其它可利用的构件 源中寻找候选构件,即完成构件的检索工作; ( 3 ) 评价和选择合适的构件:评价候选构件以判断是否适合于待开发的软件; ( 4 ) 构件的修改( m o d i f y ) 和特化( s p e c i a l i z e ) :在复用时对构件进行特化以满足特 定应用的需要; ( 5 ) 开发未被复用的部分:对新系统中未复用的部分进行开发; ( 6 ) 构件的组装:将特化和修改后的可复用构件和新开发的部分组装成一个新的软 件系统; ( 7 ) 集成测试:对组装后的软件系统进行集成测试; ( 8 ) 评价被复用的构件,并推荐可能的新构件。 由上述讨论结果可得出软件复用过程的框架如图1 3 所示。由该框架图可以看出,在基于 构件的软件开发过程中,构件库扮演着非常重要的角色,它是连接领域工程和应用工程的 桥梁,构件库的作用超出了存储和管理构件的范围,它是软件工程师相互交流对可复用软 件认识的场所,构件的存储和检索是交流的两个方面;在某种意义上可以说,软件复用是 一种以构件库为中心的开发范型,因此与传统的软件开发不同,工程化活动的重点是可复 用构件的获取、评价、适配和组装,它们的共同基础是独立于实现的可复用软件表示方法。 9 查些筌塑垒兰;! 兰竺圭兰堡堡三 暖t 工程 柏件生产照 本章小结 圈i3 软件复用过程框架 f i g j 3f r a m e o f s o f t w a 化r e u s e 本章是对本文研究背景的介绍。主要介绍了软件复用技术的相关知识,包括基于构件 的软件开发的流程、构件库的作用等问题。 第二章构什的描述与分类 第二章构件的描述与分类 为了支持大规模的复用,构件库中必须拥有大量构件供选用,否则在开发一个新系统 时的复用程度过低,无法体现复用的意义和价值。在构件数量达到成百上千以后,人力对 构件库信息的掌握将无法满足要求,因此对具备一定规模的构件库进行高效的检索便成为 一个极其关键的问题。通常,构件的使用者对他所需要的构件主要关注“构件是什么样的”, 而这样的构件在构件库中是否存在、存放在何处、如何存放、具有什么特征等问题,使用 者无法预知,只能通过检索来获得答案。这就要求构件库必须提供一定的机制来对其中的 构件进行合理的组织,并以适当的方式将其存储在构件库中。所以,构件的有效组织是管 理和检索构件的基础。合理地组织构件库的关键,是合理地对构件进行分类,从而按照不 同的分类模式将构件组织成不同的构件集合。是否有效地对构件进行分类存储将关系到构 件库的管理、构件的查询效率、构件的可理解程度、构件的可维护性等多个非常重要的因 素。本章将对构件的分类与描述作简单介绍。 2 1 构件的描述 构件描述是基于构件的软件开发和构件复用过程中的一项关键技术,它规定了一个软 件构件所需的结构和内容,不仅用于指导软件构件的设计、开发、管理、组装、测试等活 动,而且可用于构件库的组织、存储、检索与浏览。 2 1 1 构件描述模型 目前,国际上已经形成了许多构件模型,根据这些模型的目标和作用各的不同,可以 将它们分为描述模型和实现模型。常用的描述模型有:3 c 模型、r e b o o t 模型等;典型 的实现模型有:c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 模型、d c o m ( d i s t r i b u t e d c o m p o n e n to b j e c tm o d e l ) 模型和j 2 e e 模型等【2 5 1 。 构件的描述模型是为了进一步完善构件的描述机制和检索方法而引进的构件的形式 化描述框架,是关于构件本质特征的抽象描述。一个构件描述模型需要满足一些基本原则 f 9 】 o ( 1 ) 表达能力足够强:模型是对客观对象的抽象,合适的抽象层次十分重要,必须既 能抓住本质,又不陷入细节,既要有足够的表达能力,又不能过于复杂。 ( 2 ) 简单性:简单性是各种模型必须予以考虑的重要性质,简单意味着易于掌握和理 解。简单性和较强的表达能力是一对矛盾,必须合理权衡。 ( 3 ) 一致性和完备性:模型必须具备对内的一致性和对外的完备性。一致性是指模型 必须具有致的对外接口、一致的组成结构以及一致的交互方式;完备性是指不存在模型 所不能描述的构件。 大连交通人学 :学硕十学位论文 ( 4 ) 实用性:模型应易于理解、方便使用和检索。 ( 5 ) 扩展性:指在保持模型本身一致性和完备性的前提下,模型可以随着应用需求的 增长而演化。 2 1 2 常用的描述模型 常用的描述模型有以下几种1 2 6 | 。 3 c 模型:3 c 模型是在1 9 8 9 年的“r e u s ei np r a c t i c ew o r k s h o p ”中由一些系统工程领 域的专家提出的,它是学术界普遍认同的一个具有指导性作用的构件模型。该模型从概念 ( c o n c e p t ) 、内容( c o n t e n t ) 和周境( c o n t e x t ) - - 个不同方面来描述构件。 概念:关于“构件做什么的抽象描述,可以通过概念去理解构件的功能。概 念包括接口规约和语义描述两个部分,语义描述和每个操作相关联。 内容:概念的具体实现,描述构件如何完成概念所刻画的功能。在本质上,内 容是对一般用户隐蔽的信息,只有那些需要修改构件的人才需要了解这些信息。 周境:构件和外围环境在概念级和内容级的关系。周境刻画构件的应用环境, 为构件的选用和适应性修改提供指导。 r e b o o t 模型:r e b o o t ( r e u s eb a s e do no b j e c t o r i e n t e dt e c h n o l o g y 基于面向对象 技术的复用) 构件模型是基于已有构件的一种刻面分类和检索模型。对领域进行分析,并 得到一组基本的描述特征,这些特征称为刻面。刻面可以描述构件执行的功能、所操作的 数据、构件应用的周境或任何其他特征。一个构件通常包括以下刻面: 抽象( a b s t r a c t i o n ) :构件概念的描述性描述( 例如s t a c k ,f l i g h tr e s e r v a t i o n ) ; 。操作( o p e r a t i o n ) :构件所提供的操作的描述( 例如p u s h ,r e s e r v e 等) ; 操作对象( o p e r a t e so n ) :描述操作的对象( 例如i n t e g e r s ,s e a t s ) ; 依赖( d e p e n d e n c i e s ) :描述构件与外界的依赖关系( 例如基于u n i x ,c + + ) 。 2 2 构件的分类 对构件进行分类有三个好处,即便于构件的组织管理、方便构件的检索和查询以及辅 助理解构件。构件分类是建立和维护构件目录信息的活动,构件的检索方法依赖于构件的 表示和分类。所以对构件的有效组织是管理和检索构件的基础【3 1 1 。合理地组织构件库的关 键,是合理地对构件进行分类,从而按照不同的分类模式将构件组织成不同的构件集合。 是否有效地对构件进行分类存储将关系到构件库的管理、构件的查询效率、构件的可理解 程度、构件的可维护性等多个非常重要的因素。对库中进行恰当的分类不仅能简化构件库 系统的管理过程,也会为检索提供更加多样的途径。合理的构件分类体系是构造构件库存 储、管理、检索机制的基础,其最终目的是引导获得所需的信息。有效的检索将依赖于有 效的分类体系的灵活建立和实施。 1 2 第二章构1 ;i | :的描述。孑分类 从不同的角度可以对分类模式进行不同的划分。w f r a k e s 从构件的表示出发将现有方 法分为人工智能方法、超文本方法和信息科学方法三类i ju j ;h m i l i 根据索引编码方法的不 同,分为基于文本的、基于词法描述子的和基于规约的编码和检索三类j 。实际部署的复 用库项目大多采用信息科学的方法进行构件分类。图2 1 为信息科学的编目方法分类,其 中以枚举、刻面、属性一值、关键词和正文检索几种方法最为常用,又以关键词分类 ( k e w w r o d ) 和刻面分类( f a c e t e d ) 两种应用最多。 图2 1 信息科学的编目方法分类图 f i g 2 1c a t e g o r i z a t i o no fi n f o r m a t i o ns c i e n c e 对现有分类方法的实证比较表明,上述方法各有利弊,其中以枚举和刻面分类两种方 法的检索响应速度明显优于其他方法;但是在查全率、查准率和用户偏好等其它指标上, 各种方法之间没有显著差异。常用的构件分类方式有以下几种。 枚举分类通常将一个被关注的领域严格划分为若干不相交的子领域,构件按照某些 性质分成若干大类,每个大类又可分为若干小类,经过若干次分解形成构件的层次结构, 实际的构件位于层次结构的最低层,其它层次则表示构件所属的父类或祖先类。该方法对 问题域进行清晰的高度结构化的划分,概念清晰,易于理解和使用。但是该方法比较严格, 通常只提供一种角度下的视角,使得分类模式难以伴随领域的变化而演化,所能够表示的 关系也受到限制。枚举结构的创建者必须具有完整的领域知识,在建立层次结构之前,必 须进行领域分析以寻找合适的供分类的性质,因此建立恰当的枚举结构需要花费相当的代 价。 正文检索该方法从构件文档中自动地提取分类信息,可以实现自动编码分类,也可 以与人工智能方法结合处理自然语言查询。正文检索依赖于每个构件的文本类信息,这些 大连交通大学t 学硕十学位论文 信息可以是源程序、文档或专门为正文检索所编写的描述。正文检索基于文本中特定模式 的识别。这些模式可以是单个词或者词组,例如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全培训常见误区解析-3
- 青春期沟通障碍怎么破
- 卫生职称试题及答案
- 小学中文测试题及答案
- 如何成为生态小先锋
- 家电公司资产台账管理规章
- 2026届江苏省常州市奔牛高级中学高一化学第一学期期末学业质量监测试题含解析
- 2022年重庆南开中学高三下学期5月第九次质量检测英语试题
- 服装售后补差方案(3篇)
- 保安员消防培训知识课件
- 放射科新技术介绍
- 银行职工反诈工作总结
- 设备安装管理培训课件
- 老年人转运照护-轮椅运转
- 国家电网公司供电企业劳动定员标准
- 7-聊城东制梁场80t龙门吊安拆安全专项方案-八局一-新建郑州至济南铁路(山东段)工程ZJTLSG-2标段
- 中兴 ZXNOE 9700 系统介绍
- GB/T 21475-2008造船指示灯颜色
- 有理数加减混合运算练习题300道-
- 园林绿化工高级技师知识考试题库(附含答案)
- 提高肠镜患者肠道准备合格率课件
评论
0/150
提交评论