(交通信息工程及控制专业论文)基于组件的高速公路建设管理系统框架设计研究.pdf_第1页
(交通信息工程及控制专业论文)基于组件的高速公路建设管理系统框架设计研究.pdf_第2页
(交通信息工程及控制专业论文)基于组件的高速公路建设管理系统框架设计研究.pdf_第3页
(交通信息工程及控制专业论文)基于组件的高速公路建设管理系统框架设计研究.pdf_第4页
(交通信息工程及控制专业论文)基于组件的高速公路建设管理系统框架设计研究.pdf_第5页
已阅读5页,还剩81页未读 继续免费阅读

(交通信息工程及控制专业论文)基于组件的高速公路建设管理系统框架设计研究.pdf.pdf 免费下载

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

文档简介

摘要 随着国民经济的持续、快速、健康发展,国家对基础设施的建设投资力度越 来越大,特别是对高等级高速公路的建设投资。特别是受经济危机的影响,我国 为了拉动内需,减少经济危机带来的影响,采取加大基础设施建设的力度的策略。 加之高速公路的建设工期长、覆盖面大、人力投入大,单靠人工作业是一种低效 率的方式,从而高速公路建设的信息化成为必然,各种高速公路业务系统逐渐应 用到高速公路建设中。但是,目前市场上的高速公路各大系统由于开发最初没有 采取深入的需求分析,对高速公路流程也不是太理解,采用的计算机技术比较落 后,导致了系统在实施过程中不具有可维护性、可扩展性、可复用性,难于狭得 经济效益。而且各业务系统间独立开发、独立运行,不存在数据的共享,数据的 查询与统计比较困难,不利于高速公路的管理。 本文在充分分析高速公路建设各业务系统的功能及业务流程的基础上,抽取 需求共性,提出三大主线,即分项工程量清单单元主线、工程划分主线、工程实 体主线。然后再此基础上,结合高速公路建设系统框架研究总体目标,再分析面 向对象框架与领域工程中的组件框架设计思想,提出基于组件的高速公路建设系 统的总体框架设计,包括3 个共性组件、一个连接组件、各个基于共性组件的业 务组件。然后,分析并设计了各组件的对象模型,包括分项工程量清单单元组件 对象模型、工程划分组件对象模型、工程实体组件对象模型及各结构物的组件对 象模型;组件对象模型需要有一套完善的公路工程数据库支持,所以在本文第六 章,详细分析了面向公路工程组件对象模型的数据库的设计。在本文第七章,以 安徽省高等级公路工程指挥部蚌阜至淮南段高速公路建设项目使用的 v i s p r o j e c t 高速公路建设信息化管理可视化操作平台系统为例,证明应用该 框架在实际应用中取得的成果。 高速公路建设管理系统的框架研究对提高各业务系统的可维护、可扩展性、 可复用性有积极的作用,并能实现各系统间的数据共享、跨甲台操作、集成一体 化开发,从而企业获得经济效益,提高市场竞争力。 关键字:面向对象、分项工程量清单单元、工程划分、工程实体、组件对象模型、 框架、领域工程、数据库 a bs t r a c t w i t ht h en a t i o n a l e c o n o m y m a i n t a i n e das u s t a i n e d ,r a p i da n ds o u n d d e v e l o p m e n t ,t h es t r e n g t ho f i n f r a s t r u c t u r ei n v e s t m e n ti si n c r e a s i n g ,e s p e c i a l l yi n t h eh i g hg r a d eh i g h w a yc o n s t r u c t i o ni n v e s t m e n t e s p e c i a l l yt h ee c o n o m i cc r i s i s ,i n o r d e rt os t i m u l a t ed o m e s t i cd e m a n da n dr e d u c et h ee f f e c t so fe c o n o m i cc r i s i s ,o u r c o u n t r ye x p a n dt h es t r a t e g yo fi n f r a s t r u c t u r ec o n s t r u c t i o n ,a n db e c a u s e o fl o n g c o n s t r u c t i o n d u r a t i o no ft h eh i g h w a y s ,w i d e l ye o v e r a g e da n dl o we f f i c i e n to n l yb y m a n u a lw o r k ,i ti sn e c e s s a r yt od e v e l o pc o m p u t e ri n f o r m a t i o na n dt e c h n o l o g y ,v a r y h i g h w a ys y s t e m sa r ea p p l i e dt ot h eh i g h w a yc o n s t r u c t i o n h o w e v e r ,t h ec u r r e n t m a r k e to ft h em a i ns y s t e mf a i l st ot a k eh ed e p t ho fa n a l y s i sb e f o r et h es o f t w a r e d e s i g np e r i o d ,n o td e p t hu n d e r s t a n do ft h ep r o c e s so fh i g h w a yb u s i n e s s ,t a k i n gn o t a d v a n c ec o m p u t e rt e c h n o l y g y ,s oc a u s et h es y s t e mn o t h a v i n gm a i n t e n a n c e , s c a l a b i l i t ya n dr e u s a b i l i t y ,d i f f i c u l tt oo b t a i ne c o n o m i cr e t u r n si nt h ei m p l e m e n t a t i o n p r o c e s s a n db u s i n e s ss y s t e m sd e v e l o p e di n d e p e n d e n t l y ,a n di n d e p e n d e n to p e r a t i o n o fd a t ai n f o r m a t i o ns h a r i n gh a r dt os t a t i s t i c sd a t aa n di nt h ee n di ti sd i f f i c u l tf o r t h em a n a g e m e n to fh i g h w a yc o n s t r u c t i o n t h i sa r t i c l ei nf u l la n a l y s i st h ef u n c t i o n a la n db u s i n e s sp r o c e s s e so ft h eh i g h w a y b u s i n e s ss y s t e m s ,e x t r a c tt h ec o m m o nn e e d ,t h e nc o m eu pw i t h t h r e em a jo r o n ei s u n i to fs u b e n t r yp r o j e c ta m o u n tl i s t ,o n ei sp r o j e c td i v i s i o n ,o n ei sp r o j e e te n t i t y t h e no nt h i sb a s i s ,w i t ho v e r a l lr e s e a r c ht a r g e to nt h eh i g h w a yc o n s t r u c t i o ns y s t e m a n d a n a l y s i s f r a m e w o r kb e t w e e nt h e o b je c t o r i e n t e d ( 0 0 ) m e t h o da n dc o m m e t h o d ,p u tf o r w a r di d e a sa b o u tt h eg e n e r a lf r a m e w o r kd e s i g no ft h eh i g h w a y c o n s t r u c t i o ns y s t e mb a s e do nc o m ,i n c l u d i n gt h r e ec o m m o nc o m p o n e n t ,al i n k b e t w e e nt h ec o m p o n e n t s ,e a c hb u s i n e s sc o m p o n e n tb a s e do nc o m m o nc o m p o n e n t s t h e n ,a n a l y s i sa n dd e s i g nt h ev a r i o u sc o m p o n e n to b je c tm o d e l ,i n c l u d i n gu n i to f s u b e n t r yp r o j e c ta m o u n tc o m p o n e n to b j e c tm o d e l ,p r o j e c td i v i s i o nc o m p o n e n t o b j e c tm o d e l ,p r o j e c te n t i t yo b j e c tm o d e l c o m p o n e n to b j e e tm o d e ln e e d sh a v e h i g h w a yp r o j e c t sd a t a b a s et os u p p o r t ,s oi nt h es i x t hc h a p t e r ,a n a l y s i st h ed a t a b a s e d e s i g no fe a c ho b j e c t o r i e n t e d ( o o ) h i g h w a yp r o j e c t s c o m p o n e n to b j e c tm o d e l d e t a i l l y t h er e s e a r c ho ff r a m eo fh i g h w a yc o n s t r u c t i o nm a n a g e m e n ts y s t e mh a sp o s i t i v e i n f l u e n c eo ni m p r o v i n gm a i n t e n a n c e 、s c a l a b i l i t ya n dr e u s a b i l i t yo ft h eb u s i n e s s s y s t e m s ,a n dw i l li m p l e m e n tt h ed a t as h a r i n g ,o p e r a t i o na n di n t e g r a t i o na m o n g n b u s i n e s s s y s t e m s a n dt h e n i m p r o v e e c o n o m i c p e r f o r m a n c e a n dm a r k e t c o m p e t i t i v e n e s s k e y w o r d s :o b j e c t o r i e n t e d ( o o ) ;u n i to fs u b e n t r yp r o j e c ta m o u n t ;p r o j e c t d i v i s i o n ;p r o j e c te n t i t y ;c o m p o n e n to b j e c tm o d e l ( c o m ) ;f r a m e ; d o m a i ne n g i n e e r i n g ;d a t a b a s e 1 1 1 长沙理工大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的 研究成果。除了文中特n d l :l 以标注引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均 已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 锄聋侈 日期:沙l 睥厂月髟日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权长沙理工大学可以将本学位论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同时 授权中国科学技术信息研究所将本论文收录到中国学位论文全文数据库,并 通过网络向社会公众提供信息服务。 本学位论文属于 1 、保密口,在年解密后适用本授权书。 2 、不保密d 。 ( 请在以上相应方框内打“、”) 作者签名:仫1 乡 日期:沙峰歹月必日 l 导师繇翮价日期z ,c 拜月f 日 1 1研究背景 第一章绪论帚一早珀下匕 1 1 1高速公路信息化建设背景 随着我国国民经济的持续、快速、健康发展,国家对交通运输设施的投资 力度越来越大,特别是对高等级高速公路的建设投资。特别是受经济危机的影响, 我国为了拉动内需,减少经济危机带来的影响,采取加大基础设施建设的力度策 略。由于高速公路的建设涉及面广、建设周期长、影响因素多,处理业务多且重 复率高,人员投入数量大,如果单靠人工作业的方式来处理高速公路建设管理中 存在的大量业务,势必造成人员浪费,生产率低,是一种极不合理的方式。随着 技术机水平的发展,计算机慢慢取代人工,减少出错率,对提高工作效率有着积 极的影响。近年来,高速公路建设管理方面的系统开发及应用推广极大地提高了 高速公路建设管理水平,同时也促进了高速公路建设信息化水平 h 1 2 。 1 1 2目前业务系统存在的主要问题与原因 目前市场上存在的高速公路建设管理方面的系统在实施过程中,难于满足承 包人、监理、业主等用户的要求,而且当用户提出新的要求后,需求发生变化后, 系统难于修改并满足要求,可能修改一处而产生影响别处的影响,使得系统实施 起来比较困难,造成维护成本高,经济效益下降。通过笔者的调查研究,大部分 系统的开发由于没有进行深入的需求分析,对整个高速公路建设流程理解不够, 而且大部分系统开发采用面向过程程序设计技术,不易扩展。即使部分开发单位 采用面向对象设计思想,但是由于对整个高速公路建设领域对象分析不够透彻, 也没有抽象出高速公路各业务的共性,设计思路比较混乱,当需求发生变化时, 就需要修改源代码,造成系统不具有可扩展、可复用、可维护【3 l 。 而且,高速公路建设各业务系统虽然多,但是基本上都是独立运行,各系统 间不存在相互间的数据支持,更谈不上跨平台操作,不存在集成一体化开发。对 高速公路建设存在大量的数据,且数据间存在相互联系,如果系统单独开发,单 独运行,势必造成数据间的查询与统计困难,不利于高速公路建设的管理。 基于上述原因,为了提高系统的可扩展、可复用、可维护、提高系统开发经 济效益,满足用户各方面的需求,实现数据间相互支持共享,更好地促进高速公 路建设的管理水平的提高,对研究一套合理、稳定、高效的高速公路建设系统的 框架刻不容缓。 1 2 国内外研究现状及存在的主要问题 高速公路建设管理各业务系统的开发以及应用在世界范围内虽然已有 3 0 多年的历史,但是整个高速公路建设管理系统框架的研究还处于起步阶段 川。 面向对象技术是一种新的认知和表示世界的思想和方法,面向对象方法 就是用对象来作为描写客观信息的基本单元,它包括封装在一起的对象标 识、对象属性和对象操作。采用面向对象技术,客观世界中的实体采用技术 机中的对象来模拟,使得问题域更接近客观世界的空间域,更真实的反映客 观世界,降低系统开发的难度与复杂度,提高系统开发效率。面向对象技术 成为时下软件界软件开发的流程技术【5 l 。 在高速公路建设管理系统框架研究中,大部分都是采用面向对象( 0 0 ) 框架,0 0 框架是通过抽象出抽象类,再通过继承、多态等方式派生出子类, 应用系统基于子类进行开发。0 0 框架在某种程度上提高了软件的复用,但 是0 0 框架存在以后的问题【6 】【,】【。】, ( 1 ) 面向对象框架是一种白箱重用,白箱重用并没有实现真正意义上 的对象封装。开发人员在重用框架时,有时不得不去了解框架中一些实现细 节,从而破坏了对象的封装。 ( 2 ) 面向对象框架对某领域中的热点设计是基于设计模式的热点子系 统,对凝固点的设计采用模板方法和抽象类。 ( 3 ) 不能在运行时刻添加和修改框架的功能: ( 4 ) 脆弱的基类问题:无法在运行时刻改变从父类继承的实现:子类 暴露其父类的实现细节,破坏了封装;父类、子类间耦合紧密,一方变化波 及另一方,不符合封装变化的思想。 ( 5 ) 面向对象框架在领域工程灵活性不高,不易更新升级。 2 1 3论文的主要内容 本文在充分分析高速公路建设中涉及到的业务系统的功能及业务流程的基 础上,提出三条框架设计主线,分别是分项工程量清单单元、工程划分、工程实 体,所有的业务系统都是紧紧围绕着这三条主线进行,同时也分析了这三条主线 问的对应连接关系。然后,结合框架设计的目的,再对比分析采用面向对象方法 ( o o m ) 设计的框架与采用组件方法( c o m ) 的方法的方法的基础上,并且针 对领域工程普遍采用的组件设计思想,提出了高速公路建设管理系统框架总体设 计。再对框架中的共性组件和连接性组件的对象模型进行深入的分析,建立相应 的组件对象模型。组件对象模型需要完善的工程数据库支持,所以分析并设计了 面向公路工程组件对象模型的数据库。 论文的主要内容包括如下: ( 1 ) 在论文第二章“框架设计研究相关理论知识”中: 分析面向对象程序设计方法,并分析了面向对象程序设计语言中 的三大特性,以及面向对象程序设计的有点。再此基础上,再深 入地分析了面向对象程序设计中两个重要的阶段,面向对象分析 ( o o a ) 以及面向对象设计( o o d ) 分析组件对象模型( c o m ) 的原理以及特性; 分析框架的定义、框架的特性以及框架与普通组件的区别,然后 分析了应用框架的优点; 简述u m l 以及u m l 的构成。u m l 是框架设计的建模语言: 简述领域工程的定义,以及特性,还简要分析了领域工程框架设 计的三个阶段。 ( 2 ) 在论文第三章“高速公路建设管理各业务系统开发主线分析”中“ 在充分分析高速公路项目建设管理中的计量支付、变更管理、计 划进度等业务的功能及流程的基础上,提出了分项工程量清单单 元是设计和开发这些业务系统的主线; 在充分分析高速公路项目建设管理中的试验与质量检验评定系 统、图文管理系统、竣工文档资料管理系统的功能及流程设计的 基础上,提出了工程划分是设计和开发这些系统的主线; 在充分分析二维g i s 可视化平台、三维形象进度的功能及流程设 3 计的基础上,提出工程实体是设计和开发这些系统的主线; 最后分析了三条主线间的对应连接关系。 ( 3 ) 在论文第四章“高速公路建设系统整体框架总体设计”中: 提出框架设计总体目标; 分析了面向对象法框架设计与面向组件框架设计的流程,并进行 了对比分析。 结合领域工程中组件设计思想,提出了框架总体设计,包括三个 共性组件,一个连接组件、共性组件上层的业务组件。 ( 4 ) 在论文第五章“公路工程组件对象模型”中: 采用面向对象分析( o o a ) 方法,分析并提出了分项工程量清单 单元组件对象模型、工程划分组件对象模型、工程实体组件对象 模型。 在工程实体组件对象模型,还根据其结构物组成部分,进一步地 分析了相应结构物的组件对象模型。 分析了三个共性组件之间对应连接的接口,并提出了各两者之间 的对应组件对象模型。 ( 4 ) 在论文第六章“面向公路工程组件对象模型的数据库设计”中: 设计了分项工程量清单单元组件对象模型数据表、工程划分组件 对象模型数据表、工程实体组件对象模型数据表 对工程实体对象中各个结构物自身的组件模型数据表进行设计, 以桥梁结构物为例。 对连接组件对象模型的数据表进行了设计。 ( 5 ) 在论文第七章“框架应用实例”中: 以安徽省高等级公路工程指挥部蚌阜至淮南段高速公路项目建 v i s p r o j e 高速公路建设信息化管理可视化操作平台为例,证明了应 用该框架在实际系统中取得的成果。 4 第二章框架设计研究相关理论知识 2 1 面向对象设计( o o p ) 面向对象作为一种程序设计技术最早于6 0 年代后期提出,用于s i m u l a 的应 用程序开发,自其出现以来得到了越来越广泛的应用。面向对象设计( o b j e c t o r i e n t e dp r o g r a m m i n go o p ) 是围绕现实世界概念组织模型的一种崭新的思维方 式和技术,其基本构造物是对象讲数据结构与行为紧密结合在一起的单一实 体,“面向对象”是把一组对象中的数据结构和行为紧密结合在一起组织系统的 一种策略,面向对象开发的本质不是它们在一种程序设计语言中的最终表示,而 是应用领域概念的鉴别和组织d o l o l l t l 3 l t l i 。 面向对象程序设计语言具有三个特性: ( 1 ) 封装性( e n c a p s u l a t i o n ) 在程序设计中,封装是指将一个数据和与这个 数据相关的操作集合放在一起,形成一个能动的实体对象,用户不必知道对 象行为的实施细节,只需要根据对象提供的外部特征接口访问对象即可。 ( 2 ) 继承性( i n h e r i t a n c e ) :所谓继承,是指从一个类( 基类) 创建一个继承 其功能特征的并具有额外功能的新类( 派生类) 。即在创建新的、更专门化、更 具体化的类时,重复使用现有类的能力。代码重用是面向对象程序设计方法的设 计原则也是精髓所在。派生类( 子类) 是基类( 父类) 的超集,派生类继承基类 所有的功能,在此同时,也可在派生类中增加额外的新的功能。 ( 3 ) 多态性( p l o y m o r p h i s m ) :即依赖于所使用的具体对象,展现出多种行 为的能力。 面向对象程序设计的优点是: 与人类习惯的思维方法一致; 稳定性好; 可重用性好: 可维护性好; 面向对象的软件容易理解: 易于测试和调试。 5 进入9 0 年代,人们的注意力逐渐从程序设计转向系统分析和设计,用对象的 观点来认识现实世界、设计问题的可行解,随之也就出现了许多o o a 和o o d 方法。 2 1 1面向对象分析( 0 0 a ) 分析阶段所做的主要工作是理解问题和需求构模,将现实世界中的问题 映射到问题域。在该阶段,要明确用户提出了哪些功能要求,为完成这些要 求,系统应有哪些构件,采用什么样的结构,并写出详细的需求规约。o o a 中引入了许多面向对象的概念和原则,如,对象、属性、服务、继承、封装 等,并利用这些概念和原则来分析、认识和理解客观世界,将客观世界中的 实体抽象为问题域中的对象,即问题对象,分析客观世界中问题的结构,明 确为完成系统功能,对象间应具有的联系和相互作用。因此,下述问题是o o a 阶段必须回答的 15 1 1 1 6 1 : 为完成用户要求系统应提供哪些功能? 每个对象应有哪些属性和服务? 对系统应有哪些对象构成? 对象间应有怎样的联系? 2 1 2面向对象设计( o o d ) 分析阶段主要是明确用户的功能需求,及满足用户所需的系统部件及其 结构。设计阶段则主要是确定实现用户需求的方法,即怎样做才能满足用户 需求,并构造出系统的实现蓝图。面向对象设计也是如此,只不过是引入了 一些面向对象的概念和原则,用以指导设计工作。o o d 首先从o o a 的结果 开始,并将其从问题域映射到实现域;为满足实现的需要,还要增加一些类、 结构及属性和服务,并对原有类及属性进行调整。此外,还要完成应用控制、 人机交互界面的设计等。在现有方法中,c o a d 等人的o o d 就是比较全面的 设计方法 1 7 0s 。 2 2组件对象模型( c o m ) 组件的产生是为了解决软件复用而引入的,它试图通过一种自下而上、预先 6 定制、大规模组装的方式来解决软件系统的创建问题。虽然目前市场上存在多种 组件实现模型,但是对组件模型的概念的共识主要总结如下:组件是软件的有机 组成部分,是组成软件系统的基本单位:组件是进行软件开发、复用和软件组装 的基本单元;组件是通过标准构件结构同外部进行操作;组件封装了大量的知识 ( 包括业务知识和技术知识) :组件具有良好的内聚性l 。 2 2 1c o m 的原理 c o m 是由m i c r o s o f t 提出的部件标准,它不仅定义了不见程序之间进行 交互的标准、而月也提供了部件程序运行所需要的环境。在c o m 标准中,一 个部件程序被成为一个模块,它可以是一个动态链接库( d y n a m i cl i n k l i b r a r y ,简称d l l ) 被成为进程内部件( i np r o c e s sc o m p o n e n t ) ;也可以是 一个可执行程序( 即e x e 程序) ,被成为进程外部件( o u tp r o c e s sc o m p o n e n t ) 。 一个部件程序可以包括一个或多个部件对象,因为c o m 是以对象为基本单元 的模型,所以程序与程序之间进行通信的双方应该是部件对象,也成为c o m 对象,而部件程序( 或称为c o m 程序) 是提供c o m 对象的代码载体f 2 l j f 2 :l 。 c o m 对象不同于一般的面向对象程序设计语言( 如c + + ) 的对象的概念, c o m 对象是建立在二进制可执行代码级的基础上,而一般的面向对象程序设 计语言中的对象是建立在源代码级的基础上的,因此c o m 对象是语言无关 的。这一特性使用不同编程语言开发的c o m 对象进行交互成为可能f 2 3 1 【2 1 。 2 2 2c o m 的特性 ( 1 ) 代码二进制性,与开发语言工具无关。接口规范并非建立在任何编程语 言的基础上,而是规定了二进制一级的标准。对于组件的开发,开发人员可以根 据特定情况选择特定语言工具,m sv i s u a lc + + 和m sv i s u a lb a s i c 等编程语言工 具均支持组件的开发。组件在编译之后以二进制的形式发布,可跨w i n d o w s 系 统平台使用,而且有效保证组件开发者的版权,因为组件内部实现的源程序代码 4 会外泄。 ( 2 ) 良好复用性。一个组件可以有多个属性和方法,其他组件或应用程序通 过设置或调用这些属性和方法来完成特定的操作,实现特定的功能,通过组件的 接口实现组件和应用程序的连接。负责集成的开发人员只需简单地创建组件对象 并与其接口建立连接,无需了解组件功能是如何实现的。 7 ( 3 ) 接口可扩展。一般而言,c o m 接口是不变的,客户可以继续使用该接 口所提过的服务,只要客户期望的c o m 接口在c o m 对象中还存在。c o m 对象 可以有多个接口,因此通过增加接口的方法来实现对c o m 对象的升级,这样既 能得到的新接口又不影响老接口的使用。老客户可在不更新代码的情况下继续使 用老的接口,新客户可使用组件新增的接口,这样从而保证了接口组件的兼容性。 ( 4 ) 运行效率高,便于使用和管理。组件的运行效率比解释性语言要高很多, 因为组件是二进制代码。由组件来承担核心的商务逻辑任务。对组件的应用程序 而言,一个组件就是一个接口集,通过接口能与组件进行通信,而对组件来说, 接口是包含一个函数指针数组的内存结构,每个数组元素的内容是一个组件内实 现函数的内存地址,即函数指针。 2 3框架 2 3 1框架概述 框架是一种体系结构,为特定领域内的软件系统提供未完全实现的模板, 它可以是一个将要被扩展或( 和) 复用的子系统 2 6 1 1 2 7 1 。 框架是构成一类特定软件可复用设计的一组相互协作的类。它规定了用户 的应用的体系结构,定义了整体结构、类和对象的分割、各部分的主要责任、 类和对象如何协作,以及控制流程。因而,框架更强调设计复用。 从组成来讲,框架是抽象类和具体类的混合体,抽象类存在于框架中,具 体类存在于应用程序中。所以,框架是一个有待完成的应用程序,里面包含 了特定领域的应用程序的共同方面;另外,通过定义一些设计参数,以用于 各个应用程序的特殊细节1 2 s 1 2 9 ) 。 8 2 3 2 框架的特性 它是面向特定领域的可复用软件制品: 反映了应用的体系结构; 具有部分实现的特性; 基于框架开发应用是通过扩展过程实现的: 框架由一组相互协作的构件组成,对于面向对象的框架而言,其组成构 件即为类构件; 是领域实现的产物。 2 3 3框架与普通组件的区别 基于组件的软件开发是可复用软件开发的一种有效形式。它使复杂系统 简化为一些简单的对象模块,体现了面向对象的思想,但是它主要是针对发 生频率高的,比较具体的,相对独立的问题解决方案。从对组件的定义中我 们了解到它所涉及的模块太小而不能容纳整个结构,也就是说,它不能对整 个结构进行重用f 3 0 l 。 框架是可复用软件开发的最普遍的、可修改弹性最大的一种形式。相对 组件来说,框架能提供一系列问题的解决方案,因而它更有灵活性和可扩展 性。组件能提供的仅仅是可绑定的一个模块,框架提供的是一个模板,能被 许多应用程序所采用的一个程序的框架轮廓。 与普通构件相比,框架粒度更大,一个框架内部包含了多个构件,它们 体现了领域的共性,称之为框架构件( f r a m e w o r kc o m p o n e n t s ) ;而框架外部 的、体现领域变化性的构件称为应用构件( a p p l i c a t i o nc o m p o n e n t s ) 。框架可 以视为一类特殊的构件库,它们之间最明显的区别在于框架和应用扩展部分 之间的控制流是双向的,由于框架的反向控制特性,因此可以称为“自上而下” 的库( u pd o w nl i b r a r i e s ) 。从软件复用角度看,与普通构件库相比,框架在 以下两个方面具有优势1 3 1 1 1 3 2 1 1 3 3 】: ( 1 ) 框架不仅仅是构件的简单集合,而_ 日定义了一个领域通用的高层设计, 因此基于框架进行应用开发时,同时复用了设计,从而可以进一步节省开发工作 量和时间; ( 2 ) 因为框架双向控制的特性,它比传统的构件库不论是类库还是过程库 9 包含了更多功能,因此,框架复用时需要编写的代码更少。除了上述两点不同之 处,构件库的结构建立在构件分类的基础之上,如刻面分类、关键词分类等:而 框架则直接反映了问题域结构。在将框架分为调用框架和被调用框架的基础上, 对基于框架的复用( f r a m e w o r kb a s e dr e u s e ) 和基于库的复用( l i b r a r yb a s e d r e u s e ) 进行了比较,并认为基于框架的复用有以下几个方面的优点: 更高的复用比例,即一个应用中的代码绝大部分可以复用成熟框架; 一致的表现; 更好的维护; 更好的扩展; 更高的生产率; 更高的软件质量; 更好的可移植性; 更有利于版本的健壮。 2 4u m l 2 4 1u m l 简介 u m l ( 统一建模语言,u n i f i e dm o d e l i n gl a n g u a g e ) 是一种建模语言,是第三 代为面向对象开发系统的产品进行说明、可视化和编制文档的方法。它由信息系 统( i s ,i n f o r m a t i o ns y s t e m ) 和面向对象领域的三位著名的方法学家:g r a d y b o o c h ,j a m e sr u m b a u g h 和i v a rj a c o b s o n ( 称为“三个好朋友”,t h et h r e ea m i g o s ) 提出的。这种语言得到了“u m l 伙伴联盟”的应用与反馈,并得到工业界的广泛 支持,有o m g 组织( o b j e c tm a n a g e m e n tg r o u p ) 采纳作为工业界标准。u m l 取代目前软件业众多的分析和设计方法,成为一种标准,这是软件界的第一次有 了一个统一的建模语言1 3 4 1 1 3 5 1 1 3 6 i 。 u m l 是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表 示。它: 是一种可视化的建模语言,而不是一种可视化的程序设计语言; 一是一种建模语言规格说明,是一种表示的标准,而不是一种工具或知识 库的规格说明,是一种标准; _ 允许任何过程和方式使用它,但不是过程,也不是方法。 1 0 u m l 的目标是: 表达能力强、易于使用,进行可视化建模; 可运用于任何语言平台和工具平台,与具体的实现无关; 可运用于任何软件开发的过程,与具体的过程无关; 具有扩展和专有化机制,便于扩展,对核心概念无需进行修改; 与最好的软件工程实践经验集成; 为面向对象设计开发过程中涌现出的高级概念( 例如协作、框架、模 式和组件) 提供支持,强调在软件开发中,对架构、框架、模式和组 件的重用; 可升级,具有广阔的适用性和可用性: 有利于面向对象工具市场的成长。 2 4 2u m l 的组成 u m l 的词汇表包括3 种构造模块;元素、图、关系。模型中的重要抽象是 元素;将元素的组合分组是图;将这些元素连接起来是关系【,1 1 【3 9 l 。 a 元素 结构元素、分组元素、行为元素、注解元素是u m l 中的四种元素。 ( 1 ) 结构元素 结构元素是u m l 模型中的名词。结构元素代表了概念的或物理的元素, 是模型中主要的静态部分。在u m l 中,共有类( c l a s s ) 、协作( c o l l a b o r a t i o n ) 、接 i :i ( i n t e r f a c e ) 、活动类( a c t i v ec l a s s ) 、用例( u s ec a s e ) 、节点( n o d e ) 和组件 ( c o m p o n e n t ) 等7 种结构元素。 ( 2 ) 行为元素 在u m l 中,行为元素是模型中的动词,是u m l 模型中的动态部分,代表 了跨越时间和空间的行为。在u m l 中,有两种主要的行为元素:状态机( s t a t e m a c h i n e ) 和交互作用( i n t e r a c t i o n ) 。 交互作用是由在对象间交换的信息组成的行为,这些信息是在特定上下文中 为完成特定目的。交互作用包括许多其它元素:消息、连接( 对象间的连接) 、动 作序列( 消息激活的行为) 。 状态机是这样一种行为,这种行为规定了对象在其生命周期为响应事件而经 历的状态序列,以及对事件的响应。状态机也包括许多其它元素:状态、事件、 跃迁和活动。 ( 3 ) 分组元素 分组元素是u m l 模型中用来组织元素的元素。在u m l 中,:包( p a c k a g e ) 是一种主要的分组元素。 ( 4 ) 注解元素 注解元素是u m l 模型起解释性的部分的元素。它们是可以用于描述、例解、 注解模型中任何元素的注释。在u m l 中,注解( n o t e ) 是一种主要的注释元素。 b 图 类图( c l a s sd i a g r a m s ) 、用例图( u s ec a s ed i a g r a m s ) 、状态 ( s t a t ec h a r t d i a g r a m s ) 、活动图( a c t i v i t yd i a g r a m s ) 、对象 ( o b j e c td i a g r a m s ) 、协作图 ( c o l l a b o r a t i o nd i a g r a m s ) 、时序图( s e q u e n c ed i a g r a m s ) 、配置图( d e p l o y m e n t d i a g r a m s ) 和组件图( c o m p o n e n td i a g r a m s ) 9 种视图是u m l 提供的,这9 种视图 可以从不同层次、不同角度为软件系统过程从需求分析、设计到实现测试提供了 有力支持。这些图可以分为五类: ( 1 ) 用例图( u s ec a s ed i a g r a m s ) 用例图从用户角度描述系统功能,并指出各功能的操作者。 ( 2 ) 静态图( s t a t i cd i a g r a m s ) 静态图包括对象图( o b j e c td i a g r a m s ) 和类图( c l a s sd i a g r a m s ) 。 类图描述系统中类的静态结构。类图不但定义了系统中的类,表示了类之间 的联系( 如关联、依赖、聚合等) ,还描述了类的内部结构( 类的属性和操作) 。类 图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的 实例,但是采用与类图类似的标识,它们的不同之处在于对象图是多个对象的实 例,而不是实际的类。一个对象图是类图的一个实例,类图可以有多个对象实例。 对象图只能在系统某一时段内存在,因为对象存在生命周期。【柏】【4 。 ( 3 ) 行为图( b e h a v i o rd i a g r a m s ) 行为图描述系统对象间和系统的动态模型的交互关系。行为图包括活动图 ( a c t i v i t yd i a g r a m s ) 和状态图( s t a t ed i a g r a m s ) 。 活动图描述了满足用例要求所要进行的活动以及活动的约束关系,活动图有 利于识别并发活动。状态图通常是对类图的补充,在实际应用中并不需要为所有 的类画状态图,仅为那些有多个状态且其行为受外界环境的影响并发生改变的类 画状态图,状态图描述了类的对象所有可能的状态以及事件发生时状态的跃迁条 1 2 件。 ( 4 ) 交互图( i n t e r a c t i v ed i a g r a m s ) 交互图描述了对象间的交互关系。交互图包括协作图( c o l l a b o r a t i o nd i a g r a m s ) 和时序图( s e q u e n c ed i a g r a m s ) 。 协作图描述了对象间的协作关系,协作图跟时序图相似,描述了对象间的动 态协作关系除显示信息交换外,协作图还显示对象以及对象之间的关系。时序图 描述了对象之间的动态合作关系,它强调对象之间消息发送的时间顺序,同时显 示对象之间的交互4 1 。 ( 5 ) 实现图( i m p l e m e n t a t i o nd i a g r a m s ) 实现图包括配置1 訇( d e p l o y m e n td i a g r a m s ) 和组件图( c o m p o n e n td i a g r a m s ) 。 组件图包括逻辑类或实现类的有关信息,有助于分析和理解组件之间的相互影响 程度。组件图描述代码组件的物理结构及各组件之间的依赖关系。一个组件可能 是源代码组件、二进制组件或可执行组件【”j 。 配置图定义系统中软硬件的物理体系结构。配置图不但描述了实际的计算机 和设备( 用节点表示) 以及它们之间的连接关系,还描述了连接的类型及组件之间 的依赖 4 5 1 。 2 5 领域工程( d o m a i ne n g i n e e r i n g ) 领域是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。领域 内的应用系统一般都具有许多相似的特性【”儿拍1 。 领域模型( d o m a i nm o d e l ) 是对领域中存在的若干系统的共同需求的描述。 领域工程覆盖了建立领域中应用系统可复用软件构件的所有活动,为一组相 似或相近系统的应用工程建立基本能力和必备基础的过程。领域工程对领域中的 若干系统进行分析,抽取各个系统的共性需求,识别这些应用系统中的共同特征 和可变特征,对刻画这些特征的对象和操作进行选取和抽象,形成领域模型 ( d o m a i nm o d e l ) 。并依据领域模型产生领域中应用共同具有的软件框架体系结 构,并以此为基础,识别、设计、开发和组织可复用构件。【舶l1 4 7 1 。 领域工程通常包含三个重要阶段,分别是领域分析、领域设计和领域实现: ( 1 ) 领域分析阶段 领域分析对某领域中存在的若干系统进行分析,识别这些应用系统中的共 同特征和可变特征,对这些特征进行选择与抽象,形成领域分析模型( d o m a i n a n a l y s i sm o d e l ) 。 ( 2 ) 领域设计阶段 获得复用基础设施的描述是领域设计阶段的目标。在领域模型中表示的需求 的解决方案在该基础设施中给出了,是应用工程建立实际软件系统的基本构架。 领域设计阶段以领域分析模型为基础,进一步得到特定领域的软件体系结构 ( d o m a i ns p e c i f i cs o f t w a r ea r c h i t e c t u r ed s s a ) ,适用于整个领域中不同应用的全 局框架。 ( 3 ) 领域实现阶段 得到依据领域模型和特定领域架构开发和组织可复用信息是领域实现阶段 的主要目的。它们是依据领域分析模型和特定领域软件架构进行组织。领域实现 阶段以领域分析阶段、领域设计阶段的制品为依据,识别、开发和组织领域中的 可复用资产,如构件、体系结构等。这样,当开发同一领域中的新应用系统时, 可根据已有的领域分析模型,根据特定领域的软件构架( d s

温馨提示

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

评论

0/150

提交评论