(计算机应用技术专业论文)构件技术在网球信息化平台中的研究与应用.pdf_第1页
(计算机应用技术专业论文)构件技术在网球信息化平台中的研究与应用.pdf_第2页
(计算机应用技术专业论文)构件技术在网球信息化平台中的研究与应用.pdf_第3页
(计算机应用技术专业论文)构件技术在网球信息化平台中的研究与应用.pdf_第4页
(计算机应用技术专业论文)构件技术在网球信息化平台中的研究与应用.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

学位论文完成日期: 指导教师签字: 答辩委员会成员签字: 垄! 里生凰鉴日 逊玺幽 独创声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含未获得( 洼;麴递直墓丝益要挂 别主明的:奎拦互窒2 或其他教育机构的学位或证书使用过的材料。与我一同 工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:刘盈答字f lg q :加i 年5 月弓d 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人 授权学校可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用 影印、缩印或扫描等复制手段保存、汇编学位论文。同时授权中国科学技术信息 研究所将本学位论文收录到中国学位论文全文数据库,并通过网络向社会公 众提供信息服务。( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:刹舀越 导师签字: 撕身四 签字日期:矽1 9 年s 月3 p 日签字日期:2 o l o 年s 月3 de l 构件技术在网球信息化平台中的研究与应用 摘要 软件危机依然存在,仍在制约着软件领域的发展。基于构件的软件开发将软 件构架作为开发蓝图,把可复用构件作为组装模块,将软件以组装的形式进行开 发,是提高软件生产效率和产品质量、缩短产品开发时间的有效途径之一。 随着我国体育实力的不断提升,各运动队对于能够影响到运动员成绩的各个 细节开始有了更高的要求,网球信息化平台正是综合了运动员基本情况、运动员 训练和比赛信息、图像视频分析以及训练监控等网球队相关数据,运用数据库、 网络通信、图像处理及其它技术手段,实现相关信息的采集、存储、管理;利用 统计学、数据挖掘等各种方法,结合各种运动理论和网球项目的特点,对这些数 据进行综合分析和利用,从而达到优化运动员训练并进一步提高运动员比赛成绩 的目的。它的开发以及实施极大的方便和简化了运动队的各项工作。 本文根据网球信息化平台提出的具体要求,结合自身开发过的相关系统的经 验,运用面向构件的设计思想,有机的完成了网球信息化平台软件的开发。首先 学习了软件复用技术和软件构件技术理论,研究基于构件的软件复用技术。介绍 了软件复用和构件的相关技术,明确采用构件技术开发的意义,介绍了c o m 技 术和u m l 建模方法;熟悉了基于构件的软件工程的开发过程和思想。然后,通 过对系统的了解,运用面向构件的思想,对信息化平台进行了领域分析和建模, 通过r b c i 算法进行构件的划分,给出了系统的逻辑架构和数据库设计。最后, 结合对网球信息化平台构件的划分,采用c o m 服务器等技术实现了各构件并对 各构件进行封装和集成,成功实现了网球信息化平台,并展示了系统的部分代码 和界面。 论文最后针对自身做了总结,阐述了本论文的工作,并指出进一步研究的方 向。 关键词:软件复用,构件技术,组件对象模型,统一建模 t h er e s e a r c ha n da p p iic a tio no fc o m p o n e n tt e c h n o lo gie s inn a tio n ait e n nist e a m in f o r m a tio np ia t f o r m a b s t r a c t t h es o f w f l r ec r i s i si ss t i l lw i d e l ye x i s t i ts e r i o u s l yr e s t r i c t ss o f t w a r ed e v e l o p n l e n t c o m p o n e n tb a s e ds o 胁a r ed e v e l o p m e n ti st ot a k es o f t w a r e 行锄ea l st oa s s e m b l ea b l u ep r i n t ,t ot a k er e u s es o f t w a r ec o m p o n e n ta sa m o d u l et ob u i l du pas y s t e m ,t o s u p p o r tc o n s t r u c t i o nt y p es o f t w a r er e u s e i ti sav a l i dp a t h sw h i c hr a i s e se f f i c i e n c v a n dp r o d u c tq u a l i t yo ft h es o t h , v a r ep r o d u c t i o n , e a s e ss i d ee f f e c to f ap e f s o l l i l e lf l o w a n ds h o r t e n sp r o d u c tc o n s i g n a t i o nt i m e w i t ht h er i s i n gp o w e ro f s p o r t s ,t h es p o r t st e a m sb e g i nt oh a v eh i g h e rr e q u i r e m e n t s f o rt h ed e t a i l st h a tc a na f f e c tt h ea t h l e t e s n a t i o n a lt e n n i st e a m i n f o n n a t i o np l a t f o r n l i n t e g r a t e st h eb a s i cs i t u a t i o no fa t h l e t e s ,a t h l e t et r a i n i n ga n dc o m p e t i t i o ni l 怕m a t i o n d a t a , i m a g e s ,v i d e oa n a l y s i sa n dt r a i n i n go f m o n i t o r i n gd a t at e l l l l j st e 锄i tu s e s d a t a b a s e ,n e t w o r kc o m m u n i c a t i o n s ,i m a g ep r o c e s s i n ga n do t h e rt e c l l i l i c a lm e a n st o a c h i e v et h er e l e v a n ti n f o r m a t i o nc o l l e c t i o n ,s t o r a g ea n dm a n a g e m e n t i th a sa c o m p r e h e n s i v ea n a l y s i so ft h e s ed a t a , c o m b i n i n gt h ec h a r a c t e r i s t i c so f k i n e f i ct h e o r y a n dt e n n i sa n du s i n gs t a t i s t i c a l ,d a t am i n i n ga n do t h e r m e t h o d s ,s oa st oo p t i m i z ea n d f u r t h e ri m p r o v et h ea t h l e t e st r a i n i n gi nt h ep l a y e rr e s u l t so f p u r p o s e s i t sd e v e l o p m e n t a n di m p l e m e n t a t i o ns i m p l i f yt h ew o r ko f s p o r t st e a m s a c c o r d i n gt ot h es p e c i f i cr e q u i r e m e n t so ft h et e n n i st e a mi n f o r m a t i o np l a t f o n l l a n dc o m b i n i n gw i t ho u r s e l v e s d e v e l o p m e n te x p e r i e n c eo v e rt h er e l a t e ds y s t e m s ,、 u s et h ec o m p o n e n t - o r i e n t e dd e s i g na n d c o m p l e t et h et e n n i st e 锄h 渤咖a t i 伽 p l a t f o r m t h ea r t i c l ef n - s tr e s e a r c h e st h ec o m p o n e n t b a s e ds o f t w a r er e u s e t e c h n 0 1 0 9 y w i t ht h es o f t w a r er e u s e t e c h n o l o g ya n dc o m p o n e n t b a s e ds o f t w a r et e c h n 0 1 0 9 yt h e o r y i ti n t r o d u c e sas o f t w a r er e u s ea n dc o m p o n e n t - b a s e dt e c h n o l o g i e s ,s p e c i f i c a l l yt h e s i g n i f i c a n c eo fu s i n gc o m p o n e n tt e c h n o l o g yd e v e l o p m e n t ,t h e ni n t r o d u c e st h ec o m t e c h n o l o g ya n du m lm o d e l i n ga n df a m i l i a rw i t hc o m p o n e n t b a s e ds o 胁r e e n g i n e e r i n gd e v e l o p m e n tp r o c e s sa n di d e a s t h e n ,b yu n d e r s t a n d i n gt h es y s t e r n ,w e 玎 m a k et h ed o m a i na n a l y s i sa n dm o d e l i n gf o rt h ei n f o r m a t i o np l a t f o r mb y u s i n gt h e c o m p o n e n t b a s e dt h i n k i n g w eg i v et h el o g i eo ft h es y s t e ma r c h i t e c t u r ea n dd a t a b a s e d e s i g nb yr b c ia l g o r i t h md i v i s i o n f i n a l l y , w er e a l i z et h et e n n i st e a mi n f o r m a t i o n p l a t f o r ma n dd e m o n s t r a t es o m eo ft h es y s t e mc o d ea n di n t e r f a c ec o m b i n i n gt h e c o m p o n e n t so ft h e t e n n i sd i v i s i o no fi n f o r m a t i o np l a t f o r ma n du s i n gt e c h n o l o g i e s s u c ha sc o ms e r v e r w es u m m a r i z et h ew o r ko ft h i sp a p e ra n dp o i n to u tt h ed i r e c t i o n f o rf u r t h e rr e s e a r c h k e yw o r d :s o f t w a r er e u s e ,s o f t w a r ec o m p o n e n t ,c o m ,u m l 1 1 1 目录 摘要i a b s t r a c t i i 1 绪论1 1 1 研究背景1 1 2 国内外研究现状2 1 3 本文的研究内容3 1 4 论文组织4 2 相关技术介绍5 2 1 软件复用5 2 1 1 软件复用的概念5 2 1 2 软件复用分类5 2 2 软件构件:8 2 2 1 构件的概念8 2 2 2 构件的类型8 2 2 3 构件的规格9 2 3 构件模型9 2 3 1o m g 的c o r b a l o 2 3 2m i c r o s o f t 的c o m d c o m l1 2 3 3s u n 的e j b 1 1 2 4c o m 技才之1 3 2 4 1c o m 的基本概念1 3 2 4 2c o m 的特点1 3 2 5u m i 】4 3 基于构件的软件开发16 3 1c b s e 的特点1 6 3 2c b s e 的开发思想1 7 3 3c b s e 的过程1 8 3 3 1 构件的选取1 8 3 3 2 构件的评估1 8 3 3 3 构件的管理1 8 3 3 4 构件的组装1 9 3 3 5 构件的测试2 1 3 4c b s e 的问题模型2 1 4 基于构件技术的网球信息平台的分析与设计一2 3 4 1 计算机技术在体育领域中的应用2 3 4 2 网球信息化平台概述2 4 4 3 已有的系统2 6 4 3 1 系统介绍2 6 4 3 2 经验和不足2 7 4 3 3 问题提出2 9 4 4 方案选择2 9 4 5 系统设计3 0 4 5 1 领域分析3 1 4 5 2 领域建模3 2 4 5 3 构件获取3 5 4 5 4 构件建模4 l 4 5 数据库设计4 2 5 基于构件技术的网球信息化平台的实现4 3 5 1 概j 苤4 3 5 2 系统运行环境4 4 5 3 构件实现4 4 5 3 1 基础服务构件4 4 v 5 3 2 视频管理构件5 0 5 4 构件组装! 5 4 6 总结与展望5 7 参考文献5 8 致 射6 1 个人简历6 2 攻读学位期间的主要成果6 2 v 构件技术在网球信息化平台中的研究与应用 1 绪论 1 1 研究背景 近年来,计算机技术的快速发展已经对人类社会产生了前所未有的影响,而 计算机软件作为计算机系统的关键部分,被寄予了更多的希望。计算机应用的不 断扩大,软件规模和需求量的迅速增长,带来了软件复杂程度的增加和程序代码 的几何级增长。大量的软件开发、庞大的维护费用和下滑的软件质量,对计算机 的发展构成了威胁【。传统的软件开发方法在开发质量和效率上已显得力不从 心,软件行业受到了巨大的挑战。 计算机技术的发展尤其是在信息管理方面的发展使得各行各业普遍实行信 息自动化,以提高企业的竞争力,改进企业的管理水平,这也刺激了软件开发机 构的快速发展。在软件开发的时候,能够对已有的各项成果加以利用,增加技术 积累,从而避免重复劳动,提高开发效率,并能保证软件的质量,对于开发部门 来说变的更加重要。 软件复用思想【2 9 】的出现和发展,对软件行业乃至整个计算机技术的发展都具 有重大的影响。根据已有的可靠的复用部分来进行应用系统的开发,在质量上能 得以保证,在开发速度上相比于传统开发方式大大提高,由此带来的市场机遇会 直接提高企业的经济效益和社会效益。 软件复用技术使得软件开发在效率上得到提高,并且能够极大地减少重复性 劳动,在软件质量上有保证,达到延长软件生命周期、缩短开发周期和降低开发 成本的目的【2 】。软件复用的另一个优势是能够统一软件设计的标准和风格,从而 提高软件的可移植性。软件复用技术的发展,使得软件在可靠性、可维护性等方 面得到改善,将软件行业的发展产业化。 软件复用主要是以构件形式的复用为主,因此,基于构件的软件复用技术就 成为了软件复用研究的焦点和核心部分。基于构件的软件复用技术将软件以搭积 木的方式进行组装,降低了软件开发和维护的难度,能够更灵活的适应客户提出 的新需求和方案,真正的实现“随需而变”。因为软件以构件集成的方式来实现, 所以软件在复用性方面相对优秀,避免了传统开发方式带来的问题,以构件形式 构件技术在网球信息化平台中的研究与应用 进行的软件开发技术被认为是有效解决软件行业所面临危机的最好方法。 1 2 国内外研究现状 在国外,软件构件技术起步较早,在很多行业都已经有所运用。特别是在美 国和日本等国家,早在二十世纪末就提出了软件构件技术的重要性,认为它是解 决面临的软件危机的最佳途径,并提出要建立国家级的软件构件库。美国总统信 息顾问曾在美国的国家白皮书上,提出了五大技术来有效缓解美国的软件产业存 在的问题,其中之一就是建立美国国家软件构件库【3 巧】。 许多国外的大型软件公司( 如m i c r o s o f t ,s u n ) 和软件组织机构都已经推出了 适合于构件技术开发的平台。当前比较流行的软件构件技术标准有:o m g 提出 的c o r b a ,s u n 提出的j a v a b e a n e j b 和m i c r o s o f t 提出的c o m + 。 我国的软件构件化思想发展相对较晚,主要起步于2 0 世纪9 0 年代。但是我 国表现出了对软件构件化发展的重视程度,国务院颁发的第 2 0 0 2 1 4 7 号文振兴 软件产业行动纲要( 2 0 0 2 年至2 0 0 5 年) ,将构件库列为影响整个软件行业发展 的关键性技术。目前我国比较具有代表性的研究机构如: ( 1 ) 北京大学软件工程研究所 北京大学软件工程研究所是一个专注于软件工程及其相关领域的研究和实 践的学术机构,其前身是1 9 8 3 年建立的软件工程教研室,1 9 9 9 年正式挂牌成为 北京大学的一个专业研究所。在中国最早倡导软件构件技术的杨芙清院士曾是该 研究所的所长。该所在软件复用和软件构件技术的研究方面取得了很多重要成 果。 ( 2 ) 上海软件构件化服务中心 上海软件构件化服务中心( 简称构件化中心) 主要从事在基于构件的软件工程 方面的相关技术等的应用和研究,并且以上海构件库为基础来实现了软件构件化 技术平台的建立和运营,为企业采用软件构件技术来进行开发提供全程的指导和 服务,推动了软件构件行业发展的进程。 ( 3 ) 上海普元信息公司 普元是国内最早推进面向构件技术的厂商之一,它建立了一套面向构架的应 用基础平台e o s 。并且普元和面向构件的技术已经在电信、银行等领域中众 2 构件技术在网球信息化平台中的研究与应用 多软件的开发和运营中得到了印证。在面向构件在软件的快速开发,随需应变, 质量保证,成本控制方面,为广大的中国软件用户,软件开发商提供了革命性的 技术。 ( 4 ) 中科院软件研究所 中科院软件所软件工程技术研究中心,它成功实现了作为知识创新工程成果 的信息化基础软件核心平台。并且提出了x d s a 构件和分布式对象之间基于代 理的互操作模型,并且对该模型进行了验证。 ( 5 ) a 联网实验室 互联网实验室长期从事对构件技术和软件产业的研究,是我国著名的i t 研 究机构,曾发布面向构件的互联网应用基础平台研究报告,这个报告详细的 介绍了关于构件技术的相关知识。构件技术在我国起步较晚,因此主要是靠政府 引导、支持、投资等,面向构件的科研组织和公司比较少,但是越来越多的企业 开始注意到构件技术所带来的优势并且开始应用。 1 3 本文的研究内容 本文首先学习了什么是软件构件技术,讲解了基于构件的软件复用方法的概 念和分类。按照软件复用的思想,分析了系统开发中复用的可行性。依据系统需 求对构件进行提取和设计,使其能够得到更广泛的应用,也是本文的研究重点。 构件技术在我国已经得到了比较多的应用,许多行业都已经搭建起基于构件 技术的平台和构件库。在构件系统实施过程中也提出了多种理论和方法。本文主 要描述了构件技术在网球信息化平台开发中的实施过程,使所开发的系统结构更 加合理,更易于扩展和升级。 所做的工作主要有以下几个方面: 1 、深入学习了构件技术的原理和基于构件的软件开发方法,并且学习了在 本系统开发中应用的c o m 技术。 2 、学习面向对象建模工具统一建模语言( u m l ) ,并用u m l 建模语言 从需求定义、系统分析、系统设计等方面出发,对各个构件进行分析与建模。 3 、对网球信息化平台的需求和开发目标做了简单介绍,应用构件理论对系 统进行了各业务构件的划分。 构件技术在网球信息化平台中的研究与应用 4 、介绍了构件的实现过程,并对系统的各构件进行了组装,最终形成了网 球信息化平台。 ? 1 4 论文组织 本文的组织如下: 第一章:绪论 介绍了课题的研究背景,讲解了构件技术在国内外的研究现状,并根据系统 特点分析了课题研究的意义和构件技术的可行性。 第二章:相关技术介绍 通过概念、特点和类型等方面对软件复用和构件技术做了介绍,了解了软件 构件的主流模型,并且学习了c o m 技术和统一建模语言u m l 。 第三章:基于构件的软件开发 介绍了基于构件的软件工程( c b s e ) 的特点、开发思想、开发过程和问题 模型,基本了解了在项目实施过程中的主要工作。 第四章:基于构件技术的网球信息平台的分析与设计 介绍了体育领域信息化平台的发展,对已有系统作了简单介绍,并且提出了 原有系统的不足之处和对于新系统的要求和期望;对网球信息化平台进行了初步 的设计,应用构件开发方法进行了各个构件的划分;按照构件的组成对网球信息 化平台的数据库进行了设计。 第五章:基于构件技术的网球信息化平台的实现 介绍了系统的运行、开发环境,给出了各构件具体的实现、组装过程,展示 了系统的主要界面。 第六章:结束语 对本课题的主要研究内容进行总结,并指出下一步的研究方向。 4 构件技术在网球信息化平台中的研究与应用 2 相关技术介绍 2 1 软件复用 复用是成熟的工程领域的一个基本特征,例如,土木工程、化学工程、计算 机硬件工程等,通过大量复用经过实践检验的系统体系结构和标准化的构件,使 得对于常规的设计问题都可以直接利用现有的方案解决,避免了系统开发时不断 地重复设计,从而可以大幅度降低开发成本、提高生产效率和产品质量。同样复 用也是软件工程走向成熟的必由之路,将为软件危机的解决提供一条现实可行的 途径。 2 1 1 软件复用的概念 软件复用是指在开发新的软件系统时,对己有软件的重新使用,该软件可以 是已存在的软件,也可以是专门设计的可复用构件。能够被复用的产品种类不限 于源代码段,还可以包括设计结构、模块级实现结构、规格说明、文档、需求等。 软件复用既是将“为了复用目的而设计的软件”也就是软件构件进行重复使用的 过程,而可复用软件则是指以复用为目的开发的软件【6 】。 软件复用的主要思想是,将软件看成是由不同功能部分的“组件”所组成的有 机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具,这样, 如果完成各种工作的组件被建立起来以后,编写特定软件的工作就变成了将各种 不同组件组织连接起来的简单问题,这对于软件产品的最终质量和维护工作都有 本质性的改变。 2 1 2 软件复用分类 随着企业应用需求的不断提高,软件复用技术显得尤为重要,其研究范围也 日益广泛,通常按照复用的内容、方法及应用等标准对其进行不同的分类。 依据复用对象的不同,将软件复用分为产品复用和过程复用。产品复用指复 用已存在的软件构件,通过将已有的构件集成( 组装) 从而得到新系统。而过程复 用通常是指复用己有的软件开发过程,利用可复用的应用生成器来自动或半自动 5 构件技术在网球信息化平台中的研究与应用 地生成所需系统。与产品复用不同的是,过程复用很大程度上依赖于软件自动化 技术的发展,因而目前只能应用于一些特殊领域,而产品复用则是目前现实的主 流的途径忉。 按抽象程度的高低,可将软件复用划分为代码的复用、设计的复用、分析的 复用和测试信息的复用等不同的复用级别。 ( 1 ) 代码的复用 代码的复用通常主要是指对目标代码及源代码的复用,其中源代码的复用级 别略高于目标代码的复用。此类复用的优点是实现简单,但缺点是对环境的依赖 性很强。目前大部分编程语言的运行支持系统都提供了连接、绑定等功能支持此 种复用。 ( 2 ) 设计的复用 设计结果比源程序的抽象级别高,对于设计的复用,其优点是受实现环境的 影响少,可复用构件被复用的机会多,并且所需的修改少。设计的复用通常有三 种主要实现途径:第一种是提取现有系统的设计结果中可复用的设计构件应用于 新系统而实现设计的复用;第二种是将一个现有系统的全部设计文档通过新的软 硬件平台实现,即一个设计多次应用,从而产生多个具体的实现;第三种是不考 虑任何具体应用,专门开发一些可复用的设计构件。 ( 3 ) 分析的复用 分析的复用通常是针对某一问题领域中的某些事物或具体问题进行抽象从 而实现复用的一种方法,其优点是受设计技术及实现条件的影响较少,且可复用 的机会大。但其构件通常是针对某一特定问题的抽象实现。其实现途径同样有三 种:一是提取现有系统分析结果中的可复用构件应用于新系统的分析;二是将一 份完整的分析文档作为系统输入,产生针对不同软硬件平台和其他实现条件的多 项设计;三是不考虑具体应用,单独开发可复用分析构件。 ( 4 ) 测试信息的复用 测试信息的复用主要分为测试用例的复用和测试过程信息的复用。测试用例 的复用是把一个软件测试用例应用于新的软件测试中,或当软件需要修改时,在 新一轮测试中使用。测试过程信息的复用是指在测试的过程中,应用软件工具来 自动记录测试过程信息,主要包括输入参数、测试用例等信息。 6 构件技术在网球信息化平台中的研究与应用 按照复用粒度大小和抽象层次的不同可将软件复用分为小粒度、中粒度和大 粒度复用三类【引。 ( 1 ) 小粒度复用 小粒度复用通常指规模较小的复用,通常是指对函数、子程序、面向对象中 的类以及方法的复用。源代码复用和目标代码复用就属于小粒度复用。 ( 2 ) 中粒度复用 中粒度复用可以进一步分为微体系结构的复用和宏体系结构的复用两种。微 体系结构的复用侧重于对系统的局部行为进行要领建模和解释;而宏体系结构的 复用通常以宏体系结构作为基础,侧重于建立系统的全局结构。在面向对象的程 序设计中,用于描述相关类及其相互关系的设计和代码就构成了微体系结构,而 宏体系结构则是指对组成系统的各微体系结构及其相互关系的复用。其中设计结 果和分析结果的复用属于中粒度复用。 ( 3 ) 大粒度复用 大粒度复用的复用对象通常是独立开发的应用程序或子系统。在复用过程 中,不能对复用对象作任何修改和扩充。通过某些标准协议,能够实现大粒度应 用程序的协同工作,共同实现特定的功能。类模块复用及构件技术均属于大粒度 复用。 依据对可复用信息进行复用的方式,软件复用可以分为黑盒复用和白盒复 用。黑盒复用是复用已有构件而不需要作任何的修改,通过构件重组的方式直接 进行复用,而白盒复用是指己有的构件并不完全符合用户的需求,需要根据用户 的需求进行适当的修改后才能进行复用。 7 构件技术在网球信息化平台中的研究与应用 2 2 软件构件 2 2 1 构件的概念 构t 辞:( c o m p o n e n t ) 是面向软件体系架构的可复用软件模块【3 0 1 。构件通常指软 件当中可以复用的组成部分,他可以被用在其他软件的组装过程当中。构件的形 式有多种,如被封装的对象类、类树、一些功能模块、软件框架( f r a m e w o r k ) 、 软件构架( 或体系结构a r c h i t e c t u r a l ) 、文档、分析件、设计模式( p a t t e r n ) 等。 1 9 9 5 年,l a n o r a h a m 给出的构件定义如下:构件是指一个对象( 接口规范、或二 进制代码) ,它被用于复用,接口被明确定义。构件是作为一个逻辑紧密的程序 代码包的形式出现的,有着良好的接1 :3 。像a d a 的p a c k a g e 、s m a l l t a l k 8 0 和c + + 的c l a s s 和数据类型都可属于构件范畴。但是,操作集合、过程、函数即使可以 复用也不能成为一个构件。开发者可以通过组装已有的构件来开发新的应用系 统,从而达到软件复用的目的。软件构件技术是软件复用的关键因素,也是软件 复用技术研究的重点。 2 2 2 构件的类型 构件作为一个抽象的概念,并不局限于一个方法或者一组业务功能的集合。 构件按照其构成可以分成不同粒度的构件,它们支持不同层次的复用。按照构件 复用粒度的大小和关注点的区别将构件分为业务构件和服务构件【9 】。服务构件又 按照其服务的层次分为展现构件、逻辑构件、运算构件、扩展构件。 ( 1 ) 业务构件 业务构件是面向构件概念架构中最大粒度的可复用单元,也是粒度最大的构 件。业务构件由一系列不同类型的服务构件所组成,完成相对独立、粗粒度的业 务功能。 如果业务构件系统被很好的封装,并提供清晰的接口,那么,该系统就可以 被当作一个黑盒,从而成为一个合格的构件。如此这般形成了业务构件方法中颗 粒最粗的构件,这种形式的构件被称为“系统层面构件”。系统层面构件在以下 两种情况下非常有用:涉及多个系统时,或必须以黑盒方式与业务构件系统进行 互操作的时候。 构件技术在网球信息化平台中的研究与应用 ( 2 ) 服务构件 服务构件是对展现构件、逻辑构件、运算构件等服务于特定逻辑层次的构件 类型的统称。多个相同服务类别的服务构件又可以组装成为同类别的服务构件, 多个不同服务类别的服务构件又可以和业务流程、用户界面、数据模型一起封装 成为更大粒度的业务构件。服务构件具有以下特点: 它具有定义清晰的开发时和运行时接口。 它可独立插入某个运行时环境。 运行期的可跟踪和可管理性。 分离关注点,即业务功能与数据通信等低层技术分离。 使开发人员获得更清晰的构件模型。 2 2 3 构件的规格 将构件的行为以一种含义明确的方式描述出来是非常重要的。但其中也存在 这样一个问题:我们应如何描述构件才能保证其含义的精确性,同时这种描述方 法又要简单和直观,以利于构件的使用者( 及开发者) 的使用和理解。为了做到 这一点,往往需要以文本或者图形等形式对构件加以描述,这就是我们所说的构 件规格【9 】。构件规格包括以下内容: 构件基本信息构件的作者、版本、类型的信息。 构件接口信息包括接口的提供功能、接口名称、接口参数等。 构件环境信息包括构件的使用场景、依赖的软件环境、局限性等。 非功能性的特征通常情况下该构件的性能及可用性的描述。 2 3 构件模型 软件构件模型是一种标准,他规定了各个构件之间进行通信的格式和要求 【l0 1 。采用构件技术和构件对象模型进行开发,可以将软件以搭积木的形式进行组 装,他的优点是可以快速的完成系统的开发,减少系统开发的经费投入,显著提 高开发的效率,并且在软件的质量上有保证。 软件构件通常应该具备如下几个特征: ( 1 ) 若是自描述构件,必须对构件的接口有明确的规定,它包括了构件的存 9 构件技术在网球信息化平台中的研究与应用 取方法和事件等,接口信息在与其他构件结合时非常有用; ( 2 ) 可定制一个特定的图形方式环境,通过这种方式可以实现只能通过控制 面板就能设置构件的属性; ( 3 ) 若是可集成的构件,则需要通过程序语言来进行控制。而且可以通过脚 本语言或者其他形式的代码级语言与构件进行交互。这一特点使得构件可以在非 可视化项目中使用; ( 4 ) 若为连接机制构件,这是一种可视化的构件,也就是说开发人员可以方 便的通过按钮来添加代码,并以此来影响到其他构件的动作。他需要一种能够产 生事件的机制。 构件模型是用来为开发人员定义构件而建立的a p i 集和体系结构,通过对构 件进行建模和构件的实现,开发者可以将构件动态的组合成不同的应用系统。构 件模型主要包括构件和容器两个部分,其中构件是组成软件的可复用的基本部 分;容器则是用来存放和管理构件的,从而实现构件间的交互。同一个容器可以 盛放多个不同领域的构件。 2 3 1o m g 的c o r b a c o r b a ( 公共对象请求代理架构) 构件模型采用的底层结构为o r b ,并通 过i d l 来对c o r b a 构件进行描述。c o r b a 提供了i d l 到c 、c + + 、j a v a 、 c o b o l 等程序设计语言的映射机制i d l 编译器。i d l 编译器可分别生成 s e r v e r 方的s k e l t o n 代码和c l i e n t 方的s t u b 代码,并通过分别与客户端和服务端 程序的联编,得到相应的s e r v e r 和c l i e n t 程序。 c o r b a 还包括一些公共服务规范,主要包括生命周期服务、事务处理服务、 名字服务、永久对象服务、对象事件服务和安全服务等,他们类似于一些在企业 级计算的公共构件中的应用【1 1 】。另外,c o r b a 还为电信、石油等一些典型的应 用行业提供了一系列的公共设施。 c o r b a 是一种语言中性的软件构件模型,可独立于网络、机器和操作系统, 而实现分布对象之间的互操作。 1 0 2 3 2m i c r o s o f t 的c o m ,d c o m d c o m 是微软与其他一些厂商合作颁布的一种构件对象模型,他的发展经 历了一个相当曲折的过程。d o m 的前身是动态数据交换技术,这种技术通过剪 切和粘贴操作来达到将两个应用程序之间进行数据的动态交换的功能。对象的连 接和嵌入( o l e ) 就是从动态数据交换引申而来的。 不久后,微软引入了构件对象模型c o m 技术,并形成了c o m 对象之间实 现互操作的标准。构件对象模型技术规定了对象模型和编程的要求,使得c o m 对象可以与其他对象进行互操作。这些对象可以用不同的语言实现,并且其结构 也可不同。在c o m 的基础上,微软将o l e 技术发展到了o l e 2 。构件对象模型 技术实现了o l e 对象之间的底层通信工作,其作用与c o r b a o r b 类似。但是 此时的c o m 只能应用在单机w i m e l 平台上。而在o l e 2 中,实现了我们今天熟 知的拖放技术和o l e 自动化。 d c o m 是c o m 在分布计算方面的自然延续,它使得分布在不同网络节点上 的c o m 构件可以互相通信。 2 3 3s u n 的e j b 对于软件构件,j a v a 与c o r b a 的观点存在一定的区别。主要表现在:在 c o r b a 中,c o r b a o r b 相当于一根软总线,构件可以即插即用。也就是说, 在c o r b a 看来,所有构件的地位都是平等的,不区别对待,完全是一种平行的 关系。而在j a v a 中,软件构件被看作是能够进行可视化操作的可重用软件,它 需要满足一定的特征要求,并可以根据需要进行定制和重组。 j a v a 的软件构件被称作j a v a b e a n ,通常简称为b e a n 。按照j a v a 软件给出的 定义,b e a n 是能够在构造工具中进行可视化操作的可重用软件。j a v a b e a n 的组 件模型通常包含组件和容器这两个基本要素,这一思想也在a e t i v e x d c o m 技 术中得到体现。j a v a b e a n 作为一种典型的组件模型,其具有属性、方法、事件、 自我检查、定制和永久性等6 个方面的主要特征,其中属性、方法、事件这三种 特征是面向对象的组件必须要满足的最基本要求,属性和方法提供b e a n 成为一 个对象的保证,而事件可以描述组件之间的相互作用,也可以描述组件与容器之 间相互感兴趣的事情。通过事件的生成、传播和处理,构件相互之间就可以关联 构件技术在网球信息化平台中的研究与应用 在一起,协作完成复杂的任务。自我检查、定制和永久性这三种特征主要侧重于 对j a v a b e a n s 组件性质的描述。内省是在j a v a b e a n 中经常用到的一种机制,主要 用于暴露和发现构件接口。构件的使用者可以通过内省机制了解到构件的属性、 方法和事件。由于一个构件通常是具有一定性质和行为的对象的抽象,它往往有 很大的通用性。为了将构件使用于具体的应用环境中,则必须对构件进行定制。 j a v a b e a n 的定制通常在一个可视化生成工具中实现,利用构件的内省机制,发现 构件的属性、方法和事件,然后利用生成工具提供的属性编辑器实现定制。永久 性是将构件的状态保存在永久存储器中并能够一致恢复的机制。j a v a 通过序列化 ( s e r i a l i z e ) 实现定制构件的永久性存储,通过反序列化可以实现构件状态的恢 复。 随着企业级应用的不断发展,j a v a 又提出了企业j a v a b e a n ( e j b ) 的思想, 其结构完全采用基于软件构件模型的分布对象计算体系。 企业j a v a b e a n 各组成部分的含义为: j d b c ( j a v a d a t a b a s e c o n n e c t i v i t y ) :基于s q l 标准j a v a 数据库连接,其基 本功能和设计与o d b c 相似; j a v a r m i ( j a v a r e m o t e m e t h o d l n v o c a t i o n ) j a v a 远程方法调用; j n d i ( j a v a n a m i n g a n d d i r e c t o r y i n t e r f a c e ) :j a v a 名字与目录服务; j a v a l :j a v a 和c o b r a 之间的连接; j t s ( j a v a t r a n s a c t i o n s e r v i c e ) :j a v a 事务管理服务; j m a p i ( j a v a m a n a g e m e n t a p i ) :j a v a 网络管理a p i : j m s ( j a v a m e s s a g e s e r v i c e ) :j a v a 消息传递服务。 用c o r b a 的观点来看,企业j a v a b e a n 中包括了分布构件的基础结构,也 包括了各类公共服务构件。并且由于j a v a 与生俱来的跨平台性和语言的一致性, 使其成为软件构件模型的一个有力的竞争者。 1 2 构件技术在网球信息化平台中的研究与应用 2 4c o m 技术 2 4 1c o m 的基本概念 组件对象模型【3 2 - 3 3 l ( c o m p o n e n to b j e c tm o d e l ,

温馨提示

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

评论

0/150

提交评论