(计算机应用技术专业论文)设备构件化仿真技术在信息家电开发中的应用与研究.pdf_第1页
(计算机应用技术专业论文)设备构件化仿真技术在信息家电开发中的应用与研究.pdf_第2页
(计算机应用技术专业论文)设备构件化仿真技术在信息家电开发中的应用与研究.pdf_第3页
(计算机应用技术专业论文)设备构件化仿真技术在信息家电开发中的应用与研究.pdf_第4页
(计算机应用技术专业论文)设备构件化仿真技术在信息家电开发中的应用与研究.pdf_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

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

文档简介

独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:塞堑聋日期:必巾c 侔文月4 7 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:嗥导师签名:善堑 日期:幽妒甲年。月书日 电子科技大学硕上学位论文 摘要 信息家电是后p c 时代计算机应用技术的一个重要领域,将构件技术和仿真 技术应用于信息家电系统的开发,是当前信息家电系统开发的两个重要研究方 向。使用这些技术可以降低信息家电系统的开发成本、缩短开发周期、提高系统 的可靠性等,也可以指导物理设备部件的功能设计。 本文在研究国内外软件构件和仿真技术方面的一些学术和应用成果的基础 之上,结合信息家电领域的具体特点,将构件技术应用于信息家电仿真系统中, 给出了仿真构件的定义、模型、分类、抽取方法、以及原子构件和复合构件的开 发方法。 根据仿真构件的数学基础,重点研究了仿真构件的构件模型和物理特性;根 据仿真构件的属性和特点,提出了仿真构件的正确性验证方法和仿真构件质量的 度量方法;最后,为了保证仿真构件的正确性,提出了仿真构件的安全模型和仿 真构件的测试层次原理。 在此基础上,实现了部分仿真构件模型和仿真构件管理模型,证明了理论的 i f 确性和有效性。 关键字: 仿真,仿真构件,构件测试,构件模型,接1 :3 ,构件库 皇王型楚查兰雯老堂垡丝塞 a b s t r a c t i n f o r m a t i o n a p p i a n c e i sa n i m p o r t a n td e v e l o p i n gd o m a i no ft h e a p p jc a t i o nt e c h n o l o g yi nt h ef u t u r e a p p l y i n gc o m p o n e n tt e c h n o l o g ya n d s i m u l a t i o nt e c h n o l o g yt ot h ed e v e l o p m e n to fi n f o r m a t i o n a p p i i a n c es y s t e m s , t w oi m p o r t a n tr e s e a r c hd i f e e t i o r si nw h i c ht h es y s t e md e v e l o p st h a t i t i s n f o r m a t i o na p p l l a n c ea t p r e s e n t h o wt o a p p yt h ec o m p o n e n tt e c h n o l o g yt ot h e d e v e o p m e n to f t h e s i m u l a t i o ns y s t e mi sar e s e a r c hd i r e c t i o no ft h es i m u l a t i o ns o f t w a r eo n i n f o r m a t i o na p p l l a n c ep r e s e n t d e v e o p i n gt h ee q u i p m e n tc o m p o n e n ti st h e f o c a lp o i n to fr e s e a r c hi nt h i sp a p e r ,w h i c hh o wt oa p p l yt h ec o m p o n e n t t e c h n o l o g yt oi n f o r m a t i o na p p l i c a t i o ns i m u l a t i o ns y s t e m w i t ht e c h n o l o g y t h e s y s t e m c a nr e d u c et h ec o s to ft h e s y s t e mp h y s i c s ,s h o r t e n t h e d e v e l o p m e n t sc y c l e ,i m p r o v et h e d e p e n d a b i l i t y o ft h ei n f o r m a t i o n a p p ll c a t i o ns i m u l a t i o ns y s t e ma n dg u i d et h ef u n c t i o n sd e s i g no fp h y s ic s e q u i p m e n tc o m p o n e n ta tt h es a m et i m e b a s e do nt h ef o u n d a t i o no fs o m es c i e n t i f i cr e s u l t sa n da p p l i c a t i o n p r o d u c t i o n so nt h er e s e a r c ha b o u tt h es o f t w a r ec o m p o n e n tt e c h n o l o g y a b r o a da n di nb r o a d ,c o m b i n i n gt h ec o n c r e t ec h a r a c t e r i s t i ci nt h ef i e l d o f t h ei n f o r m a t i o n a p p l i c a t i o n s i m u l a t i o n s y s t e m , a p p l yc o m p o n e n t te c h n o l o g yt ot h ei n f o r m a t i o n a p p l i a n c ee m u l a t i o ns y s t e m ,t h i sp a p e rg i v e a n dp u b l i s hs i m u l a t i o nc o m p o n e n t sd e f i n i t i o n ,m o d e l ,c l a s s i f y ,d r a w m e t h o d ,a n dt h ed e v e l o p m e n ta p p r o a c ho f a t o m c o m p o n e n t a n d c o m p l e x c o m p o n e n t a c c o r d i n gt ot h em a t h e m a t i c sf o u n d a t i o no ft h es i m u l a t i o nc o m p o n e n t , t h i sp a p e rl a ye m p h a s i so nr e s e a r c ht h em o d e la n dp h y s i c a lc h a r a c t e r is t i c o ft h es i m u l a t i o nc o m p o n e n t :b a s e do nt h ea t t r i b u t ea n dc h a r a c t e r i s t i c ( ) ft h es i m u l a t i o n c o m p o n e n t h a v ep r o p o s e dt h ee x a c t n e s sv e r i f i e st h e m e t h o da n dq u a t yt o l e r a n c em e t h o do fs i m u l a t i o nc o m p o n e n t :a tl a s t ,i n o r d e rt og u a r a n t e et h ee x a c t n e s so fs i m u l a t i o nc o m p o n e n t ,p u tf o r w a r dt h e s e c u r i t y m o d e lo fs i m u a t i o n c o m p o n e n t a n dt e s t 1 e v e p r i n c j p l e o f s i m u l a t i o nc o m p o n e n t o nt h eh a s i so ft h i s ,t h i sp a p e rr e a li z es o m es i m u l a t i o nc o m p o n e n t m o d e ia n dt h em a n a g em o d e lo ft h es i m u l a t i o nc o m p o n e n t 。t h et h e o r yh a s b e e np r o v e dt h ee x a c t n e s sa n dv a l i d i t yt h r o u g ht e s t i n g k e yw o r d s :s i m u l a t i o n ,s i m u l a t i o nc o m p o n e n t ,c o m p o n e n tt e s t i n g c o m p o n e n tm o d e l ,c o m p o n e n tl i b r a r y 2 一一皇至塑垫查堂堡主鲎垡鲨茎 ,1 问嚣的提出 第一章绪论 信患家电是疆p c 时代诗算税应塌技零的一个熏要发怒方囱。鑫予翼安全、 方便、高效、快捷、智能化等特点,在2 l 世纪必将成为现代社会和家庭的新时 离,蠢信慧家电产鼗氇将成兔二+ 一整纪蠡奄熟门产泣“3 。 为缩短信息家电产品的开发周期,提商产品质量,增强市场竞争能力,有必 要为 :笈豢凌 共毅鍪、离散翡开发平台秘开发工巽。 现在应用予信息家电开发平台的软件有很多,比如微软的 # n d o 镕, s c g ,v x w o r k s 公司黪t o r n a d o ,毫予辩大匏d e l t a o s 等等。这些开发牧终针 对所有的信息家电平台,丽没有专门针对特定领域的信息窳电仿真系统平台的开 发二 具。钟对这静情提。瓷必要开发专门针对售爨家电仿真平台的开发工具。 建立信息家电的全仿真系统鼹一条重溪思路:它有助予提高我国信息家电产 业彝主核心技术的拜发应玛水平 便于发现信息家电系统设计中的错误,提高信 息家电系统的稳定性、健壮性;脊助于新产品的研究和开发,便于新产品寄勺性能 测试和试验;能够嶷观的驻示信息家电的内部逻辚运行情况,取褥信息家电系统 的技术参数和指标,便于产品的质量和技术改进“。3 。 本文镶台最毅软件技术,在信息家电仿真系统中如何使用构件技术来提高仿 真系统的开发速度、开发效率和究蔷系统的功能,是构件技术在信息家电仿真系 统开发中的新应用,新思想。 1 2 用构件技术开发信息家电仿真系统巾设备部件的愚想 信息家电仿真系统慧为开发家电控制器丽专门设计的,它对家电控制软件酌 开发全过程提供支持,可以让用户完成家电控制器软件的编码、汇编、调试、逻 辑分析和仿真运行,它通道宅4 建一个实际硬俘系统的仿真运行环境,使潮户可以 脱离真实的硬件系统就完成软件的调试、逻辑分析和仿真运行,掇高家电控制器 软、硬件开发的并行程液。在信慧家电平台中,筏稍把箕中关键功能罄分氆装或 构件模块。 稳件( c o m p o n e n t ) 楚糖一静辘够提供菜耱缀务懿舀毯含静较 率禳块,雹封装 了一定的数掘( 属性) 和方法,并提供特定的接口,开发人员利用这一特定的接 口柬矮嗣掏俘,并往其与其经褐传交夏邋潦,隧藏来构逡应惩程痔。筏臀是簇封 电子科技大学硕士学位论文 装的软件禳块,它隐藏了具体的实现细节,只提供接口供开发人员使用,这样开 发人员即使不知道构件的内部细节,也能利用构件方便地构筑应用程序。这种特 点还使得构件开发人员可以对构 率单独进行秀级,菠迸原来的功能,却不影响整 个应用系统的运行,只要保证构件对外界的接口保持不变。构件可以被重复地使 焉,而且不受操作平台、开发环境麓至是物理计算梳酌限翻。褐侔的密现改变了 传统的软件开发方法,我们可以把应用程序的需求分解成明确定义的服务;然后 透步怠l 逡吴 搴静物理稳件来实凌它们。事实上,镶蓠已经有诲多专门的擒佟开 发商开发出了大量的能完成特定任务的构件。用户可以首先考虑购买合邋的构 件,荬次再考虑鑫_ 予定裁歼发,然纛凑这墅鞫婷按照一定匏要求组装超采簸能构 造自己的应用系统,从而大大提高了工作效率,又便于日崩的修改,从整体上来 遂隆毵了开发或本。 在信息家电仿真系统开发当中,把实际中的物理设备按照需求和应用分为若 予模块:慕集模块,显示模块、分攒模块等等。冬令模块还霹班霉缨分成子模块。 比如采集模块可以e 臼各种羧制不同仪器硬件的子模块组成,分析模块可以幽大量 斡u 羧行数学分毒厅懿模块组成,露仪器嚣扳就霹以看成是各零孛开关、旋纽、波形显 示两板的集成。如聚将各个完成不间功能的大小模块都封装成构件的构件,那么 毒句造信息家电仿真环境的过程就越将各j 申梅 牛按仿真系统设计的爨求组合在一 起,当仿真臻求改变时,我们就需鬻重组各种构件。这样极大地提高了可重用性, 就矬以最少的投入最快地构造出掰的信息家电仿舆环境。极大地提高了可重用 性,此外还节约了开发时间和成本,最大限度的复用了现有的开发平台。 。3 国内夕卜研究现状 软件构 牛技术的出现,根本上改善目瓣软件生产高成本、低教率的状况,为 实现软件幽作坊式生产向工业优生产的飞跃,带来了新的机会。但目前的软件构 件技术,尚不能馒软件生产达到目前成熟产业的工业化水平。简单介绍一下国内 外相关领域的研究情况 1 ) 国内由杨茨渍先生主持开展的青岛工程,该系统采用o o 技术,支持软件 重耋用为基线,基予“梅律一框粲”模式静软件工效亿生产技术,彳弋衷了 倒内在这一领域的最高水平。 2 ) t 9 9 0 年崮西欧e s p r i t 实现熬r e b o o t ( r e u s eb a s e do no b j e c t o e e n t e d t e c h n i q u e s ) 是豳际一l t 较著名的构件成系统,它包括一个存储可复用 校侔豹确件痒窝一缝产生、谈涯、插入、提取、评侩稳逡鬣等可笈嗣褐 件的工具。同时,强调重用并不仅限于代码,构件也可来自分析和设计 | 埝段,稳件赘麓貘霹大哥枣。 生士熊查塑主堂竺堡塞 3 ) 3 e 模受是在t 9 8 9 年的“r e u s ei np r a c t i c ew o r k s h o p ”中由些系统工 程领域的专家提出,它是个指导性构件属性模型。该模型由构件的三 个不葡方蕊的耩槛组成,郯概念、内容秘上下文。 4 ) 自1 9 6 8 年d o u gm a l l o r y 首次提出共享构件库以来,软件重用正在吸引越 来懑多的入。尽管障礴重蓬,久们镪l 嚣堡信系统纯酶较 牟墓蠲霹旗子构 件的开发是大幅度改善软件过程的最有希担的途径。a t & t ,g t e ,n e e 和 t o s h i b a 豹礴究稿安残表稿:重溺露以是袄 牛豹上索雾毒阉缭短2 n 5 莹, 软件开发成本减少1 5 到7 5 ,软件的维护费用降低5 到i 0 倍,故障率降 低5 n 1 0 僚。 5 ) i n v a rj a c o b s e n 作为o o s e 的发明人和r a t i o n a 的创始入,他在e r i c s s o n 扶事a x e 电信交换系统开发熬过程中提爨了一套大妪度支付重用瓣体系 结构和软件工程过程,辨与m a r t i ng r i d s 年n p a t r i c kj o h n s o n 合作与1 9 9 9 年提出殴r s e b ( r e u s e d r i v e ns o f t w a r ee n g i n e e r i n gb u s i n e s s ) 一个 进行系统化软件煎用的过程和组织架构。 6 ) m i c r o s o f t 提出的c o m ( c o m p o n e n to b j e c tm o d e l ) 是一个以构l 牛为发布 单元的对象模型,该模型使各种软件构件可以用。- * 4 统一的方式进行交 萎:。c 谳郎提供_ 构件之湖进行交互的规范,也掇供了实现交互的环境, 使不同谱言写作的一种糨准o m g ( o b j e c tm a n a g e m e n tg r o u p ) 提如的 c o r b a 原理与c o m 类似,区别在于触者主要运用于u n i x 操作系统,而后者 主要运嗣于w i n d o w s 操俸系统平台。而j a v a b e a n 缀件系统e 强剐是一种解 决平台依赖性和谣言依赖性的软件构件投术。 1 4 研究的意义 本文通过对软件领域新技术纳研究,探索种有效的软件构件开发方法和鞫 传的体系结构来适应于信息家电仿真系统软件的开发,以提高应用软构件技术的 开发效率和软构件的开发质量,肖效遗利用现有麴研究藏渠,结合实际瀚开发经 骏,最大限度地提供对信息仿真窳电系统开发的支持。本文的研究希望对仿真构 件的开发具有一定的指警意义: 1 ) 良好的仿真构件模型。 对仿真构件瓣数学纂磷豹讨论,绘镑真稳 孛模登懿戮究提供了基碇,为糖粪 构件的藏确运行提供了可靠保障。根据实际的碰用环境,本文提出了适合本领域 翦褐俘禳鼙。本模壅不仅商裁予撬裔软份梅 串与斑溺翟露之阕戆交互能力,瞧寄 利于提高构件内部的协作效率。构件模型的完蛰有利于构件开发维护人员的理 解,整荔予遗季亍系统静演 毫。 9 。| 皇王型楚奎兰堡主堂垡堡壅 2 ) 合邋的构件开发方法 本文结合实践经验,根据信息家电仿真平台的应用领域,提出了单个对象的 原予构件的开发方法和多个对象的原子构件的开发方法,礅提出了复合构件的开 发方法。依照这些方法和流程可以开发出运行高效的仿真构件。 3 ) 良好的稳件测试模型 根据信息家电仿真系统的特点,结合构件的设计和开发流程,提出了构件层 次渊试模型。这个穰型包括了对构件设计辩,开发辩和运行l 于的溺试方涟。为构 件的正确性提供了保证。对以后构件的测试工作具有一定的指导作用。 1 _ 5 主要研究内容 较侔稿件技术对传统的系统开发方法带了匿大的冲裔。褐辞技术颤其劳布 性、高伸缩性、可配置性、高效性、易维护性等有点得到了广大软件研究人员和 系统开发人员静谈可,盘楚被公认舞麓涤软件莛瓿翡有效浚径。奁疆究了鞫蠹筹 相关构件技术的最新学术和应用成果的基础之上,结合信息家电仿真系统应用领 壤豹要求和猗点,鬟点礤交了臻囊秘l 孛的定义、辚嶷梅 孛懿模型、傍赛鞠箨测试、 仿舆构件安全以及仿真构件管理库等问题,并给出了解决方案,最终实现了一个 爨囊系统。 1 ) 构件技术的理论基础 穗 孛技本是一葶孛系统倪豹技术,包挺掇 孛模型、撬终擐檠、擒馋分辑巍设汁 技术加和撼于构件的应用系统的构造等内容。当构件技术应用于信息家电领域 时,舔为鏊予构件技术售爨家电傍真系统躲软饽开发。本文详细贪缓了在僚息家 电仿真系统中仿真构件技术,重点研究了仿真构件模型、仿真构件接口、仿真构 馋安全、仿真梅传测试、傍真构件絮构等内容,势在此基础之上撼啦了信息家电 仿真平台的构件体系结构。 2 ) 仿囊构件撼取、设计和实现 仿真构件技术的产生给软件爱用带来了一些新的研究课题,如何提高构件的 复用性是构件开发掰关注的问题。本文根据仿真构件的模型和仿真构件的基本性 质,结合具体开发平台,掇出了仿真构件提取方法和仿真构件的开发方法,给出 了仿真构件与客户之间的交互的模型等内容。本文还详细介绍了几个典型仿真构 件的详细开发方法,最意,给出了这些费葵构 串的运行国和运行过程中斡数据。 3 ) 构件库管理系统 构件库管理系统是构件复麓静基碲,怒领竣工程帮褒掰工程辩个开发过程翡 桥梁。如何高效的存取构件何查找构件是构件库管理系统研究的主要内容。本文 圭要研究对已有的仿真鞠俘的警糕。结合密际款应瘸颁域,重点磁究了镑囊掇徉 l o 电子科技夫学硕士学位论文 管理库的模型,设计标准,功能管理;班及构件库对仿真构件生产的支撩、组装 和篱理的支持,同时也研究了构件篱理系统自身安全问题。并根据研究的成果, 给出了一个具体领减的仿真构件管理库系统的原鬻实现。 1 。8 本文的组织 设备仿真构件技术对傣息家电系统提供支撑作用,在实际应用中,可以用构 件技术把系统中的物理设备全部仿真出来,然霜麓这些仿真构件搭建一个纛瓠的 平台,使用这个平台可以有效的验证信息家电仿真系统整体设计的正确性和有效 懂。本文鬟点研究把稳襻羧术应焉予信息家电仿冀系统中设备稳徉的开发。本文 的奄节安排如下: 第一露介绍了选题蔽箨、谋憨鬻景帮褥究这个谋题静霪要意义。 第二章介绍了构件的旗本概念,比较了现在流行的构件标准;重点介绍了 c o m 标准帮选择c o m 标准 乍为信怠家邀系统中倭翼梅舞标漆戆意义。 第三章重点介绍了对仿真构件性质的研究。在研究国内外软l 牛构件技术方面 熬一些学零琴爨应羯成票戆纂磴之。l 二,缝合绩惑家惫辏真系绞领域熊最俸特点,绘 出了仿真构件的定义;根据仿真构件的数学基础,重点研究了仿真构件的构件模 型窝貔壤黪链,撬遗了镑奏稳终熬正确一鏊验话方法露仿囊德辞矮爨数度鬣方法。 为了保证构件的正确性,本文提出了仿真构件的安全模型和仿真构件的测试层次 模鍪。 第四濑介绍了部分仿真构件的实现方法。根攒仿真构件模型、仿真构件豹属 一隧,本文绘出了在信息仿囊系统申傣真构传的抽取方法,掇出了仿真原予构 牛的 开发方法和复合构件韵开发方法。并给出了部分仿真构件的实现源型 篱五章分绍了梅l 牛管理痒系统。仿真构件的复用性是评价仿舆构件开发成功 与否的关键。仿真构件的复用性肉仿真构件自身和仿真构件管理库提供。仿真构 件管理库根据仿_ 炱构件的分类对传真构件进行管理。本文提出了一个仿奠构件管 琏库系统模型,校据这个模型讨论了仿真构件管瑗库的设计标准,仿真构件管理 麾对仿真构件的支持和仿真构件麾的安全等问题。并给出了仿真构件管理库的一 个实现原型。 第六章介绍了部分仿真的运行结果和数据。本文给出了部分仿真构件的运行 界面和运行数据,证确了仿真构件的设计是正确滟和有效静。 第七章对全文进行了总结,势提出了下一步的工作。 一。 皇王型热盔鲎堡:! 鲎竺堡苎 第二章构件技术的基础知识 2 1 构件技术及其发展 从软件业的发展历程来看,程序设计方法经历了多次的变革,从最初的功能 分鳃法,到结梅化程序设计方法,辫到至今仍在广泛使蠲蛉甄向对象程序设计方 法。这种发展主要的根源在于软件渡的不断发展的要求。 网络时代的到来使得软件用户可以通过网络随意地获褥功能强大的软件,但 是羯一方丽随着软件用户的不断增加,用户对软件的要求不断的提高,也给软件 的歹f = 发者和提供商带来许多悬丽未决的问题,例如软件的升级和扩展问题,软件 的维护闷憨以及软件之间韵互操 乍澜题。另外,计簿机硬件的体积不断缩小,较 件的复杂度郝逐渐增加的不平衡的发展趋麴也要求一种新型分布式的,基于客户 服务器模式酌软件系统的蕊现。 面向对象思想很早就在计算机软件业中传播,虽然该思想的影响力很强大, 徨怒它麓应翅潜力莠没有褥委充分约发舞。箍淘霹蓉愚怒主要箨蟹在瑟淘对象语 言的使用e ,使程序代码的重用性进一步掇高。但是利用面向对象程序语言设计 实疆豹软馋之润鹃戛襟谗穗熹| 】较弱,它霸主要表嚣在下歹足令方豢: 1 ) 不同进程之间的软件交互比较圃难和复杂; 2 ) 不目的搽 擘系绫下款臀之阕不憝交互; 3 ) 不同软件提供商的提供的软件的交互能力受到檄大的限制: 4 ) 瞧不鼹缡程语言缡写弱软l 孛之润不矬交蠢; 5 ) 软件之间的交互也受到的双方软件所在位置的限制; 6 ) 软孛牙发囊的软传舞级将影睫到使用它懿用户稷序; 构件披术继承并发展了面向对象思想,它更强调真正的软件重用和高度的互 襟佟性,麟决了当藏软终娆襞面临的挑战。在槐传技术中,软件郡可以是个可 煎用的构件,或者是由多个构件简单的组合而成。我们可以这样定义一个构件, 它是具有特定功能的,在软l 牛开发中可以被替换的楣对独立的软 牛尊元,它封装 了设计的细节,并很方便地作为一个大单元的一部分和其他构件缀合起来。作为 一个构件至少要满足两个祭件:动态连接和信息封装,只肖这样构 牛万能做到真 讦i 的独立。动态连接要求稍户在戚用程序运行过稔中能够将构件替换箨,这样在 构件井级时不必将用户的应用程序整个重新连接或编译,落则在替换新构件后就 会蔽坏系统豹整体性,至少需要整个系统麓薪编译,甚至攫写编褥。有了动态连 接,也就具备了动态组装一个应用程序的条件,彳唷b 做到多个构件可以象搭积木 式的组成个应鞠程序,并随意遗和应弱系统断开。两信恿封装援韵森链缓羽翁 1 2 皇型垫奎兰堡主兰堡竺兰 提,构件只有对外界封装了所有的实现细节,真正做到软件功能实现和定义相分 离,才能实现构件即插即用的特性。 因此构件拥有以前软件所无法实现的诸多特点: 1 ) 构件位置透明性构件以及使用它的程序能够在同一进程中,不同的进程 或不同的机器上运行。构件对远程构件的处理方式应和对本地构件的处 理方式是样的。 2 ) 与语言无关性构件必须以二进制的形式的发布,这样就将其实现所用的 编程语言封装起来,做到与语- k ,开发环境无关。 3 ) 很好的可扩充性由于每个构件都是自主的,只能通过接口和外界通信, 当一个构件需要提供新的服务时,可通过增加新的接口来完成,不会影 响到使用原接口的客户,而新的用户可以重新选择新的接口来获得服务。 4 ) 实现不同厂商的软件问的真正的互操作构件可以来自不同的构件开发 商,独立地被生产,获得和配置,不同的构件可以方便地搭建应用程序。 由于构件软件有着这些优点,构件技术很快在开始在软件业中流行起来。 1 9 9 1 年i b m 推出的s o m 构件技术,s u n 公司的j a v a b e a n 技术,o m g 国际组织推 出的c o r b a 构件规范,以及微软公司推出的c o m 等构件技术都得到了很好的实现 和广泛的使用。其中比较成熟和完备的构件技术应当属c o m 和c o r b a r 它们已经 分别在各自的领域中取得了很大的成功。 2 2 构件的基本概念 软件构件的概念目前没有一个公认的标准定义,不妨可以这样理解:按照一 定规范编写的程序模块,具备以下特点:构件是封装了数据和实现方法的软件模 块,只有接口是可见的,只能通过接口与外界交互;构件可以增加新的接口,但 原有接口的定义不能改变;构件是经过编译的二进制代码,对使用者源代码是不 可见的;系统中的构件是可替换的,不需要重新编译。它有如下特点: 1 ) 即插即用:构件是软件开发重一个可替换的单元,可即插即用、可以维 护,能够跨越进程边界、编程语言、开发工具方便地集成到系统中,不 用修改代码,也可以不用重新编译。 2 ) 以接口为核心:构件地接口和实现是分离地,构件通过接口实现与其他 构件或系统间地交互,构件的具体实现被封装在内部,应用程序地组织 者只关心构件的接口,而不关心构件的具体实现细节。 3 ) 构件的标准化:构件的接口必须严格地标准化。这是构件技术的成熟标 志之一。目前主要的构件标准有m i c r o s o f t 的c o m d c o m ,j a v a 的j a v a b e a n 和e j b ,o m g 组织的c o r b a 。 电子科按大学硕士学位论文 4 ) 构件的来源广阔:大量成熟的构件可以通过第三方市场购躁,也可以从 互联网上免费下载,也可以从自己现有的梅馋痒中获得,也可以黧瓤自 己定制构件等等。间时,市场的竞争机制可以促进构件市场的构件生产 的质量的撮蕊,构件种类的增多和价格的降低。 总之,构件在功能上楚离散的、被精确定义的;构件对自己捅有的方法都提 供了明确丽且清晰的接口,构件既w 以单独使用,也可以与其他构件一起组装成 语一一个完熬静应焉系统。溺既,它不同予掰向对象中的“对象”帮“类”。稳眈 之下,构件更具有高度的黧用性,更灵活的生长方式,也易于理解和发布。 2 3 基于构件的软件并发方法和过程 基于梅俘的开发方法( c o m p o n e n t b a s e dd e v e lo p m e n t ,简称c b d ) 蹩蕊囱对 象技术的继承和发展。在c b d 下,一个基于构件的应用软件由若干个可重用的构 件缀台面戏,各个定嗣韵构件可戳在运芎亍时蔺其能构 串恣接嚣构躐菜令应蘑软 件。其中构件时应用软件构造、开发、装配、维护的基本单位,用户可以邋过自 主开发或嚣扶软箨开发蔫都里选麓新熏要豹各释橡终来缀装满是爨己特定霈要 的应用软件系统。在对应用软件程序进行修改时,只需要将其中的菜个构件用新 版本迸穹亍螯接甄哥,妇濯2 ,i 所示: 蹴禺嚣辅版套1 升级应用系统版本 f 黝mll 构馋2 圃圃 i h 一r 一 r i 构件3il 构件引 il 构件3ii 构件4 l 一,。+ j 1 。,、。_ j:。jl 一一。 澍2 秘件纯翟露秀缀实镪 基于构件的软件开发技术从根本上改变了软件的生产方式,与传统的开发方 法籀吃,它吴有硝显匏优势: 1 、提高了软件的簸用性,保护了已有投资。开发中可以将原有软件使用构件技 术封装起来,遥遗拣滚绩墨耱嚣i 骞豹程枣代羁送行惫装稍 筝箴爵以重瓣翡撼 件,从而保护了软件的投资。实现二进制级代码重用。构件之间可以在二进 囊缀裂上送行榘残霹黧耀。遮撵,哭篱要一次壤写鼗褥瑟霹瑷多处应爝,豁 后对这个构件进行任何纠正和修改, 2 ) 开发弱系统灵活,馁予维护纛秀级。 也不必改变使用这个构件的应用糨序。 饺曩橡拳技术斑程痔分为一个个构舞模 一皇王型楚查兰堡:;! := 堂垡堡兰 块,构件的模块化程度越高,模块藕合度低,在进行稷序修改或者版本升级 时,就可以只修改或替换相关的构件,丽不影响其他更多的程序构件。 3 ) 易于学习和使阁。构件软件的开发一艘由构件设计、生产和组装等过程组成, 不同岗位的开发者分工明确,器有专政,大量的开发人员可以迅速地投入基 于构件墟开发过程中。有助于并彳亍开发。一个大应用系统由许多构件鳃成, 这些构件的实现可以并发进行。只要接口设计正确,则开发这蝗构件开发结 束之焉,袍们能够颓剩集成。 鉴于构件化开发地独特优势,本文将构件技术应用于特定领域内的软件开发 中,疆出了基予稳俘酌软件豹开发流程,其俸步骤露銎2 。2 溪示: j项西宗羞i 鞫箨褐遣壤墼i 一缀磬测试 l 震求分辑撼伴功l 评链 缀件装配 建立模型缀件设计及调整 模块测试i 接定制 组件规范化系统分析 ;| 需求分析阶段设计实现阶段 删试阶段 鬻2 2 构 孛豫稳廖设计滤程 1 需求分析阶段 1 ) 矮曩宗警:任何一个臻爨,都必缓霄一个项露宗鑫,以确定质要达到的总 体目标。 2 ) 嚣求分援:根攥蜜际需求,对琐融的可行性、要完成的功能、人员的配 合、资源需求、计划进度、难点估计等避行分析。 3 ) 建立模型:根据项目的菘求内容,选择现有的构件设计模型或根据实际 情况建立自己的构件模型。 4 ) 接口定制:建立构件模型后,应该明确搬定提供的标准构件接e l 以及和 井部系统构件的特定接口。 2 ,设计实现阶段 1 ) 构造构件横整:根据建立酌模墅鞠疆侯静接口,逡择合遥麓技术 和开发工具,并用代码实现一些基本构件模型。 t 2 ) 构件功能谮估:各种开发桶设诗人爱望在一起,按雳支持翡功能、 质爨、所支持的技术及定制程度进行质量评价a 稳件设计及 螽整:在详细设计确定熬稳箨辩,可戆还要疆懿其俸爨 电子科技大学硕士学位论文 况对构件的属性、方法、接口、事件逃行相应的调整,以便尽可能 符合用户的使用习惯。 4 ) 构件规范化:在实现阶段,构件可撬还需要在代码中作进一步修 改,以便使其予类顺利扩展构件代码。 3 测试阶段 1 ) 构件测试:在构件选择、调整及规范之后,就应该进行单元测试。 显然,构件测试要眈觚零开始的 弋玛的单元溯试要茯褥多。 2 ) 构件裟配:把构件装配进单独的模块,该模块能进行单独测试。模 块也可以有自己匏定锱搐述穹弩。 3 ) 模块测试:在线程钡试期间,用作装配构件的单个模块的行为也 应浚邂行测试。 4 ) 系统测试:系统测试涉及每个特定构件配置的应用。可以看出,基 子稳掺熬牙笈蓬程中燹多麴彗孪润霜予对鞫馋豹分毒蠢、设诗、攥划秘 集成,而花在代码设计上的时间则相对少得多。 2 4 主流构件横鍪标准融蹬 秘件技术是一耱较箨实凌静技术秘方法,蹩对嚣怒豫象方法变二速剿我羁 级的完善和补充。构件技术中的基本概念魑接口,接口是独立于语言的一种描述 接搿内部黪实褒默及接嗣戮实臻簿f 爽射帮获嚣装了越来。稳静是交接翻椽戚妁, 它把接口的描述和接口的实现分离开,外界只能通过接口描述使用构件。因此, 谈疆搜建鼷秘语富瞧就不爨要了。嚣蘸豹较锋市场上育3 张具有代褒性黪鞫件技 术流派,它们分别是c o m ,j a v a g e a n 和c o r b a 。它们是由不同的机构提出的构件 技术实璎模型,下嚣分剐穷缨这3 张标准: 2 4 1 对象构件模型c o m c o m 鼹由m i c r o s o f t 公司推蹴的构件接口标凇,原剃上讲这黧构件可以建 立在任何环境下,但现有的c 删构件大多都依赖于m i c r o s o f t 环境,在u n i x , k l a c i n t o s h 等操作系统环境下可爱用的构件还很少 c o m 是作为o l e 2 0 的基础上而创建的,它题微软的第三代构件模型。微软 的箱一代构件的d l l ,它疆供了c 语言敬函数调麓接弱。第二代拳鼋箨是w i n d o w s 丌放体系结构( w o s a ) ,它提供了一些必须的服务如o d b c 和w i n d o w ss o c k e t s , 但箕仍然瓣筷豹燕e 静函数调焉。第三代弱是稳终对象。c o m 采焉了二送铡标准, 允许不同的程序语言实现有程序之间交互。 c o m 事变术扩联了对象豹功麓。对象可懿有拳个接目,每一令羧e l 透过一篷方 1 6 电子科技大学硕士学位论文 法来支持个特殊的功能。 一个对象可支持多个接口,c o m 的多接口和查询机 制非常有用,因为它们在不影响现存客户程序的情形下引入了其他接口,从而使 软件得到了发展。c o m 中的所有接口都是从特定的接口i u n k n o w n 中派生出来的。 客户使用q u e r yi n t e r f a c e 能获得接口的指针。c o l a 提供的引用计数机制 ( a d d r e f ,r e l e a s e ) 能确保服务器在客户运行期间获得服务。 自动化( a u t o m a t i o n ) 是c o m 提供的重要功能,它为客户使用支持滞后联编 ( 1 a t eb i n d i n g ) 连接c o m 服务器的能力。自动过程还通过c a t c h a 1 1 数据类 型吏持无类型程序设计语言。滞后联编的实现依赖于接口i d i s p a t c h 的通用方法 i n v o k e ,l d i s p a t c h 使脚本语言能使用服务器,但效率低于前期联编的c 0 m 通 用接口。a u t o m a t i o n 对象实现i d i s p a t c h 和v t a b l e 接口时,就称为双接口构件。 v t a b l e 中的前三项是i u n k n o w n 的成员,后四项是i d i s p a t c h 的成员,后面的项 目是双接口成员的地址。借助于双接口机制,服务器实现了灵活的工作方式。 大部分的c o m 构件实现了双接口。 c o m 提供了动态创建对象实例的机制( 类厂) 。c o m 类实现的二进制构件要求 在跨越多个控制器的使用环境下保持其名称的唯一性。因此,c o m 类的命名采 用了“全球唯一”的1 2 8 位长的二进制数( 微软称之为g u i d ,g l o b a l l yu n i q u e i d e n t i f i e r ) 命名方法。 w jn d o w sn t 4 0 引入的分布c o b l 技术一d c o m 。d c o m 把c o m 技术扩展到了整 个网络的范围开始,c o m 使用t r p c 和存根( s t u b s ) 程序来实现进程问的通信。 而d c o m 则使用r p c 在网络上进行通信,丰富t c o m 的共享机制,做到了位 ! 爵= 透 明( o c a t i o nt r a n s p a r e n c y ) 。d c o m 的网络结构非常简单。客户通过接口调用 来访问代理服务器,而代理服务器通过r p c 通信,r p c 使用底层的网络协议( 如 t c p i p ) 等来实现远程通信。在服务器端r p c 与存根程序对话,存根程序再通过 接口调用访问服务器。 2 4 2d a v a b e a n c o m 是p c 市场不依赖于语言的软件构件技术,而j a v a b e a n 则是解决平台 依赖性和语言依赖性的软件构件技术。平台依赖性问题是构件标准存在的普遍性 问题。尽管构件的接口标准是全球惟一的,但在现有的构件标准中,个构件一 旦在某种运行环境下实现,就很难直接在另一种环境复用,而解决平台依赖性问 题对进一步提高软件复用性是至关重要的。 我们知道,j a v a 本身是独立于平台的,它适宜用于i n t e r n e t ,易于构造 b r o w s e rs e r v e r 应用等。但是,j a v a 是在源代码级的复用:j a v a b e a n 是j a v a s 。f t 公n - 利用j a v a 特殊彭 b y t e c o d e 机制推出的解决平台依赖性问题的构件接 电子科技大学硕士学位论文 :_ : 标准,愁在目标代码级的复用,j a v a b e a n 提供的标准接口为目标代码级的动 态缀装、版本丹级、维护提供了保诞,一些相应的可视化工具也为方便、有效地 制定j a v a b e a n 和建立应用程序提供了方便。正像j a v a s o f t 所摇述的,j a v a b e a n 是“一次性编写,在任意地方运行,在任意地方可熏用”。 3 a v a b e a n 也称为j a v a b e a n 或b e a n ,冀构件模涎主要镪括构件和容器。模型 的其他部分还包括攀件处理、持续性、布局以及应用程序建立器( 一种可视化的 工舆) 等,这些都楚逶过j a v a g e a n 橱释熬标准接翻实现静。j a v a b e a n 有瞄下主 要特征: 1 ) 震悭管瑾璃,莲翡类型分为般蔫缝、索雩 瘸淫、依醚矮。隧稻约宋瓣往, 通过标准的命名约定来定义它们相应的访问方法,使j a v a b e a na p i 能用统一 酌方式对属性进孳亍鬻理。 2 ) 内省功能一种使构件的内部结构( 属性、方法和事件) 展现给外部的机 毒l 。与c o m 稷睨,j a v a b e a n 不霆要麴赞嚣发者颧终懿工终,宅灵嚣器秀发蠹对捻 件的属性、方法和事件的命名和类泌符号遵守一个约定,通过标凇的j a v a b e a n a p i 裁可了鳃f b e a n 戆经侮内部继崽。 j a v a b e a n 的事件处理模型是撼于现存的a wt g 件处理模型的。它决定b e a n 如俺对它鬓赛状态的变化傲出反慰,以及螺傍将这些变化传递绘瘦用程序郄其 他b e a n 。j a v a g e a na p i 通过将一个事件接收器注册到该事件上完成外部对事件 的控制。j a v a b e a n 骢其他服务主要是利用j a v a s e a n 提供的标准接口实现的,这 里不再赘述。尽管j a v a b e a n 是作为一种通用的构件模型掇出来的,但它主要解 决了可视化章句件的一些问题,类似于m i c r o s o f t 的a e t iv e x 。严格地讲,目前的 j a v 2 a b e a n 只是提供了在j a v a 环境下的二进制代褥共享枫制,在不同语言之阐 的互操作功能还是很弱的。增强j a v a b e a n 与其他构件技术之间的亘操作怒 j a v a b e a n 令后茇袋的一个主要课繇 2 4 3 公蕊对象j i 孽求代瓒体系续橡6 0 r b a c o r b a 是由o m g ( 对象管理组) 1 9 9 0 年首次提出的,主要为了解决分布式、 异矮麓软件窝硬 串环境下对象之闻虢互操幸筝翔蘧,是一种基子中阂俘戆稳馋技 术。c o r b a 的特点主要是筒对对象技术与分布式计髀的结合以及代理机制胄勺中间 谗。在垂两对象与分毒式菠术豹结合方瑟,c o r b a 褥蕊统蕊露囊瓣象模型释分鸯 式问题的对象计算模型有机结合越来。对熬是分布式计算横型中理想的节点描述 模块,甄霹隧是客户,龟露鞋是黢务器,这些对象霹激蠡淘遮分枣子诗冀凝网 络上。通过c o r b

温馨提示

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

评论

0/150

提交评论