(计算机软件与理论专业论文)构件库之构件检索与理论.pdf_第1页
(计算机软件与理论专业论文)构件库之构件检索与理论.pdf_第2页
(计算机软件与理论专业论文)构件库之构件检索与理论.pdf_第3页
(计算机软件与理论专业论文)构件库之构件检索与理论.pdf_第4页
(计算机软件与理论专业论文)构件库之构件检索与理论.pdf_第5页
已阅读5页,还剩62页未读, 继续免费阅读

(计算机软件与理论专业论文)构件库之构件检索与理论.pdf.pdf 免费下载

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

文档简介

潍北工业大学硕士研究生学位论文 摘要 摘要 基于构件的软件开发是解决软件危机的有效途径。在基于构件复用的软件开发过程中, 掏俘库系绞扮演了重要角色。在i n t e r n e t 技零下魏镑实魏鞠穆痒对祷 拳嚣有效豹管理和 检索,成为本文研究的重点 本文主妥分析研究了一个基于i n t e r n e t 技术的构件库系统的构件分类、管理稍检索的 设计与实现,讨论了如何提离检索效率的问题。本文首先介绍了构件的概念、构件的理论模 型以及构件库的概念模型,阐述了如何有效用统一的模式表示不同层次、不同形态、不同表 零的可复蠲捣件的随题。然后,讨论了稳搏瘁鹣存糖方式。在存德方式上,采用构镁:实舞承l 说明分别存储的策略,构件的描述信息在存储在数据库中,将构件以文件形式存储:在此基础 上,奔绍了本鞫 | :簿主要豹分类方法。合理瓣分类镕系楚提交秘甓捡素效率鹣关键。讨论了 谯i n t e r n e t 方式下如何对构件进行分类提交,以及分类体系的灵活定制和维护问题。接着, 研究了如俺戬灵活多祥瓣捡索方式采资询拇,| :。随后介掰了构件检索系统,描述了鞫件的检 索机制的实现。在此基础上,进行构件检索工具的部分的设计。检索i f 具集中既要体现对构 件灵活的检索方式和浏览= j :j 式,还要体现对构件及其分类体系的管理和维护支持。 本系统采_ l ;| 三鼷体系结构,页面处理部分袋_ l a s p 程序年| ij a v a s c r i p t 泄合实现,赢删功 能部分采a s p 与c o m 组件相结台共同完成,并以构件检索i :具为例介绍系统实现的方 法,讨论了在实现中旋主要技术趣题及其瓣决方案。 关键词: 软# | :复稿,秘纷、擒 :痒、擒:检索、稳嚣管理、分类体系 + 1 1 1 西北工业大学硕士研究生学位论文 摘要 a b s t r a c t t h es o f t w a r ed e v e l o p m e n tm e t h o dt h a tb a s e do nc o m p o n e n tr e u s ei so n eo f t h ea v a i l a b l e w a y st or e s o l v et h ec r i s i so fs o f t w a r e ,a n dt h ec o m p o n e n tl i b r a r yp l a y sa ni m p o r t a n tr o l ei n t h i s d e v e l o p m e n t h o wt oi m p r o v et h ee f f i c i e n c yo fr e t r i e v i n g i ni n t e r n e t m o d ei sa n i m p o r t a n t r e s e a r c hi nt h i sp a p e r 。 t h i sp a p e r m a i n l ya n a l y s e s t h es c h e m ao fc l a s s i f i c a t i o n ,r e t r i e v a la n dm a n a g i n g o fr e u s a b l e c o m p o n e n t s i nai n t e r n e t b a s e dc o m p o n e n tl i b r a r y a n dt h eq u e s t i o n o fh o wt oi m p r o v et h ee f f i c i e n c yo fr e t r i e v i n gi sa l s od i s c u s s e d t h e c o n c e p to f r e u s a b l e c o m p o n e n t ,t h e o r y m o d e lo fc o m p o n e n ta n dc o n c e p t m o d e lo fc o m p o n e n tl i b r a r ya r e i n t r o d u c e di nt h i st h e s i sf i r s t l y ,a n de x p a t i a t eh o wt or e p r e s e n tt h er e u s a b l e c o m p o n e n to f d i f f e r e n ta r r a n g e m e n t ,d i f f e r e n tf o r m ,d i f f e r e n tr e p r e s e n t a t i o n i no n ee x p r e s s t h e nt h e s c h e m ao f s t o r a g ei sa l s od i s c u s s e d a sf o rs t o r a g em o d e ,c o m p o n e n t e n t i t i e sa n dd e s c r i p t i o n i n f o r m a t i o na r es t o r e d s e p a r a t e l y c o m p o n e n te n t i t i e s a r es t o r e di nf i l e sa n dd e s c r i p t i o n i n f o r m a t i o ni ss t o r e di nd a t a b a s ea n dt h em a i ns c h e m ao fc l a s s 讯c a t i o nu s e dj no u r c o m p o n e n tl i b r a r yi s a l s oi n t r o d u c e dt h er e a s o n a b l es y s t e mo fc l a s s i f i c a t i o ni st h ek e yo f r e t r i e v a le f f i c i e n c ya n dh o wt oc l a s s i f yt h er e u s a b l ec o m p o n e n t si ni n t e r n e t m o d ea n d h o wt oc u s t o m i z ea n dm a i n t a i nt h es y s t e mo fc l a s s i f i c a t i o na r ed i s c u s s e di nf o l l o wa n d n e x t ,t h i sp a p e rs t u d i e sh o w t or e t r i e v et h er e u s a b l ec o m p o n e n ti nv a r i o u sw a y s t h e nt h e r e t r i e v i n gs y s t e mo f r e u s a b l ec o m p o n e n t si si n t r o d u c e d ,a n dr e a l i z a t i o no ft h er e t r i e v i n g m e c h a n i s mo fr e u s a b l ec o m p o n e n t si sd e s c r i b e d b a s e do nt h e s es c h e m a ,w e d e s i g n e dt h e c o m p o n e n tr e t r i e v a lt o o l s ,w h i c hs u p p o r tn o to n l yt h e v a r i o u sm o d eo f r e t r i e v i n g a n d b r o w s i n g b u ta l s ot h e m a n a g i n g a n d m a i n t a i n i n g o f c o m p o n e n t w i t ht h e c o r r e s p o n d i n g c l a s s i f i c a t i o n s y s t e m a t t h es a m et i m e ,am o r er e a s o n a b l es c h e m ef o r f e e d b a c ko f c o m p o n e n t i sd e s i g n e di ni n v o l v e dt o o l s ,i no r d e rt om e a s u r ea n d a n a l y z eb e r e r t h es y s t e mo fc o m p o n e n tl i b r a r yi n t r o d u c e di nt h i s p a p e ri sa d o p t e dt h r e e l a y b s s y s t e mf r a m et h ep a r to fd e a l i n gw i t hp a g ei sc o m p l e t e db ya s pp r o g r a ma s s o c i a t e dw i t h j a v a s c r i p tl a n g u a g e t h ep a r to fa p p l i c a t i o nf u n c t i o ni sr e a l i z e db yt e c h n o l o g yo fa s p a n d c o mm o d u l et o g e t h e r a tt h ee n do f t h i st h e s i s ,t h ew a yo f s y s t e m sr e a l i z a t i o ni si n t r o d u c e d w i t ht h e e x a m p l eo fi m p l e m e n to ft h er e t r i e v i n gt o o l o fc o m p o n e n t ,a n ds o m et e c h n i c a l p r o b l e m sa n d t h e i rs o l u t i o na r ed i s c u s s e d k e y w o r d s o f t w a r e r e u s e ,c o m p o n e n t ,r e u s a b l ec o m p o n e n t ,c o m p o n e n tl i b r a r y ,c o m p o n e n t r e t r i e v a l ,c o m p o n e n tm a n a g e m e n t ,s y s t e m o fc l a s s i f i c a t i o n 西北工业大学硕士研究生学位论文 第一章软件复用与软件构件技术 第一章软件复用与软件构件技术 1 1 软件复用与构件技术 ”软件工程发展了已近三十年了。其间,众多的科研人员和工程技术人员付出了艰 辛的努力,取得了丰硕成果。软件工程思想和技术的普及,使软件生产率稳步上- y t ,软 件质量得到很大改善。但是,这还不能满足软件产业发展的需求,离彻底解决“软件危 机”还有相当大的距离。 近几年来,人们开始认识到,要彻底解决“软件危机”,就要真正实现软件的工业化 生产方式,这样,才能保证软件生产的高效率和高质量,软件复用是一条现实可行的途 径。对软件复用技术的研究已成为软件工程界的主攻方向之一。 软件复用是指应用已有的、为复用目的而开发的软件构件构造新的软件系统。软件 构件技术被视为支持软件复用的核心技术之一。围绕软件复用出现了许多软件开发技 术,比如软件构件技术、软件构架技术、构件组装技术等,这些方面的研究是软件复用 研究的重点。 软件行业的丁业化趋势导致了软件构件的产生。所谓软件构件是指应用系统中可以 被明确辨识的构成成分,而可复j ;l 构件是指具有相对独立的功能和可复j ; 1 价值的构件。 随着对构件理解的深入,构件的概念已经不再局限于源代码构件,而是延伸到系统和构 件的需求规约、构架、文档、测试计划、测试案例和数据以及其它对开发活动有利的信 息。 当前,软件构件技术已成为研究的热点,其研究内容包括构件的标准与模型、构件 的生产与获取、构件的规约与描述、构件的分类与组织、构件的检索与组装、软件体系 结构、软件复用支持工具与管理手段、基于复用的软件开发过程等方面。研究工作有很 大进展和众多成果,而且还出现了一些产业构件标准,如m i c r o s o f t 的o l e - - c o m 、o m g 的c o r b a o m 等。这标志着软件复用已进入蓬勃发展的时期“。 1 2 基于构件的软件开发方式 ”基于构件的软件开发大致可分为可复用构件( t - 刘e n 称构件) 的生产,构件的 存储、组织和检索,基于构件的系统组装三个主要过程。存放开发中使用和生成的众多 嚣兹王簸大学颞圭鹾究生学粳论文 嚣一章软搏复用与软 牛搀件技术 构彳牛的构 牛库在基于构传的软件开发起到了重要的作用。围绕构件痒,可以将软件开发 活动划分为构件的生产、构件的管理和构件的复用等三部分。相应地- 每部分的软件歼 发入爨貔鬼橡佟生产者、构佟管理者秘构 睾复瑗尝。毽镪的拜发实践与擒转麾均有羞拔 密切的联系,如图卜1 所示。 稳件生产者 构件生产者相对于构件库而害就是构件的提供者,其主簧任务包括: 1 构件生产:生产菇有可复用性的构件。构件生产通避娃下三条途径来实现; 1 ) 综合利用领域工程、逆肉工程以及再工程技术,从成用领域的现有系统中抽取 构件和构架: 2 ) 对已经入瘁的掬髂和构絮进行秀工程,以遴一步提筒 也们的可复用悭; 3 ) 根据应用的需求,直接歼发所需构件; 2 镌棒适瘦毪穆改:缀摆擒馋搜鼹者鹃菱镄,对褐 孛遘纷逶瘦镶穆改,莠褥穆改燕 的结果作为该构件的一个新版本放入构件库中; 3 , 梅舞播述:将生产密的掏彳串淤一种麓范纯、翳予理解静方式来全蘑、准确圭氇獾述, 使得复用者能够准确地理解构件的功能以及其他非功能性指标( 如性能、可靠性 警) ,并由此来潮断该构件是否完全符合他的要求;闻时构件描述信意应为构件 纽装提供支持。描述信息述是构件瘁管理构 牛的主要依据。只有经过规范化搬 述的构件才可以存入构件库中保存。 掬馋管理考 即构件库系统的管理员,负责对构件进行分类、存储和维护。 1 。 = 霉 孛分类;梅 串镑理者要投撂梅俘生产者捉雾毒熬稳 譬攒逮绩惑,采翊凡蕈孛分类方 式( 例女刻面、荚键词等) 对构件进行分类,以便构件复用者能够快速准确地找 到所需的襁侔; 2 构件库管理:构 牛管理者还要对构件库进行日常管理和维护,包括修改、删除构 件及其描述信息,以及增加、修改、删除构件管理入嫩、构件复用者、构件提交 舞的镬用权限、收集整理爝户反馈健惠等工作,以缳涯构件黪系统的正常运作。 2 西北工业大学硕士研究生学位论文 第一章软件复用与软件构件技术 图1 1 构件库对基于构件的软件开发的支持 构件复_ i = j 者 是构件库的用户,构件库是为复用者的组装工作提供服务的。构件复用者所作的 工作是: 1 构件查询:根据构件库中的分类信息,在构件库中查找符合特定条件的构件,然 后再对找到的构件进行评估,找出最符合要求的构件; 2 构件理解和适应性修改:利用构件生产者的描述提供的信息来理解构件的功能以 及其他非功能性信息。如果所选择的构件不完全符合复用者的要求,那么复用者 可以对其进行适当的修改。但是,需要注意的是,随着所需修改部分比例的增加, 修改构件所花费的代价将以非常快的速度增长,因此,在合理的分工模式下,更 为适合的方法是将信息反馈给构件的生产者,由构件生产者来完成构件的适应性 修改。 3 构件组装:复用者的最终目标是通过组装现有构件来开发软件系统。 4 系统演化:通过快速替换系统中某些构件来对系统进行修改,如进行错误更正、 3 疆梵工韭大学蘸圭霹 究生学证论文 茧一章软搏复爨与软转构转技术 版本升级绒适应不断变化的满求。 在上述的基于构件的软件开发过程中,构件管理对构件生产和构件复用的过程起到 了承上囊”f 魏 擘燃。磊搀搏熬警理建由拇 誊蓐系绞实现戆。城姥,在藜于构件鼹软件开 发中支持构件分类、组织、存储和查询的构件库系统扮演着个重鬻角色。 1 3 构件开发对构件库检索和管理的要求 近年来随着i 酊向对象技术的发展,以及o l e 、c o r b a 、s 2 e e 等工业标准的出现,大大 羯激了稳 串按米瓣发震。薅着软耱笈耀实践豹深入秘露阗弱攘移,众照淘嚣积累弱构耱 将越来越多、企舭外部对构件的需求也越来越多。这样,就筒临者以下问题:一方面, 企监内鞫俘痒内露大量静构件,虫子复用人员的限翻,复瘸攀不离,一方面,众多静企 业外软件工程技术人员希望也需要能从共享构件库中获取共枣构件。同时,企业或组织 也希颦能方便地在企业或行业组织间进行构件的共事和交流。i n t e r n e t 和w e b 技术的成 熟,使德企业或缀织的构传瘁实现基于i n t e r n e t 的熬辜成为# 能和必然。这样不仅提赢 了构件的复用率,而且,众多的构件可以通过i n t e r n e t 提交到构件库,也势必增大构件 瓷源兹藏强,挺避复援实践豹发展。在i n t e r n e t 技术下始留实现掏锌黪对掬件豹毒效管 理和检索,成为研究的熏点,以便为构件复用实践提供技术支持。 1 4 构件库系统研究状况 当前软件界对可复用构件库及其相关问题进行了深入研究,并取得不少成果,如 r e b o o t “等实骣兹系统,r ! 1 、凇豫“等蠢难,a l o a f “3 等模型方疆戆研究。+ r e b 0 0 t ( r e u s e b a s e d o n o b i e c t * o r i e n t e d t e c h n i q u e s ) 是一个包括储存可复用构件的 数据库稻一组产燕、试话、插入、挺敬、评价裙适粥越复蠲稳 孛静工瑟豹强绫。在对掏 件进行分类时它聚用了亥u 两分类策略,但是它的刻画分类模式主要针对的是源代码级别 的构件,不能描述粒度较丈、结构较复杂的构件( 如模式、概架) 的能力。 n a t o ( n o r t h a t l a n t i c t r e a t y o r g a n i z a t i o n ) 提出了一釉刻睡分类模式,其中的刻面不 必彼此独立或适用于所有的构件。因此在对一个构件进行分类时,未必用所有的刻面来 撼述。蘩嚣拳疆之耀或者没寿关系或者是麓义通关系,寒港空闻是黪结擒健熬。 复用库可互操作性组织r i g ( r e u s el i b r a r yi n t e r o p e r a b i l i t yg r o u p ) 为则提出软件复用 4 蕊建工攮大学硕圭骄究生学搜论文 第一章软体复翅与戟释掏箨技术 疼闽事软 李构体、在软传构件疼之闽豹遴行i ,互操俘的勰题,它提供了一个据准的数据 模型,各这样个库都可以以它为中介来传递各自数据模型中的数据。 美滔军方发起妨s t a r s ( s o f t w a r e t e c h n o l o g y f o r a d a p t a b l e ,r e l i a b l es y s t e m s ) 矮瓣, 考虑了在构件库之间共事资源和实现无缝亘操作的问题,予9 2 年提出了开放体系结构的 构锌橇桀a l o a f ( a s s e tl i b r a r yo p e na r c h i t e c t u 他f r a m e w o r k ) 。a l f 在请主 s e e ( s o f t w a r ee n g i n e e r i n ge n v i r o n m e n t ) j q z 境上为构件库机制和相关的复用工舆提供服 务接口,以这缎标准的服务为基础实现构件库间的互操作。 此岁 ,国内对搀 牛库的研究也蠢了相应的成果。其中,以我国北京大学的青鸟工瑕 为软件复用及相关技术的研究工作水平的代表。青岛工程程“九五”期间开发了基于异 擒平台、翼有多嫠患源攘翔静瘟羽系统集掖缝装) 珲境毒鸟l | | 型3 ) 系统p l 。在娟癌构 件模型基础上,建立了青鸟构件库数据模型,并与其它c a s e i 具相结合,支持对构件 的摇述f 使耀毒鸟构件捂述语言搦* c d l ) 、分类、管理、存德、检索鞠复台,潞是了基 于“构件一构架”复用的软件开发过程的滞要。 1 5 本文的工作 木研究基于一个构件库原型基础之上。前期工作:已经具备构件基本检索和管理功 髓;存储上采掰稳件实俸释榴释播述分离斡存储方式,硷索构件是通遭检索数据库中的 构件信息完成。构件提交者可通过局域网将构件实体和其属性填写表打包拷到构件库簪 理员指定的共事文件夹中,但这时的提交的构件还不能使爝,因为还未经过确认,只有 当认i 正小组的确认通知单到达构件库管理员处时,掐l 牛库管溅员以确认单中的枣句 牛名称 在构件提交者共亭文件夹中寻找这个经过验证、可以入库的构件,通过提交机制( 只有 擒 孛摩管理员鸯投疆) ,褥忿梅 串豹属蛙填写到提交程旁中戆入痒秘 睾疆蛙藏惫表孛, 然后将构件实体上传。构件库中掇供的构件检索方法有基于构件属性、构件刻画和构件 关键运检索鞋及它稍豹缀合检索。检索爱我翻所需擒锌辩_ f 避过下载方式获敢。褥释维 护包括构件增加、构件删除和构件修改。具有有限的分类体系的维护功能。以上的构件 捷交入瘁、梅俸及其术语的维护等凳有构件管理员才有权限进行。构件库系统通过构件 库视图对不同使粥人员的权限进行控制。 目前的研究工作的方向:为了实现构件库的共事和实现构件的有效复用,将系统功 能遵 亍寥。展,镬之能基于广域疆进行稳孛 的捡索积提交,这捞疑可班滋 亍跨送壤不羼余 嚣嚣工致大学硬士磷究生学健论文 第一章软 睾复用与敬锌梅l 孛技术 业闻进行构件开发的台传,也可以充分利用广域网舱特点扩大了构件的复用机会和共攀 的范围,同时允许企业外更多的构件者提供者来提供构件、使构件资源更为丰富。即便 是仍在金韭内聱经缓,毽施改进避去熬提交方式,则大大提舞提交搀转熬效攀。嚣要在 以下几个方面努力:构件提交和管理方式的改变;构件检索方式的多样性;为适应不同 黪工佟领壤菇及瓣上稿件提交静霭要,构件豹分类体系要蓑活霹变。 目前的研究工作的目的是:便于进行不同地域间各个组织企业之间的合作乃至转变 为商业倪的构件库。 所作的工佟:在构 牛库原型的前期完成的构件艨系统上,进行于邋合广域网使用方 式下的构件库检索系统的改造,并结台实际应用对其不足之处加以改进。主要包括提交 方式鄹梅 串管理麴改造;j 类体裘豹灵活定袅| 蚕珏维护;对捡索方法邀撑改进,使查询方 式更为灵活和多样;对反馈管理进行改进。通过以上的研究,讨论如何通过有效的组织 帮警理( 帮标识、存德、维护等) 寒实现擒馋采实瑗梭磐魏毒效检索多释形式载鞠件( 魏: 文档、代码、测试用例、维护记录等) 的方法。 1 6 论文的组织结构 第章概迷:本章讲述软件复用的背景,引入软件复用、构件的概念以及描述燕 子软释复滔熬拜发方法罩瓣进程,掇豳基t - i n t e r n e t 瓣橡佟瘴繁理稆检索阂越在软 孛复臻 实践中的重要作用。列举了构件库技术在翻内、外发展的现状。讲述了作者的研究内容 帮论文的组织穰粱。 第二章构传、构件理论模型、构件摩概念模裂介绍:介绍了构件的概念及其理论 模型和概念模型,阐述了构件的统一的表示方式、为构件的分类打下基础。 第三章构件痒的存储方式:主器分绍秘讨论了本构彳牛瘁慕援的拘传存储方式积存储 对象,为f 一章对构件的组织分类和检索管理打下基础 第嚣| 章穆传疼分类髂系戆建瘦帮实熬:奔绥了搀终瘁静分类薅系熬建立方式,探讨 i n t e r n e t 方式下的对构件进行分类和提交的实现方斌,对构件的管理方式进行了调整、 并碜 究了对构捧分类体系静定翻和维护的方法。 第五章构件的检索机制:主要探讨构件库检索机制的实现方式。同时,改进检索 方法不怒,提高构件查询方式的炙活性和多样往。 第六章构l 牛霹系统体系结构及王具设计:本章主要介绍了本构传疼系统的薅系结 6 嚣i 工鼗大学疆圭帮 究生学使论文第一章戟转复爱与软辨构终技术 构和基于i n t e r n e t 方式下构件检索工具集中相关工具的设谢。 第七章构件库系统工具集的实现:讨论了构件检索工其集的实现过程,如页面的实 现、覆j 葶戆设谤。劳戳掏终检索王其燕攒分缨其实瑷方法。 第八章不足与展望:总结已究成的工作,讨论提高构件库系统检索进制j 二需要进 步完戒的工 睾。 7 嚣j 工鼗大学矮士耩究生学挺论支第二章擒 串、麴 争理论模型、耱擎 瘁概念筷垄套绻 第二章构件、构件理论模型、构件库概念模型介绍 构件的组缓和检索跫基于构件的有效表示之上的。f 1 2 强l 何有效她表示可复用构辞, 是人们首先关心的问题。可复用构件表示的相关的研究涉及到构件搬念、构 牛舰约、构 件库数据建模等问题。本章通过讨论本构件库所采用的构件模型,就以上角度等对 掏 孚表示停初步豹分缨秘探讨,懑时为下一章豹梭锌痒豹分类策赡熬实燕打下基础。 本章对构件概念、构件模型作了介绍。阐明在构件以构件理论模型为规范进行统一 标识嚣,可臻采瓣统一翡方法存储或裣索多耱形式翡糖辞,为梭终黪分类秘检索蠡下蒸 础。同时也对构件库概念模型也进行了介绍,它是构件库的研究基础。 2 1 构件的概念 1 构件是描应用系统中可以明确辨识的构成成分。而可复用构件是指具有相对独 立翡功能帮可藏瘸锛攘瓣毒每俘。一般来说,只要是软 牛系统中可菇鞠确识剐静、可被德 人复用的成分,都可以称为构件。构件的最小粒魔为单个的类和模块。 可复用构件应其备以下属性: 有用性:构件必须提供有用的功能; 可翊性:构件必缬易于理解和使j = l : 矮麓:拇 孛及奠变形必须鼗正确工作; 适成性:构件应该易于通过参数化簿方式在不同语境中进行配置: 可移檀犍:季弩掌 瘦在不嗣瓣硬 孛运行平台秘较锌嚣壤中工佟。 2 。l 。l 瓣肄的形式化摇述 稳终熬澎式讫接述 构件可以用个四元组来表示:构件:呵构件标识符,构件说明,构件体,接口) 。构件 标误符楚梅箨在梅传疼串豹唯一舔识。怒季奄佟说翻、接目和桷俘俸分拜静蘸弱楚考虑舞 同一个构件说明可以由不同的程序设计语亩来实现即使同个构件可以有多个不同语 言实现的构件俸,值得说嘴的是,构件的接口不仅要提供外部物理实现接口,而且还要掇 供一个外部逻辑接口,外部逻辑接嬲是给用户提供一个非形式化的该构件的功能描述,这 g 疆袭王数大学蘸士磷究生学挝论文 第二牵糖舞、轻赞瑾谊攘鼙、穆捧痒概念模型奔缝 榉更能方便耀户了解和技嗣构件 “1 。 构件舰约 “豫锌翘终是逶过掏侉疆述谣言怼秘磐进行豹形式纯攘速,献瑟袋褥舞l 户透过它能 够了解构件的接口及其功能。描述规约的构件描述语言是语法和语义、语用的结构化系 统,掰子描述绘定颁蠛辛鸯徉的本矮璃往。 构件描述语言的主要作用是搬述构件接口,通过构件搦述语言,统一了不同技术开 发的构件的接口的表达方式,不仅方便阅读和理鹪,也在以下三个方面起到整要作用: 1 ) 、在芏其的支持下实现蠡动或半自动的掇 孛复合;2 ) 、利煺接口攒述中黯形式纯信息 来进行构件验诞;3 ) 、利用规约聪配技术来进行构件查询。 2 2 构件的理论模型 构件理论模型是对构件的本质特征、构成及相蕊关系的描述。在基于构件的软件歼 发方法中,构转理论摸囊是最摄本敬基础,它苇但影嫡羞均 孛豹分类、存德秘管理,魂 决定了构件组装的方式,是基于构件的软件开发方法中所有工作的核心。 本橡锌瘁爨型中囊莱蠲兹构绛模型整撩于专乌梅传模囊f l ”,将获澎态、层次移表示羔 个视角来描述。介绍如下: 2 2 1 构件的形态、层次和表示 构搏的形态 构件呈现不间的形态,体现了在构件的结构组织方式上的差异。构件模型中的构 锌具有不嚣嚣粒发,嚣其鸯不强懿澎态。主要据捧形态毒: 类 类是裙对独立、接瓣葫确著冀有穰离内聚往的露复彝;实俸,是最基本静构传单元。 类树 一个类树是这样一种构件,它由多个抽象或具体的豢组成相砸作用,却又有一 个共游兹拯象类懿投。这弹静梭锌翻徼类树。挺缀捶象类葶l 矮虚方法定义箕乡 帮蔹 口,而将其具体实现推迟到派嫩的予类中,用户只能通过这个虚接口对类树内部的 类遴行操作。 - 框架 9 疆北工业大学硕士弩院生学像论文第二章拇俘、梅静理论模蝥、摘俘鳆黛骥鼙套绥 一令挺絮囊一缝绣 睾类缀裁,阐臻了整个设诗、类闽彼裁及戏费娄戆舞经分布。 这些类通常题抽象类,实现细节放在具体子类中,构成个抽象设计,不同的子类 构成对设计的不同实或。框柒作为构件经得用户可敬复弼设计,耀户逶遥其体子类 的嵌入而在框架中加入特殊功能。 设计模式 设计模式是一秘以抽象的方式表达的设计镪验,是对经验的姓式表示,每个设 计模式描述了个反复出现的问题以及该问题解法的核心内容,它命名、抽象并标 识7 一个逶耀设魂一臻擒熬关键罄分,使撂它可戳爱来创建一个可复耀麴露趣对象豹 设计。设计模式作为町复用构件体现了较高层次的设计思想的复用。将设计模式加 懿其体纯,瑟可褥到撬架。逶:适在设麓+ 除莰复嗣模式,霹淤大大缒藩系统熬可扩震 性和可移植性,优化系统的设计结构。 构勰 软件系统的体系结构的熙式表示。构架具有领域相关性,构件根据构架进行 复合而生成可运行的系统。构架是一类特殊的构件,可视为框架熠于描述个应用 系统辩静极限状态。 除了以上的形态外,还可以根据需要实践的需嚣定义新的构件形态的体现形式,例 囊l 是u m l 熬矮铡模型等。 上面的构件形态描述中,体现着构件的内部组织结构从具体到抽氖、构件相互作 蠲关系觚其体至l 摘象特点。阉嚣重,上述备类形态秘俘霹其鸯密切关系,遂常,个穆絮 由若干梃架所构成,框架又可包禽子框架、类树、抽象类和艇体类,类树由抽象类和具 体予类擒成,类怒最基本的构件筚元。在这个意义上,构件的形态体璐了构件粒度上的 差异。 这种构件模型的形态描述将不同抽象程度和不同粒度的构件统一在一起,可以描 述粒瘦较大、臻疑较复杂躲掏 牟( 魏模式、挺桨) 。 构件的层次 霹笈掰梅传投据萁产生予开发过程懿不瓣除莰穗楚予不弱豹擒象嫠次。聿霉 孛穰黧 将构件分为六个层次。 1 需求阶段:指系统需求和功熊描述阶段。 2 分析阶段:指系统和功能分末吁描述阶段。 3 设计阶段:指系统体系结构和设计方案阶段。 1 0 嚣悲工娃大学疆士黟院生学接论文第二章褥辞、掏传理论筷型、构箨痒壤念模型舟缨 4 。编码除段:出具体程序设计语言编制的源代码构搏除段。 5 测试阶段:测试方案、计划和测试案例阶段。 6 维护验段:维护 鲻耪维护纪录酚段。 构件的表示 不阕麓次的输俘其有不淹静表示媒奔饔手段,魏甏形、文本、侥鹃、编褥语言等。 形态、表示、层次的关系 构件的形态、层次、表示是三个正交的视角,来描述构件。如下图2 3 所示。 图2 - - 1 形态、表示、层次对构件的描述 在橡件以构件理论摸型为翅蕊避行统一:标识基,不嗣形态、不羁簇次、不嗣表示弱 构件可阱统一的方式来表示。这样可以采用统一的方法存储或检索多种形式的构件( 如: 文接、戴鹚、测试耀铡、维护记录等) ,为聿奄件懿存储、分类、管理、检索豹磷究打下 基础。 2 3 构件库的实体。关系概念模型 2 3 。1 构件库的概念模型 构件库的概念模型是熬于上述构件理论模型的熬础之上建立的,熄构件库研究的基 础。本构件库的概念模塑如图2 - - 2 所示。 l l 嚣靶工毙大学颈圭替f 宠生学垃论文第二章橡律、掬髂壤论援型、毽壁壅堡垒鎏型窒堡 图2 2 构件库的实体一关系例 2 3 2 构件库实体描述介绍 1 构件:构件可以是软件开发过程中不周阶段所生成的不同形态、不同表 示的软件实俸,是构件蓐中的主要实体。 2 + 使用嚣:查询、获取和使用构件的构件复 j 者。 3 提交者:构件的制作者。 4 。反馈:强户使弱搀终蓐斡对糖 孛反馈慧见。 5 刻耐:刻面反映了一个构件在不同语境中的特性,使得j 打户可以从多个角度去 理辩鞠使爆椽传。每个剩嚣都簧共有一缀稿疲的零语,涮柬接述臻分类嚣秘 孛。在 构件库中,每个分类刻面作为个单独的实体,其中保存了该刻蒯的所有术语信息 以及术语空闯静结稳。 6 术语:术语是置于特定语境中的关键词,棚子描述构件的特性。术语必须依附于 某个刻面。 7 。构件摇述信息:包括搦孛 的属性、麓介、接口说明等对构件进抒描述的倍 息。 描述构件髑羚臻环境在氍念级粒内容级的美装。语最刘蓉掩辫静旌用巧麓,为秘箨熬建勰和蓬照挫咎改提 供指导。 2 疆乾工监大学颈圭掰究生学位论文 第二章鞫葶聿、秘 串建论搂型、褥箨瘁撬念摸壁奔缨 2 3 。3 梅件痒实体阍关系的箍述 1 擒 孛之阕豹关系: 描述构件间的关系。为了给使用者在褒询构件时提供方便,同时也为了更好地复用 秘律,稳俘库为橡件实薅淘建立了下捌多耱关系,鲡被实褒关系、舨零关系、畿含关系、 相关关系、协作必系等。是构件之间相互联系的体现。 2 提交者与构件的关系: 一个提交者可以提供多个构件,但一个构件只能来自于一个制作者。这榉,从一个 构件出发可以找到它的提交者,从一个提交者出发可以了解到他提供过的所有构件。 3 ,搜髑者与橡传熬关系: 使用者使用构件并提出对构件的反馈。 4 剩露与术语豹关系; 一个刻面包含多个术语,一个术语只能对应一个刻面。 5 。 构件与术语的关系:梅件瘁瞽澄者一曼为丰每俘在菜个蜜l 瑟中选定一个米添,就必 须在构件与该术语间建立对应关系。这样在查询时,从一个术语出发可以迅速找到与 之相关联的所有构件。 6 术语之阀的荧系:术语之间通过“一般特殊”鞫“同义词”关系捃互关联,体现 了术语间的层次燕系。 7 。 构馋与攘述偿息的关鬈: 每个构件都有个与之相对应的多种内容和形式的描述信息,这样便于使j j 者的浏 菱帮理解。 + 3 莲乾工韭大学颈士移 究生学垃论文 簿三章构害 痒耱存镌方式 第三章构件库的存储方式 本节主要| 寸论本擒蛰簿辑采弼豹擒孛 存建方式张存穰霹象。耩 孛痒存转方式瓣选耩 极大影响着构件库的检索方式和效率。本构件库采用关系数据库系统和文件系统分别存 放构件的捂述说秘文件和鞠锌实体,这样辩构俸的撩律( 获致构件实俸除乡 ) 同对构俸属 性的操作一一对应,对构件的研究等同于对构件属性的研究,为下一麓对构件的组织分 类和检索管理打下基础。这样的存储方式程i n t e r n e t 方式下同样适用。 3 1 构件的存储方式 构件库的构件存储系统可叹采用多种方式:面向对象数据库o o d b s m s 、关系数 据库r d b m s 和文件系统f i l e s ! “i 。 o o d b s m s 其有存储数据量大、易于维护、易于扩充、易于格式动态变动锌优点, 健它霹翦囊无成熟产品,龙其在据踺纯鞠梭毙上令人不满意,并且有些掏 孛又不支持 o o 技术,因而o o d b s m s 不能满足构件麾对构件的存储要求。 褪毙之下,关系鼗据簿r d b m s 其骞穗存程警臻大量数攒瓣高效性、理论熬严密瞧 和技术的成熟性,它不仅可以支持存储不同的数据类型和复杂的数据结构,而且能够表 示结构佬的鼗摇,可醴方便遮表达密数据之闼的关系,并置还可以提供多稀线索送行查 询,具有很高的查询效率,所以是构件存储系统的蓠选。但是,在实际应| e i j 中,构件的 缩构极葵复杂,存在形式多种多样,且构件的体积可能很大,这与关系数据库对所保存 的数据项一般都肖尺寸限制,不蜜过大的要求不相符合。所以,仅罔r d b m s 来存储构 件显然避可能的,但是又是不够的。 另一搴孛可j ;| 柬存德豹系统是文件系统f i l e s 。f i l e s 系统戆存继特点楚存绪蜜篷太, 对存储的数据体积无限制,且可以存储多种不同形式的构件。这点刚好符合对构件存储 黪要求。瓣蘸,醴遣寿许多软律产黯帮采塌了文释系统来存储稳箨,魏b o r l a n d 公霹的 d e l p h i 2 0 和p o w e r s o f t 公司的p o w e r b u i l d e r 5 0 的对苏仓库等,它们就是使用的f i l e s 文 件系统。但f i l e s 不和子大鬣数据的存储,嚣为它的蠢询效率低,缺少有效快捷的检索 途径,查找构件不方便。同时,由予文件系统操 乍的旗本单位是文件,文转与文 牛之间 不能建立复杂关系。显然,这与对构件检索商效率的溪求不符,同样也与对在构件之间 建立备萼孛关系豹要文不铃。因魏,文箨系统f i l e s 也不完全蛰台对掏 孛存继豹露簧。 1 4 西北工业大学硕士研究生学位论文 第三章构件库的存储方式 从上述的分析可以知道,数据库主要适合存放有复杂结构和相互关系并且对检索效 率有较高要求的数据,而文件系统适合存放对检索效率没有很高要求,但尺寸较大的数 据。由此可见,任何一种单一的存储系统都不能高效、灵活地储存和管理构件。 在本构件库系统中,构件分为构件信息和构件实体两部分内容,如图3 - 1 所示。构 件文件信息中包含构件的分类信息( 也叫目录信息) ,即因为分类和检索的需要而附加 建立的信息;构件的描述信息,是指对构件属性的描述、构件的说明等可增加对构件理 解的说明文件。指针信息则是指对构件实体实际存放位置的描述。 图3 1 构件的表示模型 因此,在本构件库系统中可以利用r d b m s 来存储构件的信息部分,利用文件系统 来存储构件的实体部分,并通过信息文件中的指针信息在构件说明信息部分和构件实体 部分之间建立链接。构件信息部分的特点是数据的格式和类型多样化,数据的体积一般 不大,不同构件的描述信息之间关系多样。这些描述信息以数据的形式存储在r d b m s 中,充分利用了r d b m s 存储数据的优势。而将具有复杂结构和较大体积的构件实体存 储在文件系统中,则又充分利用了其存储优势,避免了文件系统的查询弱势。当用户查 询构件时,以对构件信息数据的查询代替了对构件的查询。这样的存储方式,既具有 r d b m s 的查询高效性,又具有文件系统的存储的灵活性,因此成为本构件库所选择的 存储方式,如图3 - 2 所示。 这样的存储方式,也是在构件和构件信息数据之间建立了一种一一映射的关系。下 文中对构件信息文件等属性数据的分类、检索和管理的研究就可以等价于对构件的分 类、检索和管理的研究。 在本构件库进行i n t e r n e t 方式的扩展时,这种存储方式仍可适用。 疆j t 工业文学醺圭鹭 究生学往论文第三章稿俘瘁抟毒懿方式 ,黼八耢氐 、匿蛞退够, 菡 。套圈 数据库管理系统、l 秽。8 尸 k 构件实体l 构件实体i 圈3 2 构件的存储方式 3 2 构件库中的存储对象分析 构件库中的存储对臻包括构件实体、构件描述信息、构件管理控制信息簿。 稔释瘁终为基予穆律并发遥稚孛懿羹簧蕴藏帮分,主要俸孀不仅楚保存稳襻实蒋, 而且还熊检索和管理构件信息、以利于选取符合需要的构件。所以构件库不仅鞭保存众 多的构件实体,还需要记泶这些构件丰富静描述和说明信怠。此井,为了保证系统运行 的安全性,必须对构件库使j _ i j 者的身份和权限进行控制和管理,进行控制和管理权限的 相关的信息也存储在构件库中。所有这些内容,构成了构件库系统存储和管理的对象, 具体来说,包括如下内容: 构件实体:主要是指构件本身的内容,即复用耆最终感必趣的软件成分,如,代码、 设诗文档等。获褒兹搏实镑楚恁户壤瓣捷鼗瘁瓣最终基熬。 - l i t 构件描述信息:在构件本身的实体内容中不存在,是人为增加的用于构件属性描述 和分类酶薅怠,翳静怒便予鞫彳率复爝髯对穆侔的奎我和联解,楚褥件蜜询耪理解掰 借助的依据。下面对构件信息文件包禽的内容作一个简要介绍。 夺有关构件基本特征的属憔信息;知名称、版本号、作者等。 夺有关构 孛绉述构件内容的信息:如用于攒述构件的功能和接口等约采的掏件 规约、构件的说明和介缨等。 夺奏关捻传静分类售患:翔构学豹关键溺、褥 孛豹关系、构转熬形态、接述构 件的术语和刻磷等信息。 夺橹释静存放缝缭信患:静梅俘在文释系统鹣存放璐魁。 1 6 蒴北工监大掌硬圭磷究生学惶论文第三章稳辞疼瓣存秸方式 秘传管理控臻l 售惠: 夺人员基本信息:包括在系统中注册的用户、管理员和构件提供者的名称、口 令、联系方式骧及爵属行韭等记袋镑惠。 夺使用权限信息:在构件庠中不同角色的人员有具有不同的使用权限,这些权 限信怠记录在构件库中来控帝对构件痒的访闷,稼证数据安全。 夺视图橼识信息:辅助构件管理、权限控制褥设置的一种标识。作为权限控制 的方式,构件席使用者只被允许使用其权限范围内的构件视图中进行浏览、 检索残存放、删除或下载构 孛。作为管理方式,构髂疼使鲻者可以疆助视图 来缩小查找范围,即可以将使用频率较高的构件集中放在某个或几个视图中, 零l 予警毽、检索狂查询。这里瓣筏圈只燕一耪标浚,暂存秘薅l 除秘徉只是对 这个构件上的视图标识进行标注和删除操作,对构件库中的构件没有直接影 响。 1 7 掰北工业大学硕士研究生学位论文 第四童构件库分类体系的建立和实施 第四章构件库分类体系的建立和实施 构件的有效组织是管理和检索构件的基础。合理地组织构件库的关键,魑合理地 愆稳 警逡符分类,跌瑟按照不霹黪分类模式将穆转维织残不震鼹橡终集会。是琴骞效连 对构件进行分类存储将关系到构件库的管理、构件的查询效率、构件的可理解程度、构 件的可维护经等多个菲常鼙耍的因素。对痒串进行治警的分类不仅施簿仡构俘瘴系统的 瞥理过程,也会为检索提供

温馨提示

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

评论

0/150

提交评论