




已阅读5页,还剩59页未读, 继续免费阅读
(计算机应用技术专业论文)监控系统软件中软件复用技术的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
监控系统软件中软件复用技术的应用研究 摘要 随着监控系统在工业、城市建设等各个行业发挥越来越重要的作 用,用户对监控系统也提出了更多的需求。然而目前市场上的监控系 统组态软件尚不能满足市场需求,在监控系统软件的开发过程中存在 着大量重复的工作,开发效率低下,代码维护和测试困难,造成了很 大的人力和时间的浪费。 作者在论文课题期间参与了某城中水集团管线监控系统等多个大 型监控系统项目的开发,研究监控系统软件的扩展性、开放性和复用 性。因此,作者以上述项目为背景展开研究。论文的研究工作主要包 括:第一,作者对监控领域的需求进行抽象,应用面向对象框架技术 进行设计,提取相对固定的业务逻辑构建了监控中心软件框架,实现 了设计重用;第二,针对重复开发和代码利用率不高的问题,作者应 用c o m 技术实现展现构件、数据模型构件等服务构件,在开发过程 中逐步建立和组织开发团队的构件库,实现了代码复用;第三,针对 通用服务代码和核心功能代码交织缠绕的现象和问题,作者应用动态 代理技术实现a o p 基础服务构件,实现了业务逻辑和横切逻辑的有 效分离。在应用了软件复用技术后,缩短了项目周期,提高了软件质 量,系统运行稳定良好。这表明,软件复用技术可以提高监控系统软 件的开发效率和质量,具有非常重要的实践意义和经济意义。 关键词:监控系统软件复用框架构件 a o p ( a s p e c t s o r i e n t e dp r o g r a m m i n g ) t h er e s e a r c ho fs o f t w ar er e u s ei nt h e m o n i t o r i n gs y s t e ms o f i ,a r e a b s t r a c t w i t ht h ed e v e l o p m e n to fm o n i t o r i n ga n da d m i n i s t r a t i o ns y s t e m i t p l a y s m o r e i m p o r t a n t r o l ei n i n d u s t r y a n dc o n s t r u c t i o no f c i t y s i m u l t a n e o u s l y , c u s t o m e r sn e e dm o r ef u n c t i o n so ft h em o n i t o r i n g s y s t e m s ,h o p et h e mt oh a v em o r ep r a c t i c a lu t i l i t ya n db e c o m em o r e c o n s u m m a t e h o w e v e r , t h e r ei sa n ym a t u r ec o m p o n e n t b a s e ds o f t w a r e p r o d u c t f i tf o r t h e r e q u i r e m e n t d u r i n gt h ed e v e l o p i n gp r o c e s so f m o n i t o r i n ga n da d m i n i s t r a t i o ns y s t e m ,t h e r ea r em a n yp r o b l e me x i s t : r e p e a t i n gw o r k ,l o we f f i c i e n c y ,h a r dt om a i n t a i na n dh a r dt ot e s t i tc a u s e s ab i gw a s t eo fh u m a na n dt i m e t h ea u t h o rh a sp a r t i c i p a t e dt h r o u g h o u tm a n y p r o j e c t so fm o n i t o r i n g s y s t e mi n t h e p a p e rp e r i o d a n dd or e s e a r c h e so nt h e e x p a n s i b i l i t y , r e u s a b i l i t ya n do p e n n e s so ft h e s es o f t w a r e t h i sp a p e ri sb a s e do nt h e s e p r o j e c t sa n dt h er e s e a r c hp o i n t so ft h e t h e s i sm a i n l yc o n t a i n sc o n t e n t sa s f o l l o w s :f i r s t ,a d o p t i n g t h e o b j e c t o r i e n t e d s o f t w a r ef r a m e w o r k t e c h n o l o g y a n da c hi e v e d e s i g n - r e u s e ;s e c o n d ,c o n s t r u c ts e r v i c e c o m p o n e n tb a s e do nc o mt e c h n o l o g ya n da c h i e v ec o d e r e u s e ;t h i r d , r e a l i z et h ea o pb a s i cs e r v i c ec o m p o n e n tb a s e do nd y n a m i cp r o x ya n d a c h i e v et h es e p a r a t i o no fb u s i n e s sl o g i ca n dc r o s s c u tl o g i c b a s e do nt h i sc o n d i t i o n ,t h e d e v e l o p i n go ft h es o f t w a r es y s t e m m e e t sm o r ep r o b l e m s ,s u c ha sl o we f f i c i e n c y , c o m p l e xb u s i n e s s l o g i c , a n dh a r d r e u s i n g h o wt oi m p r o v et h eq u a l i t yo ft h es o f t w a r es y s t e mi sa d i f f i c u l t p r o b l e m ,w h i c h b l o c k st h ee v o l u t i o no ft h e s o f t w a r e d e v e l o p m e n t n o w t h e s y s t e m w o r k s p r o p e r l ya n d r e c e i v e s g o o d r e p u t a t i o nf r o mc u s t o m e r s s oi th a sb e e np r o v e dt h a ta p p l i n gs o f t w a r e r e u s et e c h n o l o g yc a ni m p r o v et h ee f f i c i e n c ya n dq u a l i t yo f d e v e l o p i n g i i i k e yw o r d s : m o n i t o r i n gs y s t e m s o f t w a r e r e u s e f r a m e w o r k c o m p o n e n t a o p ( a s p e c t s o r i e n t e dp r o g r a m m i n g ) i v 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: 同期:型:三:12 同期:业卜l 旦一 北京邮电大学硕上论文 第1 章概述 本章介绍了监控系统的发展现状,说明了监控系统软件建设过程中遇到的问 题及目前软件复用在监控系统软件的应用情况,最后说明作者在论文期间所做的 主要工作和论文的组织结构。 1 1 监控系统发展现状 监控系统的演变,是一个从集中监控向网络监控的发展历史。早期的监控系 统,采用大型仪表集中对重要设备的状态进行监视,并通过操作盘进行集中式操 作。这种监控方式功能单一,监控范围有限,难以实现统一有效的管理。而随着 各种有线、无线通信技术的飞速发展,各种语音和数据业务的逐步成熟,以无线 数据通讯网络为依托构建的无线监控系统成为一种发展趋势。这种下一代无线监 控系统在目标系统管理层面和终端设备之间建立无线的移动数据通信通道,是信 息管理系统、监控管理系统和终端运营系统的完美结合。现在,在无线数据通讯 网络基础上建立的无线监控系统已经在各行各业发挥了重要的作用【l 。 同时,监控系统进入了一个基于业务的监控时期,传统的面向数据的监控模 式已经不能满足只益复杂的监控对象的要求,新的监控模式是从业务管理模式入 手,它要求将复杂的业务管理规则融合到监控之中,而不仅仅是对监控数据的简 单浏览。并且企业常常要求将监控系统和企业的管理平台集成在一起,形成一个 统一管理的数据平台。所以作者就此发展趋势和现状展开研究,应用软件复用技 术设计和实现了下一代融合业务的无线监控系统。 1 2 研究背景 1 2 1 监控系统软件存在的问题 传统的监控系统软件通常只是针对某个特定环境进行分析、设计和丌发,各 个子系统的功能紧密耦合在一起。随着工业生产的发展,对监控软件的需求不断 变化,软件规模也不断扩大,所以在监控系统软件的开发中主要存在以下问题: 第一,监控软件重用性低。由于各行业监控系统的需求不同,需要监控的参 北京邮电人学硕上论文 数和状态多种多样,业务逻辑也不同,呈现在用户面前的操作界面也不同。原有 的开发方式是每次根据不同的需求,重新独立开发。据统计,每次开发过程中, 有3 0 至5 0 的工作属于重复或类似功能的开发。这种方式投入大,周期长, 成本高,重复劳动严重。 第二,模块间耦合性高,维护困难。由于系统内部功能模块众多,各个模块 间信息交互复杂,程序调用及跳转频繁,代码可读性差。常常出现原系统编码人 员离职后,接手人难以理清原有模块间的通信机制和复杂的业务逻辑,一旦因需 求调整而要修改代码,难度很高,甚至因修改复杂度太高只能丢弃原软件模块, 造成很大的人力和时间的浪费。 第三,软件系统内部程序逻辑复杂。因为用户对监控系统有了更高的要求, 监控系统需要采集更多的参数,设计更复杂的业务逻辑。在这种情况下,对需求 人员和开发人员都提出了更高的要求。如何充分考虑业务逻辑和实现技术,从复 杂的业务逻辑中解脱出来,成为开发人员的一个挑战【7 1 。 本论文旨在通过软件复用的研究和实践来解决上述问题,提高监控系统软件 的开发效率和质量,降低软件模块的复杂性和耦合性,进而降低监控系统软件开 发成本,提高经济效益。 1 2 2 目前软件复用的研究现状 美国两个最大规模的复用项目是s t a r s 和d o d 软件复用计划项目。s t a r s ( 用于可修改的、可靠的和可维护的系统的软件技术s o f t w a r et e c h n o l o g yf o r a d a p t a b l e ,r e l i a b l e ,a n dm a i n t a i n a b l es y s t e m s ) 是一个刚完成的研究项目,它的重 点是超大规模程序设计,并开发了很多相关的复用技术( 复用库、框架等) 。在 s t a r s 项目的最后两年,它资助了三个早期采用者项目,这三个项目应用先进 的复用概念去创建美国空军移动命令中心的软件,重新创建了海军t 3 4 c 飞行仪 表教练机软件,并重新设计了军队的改进版“护栏”v 软件。这些试点项目取得 了非常显著的效果:发布时间提前将近一半,质量提高两倍,成本降低7 0 。 在工业界,全世界的许多公司也大力推行复用。例如,a t & t 已经启动了一 个重大的复用项目以控制在特定领域产品线结构内或结构f h j 的电信软件资产上 的投资。它们已经丌发了一套最好的实践方法,许多业务部门已经适应了这套方 法并且用它促进大范围复用。h p 公司已经着手通过一个旨在获得竞争优势的计 划,使用软件总线和胶合语言的策略,集中推广软件复用的概念并将其贯穿到各 产品部门中并取得了很好的效剽以j 。 2 北京邮电大学硕上论文 现在,软件工业化生产更多的体现在构件和框架的研究中,众所周知的o m g 的c o r b a 、m i c r o s o f t 的d n a2 0 0 0 、s u n 的j 2 e e 这三大流派在构件开发上发挥 了很大的作用,为软件的工业化生产提供了有力的支持,目前还在进一步完善中。 1 2 3 软件复用在当前监控系统软件的应用 由于采用软件复用技术可以充分节省监控系统软件开发、升级、维护的时间 和成本,所以大家开始探索软件复用技术在监控系统软件开发中的应用,试图建 立一个可复用可扩展的监控系统软件框架。 工控组态软件是面向s c a d a 系统( s u p e r v i s o r yc o n t r o la n dd a t aa c q u i s i t i o n , 数据采集和监督控制系统) 的软件平台工具,具有丰富的设置条目,使用方式灵 活,功能强大。所谓组态( c o n f i g u r a t i o n ) ,就是对于不同但类似的应用系统, 不必重新设计和编程,而只需根据应用系统和测控任务的要求,利用组态软件提 供的工具,通过简单形象的配置和定义或者编写简单的组态语言,即可设计完成 一个特定功能的新系统或修改现有系统的功能。 组态软件解决了工控领域问题的共性【z l l ,并提供可配置特性来生成定制的系 统,在某种程度上提高了软件的复用性,减少了重复劳动,缩短了特定应用的开 发周期,增强了应用系统的扩展能力。但是目前市场上的组态软件产品存在着很 多问题,它们只是针对特定行业或特定技术,很少具备多行业,多技术的高通用 性。依靠此类组态软件开发出的上层管理平台也将难以具有令人满意的系统扩展 能力和开放能力。 因此基于框架和构件的软件复用技术得到了作者的关注。软件框架技术是针 对特定应用领域的软件复用技术,能够解决通用组态软件开发所遇到的问题。目 前市场上尚没有较为成熟的软件框架产品。作者认为丌展监控软件框架的研究是 解决传统工控软件开发问题的重要途径之一,开展这方面的研究和实践是有意义 的。 1 3 论文期间所做的工作 作者在完成论文课题期问,参与了某城市夜景照明无线监控系统、路灯无线 监控系统、中水集团管线监控系统等多个大型监控系统软件的需求分析、设计、 编码以及测试等工作。作者作为项目的主要技术负责人之,参与了整个系统的 架构设计、底层通信协议制定以及上层软件平台的设计和实现。作者从面向对象 3 北京邮电大学硕士论文 和面向方面两个维度作为不同的思考方向设计监控软件的架构,分离通用服务逻 辑和核心业务逻辑,充分考虑各种监控系统的需要,最大化软件的复用性,解决 底层通信的难题,降低系统内各模块之间的耦合性。目前各个系统已成功投入使 用,运行稳定,用户反映良好。 作者在课题期间所做的主要工作有: 以0 0 及分层思想作为设计依据,分析监控系统的特点,参与下一代监控系 统的整体软件架构设计。 参与了监控系统现场监控单元和上层应用平台的消息协议制定,完成了与业 务逻辑相关的信令消息和数据消息协议,并进行了通信服务器子系统的设计。 完成了监控系统各个子系统的设计和实现,主要包括:1 、监控客户端子系 统和通信服务器子系统的通信设计实现,其中此部分主要完成了消息类的设计和 消息的封装处理工作,并完成通信服务器子系统的通信机制设计实现;2 、监控 客户端的设计与实现,应用设计模式降低子模块之间耦合性;3 、应用c o m 技 术设计实现服务构件,如g i s 控件、数据模型构件等,建立团队控件库,实现了 代码级复用。 研究a o p 面向方面的软件设计思想,分离核心业务逻辑和通用服务逻辑, 应用动态代理技术设计实现具有很高复用率的a o p 基础服务构件日志管理、权 限管理等。 1 4 论文组织结构 第二章主要对介绍了软件复用的相关概念、过程、难点、意义等,并重点介 绍了软件复用相关的重要技术,包括框架、体系结构、构件、设计模式等,并分 析了软件复用和这些技术的关系。 第三章对新一代监控系统的整体软件架构进行介绍,并说明了整个系统的组 成,接着分别介绍了如何运用面向对象和分层的设计思想对现场监控单元、通信 服务器、监控客户端子系统进行分析设计。 第四章重点介绍了监控客户端中的构件组成及设计实现,并分别以g i s 控件 和o 瓜构件为例介绍展现组件和数据模型构件的设计及实现,最后介绍了如何 由服务构件组装为更高粒度的业务构件以及如何建立和组织开发团队的构件库。 第五章着重关注系统的横切面,研究应用a o p 技术实现面向横切面的基础 服务构件。首先介绍了a o p 技术的本质以及a o p 在软件体系结构中的关注视角; 4 北京邮电大学硕士论文 并介绍了当前n e t 平台下a o p 技术的发展状况以及一些主流的a o p 框架;最 后以日志管理的模块为例描述了应用c a s t l e 的动态代理技术实现a o p 的过程。 第六章对下一代监控系统进行总结,并提出了下一步的研究方向:随着 w i n d o w sv i s t a 和n e tf r a m e w o r k3 0 的发布,微软技术的体系结构也越来越清 晰,如何应用w c f 、w p f 、w f 及面向服务架构充分利用遗留系统、旧系统的 开发成果,实现企业应用的整合统一,实现系统级的软件复用是作者下一步的研 究方向。 北京邮电大学硕士论文 第2 章软件复用相关技术 2 1 软件复用的定义 软件复用是一种由预先构造好的、为复用目的而设计的软件构件来建立或者 组装软件系统的过程。它的基本思想是放弃那种原始的、一切从头开始的软件开 发方式,而由公共的可复用的构件来组装系统。软件复用可以发生在一个系统内, 也可以发生在相似的系统间,或者发生在完全不同的系统间,所以应用范围非常 广泛。【3 1 【3 8 】 2 2 软件复用的过程 软件复用将软件过程分为两个截然不同的方面或者视图:一是应用者复用, 即利用可复用构件去建立新的软件系统的活动;二是生产者复用,即建立、获取 或者重新设计可复用构件的活动1 3 5 1 。 应用者复用要求把复用的观念渗透于开发过程中,从项目计划到实现以及测 试的每个阶段。要探索利用每个机会去利用可复用构件建立软件系统和它相关的 文档( 诸如用户文档或测试计划等) 。每一个开发决策都应考虑什么可以用来复 用。尽管应用者复用的实施中没有包含建立新的可复用构件,但复用者在建立软 件构件和其他项目交付的时候,心中必须时刻想着复用。 生产者复用的主要任务是建立新的可复用构件。实施生产者需要对项目进行 管理,诸如为了存储和检索可复用构件,应建立一个复用库和分类模式,以及建 立新的可复用构件或者重新设计现有的构件,来提高它们的可复用性。 由于高质量的软件增加了被成功复用的机会,因此对于任何项目团队来讲, 质量是要嵌入到软件内部的一个唯一的和最重要的特征。建立一个具有完善的文 档、符合公司标准和模块化的软件系统,是建立一个可复用构件的基础。一位热 心的复用应用者以、中要经常牢记未来复用的可能性,他不仅遵循公司的软件标 准,来建立高质量的构件,而且还通过其他的团队成员、系统和项目,来了解构 件的其他一些可能的用处。 6 北京邮电大学硕七论文 生产者复用周期由如下三个阶段组成:领域分析、构造可复用构件、建立 复用库。生产者复用生命周期的目的是确定一个过程,由该过程识别出合适的可 复用构件、将它们组织成恰当的形式,并放在恰当的位置上以备复用。生产者复 用生命周期也被称为领域工程。 本文主要就生产者复用的角度展开讨论,重点研究分析监控管理这一特殊领 域,研究其业务特点,提取监控系统软件共性的业务需求设计监控系统软件框架, 并建立和组织复用库,以供后续项目的重用。 2 3 可复用的软件资产 早期的软件复用实践主要针对代码。随着产业界的成熟,复用变得更有计划, 实施也更为系统。现在,软件生命周期的任何产物都可以被复用。这意味着除了 商业上第三方提供的软件包,软件系统结构、需求、设计、代码、工具、实用程 序、测试用例、测试场景、数据库、数据库模式、文档和用户手册都可以被复用。 在下一代监控系统软件的开发过程中,软件系统架构文档、需求文档、设计 文档、数据库设计文档、测试用例文档都成为开发团队的可复用资产,搜集整理 在文档库中。作者应用构件技术实现了多个可复用构件,并逐步建设和完善团队 构件库,这些文档和代码产品都是开发团队的知识积累和重要财产。 2 4 软件复用相关技术 2 4 1 框架 s m a l l t a l k 一8 0 丌发环境中的框架m o d e l v i e w c o n t r o l l e r ( m v c ) ,被认为是 第一个得到广泛应用的框架。之后又出现了一系列框架产品:i n t e r v i e w , e n + ,f i r e a l a r ms y s t e m , ( t a l i g e n t ) c o m m o n p o i n t ,( i b m ) s a n f r a n c i s c o 等等。 许多学者,包括j o h n s o n ,p r e e ,b o s c h 等对框架尤其是面向对象框架展开了大 量研究,研究的内容包括框架设计、框架实现、框架描述、框架复用、框架演化 竺 1 3 1 3 0 l 弋丁0 1 1 框架概念 框架是由设计和代码组成的可复用软件成分,是一个领域内应用程序的部分 设计和实现,所以,框架是一个不完整的系统。关于框架,有很多不同的定义, 7 北京邮电大学硕士论文 其中两个比较有代表性的定义是: 1 框架= 模式+ 构件,是由开发人员定制的应用系统的骨架,是整个系统 或子系统的可复用设计,由一组抽象类及它们实例间的交互方式组成。 2 框架是一种微体系结构,为特定领域内的软件系统提供未完全实现的模 板。 框架反映了一个领域内应用的软件体系结构,包括其组成成分、关系以及约 束;同时定义了针对特定功能需要在哪里进行调整和修改。因此软件构架提供了 创建具体应用的基本构造单元。 框架是针对特定领域的,一般建立在同一个或相似领域中,即所要开发的软 件系统要具有较强的相似性,通过框架将领域中不变或不易变的部分在一定时间 间隔内固定下来,把易变的部分以用户接口的形式保留下来,应用开发人员通过 扩展或定制框架生成特定应用部分的功能。从而达到设计和代码的复用。一个成 功的框架在很大程度上简化了复杂系统的开发。框架技术与构件技术的结合产生 了基于构件的应用框架技术,这是框架技术的一个发展趋势。 2 ) 框架的特点 框架内部使用的技术是面向对象技术,因此它继承了面向对象技术的所有 优点。此外,还拥有比面向对象技术更高级的特点: 模块化( m o d u l a r i t y ) :框架继承了面向对象技术的特点,并提供了骨架和设 计,将数据封装在对象里并提供相对稳定的接口用于操作数据。框架不仅仅是类 的集合,还提供了丰富的功能和对象类之间内嵌的骨架结构,这些体系模型和设 计提高了系统的模块化,最大限度的减少了开发人员需要开发的通用代码,减轻 了代码调试和测试的工作量。因此,框架技术具有很好的模块化特性。 可复用性( r e u s a b i l i t y ) :框架提供的稳定接口提高了复用性。通过定义通用的 构件,可以被重新用来创建新的应用。应用的开发不再是从头丌始重写整个程序, 而是从己有的框架基础上通过添加、改写或定制实现。因此,框架除了可以用面 向对象继承的方法重写代码外,其本身就是一个可多次复用的模板。 可扩展性( e x t e n s i b i l i t y ) :应用开发人员通过添加、改写和定制等方法一步步 的扩展框架,最终实现整个应用程序。因此,框架也具有很好的扩展性。 反向控制特性( i n v e r s i o no f c o n t r 0 1 ) :框架运行时的显著特征是反向控制。反 向控制是指由框架主动来控制工作流程( 比如通过消息派遣机制) ,不再像传统 的类库一样被用户代码调用,而是去调用用户代码。这种方法称为好莱坞规则 ( h o l l y w o o dp r i n c i p l e ) : “ic a l ly o u ,d o n tc a l lm e 。( 不要给我打电话,我会给你 8 北京邮电大学硕上论文 去电话) 。这是一种新的思维方式,改变了过去过程式的编程方式,角色发生 了逆转。框架是提供控制流的角色,开发人员的代码被框架调用,这非常有益。 框架的这种特性使得应用的开发变得简单,因为开发人员可以从应用程序的细节 纠缠中脱离出来,而专注于他们所熟悉的问题域,专心设计好应用的业务方法。 与传统的类库相比,框架与领域密切相关,它定义了特定领域应用系统的公 共结构,而对类的复用并没有领域相关性的限制。类是一种小粒度的可复用资源, 而框架则提供了系统级的可复用性,支持系统的、全面的软件复用,是一种大粒 度的可复用资源。 3 ) 框架的分类 框架主要根据以下几个方面分类: 1 根据应用范围分类 框架按照应用范围可被分为三类: 系统基础设施框架( s y s t e mi n f r a s t r u c t u r ef r a m e w o r k ) :一般用在系统基础建 设中,给应用提供一个全范围、功能性的基础设施,简化了系统基础设施的开 发,如操作系统、通讯框架等。具体的应用例如g u i 框架、语言处理框架等。 中间件集成框架( m i d d l e w a r ei n t e g r a t i o nf r a m e w o r k ) :通常用于开发集成分布 式应用和分布式构件,把中间层逻辑的代码通过框架技术组合成为一个完整的系 统,这样可以提高软件开发人员的模型化复用,并且增强软件基础设施在分布式 环境下的无缝联接。现在中间件集成框架的市场非常繁荣,例如j 2 e e 中的应用 程序服务器和分布式数据库框架等。 企业应用程序框架( e n t e r p r i s ea p p l i c a t i o nf r a m e w o r k ) :用于在某一特定企业 应用领域中( 如电信、电子设施、制造业和金融等) 提供通用的业务控制或特定业 务模式,是对该领域进行抽象而得出的,有助于减少实现应用的工作量,允许开 发人员在涉及的领域创造高质量软件的同时减少丌拓市场的时间。相对于系统基 础设施框架和中间层集成框架,企业应用程序框架更为昂贵,但因为它们直接支 持最终用户的开发,所以同样能为投资带来可观的回报。系统基础设施和中问件 集成框架更大程度上致力于软件内部的丌发,而企业应用框架更注重的是快速创 建高品质的系统。 2 根据复用方式分类 框架按照复用方式可分为白盒框架( w h i t e b o xf r a m e w o r k ) 和黑盒框架 ( b l a c k b o xf r a m e w o r k ) 。 白盒框架又被称为基于集成的框架,因为复用白盒框架时使用者是通过对框 9 北京邮电火学硕上论文 架中的抽象类进行特殊化的方式来定制框架行为的。使用者首先对白盒框架进行 具体化,即为每一个抽象类派生一个子类,并在子类中给定所有纯虚方法的具体 实现,然后就可使用这些具体的子类来开发特定的应用系统。白盒框架由于提供 了框架种类的实现细节,使得开发人员能够对它进行各种修改,提高了它的可复 用范围,但同时这又成为了它的一个缺点,即使用者必须对白盒框架的内部结构 非常了解,才能正确有效地使用它。白盒框架的一个具体例子是m f c 。 黑盒框架与白盒框架相反,描述了使用框架的系统所包含的类、这些类需要 符合的规约以及它们之间的互联关系。框架使用者通过定义类或构件的接口参数 得到它们的不同组装,从而达到修改黑盒框架的目的。与白盒框架相比,开发人 员在复用这种框架时只需知道其外部接口,而不需要了解框架内部的实现细节, 但黑盒框架提供的应变机制较弱,而且复用的范围有限。 白盒框架和黑盒框架各有其优缺点。白盒框架利用集成可以导出新的子类, 通过编程创建新的功能。而黑盒框架利用集成来导出新的子类型,由于集成是一 种静态关系,导致类之间的“硬连接”,难以在运行时改变,所以基于组装的黑 盒框架要求框架开发人员预先知道什么将会改变。 在框架的演变过程中,开始的时候常常是基于继承的白盒框架,因为这时框 架开发人员对应用领域还没有充分的了解,无法将行为参数化。随着开发人员对 领域的稳定方面和灵活易变方面的了解逐步加深,框架也逐渐向参数化的方向演 变,即向基于组装的黑盒框架演变。然而,实际的框架通常是混合型的,也称为 灰盒框架( g r a y b o xf r a m e w o r k ) ,以避免单纯的白盒框架或黑盒框架带来的不足。 一个好的灰盒框架必须拥有足够的灵活性和可扩展性,并且能够隐藏一些开发者 不必了解的信息。 综上所述,作者设计和实现的是一种应用于监控领域的企业应用程序框架, 通过这一框架分离出监控领域内不变的部分,并提供接口以扩展变化的业务需 求,保证框架的可扩展性。 2 4 2 体系结构 软件体系结构可以看成( 构件,连接器,约束) 的一个集合,目前它研究包 括体系结构描述语言等表示方面和体系结构j x l 格等设计方面。和框架相比粒度更 大【6 1 。 一个框架可以被实例化为多个应用系统,每个应用系统具有特定的体系结 构,因此从框架使用的角度来看,框架和体系结构之间存在一对多( 1 :n ) 的 关系;而从框架开发的角度来看,框架反映了一个领域的体系结构( d s s a ) , 1 0 北京邮i b 人学硕,1 二论文 是d s s a 的一个实例,因此d s s a 和框架之间同样是一对多( 1 :n ) 的关系, 如图2 1 所示。d s s a 可视为“参考体系结构,对于领域内应用系统体系结构 的设计具有指导意义。开发框架最重要的目的则是针对特定领域的设计和代码复 用。 综上所述:软件体系结构确定了系统整体结构、层次划分、不同部分之间的 协作等,更侧重于设计方面。而框架比体系结构更为具体,更侧重于具体技术及 实现方面。一旦框架确定,体系结构往往也随之确定了。 f r a m e w o r k 2 4 3 构件 a r c hi t e c t u r e ( n ) 图2 - 1 框架和体系结构的关系 构件是指可以被明确标识的软件制品,可以是需求分析和设计阶段的产品、 代码、测试案例、文档或软件开发过程中的其他产品。通常所讲的构件主要是指 可复用构件。单个构件的用处较小,而将若干个相关的构件组织成一个构件系统 就能发挥较大的作用【m j 。 一个构件系统是指提供一组可复用特性的系统产品,这些特性通过相互依 赖、相互连接的众多构件( 包括各种类型、互相关联的包和描述的文档) 来体现。 一个构件系统规模可大可小,小的可能只有几个构件及其相关文档。一个开发单 位往往需要使用多个构件系统来实施复用,开发单位应把构件系统当作产品来管 理,必要时应自行开发。 北京邮电大学硕士论文 构件系统可以从相对独立的一些类( 实际上是包装的类库) 延伸到相互协作的 相关构件的集合,这些构件协同工作完成应用系统的某种功能,复用者可以将这 些构件组合起来向消费者提供某些用例。 框架就是一种可复用的构件系统,它规定了整个设计、协作构件之间的依赖 关系、责任分配和控制流程,表现为一组抽象类及其实例之间协作的方法,为构 件提供了一个标准的环境来处理错误、交换数据、激活彼此间的互操作。通常所 谓构件系统,例如o l e ,e j b ( e n t e r p r i s ej a v a b e a n s ) 等实际上也可理解为一种框 架,它们解决了在构造复杂系统和其它组合对象时所带来的标准问题。框架与构 件在一起协同工作也使得开发新的构件变得容易,因为框架提供了设计新构件 的规范和实现他们的模板。 构件领域框架方法在很大程度上借鉴了硬件技术发展的成就,它是构件技 术、软件体系结构研究和应用软件丌发三者发展结合的产物。在很多情况下,框 架通常以构件库的形式出现,但构件库只是框架的一个重要部分。框架的关键还 在于框架内对象间的交互模式和控制流模式。 框架比构件可定制性强。在某种程度上,将构件和框架看成两个不同但彼此 协作的技术或许更好。框架为构件提供重用的环境,为构件处理错误、交换数据 及激活操作提供了标准的方法,框架和构件的关系可由图2 2 清楚地表示出来。 压网 i一 l :i 挫 构件构件 萄i 域小、 墼翔;分 构件构件构件构件构件i ,j 变部分 ;一 图2 - 2 框架和构件的关系 综上所述,构件可视为粒度较小的复用单元,多个构件共同协同合作形成构 件系统实现特定的用例需求,具有更实际的复用意义。 2 4 4 设计模式 设计模式的概念最早来自于城市建筑专家c h r i s t o p h e ra l e x a n d e r 对模式的定 义“每一个模式描述了一个在人们周围不断重复发生的问题,以及该问题的解决 1 2 北京邮电大学硕 :论文 方案的核心。这样,你就能一次又一次的使用该方案而不必作重复劳动 。叫上 的模式思想同样适用于面向对象的设计模式。在面向对象中使用模式化方法研究 的最重要著作是d e s i g np a t t e r n s : e l e m e n t so fr e u s a b l eo b j e c t o r i e n t e d s o f t w a r e ) ) ,作者e r i c hg a m m a , r i c h a r dh e l m , r a l p hj o h n s o n 与j o h nv l i s s i d e s 将模式定义为:“模式是三段值,表示特写情境、问题与方案之间的关系 。在 此书发表后,参加模式的研究人员大量增加,出现了许多好的设计模式,覆盖了 各种领域。【1 5 1 1 16 l 【3 1 】 设计模式是情境中标准设计问题的重复性解决方案,主要针对软件设计,系 统化命名、抽象和确定了一个通用设计结构的主要方面。这些设计结构能被用来 构造可复用的面向对象设计。设计模式确定了所包含的类和实例,它们的角色、 协作方式以及责任分配。每一个设计模式都集中在一个面向对象设计问题或设计 要点,描述了什么时候使用它,以及使用的效果等。 框架、设计模式这两个概念比较容易混淆,可以从以下方面区别: ( 1 ) 在复用的等级上不同。复用主要有三种途径:代码复用、设计复用和框架 复用。代码复用是最低级的复用,构件通常是代码复用;设计复用是高级复用, 设计模式是设计复用:框架复用则介于两者之间,部分代码复用,部分设计复用, 有时分析也可复用,是最高级的复用。 ( 2 ) 在使用方式上二者之间有着根本的差别。框架是具体的,不是抽象的,而 设计模式是对在某种环境中反复出现的问题及解决该问题的方法描述,比框架抽 象;框架可用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代 码表示,设计模式的每一次复用,都需要被重新实现。 ( 3 ) 在层次关系上,框架比设计模式高。设计模式是比框架小得多的元素,在 框架中,一个构件的设计可以同时使用多个设计模式,而一个设计模式的实现也 可能涉及到框架中的几个构件。 ( 4 ) 在应用范围上,框架比设计模式更加特征化。框架通常是领域特有的或技 术特有的,而设计模式可以应用于许多问题。例如,一个框架可能处理保险报价 单,或者提供w e b 应用的逻辑与表示的明确分离。大多数设计模式可以用在几 乎任何应用中。 结上所述,可以说,框架是软件,而设计模式是软件的知识。 1 3 北京邮电大学硕j :论文 2 5 软件复用面临的困难 软件复用各方面的困难,无论是技术问题还是非技术问题,都影响着软件复 用的广泛实行【2 引。 ( 1 ) 技术因素。 构件与应用系统之间的差异。一些开发者开发的构件,要做到在被另一些人 开发的系统中使用时正好合适,从内容到对外接口都恰好相符,或者作很少的修 改,这不是一件简单的事;构件要达到一定的数量,才能支持有效的复用,而大 量构件的获得需要有很高的投入和长期的积累;发现合用构件的困难,当构件达 到较大的数量时,使用者要从中找到一个自己想要的构件,并断定它确实是自己 需要的,不是一件轻而易举的事;基于复用的软件开发方法和软件过程是一个新 的研究实践领域,需要一些新的理论、技术及支持环境,目前这方面的研究成果 和实践经验都不够充分。 ( 2 ) 人的因素。 软件开发是一种创造性工作,长期从事这个行业的人们形成了一种职业习 惯:喜欢自己创造而不喜欢使用别人的东西,特别是当要对别人开发的软件作一 些修改再使用时,他们常常喜欢自己另写一个。 ( 3 ) 管理因素 在软件生产的管理中,从以往沿习了一些与复用的目标很不协调的制度与政 策,如计算工作量时,对复用的部分打很大的折扣,甚至不算工作量;另外,不 是在项目开始时自觉地向着造就可复用构件的方向努力,而是在它完成之后,看 看是否能从中找到一些可复用构件。这些弊端妨碍了复用水平的提高和复用规模 的扩大,甚至会挫伤致力于复用的人员的积极性。 ( 4 ) 教育因素 在软件科学技术的教育与培训中,缺乏关于软件复用的内容,很少有这方面 的专门教材及课程,即使在其它教材及课程中提到软件复用,其篇幅及内容也相 当薄弱。 ( 5 ) 法律因素 在法律上还存在一些问题,例如,一个可复用构件在某个应用系统中出现了 错误,而构件的开发者和应用系统的开发者不是一个厂商,那么责任应该由谁 负? 此外,在版权、政府政策等方面也存在一些悬而未决的问题。 1 4 北京邮电人学硕十论文 另外,软件产品是一种精神产品,它的产生几乎完全是人脑思维的结果,它 的价值,也几乎完全在于其中所凝结的思想:它的物质载体的制造过程与价值含 量都是微不足道的。物质产品的生产受到人类制造能力的限制,现有的一却物质 产品的复杂性都没有超过这种限度,软件却没有这种限制,只要人的大脑能想到 的问题,都可能要求软件去解决,人脑所能思考的问题的复杂性,远远超出了人 类能制造的物质产品的复杂性,因而使软件的复用更为困难。 2 6 小结 通过软件复用,可以减少在软件开发中的重复劳动,提高软件开发的效率和质量。 通常情况下,如果每个软件系统的开发都是从头开始的,那么在开发过程中就必 然存在大量的重复劳动。软件复用可以减少在软件开发中的重复劳动,软件复用 的出发点是应用系统的开发不再采用一切“从零开始”的模式,而是以已有的工 作为基础,充分利用过去应用系统开发中积累的知识和经验,并将开发的重点集 中于应用的特有构成成分。 9 1 产业界通过系统级软件复用实践已经获得重大成功,例如h p 公司的w a y n e l i m 在( ( i e e es o f t w a r e ) ) 杂志上最近发表的一系列文章汇报了他们从软件复用中 获得的收益:在质量方面,被复用代码的缺陷密度是新代码的1 4 ;在生产率方 面,用复用技术丌发的软件系统和仅用新代码构成的软件系统相比提高了5 7 ; 在进入市场的时间方面,采用复用技术的软件系统和仅用新代码相比提前4 2 。 尽管软件复用技术已经取得了很大的发展,但是在大多数公司软件复用只是 偶尔为之,复用既不可重复也不被管理。很多项目没有时间和能力去做领域分析 和开发产品线体系结构。所以软件复用在很多组织还处于初级阶段。作者在参与 的多个项目的复用实践中发现:尽管在刚开始实施软件复用时由于架构设计、模 块设计、代码实现的复杂度提高造成开发周期的延长,对开发团队中每名成员的 技术要求也更高,但随着软件复用的开展和复用成熟度的提高,后续项目的软件 开发成本有很大程度的降低,开发人员大多数的工作变为从构件库中选取适当的 构件进行少量的定制修改,提高了丌发效率和软件生产率。综上所述,应用软件 复用技术是非常经济有效的,值得在软件丌发团队大力推广。 1 5 北京断电大学硬h e 文 第3 章监控系统软件的框架设计设计复用 31 监控中心软件框架功能分析与体系结构分析 31 1 传统分布式d c s 控制系统的软件框架结构 传统的分布式控制系统通常可以分为三个层次如图3 - 1 所示: 现场测控层:该层实体实现对工业现场的采集和控制。 监控调度层:该层通常由监控调度站、工程师站等上位机组成,是分布式控 制系统的监控调度中心。 综合管理层通常由相关职能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版光伏发电项目施工合同小型工程本文本
- 2025版动漫衍生品授权销售合同汇编
- 2025翻译公司知识产权保护保密协议
- 2025版无人机监控设备采购安装合同
- 二零二五年屋顶雨棚安装工程环保验收合同
- 二零二五年度挖掘机采购合同及维修配件供应范本
- 二零二五版旅游客车租赁与旅游文化交流协议
- 2025版绿色交通保障返租回报资金担保合同
- 2025版企业内退员工再就业培训及就业服务合同
- 2025版投影机采购及配套软件服务合同
- 混凝土配合比验证检验委托书模板
- 住房公积金投诉申请书
- 众辰变频器说明书3400
- 《世说新语》乘船 完整版课件
- 施工现场安全检查记录表(周)以及详细记录
- 《财务管理》课程教学实施方案
- 煤矿地质基础知识课件
- 检验科生物安全风险评估报告
- 西安市建设工程竣工验收备案表
- 大学体育四——啦啦操的教学设计
- 原始点疗法PPT课件
评论
0/150
提交评论