(控制理论与控制工程专业论文)基于构件的能源动态监管系统研究与实现.pdf_第1页
(控制理论与控制工程专业论文)基于构件的能源动态监管系统研究与实现.pdf_第2页
(控制理论与控制工程专业论文)基于构件的能源动态监管系统研究与实现.pdf_第3页
(控制理论与控制工程专业论文)基于构件的能源动态监管系统研究与实现.pdf_第4页
(控制理论与控制工程专业论文)基于构件的能源动态监管系统研究与实现.pdf_第5页
已阅读5页,还剩81页未读 继续免费阅读

(控制理论与控制工程专业论文)基于构件的能源动态监管系统研究与实现.pdf.pdf 免费下载

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

文档简介

青岛科技大学研究生学位论文 基于构件的能源动态监管系统研究与实现 摘要 软件复用目前是解决软件危机、提高软件质量和软件生产效率的有效方法, 而基于构件的开发是软件复用的核心。近几年来,软件复用特别是构件技术得 到了飞速的发展。随着基于构件的开发技术的不断发展,人们在领域工程、构 件管理和应用工程都提出了不少先进的观点与技术。 本文旨在采用基于构件开发方法对能源动态监管系统进行开发,并依据软 件产品线的思想,设计能源动态监管系统的构件化开发流程,包括领域分析、 领域设计和领域实现以及应用工程。在领域分析阶段,本文采用了面向对象的 领域分析方法( o o a ) 对能源动态监管系统进行领域分析,提出了能源动态监 管系统o o a 的五个过程:确定领域边界、建立领域术语词典、抽象领域特征 模型、建立领域用例模型以及领域对象模型,详细介绍了五个过程的具体方法 与步骤,并使用此方法和步骤建立了能源动态监管系统的领域模型。领域设计 阶段,本文建立了能源动态监管系统的特定领域体系结构( d s s a ) ,能源动态 监管系统的d s s a 是一个多层的体系结构,具有很好的灵活性,能够满足能源 监管系统的领域变化性。领域实现阶段,本文设计了能源动态监管系统的领域 构件模型,包括构件的表示、构件的接口以及构件的实现三部分。应用工程阶 段,本文设计了能源动监管系统的应用工程过程,详细介绍了基于x m l 语言 的构件装配过程。 本文对能源动态监管系统的构件化开发方法的关键技术进行了研究,为能 源监管系统的高效率、高质量、低成本开发奠定了基础,同时,本文的研究工 作对其它领域的构件化开发也有着借鉴意义。 关键词:软件复用领域工程构件化能源监管面向对象 基于构件的能源动态监管系统研究与实现 c o m p o n e n t b a s e dd y n a m ice n e r g ys u p e r v isi n gs y s t e m r e s e a r c ha n di m p l e m e n t a t io n a b s t r a c t s o f t w a r er e u s ei s c u r r e n t l y a ne f f e c t i v em e t h o dt os o l v es o f t w a r ec r i s i s , i m p r o v es o f t w a r eq u a l i t ya n dp r o d u c te f f i c i e n t ,a n dc o m p o n e n t - b a s e ds o f t w a r e d e v e l o p m e n t ( c b s d ) i st h ec o r eo ft h es o f t w a r er e u s e r e c e n ty e a r s ,s o f t w a r er e u s e t e c h n o l o g y , e s p e c i l yt h ec o m p o n e n tt e c h n o l o g yh a sd e v e l o p e dr a p i d l y , w i t h t h e d e v e l o p m e n to ft h ec o m p o n e n t b a s e dt e c h n o l o g y , p e o p l e h a sp r o p o s e dm a n y a d v a n c e dt h e o r i e sa n dt e c h n o l o g yi nd o m a i ne n g i n e e r i n g ,c o m p o n e n tm a n a g e m e n t a n da p p l i c a t i o ne n g i n e e r i n g t h ep u r p o s eo ft h i sp a p e ri st ou s et h ec b s dm e t h o d o l o g y t od e v d o pd y n a m i c e n e r g ys u p e r v i s es y s t e m ( d e s s ) i nt h i sp a p e r , t h ed e s sc b s dp r o c e s s i sd i v i d e d i n t of o u rp a r t s ,i n c l u d i n gd o m a i na n a l y s i s ,d o m a i nd e s i g n ,d o m a i nr e a l i z a t i o n ,a n d a p p l i c a t i o ne n g i n e e r i n g i nt h ed o m a i na n a l y s i ss t a g e ,t h ep a p e r u s e so b j e c t - o r i e n t e d 勰a l y s i s ( o o a ) m e t h o d st oa n a l y s i st h ed s s ad o m a i n ,a n dp u tf o r w a r df i v eo o a p r o c e s ss u i t sd e s s ,i n c l u d i n gd e t e r m i n i n gd o m a i nb o r d e r , e s t a b l i s h i n gd o m a i n t e r m i n o l o g yd i c t i o n a r y , d o m a i nc h a r a c t e r i s t i c sm o d e l ,u s e - c a s em o d e l ,a n do b j e c t m o d e l t h ep a p e ri n t r o d u c e se a c hd e t a i lp r o c e s s ,a n du s e st h e s ep r o c e s st oe s t a b l i s h t h ed o m a i nb o r d e r , d o m a i nt e r m i n o l o g yd i c t i o n a r y , d o m a i nc h a r a c t e r i s t i c sm o d e l , u s e c a s em o d e la n do b j e c tm o d e lo ft h ed e s s i nt h ed o m a i nd e s i g ns t a g e ,w e d e s i g nt h ed 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 e ( d s s a ) o f t h ed e s s ,w h i c hi sa m u l t i l a y e ra r c h i t e c t u r ea n dc a n f i tf o rd e s sv a r i a b i l i t y i nt h ed o m a i nr e a l i z a t i o n s t a g e ,t h ep a p e rd e s i g n e s t h ed e s sc o m p o n e n tm o d e l ,i n c l u d i n gc o m p o n e n t c l a s s i f i c a t i o n ,c o m p o n e n ti n t e r f a c e a n dc o m p o n e n tr e a l i z a t i o n i na p p l i c a t i o n e n g i n e e r i n gp h a s e ,t h ep a p e rd e s i g n e st h ea p p l i c a t i o ne n g i n e e r i n gp r o c e s so fd e s s , a n dd e t a i l l yi n t r o d u c et h ec o m p o n e n ta s s e m b l yp r o c e s sw i t hx m ll a n g u a g e t h ep a p e rs t u d i e st h ek e yt e c h n o l o g yo ft h ec b s do fd e s s ,w h i c hi s t h e f o u n d a t i o nt od e v e l o pd e s sh i g he f f i c i e n c y , h i g h - q u a l i t ya n dl o w - c o s t ,a n dt h es t u d y o ft h ed e s sd o m a i nc a nb er e f e r e db yo t h e rd o m a i n k e yw o r d s :s o f t w a r er e u s e ;d o m a me n g i n e e r i n g ;c o m p o n e n t b a s e d ;e n e r g ys u p e r v i s i n g ; o b i e c t o r i e n t e d u 青岛科技大学研究生学位论文 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文 中不包含其他人已经发表或撰写过的研究成果,也不包含本人已用于其他学位 申请的论文或成果。与我一同工作的同志对本研究所做的任何贡献均已在论文 中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:蝴治 日期: 砷年6 月朋日 关于论文使用授权的说明 本学位论文作者完全了解青岛科技大学有关保留、使用学位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅 和借阅。本人授权学校可以将学位论文的全部或部分内容编入有关数据库进行 检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。本人离校 后发表或使用学位论文或与该论文直接相关的学术论文或成果时,署名单位仍 然为青岛科技大学。( 保密的学位论文在解密后适用本授权书) 本学位论文属于: 保密口,在年解密后适用于本声明。 不保密口。 ( 请在以上方框内打“ ) 本人签名:壶梯滔 刷币签名多岔穆 日期:一夕年多月夕日 日期:必夕年月,矿日 8 1 青岛科技大学研究生学位论文 1 1 选题的行业背景 第一章绪论 能源与环境是现在人们最为关注的问题,煤、石油等常规能源的持续减少使 其价格不断高升,同时过度使用造成的环境污染,都给人们的生活带来重大的影 响,而合理使用能源即可以节约能源,又可以减少污染物的排放,合理用能的关 键是对能源进行有效的监控。文献【1 】对中国能源问题进行了全面的讨论,并提出 了一系列有关能源的战略问题。 1 1 1 中国能源发展现状 1 、能源资源品种丰富,人均占有量少 中国有多种能源资源,其中水能和煤炭较为丰富,蕴藏量分别居世乔第一和 第三;而优质化石能源相对不足,石油和天然气资源的探明可采储量也不容乐观, 仅列世界的第1 3 位和第1 7 位。由于人口众多,各种能源资源的人均占有量都低 于世界平均水平。 2 、能源建设不断加强,能源效率仍然较低 2 0 世纪9 0 年代以来,中国一次能源生产总量翻了一番多,2 0 0 7 年达到2 3 7 亿t c e ,已成为世界第二大能源生产国。电力工业实现了跨越式发展,2 0 0 7 年底 发电装机容量超过7 亿k w ,1 g w 超临界火电机组、7 0 0m w 水轮发电机组等先 进装备实现了国产化,虽然能源产量巨大,但多数都是粗放型能源生产,生产效 率极为低下。 3 、能源生产迅速增长,生态环境压力明显 在需求快速增长的驱动下,中国能源生产增长很快,煤炭增长尤为迅速。过 去6 年,中国原煤年产量增加了近1 2 亿t ,2 0 0 7 年产量达到2 5 4 亿t ,约占全球 产量的4 0 。与此同时,煤炭大量生产和使用中存在诸多对环境的影响问题,如 采煤过程中破坏了土地,开采过程中事故频繁发生,使用过程中又对环境产生了 严重的污染,同时石油、天然气等其它能源在开采与使用过程中也存在着巨大的 问题。 4 、能源消费以煤为主,能源结构需要优化 中国能源的结构总体是向着优质化的方向发展,煤炭消费比例由1 9 9 0 年的 基于构件的能源动态监管系统研究与实现 7 6 2 降到2 0 0 2 年的6 6 3 ,从比例可以看出煤还是中国的主导能源,且近几年 来,能源的消费比例有所上升,在发达国家,煤的能源比例一般为2 0 ,由此可 以看出,中国在能源结构方面与发达国家还有大差距。 5 、能源需求持续增加,可持续发展面临挑战 中国在近几年发展迅速,工业化、城镇化进程加快,对能源的需求持续增长, 今后一段时期,能源消费弹性系数难以大幅降低同时,油气需求的增长将快于煤 炭需求的增长,而国内资源受到自然条件限制难以较快增加。 1 1 2 能源监管的发展状况 由上面的分析可以看出,中国的能源发展存在诸多问题,状况不容乐观,为 解决以上问题文献f 1 1 中提出了几种解决方案,如一次性能源的开发利用、开发可 再生能源、寻找新能源替代,而在其中最重要的也是最有效的便是能源监管,能 源监管是目前中国能源现状下最有效也是必需的能源战略方法。 在国外,节能已有很长的时间,根据文献2 1 ,美国3 0 年代时便注意到了能 源问题的严重性,7 0 年代,美国已经开始在节能方面开展工作。在中国,节能发 展比较晚,首次提出节能减排时间是在2 0 0 5 年的“十一五规划 期间,随后, 国家和各级政府部门不断提出节能方面的规章制度,各个能源大省、市、地方也 开始进行能源监管工作。在能源监管初期,监管的主要方式还是手工监管,数据 上报以手工纸质的表格上报,上报的周期也由一月、一季度到一年不等,这种上 报方式存在着诸多缺点: 1 、能源监管系统中所用到的数据种类繁多,数据量大,而通过纸质文件上 报,不利于进行统计、汇总与分析,且进行统计分析时,需要巨大的工作量。 2 、能源监管系统中最为主要的方面是实时性,而这种报送数据方式明显滞 后,影响分析的实时性。 3 、对于一些关键数据,由于需要人为干预,这种干预有意无意中加入了误 差,使得分析的基础数据失真,导致分析结果与决策失真。 近几年来,随着计算机技术的不断进步与软件的普及,主要用能大省、市、 自治区开始着手建立能源监管系统,在其中做的比较好的是安徽能源监管系统和 浙江能源监管系统,然而这些系统大多是以能源数据汇总为主要功能,没有对数 据进行实时采集和实时处理,并进行预警分析与决策等工作,甚至有的监管系统 没有对数据进行对比分析。本次项目实施的对象青岛能源监察中心是一个有着资 深节能经验的政府职能机构,中心成立于1 9 8 0 年,成立之初为节能指导部门, 于2 0 0 6 年改为节能监察中心,负责对青岛重点用能单位进行能源监管以及节能 2 青岛科技人学研究生学位论文 指导。中心成立后一直是采用纸质文件的数据上报方式,本次项目标是为促进中 心能源监管信息化、动态化。 1 2 选题的理论背景 1 9 6 8 年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,第一次 讨论软件危机问题,从那时起,人们便开始寻找各种方法解决软件危机。在同年, d m d i m y 在n a t o 软件工程会议上首次提出软件复用的思想,这个思想引起了广 泛的讨论,并被后来证明为解决“软件危机 的重要手段和软件工程领域发展的 重要目标【3 1 。针对当前软件产业面临的问题,学术界和工业界的研究和技术人员 在技术创新、软件过程和系统复用等方面进行了大量的探索和实践,并提出了许 多新技术和开发工具、语言等,如面向对象的程序设计语言( c + + 、j a v a 、c 哟、 数据库管理系统( r d b m s 、o o d b m s ) 、快速应用程序开发工具( d e l p h i p o w e r b u i l d e r 、e c l i p s e 、v i s u a ls t u d i o 、c a s e ) 工具等极大提高了软件开发效率。 c o r b a ,j 2 e e 等中间件技术平台和s o a , w e bs e r v i c e 等框架和技术屏蔽了分布式环 境下操作系统、数据库系统和网络协议等底层软硬件平台的差异,为上层应用软 件提供运行和开发环境,使软件设计和开发人员可以将更多的精力投入到高层的 业务逻辑处理和计算问题上。u m l 和m d a 等建模语言和框架基于分离业务功能 分析和设计与实现技术和平台之间的结合关系的思想,进一步降低了技术和平台 对系统的影响,以快速响应软件系统面向的用户定制需求。技术的进步也推动了 软件复用的发展,从上个世纪7 0 年代的模块复用,到8 0 年代的对象复用,再到 9 0 年代的构件复用,再到现在业内热烈讨论的产品线复用,每次变革都表明了软 件开发的进步。 传统的面向对象软件开发技术是一切从零开始,基于代码的手工作坊式软件 开发方式单独为每一个用户开发和维护独立的软件产品,需进行大量重复性的需 求分析、设计、编码、测试及维护工作,生产周期长,结构僵化,成本高,效率 低下,无法适应新形势下的快速发展的业务环境和企业级应用需求。而能源监管 系统的一大特点就是要求能够在各个省、区级市以及大规模的县级市进行普及, 传统的开发方法显然无法满足这种需求。而基于构件化的开发思想与面向对象的 方法相结合,可以有效的解决上述问题。 1 3 选题的意义 本文所提出的能源监管系统解决了能源监管信息化问题,研究的数据实时采 3 基于构件的能源动态监管系统研究与实现 集问题与动态数据分析与处理,为能源管理层次提供进行决策的必要参考数据; 建立了能源动态监管系统所需要的基础构件,为能源监管迅速开发、普及、做了 基础工作。 1 4 本文的主要工作 ( 1 ) 对软件产品线的基本知识作了研究介绍。 ( 2 ) 采用面向对象领域分析方法对能源动态监管领域进行了领域分析,抽 象出了能源监管系统的领域边界、领域字典、领域特征模型、领域用例模型和领 域对象模型。 ( 3 ) 建立了能源动态监管领域的体系结构。 ( 4 ) 对能源动态监管系统的构件模型进行设计,并从表示模型、实现模型 和接口模型三个方面进行描述。 ( 5 ) 介绍了软件产品线的应用过程,详细介绍了能源动态监管系统中构件 够组苤一泓1 一 ( 6 ) 将研究成果应用到青岛能源动态监管系统中。 1 5 论文的组织结构 论文总共分为七章,各章节主要完成内容如下: 第一章:绪论 阐述问题的提出背景,讨论问题的意义,说明论文研究的内容和结构安排。 第二章:基本理论 对本文中所用知识的基本理论进行解释。 第三章:能源动态监管系统领域分析与建模 对能源动态监管系统进行领域分析,并建立领域边界模型、特征模型、对象 模型、用例模型和对象模型。 第四章:能源监管系统体系结构建立 建立动态能源监管系统的参考体系结构,分别对能源动态监管系统的构件层 多层结构、网络拓扑结构进行说明。 第五章:能源动态监管系统构件设计 设计能源监管系统的构件。在本章中提出了能源动态监管系统的构件模型, 并用开发者的视角和应用者的视角对构件模型从表示模型、接口模型和实现模型 三个方面进行说明。 4 青岛科技人学研究生学位论文 第六章:基于构件的能源动态监管系统应用工程 介绍使用能源动态监管系统领域工程分析出的构件组装成系统的流程和方 法,并将这种方法应用到青岛能源动态监管系统中。 第七章:总结与展望 在本章中,对本文工作进行总结,并对下一步工作进行展望。 各章节之间的关系如图1 - 1 所示。 第一章绪论 弋夕 第二章基本理论 概述 弋夕 上 第四章能源动态监管系 弋7 统架构设计 第三章能源动态监管 上 系统领域分析与建模 第血章能源动态 i 【管 系统领域构件设计 弋7 上 弋夕 第六章基于构件的能源动 态监管系统应用工程 上 第七章总结与展望 1 6 本章小结 图1 - 1 论文组织结构图 f i g 1 - 1t h e s i so u t l i n e 本章介绍了选题的行业背景和理论背景,讨论了中国能源问题以及国内外能 源监管状况,给出了本文选题的意义和主要研究工作,并对论文的组织结构作以 介绍。 5 基于构件的能源动态监管系统研究与实现 第二章基本理论 本章将对基于构件开发的基本理论进行介绍,包括软件复用、软件产品线和 构件模型,为论文进一步研究作以理论铺垫。 2 1 软件复用 2 1 1 软件复用的介绍 软件复用( s o f t w a r er e u s e ) 1 3 1 1 4 1 是软件工程中的一个重要概念,也是多年来 研究人员一直探讨的一个重要领域。软件复用也叫软件重用,是指利用现有的软 件成分( 资源) 来构造新的软件系统的过程【蜘。软件复用自提出至今业内给出了很多 定义,但没有一个统一的定论。b i g g e r s t a f f 和r i t c h e r 对软件复用的定义是:在新 的开发项目中使用以前已获得的概念和对象;t r a c z 认为:复用特别为复用目的 而设计的软件的过程,这个定义认为软件复用具有事先性,而把使用不是特别为 复用目的而设计的软件称为软件挽救;g a m b h i 的定义是:把在多个应用中使用 相同的构件称作为软件复用,不区分软件复用和软件挽救之间的区别【6 1 1 7 1 。软件 复用最初只是表现为代码的复用,随着技术的不断进步,复用被运用到软件开发 的各个过程以及各个过程的产物中,如需求分析、体系结构、设计文档、测试用 例等,可以说,在软件开发的过程的各个阶段,都可以使用软件复用的思想。 2 1 2 软件复用的特点与级别 1 、软件复用的特点 综观几个有代表性的概念,软件复用都强调一个思想“为了复用目的而设 计软件的过程”【6 】,这种思想,界定了软件复用与其它相似的软件开发过程中的 概念,如共享、移植等。软件复用是在生成新系统中用到的概念,如果是在一个 系统中多次使用一个相同的软件成分,则不称作复用,而称作共享;对一个软件 进行修改,使它运行于新的软硬件平台也不称作复用,而称作软件移值【4 】。从软 件复用的思想来看,软件复用虽然有别于一些类似于共享和移植等内容,但相对 来说范围还是比较宽泛的,只要是以复用为目的,构成新系统的行为都被称为软 件复用,软件复用的成份也包括多种,如项目计划书、可行性报告、需求分析、 概要设计、详细设计、编码( 源程序) 、测试用例、文档与使用手册等。面向对象 6 青岛科技大学研究生学位论文 的程序设计思想和体系结构技术提出后,加快了软件复用技术的发展,使软件复 用技术更易于掌握和使用。 2 、软件复用的分类 软件复用发展到现在,已经有多种分类方法,可以根据复用的范围、内容和 方式进行分类【8 】,比较常用的有以下两种方式: ( 1 ) 根据对复用产品的了解程序,可以将复用分为两种形式:黑盒复用和 白盒复用l 删。 黑盒复用,如同黑盒测试一样,黑盒复用不需要了解所复用资源内部的运行 机制,在不做任何修改的情况下便可以应用到新系统中。黑盒复用是最理想的一 种复用方式,它主要基于二进制代码的复用,包括可执行程序的复用和基于库( 包 括动态链接库和静态库) 的复用。 白盒复用,白盒复用需要用户了解( 至少是部分) 复用资源的运行机制,需 要对复用资源做适应性修改后复用到新系统中。 ( 2 ) 、根据复用的对象可以将复用分为过程复用和产品复用。 过程复用,过程复用强调的是复用的一系列过程,如构件的某种组装方式, 生成构件的方法等,过程复用相对产品复用来说是一个相对抽象的概念。 产品复用,产品复用以软件复用过程中的产品为中心,通过构件的组装方式 生成新系统。 3 、软件复用的级别 根据软件复用的内容不同,我们可以将软件复用分为以下几个级别:代码的 复用,设计的复用,分析的复用、测试信息的复用和管理复用。【9 】 ( 1 ) 代码的复用 包括目标代码和源代码的复用。其中目标代码的复用级别最低,历史也最久, 当前大部分编程语言的运行支持系统都提供了连接( l i n k ) 、绑定( b i n d i n g ) 等功能 来支持这种复用。源代码的复用级别略高于目标代码的复用,程序员在编程时把 一些想复用的代码段复制到自己的程序中,但这样往往会产生一些新旧代码不匹 配的错误。想大规模的实现源程序的复用只有依靠含有大量可复用构件的构件 库。如“对象链接及嵌入”( o l e ) 技术,既支持在源程序级定义构件并用以构造 新的系统,又使这些构件在目标代码的级别上仍然是一些独立的可复用构件,能 够在运行时被灵活的得新组合为各种不同的应用。 代码的复用是最常见的一种复用方式,这种方式的复用非常灵活,但也存在 的诸多问题,如没有统一的标准,难于管理与维护。 ( 2 ) 设计构件的复用 7 基丁构件的能源动态监管系统研究与实现 设计构件的复用是一种更为抽象的复用,由于设计是根据整个领域进行的抽 象而不是针对某个具体系统,因此可以用的范围更广泛,受环境的影响也更少。 设计构件的复用不仅仅可以将某些具体的设计以构件的形式运用到新系统中,成 为一个具体的应用,还可以独立于具体的复用,而是有计划的进行一些设计构件 的开发。这种复用方式是我们普遍意义上的软件复用,范围比较广泛,包括具体 的设计应用和抽象设计应用两种形式,在本文中体系结构的复用、构件的复用就 属于设计的复用。 ( 3 ) 分析构件的复用 分析构件的复用是比设计复用更为抽象和更为高级的复用,分析的复用更多 的表现为对某类问题的解决方法法,习惯上称为分析构件,分析构件独立予实现 技术,受到的影响比设计构件的复用更少,可复用的范围也就更为广泛。分析的 复用一般表现为某些分析文档,这种分析文档可以作为输入产生针对不同软硬件 平台和其它实现条件的多项设计。分析的复用作为一种指导性复用用来指导设计 的复用和其它的复用。在我们的实际应用过程中需求分析构件、领域分析构件等 都属于分析构件复用的范畴。 ( 4 ) 测试的复用 软件复用不仅仅表现在软件开发阶段,还表现在软件测试阶段,测试的复用 是区别于代码复用、设计构件复用和分析构件复用。测试的复用也可以分为抽象 复用和具体复用两种形式,抽象复用表现为测试的过程、测试方法以及测试的管 理信息等。具体复用表现为测试各个阶段产生的各种实际产物,如测试用例,测 试计划等。 ( 5 ) 管理的复用 管理的复用相对于以上几种方式来说是抽象级别最高的一种方式。在开始的 时候,人们只是注重技术层次的复用,而忽略了管理的复用,如在s t a r s 的双 生命周期模型中就没有提及管理的层面,但随着软件复用的不断发展,管理的复 用也被越来越重视,如在s e i 的软件产品线周期模型中就提及了管理的复用。 类似于软件开发的自顶向下的过程,软件复用的过程也是一个由抽象级别较 高的形态向抽象级别较低的形态演化,较高级别的复用可以被较低级别的复用容 易带动较低级别的复用,因而复用级别越高,也就越有利于项目的实现。 2 2 软件产品线 软件产品线起源于1 9 7 6 年d a v i dp a m a s 对程序族( p r o g r 锄f a m i l i e s ) 的定义 【1 0 1 。到目前为止,软件产品线是被认为是软件复用的前沿技术,被看作解决软件 8 青岛科技人学研究生学位论文 危机最为有效的方式。产品线是一个产品集合,这些产品共享一个公共的、可管 理的特征集,这个特征集能满足选定的市场或任务领域的特定需求。 2 2 1 软件产品线的定义 d a v i dp a m a s 提出的程序族概念是软件产品线的原型,他对程序族的定义为: 一组有着广泛公共属性的程序集,它们的公共属性值得优先研究和分析。1 9 9 6 年, d a r p a ( d e f e n s ea d v a n c e dp r o j e c t s r e s e a r c ha g e n c y ) 1 1 1 】在s t a r s ( s o f t w a r e t e c h n o l o g yf o ra d a p t a b l ea n dr e l i a b l es y s t e m s ) 项目中给出了产品线定义:产品线 是一组相似系统组成的系统族。这些系统的组成元素和功能具有公共性和变化 性。产品线可以是一系列不同的产品;也可以是一个具有多年生命周期和多个配 置、版本的单个产品。b a s s 1 2 】等将软件产品线定义为:软件产品线就是一个公共 软件资源集合基础上建立的,共享同一个特征集合的系统集。j a nb o s c h 1 3 】给出的 产品线定义为:一个软件产品线是由一个产品线体系结构、一个可重用组件集合 和一个源自共享资源的产品集合组成,是组织一组相关软件产品开发的方式。s e i ( s o f t w a r ee n g i n e e r i n gi n s t i t u t e ) 1 1 4 】对软件产品线的经典定义为:软件产品线是一组 具有公共的、可管理的特征集的软件密集系统的集合。这些系统能够满足特定的 市场或者任务领域的需求;这些系统是在公共核心资源的基础上,遵循一个预描 述的方式开发的。 虽然对于软件产品线有着不同的定义,但从不同的定义中可以看出软件产品 线的特征如下:软件产品线是一组产品或系统族,这些产品或系统族有着一些公 共特征,这些公共特征就是我们的核心资源,同时,软件产品线还需要遵循一定 的规则进行开发。 2 2 2 软件产品线过程 对于软件产品线过程,我们可以理解为软件产品线的开发步骤,也可以理解 为软件产品线遵循的预描述或者规则。最早提出也最为典型的软件产品线过程模 型是s t a r s 的双生命周期模型,在s t a r s 的双生命周期模型中,软件产品线被 分为两个过程:领域工程和应用工程。后来,各个软件业的组织不断提出自己的 软件产品线过程模型,但思想都是基于s t a r s 的双生命周期模型。s e i 是软件工 程领域的先驱者,在近几年的研究中提出了不少理论与创新,其提出的s e i 软件 产品线过程【1 4 】是各个版本的产品线中最为有代表性的一个,其示意图如图2 1 所 示,s e i 的软件产品线过程分为三个部分:核心资产开发( c o r ea s s e t d e v e l o p m e n t ) ,产品开发( p r o d u c td e v e l o p m e n t ) ,管理( m a l l a g e m e n t ) 三个部分,从 9 基于构件的能源动态监管系统研究与实现 图中据们可以看出核心资产的开发对应领域工程,产品开发对应应用工程,而管 理则包含在两个过程当中。从三个部分的重叠我们可以看出,三个部分是相互交 互而不是独立的,从上面的箭头可以看出,每个过程都是不断迭代的过程。领域 工程和应用工程我们将在后面介绍。管理则是指开发过程中的人员管理和项日管 理等工作。s e i 的软件产品线模型形象的描述了软件产品线开发的各个过程以及 各个过程间的关系。 2 2 3 领域工程 朋二1s h 软件产品线过程模型 f i 9 2 - 1 s e i s o f t w a r e p x o d e c t l i a e p t o o 强 领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的 过程,它覆盖了建立可复用软件构件的所有活动,是面向构件的理念工程1 。领 域工程分为领域分析、领域设计和领域实现三个部分,领域分析是对我们感兴趣 的领域进行界定,确定系统所要研究的领域,对感兴趣的领域进行分析,识别系 统变性与共性,建立领域模型;领域设计是在领域分析的结果上建立领域中应用 共同具有的体系结构,即特定领域的软件体系结构( d o m a i ns p e c i f i cs o f t w a r e a r c h i t e c t u r e ,d s s a ) ,并以此为基础,识别、开发和组织可复用构件【1 5 1 1 1 6 i ,识别、 开发和组织可复用构件的过程被称为软件实现。实施领域工程的过程中包含了一 些基本的行为。虽然具体的领域工程方法可能定义不同的概念、步骤、产品等, 但这些基本行为是大体一致的。以下将分三个阶段介绍这些行为,如下图所示, 青岛科技大学研究生学位论文 包括领域分析、领域设计和领域实现三阶段1 1 7 l 【1 踟。 2 2 4 应用工程 图2 2 领域工程过程 f i g 2 - 2d o m a i ne n g i n e e r i n gp r o c e s s 应用工程和领域工程活动密切相关,两者可以平行进行。领域工程的工作是 以某类产品为研究对象,对其进行分析并建立一系列模型与文档,为应用工程提 供必要的素材,应用工程的工作是在领域工程的基础上,依照特定的方法,使用 这些素材生成新的系统,新的系统又可以为领域工程提供另一个研究对象。应用 工程根据应用系统的用户需求,进行分析和设计,同时最大限度的利用领域工程 中所获得的核心可复用软件资产,包括领域需求分析、领域框架、领域可复用构 件以及一些商业第三方构件,通过构件组装【1 9 】,配置而获得新的应用系统。应用 工程中,首先需要获取系统需求,虽然将要开发的新系统与现有系统为一个产品 族,但每个系统的功能、性能和环境等要求并不完全相同,因此对每个特定的系 统都需要进行需求分析。在获取需求分析后,系统工程师对系统进行设计,给出 详细规格说明和设计文档,系统开发人员根据这些文档确定所需的构件、获取构 件、组装与部署成新系统,攻取构件可以从构件库中检索、开发新构件和使用第 三方构件三种方法,开发的新构件需要进行构件入库,以备下次使用。 2 2 5 领域工程与应用工程的关系 领域工程为软件开发提供复用构件,应用工程使用领域工程开发的构件组装 1 l 里一 基于构件的能源动态监管系统研究与实现 成新系统,在构件化开发过程中,领域工程与应用工程的关系如下: ( 1 ) 领域工程是应用工程的基础,为应用工程提供开发系统所需要的构件, 应用工程在领域工程的基础上使用构件进行新系统的开发。 ( 2 ) 领域工程和应用工程都是基于工程的原则进行开发,领域工程所进行 的工作是面向一类系统,应用工程则是面向某个具体的系统,领域工程相对于应 用工程更为抽象。 ( 3 ) 领域工程和应用工程以构件为连接点,在软件产品线开发过程的有效 管理下形成一个整体。 2 2 6 软件产品线的优点 软件产品线作为软件复用中最为成功的模式,与传统的软件开发方法相比有 以下几个优点: 1 、减少开发成本 当已有的体系结构,或某个构件被应用到新系统中时,就减少了开发此功能 所需要的成本,当然,在使用此体系结构或者功能前,需要建立参考体系结构或 者构件,当开发一个或者两个系统时,软件产品线的优势不明显,甚至成本会高 于普通的系统开发方法,但开发多个系统时,软件产品线的优势便会体现出来。 单个软件开发与产品线开发成本比较关系如图2 3 所示。 开 发 成 本 预先投资 图2 - 3 单个软件开发与软件产品线开发成本比较 f i g 2 3t h ec o s tc o m p a r i s o no ft r a d i t i o n a ls o f t w a r ed e v e l o p m e n ta n ds o f t w a r ep r o d u c t l i n ed e v e l o p m e n t 青岛科技大学研究生学位论文 2 、缩短开发周期 对于工程项目,工期是最为重要的条件之一,软件项目也不例外,能否在规 定的工期内完成是衡量软件项目成功与否的标准之一。基于产品线的开发与传统 软件开发在开发周期方面有着明显的优势,由于复用了以前的成果,软件产品线 的开发可以大大节省时间,其与传统软件开发的周期相比如图2 4 所示。 上 市 时 间 系统数目 图2 _ 4 传统软件开发和产品线开发上市时间比较 f i g 2 - 4t i m en e e d e dc o m p a r i s o no ft r a d i t i o n a ls o f t w a r e d e v e l o p m e n ta n dp r o d u c tl i n ed e v e l o p m e n t 3 、提高软件质量 软件产品线中所复用的成份在多个系统中使用,意味着可以被全面的进行测 试,出错率较小。 4 、易于系统维护 由于一个构件被重复运用到多个系统中,当出现错误时,维护此构件的方法 也同样可以维护其它构件;由于软件产品线开发的系统由多个构件构成,又由于 构件可以相互独立进行部署,因此维护人员在维护的过程中可以尽可能少的关心 整个系统,不用花费过多的精力学习整个系统。 2 3 基于构件的开发的相关技术 基于构件的开发涉及到的技术有: 构件模型和构件描述:即构件标准化问题。构件模型对构件本质特性以及构 件之间关系进行抽象描述,提供一个为所有构件生产者和构件复用者接受一 致的表达方法。构件描述语言是对构件模型的语言描述。 基于构件的能源动态监管系统研究与实现 构件获取和制作:研究如何获取构件,以及构件的制作方法。 构件管理:对可复用的构件实施管理,提供构件的分类、存储、检索、认证、 提取等手段,为构件的复用和组装提供技术支撑。 构件的理解( u n d e r s t a n d i n g ) 适应性修改( a d a p t a t i o n ) :复用者需要对构件进 行识别和理解,如果构件不能全部满足复用的需求,则需要对构件进行修改。 构件组装:如何利用构件描述信息来自动或半自动地生成新的系统。 其中,构件模型和构件描述问题是基础,而构件的生产制作与构件的组装是 实现基于构件的软件开发的关键技术。 2 4 构件模型 构件模型是基于构件的开发的基础,好的构件模型可以有效的将构件表现给 使用者,易于理解与识别。目前比较主流的几种构件模型是:u n i c o n 、c 2 、w r i g h t 、 d a r w i n 、r a p i d e 、a c m e 和j b c o m a 1 、u n i c o n u n i c o n 是卡内基梅隆大学的s h a w 等人提出的构件模型,在u n i c o n 中,构 件主要由构件( c o m p o n e n t ) 和连接件( c o n n e c t o r ) 两个主要成分【2 0 1 。构件表达系 统中一组计算和状态的抽象,连接构件定义构件之间的交互关系。在u n i c o n 中, 用接口定义构件能够实现的计算描述和使用构件的约束。包括对构件的性能和行 为要求。对接口的形式化描述如下【2 1 】: i n t e r f a c e - := 构件类型( c o m p o n e n tt y p e ) 表达的是设计者的所期望的构件所提供的功能 的一般类型,它约束被定义的演员o l a y e r ) 的数量、类型和规约。属性( p r o p e r t i e s ) 用成对的属性值来说明构件作为一个整体时附加的信息,如断言或约束。演员是 可见的语义单元,构件通过它与外部的其他构件进行交互t 2 2 。 2 、c 2 c h i r o n 2 ( 简称c 2 ) 是一种层次的、基于消息的软件构架模式。它源于解决g u i 软件开发中软件构件问题,并被扩充用于其他的应用领域【矧。 在c 2 中包括计算构件和连接构件两个主要成分。系统通过消息路由装置( 即 系统的连接构件1 把层次化的计算构件连接在一起,上下层计算构件之间具有受限 的可见性,即层次化的计算构件只能看到位于上方的计算构件,而不知道任何位 于下方的计算构件。计算构件和连接构件都包含一个顶部和一个底部接口,一个 计算构件的顶部接口只能同一个连接构件的底部接口相连,而计算构件的底部接 口只能同连接构件的顶部接口相连,一个连接构件的顶部也可以直接同另一个连 1 4 青岛科技大学研究生学位论文 接构件的底部相连。构件之间通过发送消息进行通讯,消息包括自上而下的通知 消息和自下而上的请求消息,消息的传递由连接构件负责。 3 、w r i g h t w r i g h t 的特点是对构架模式中的构件( c o m p o n e n t ) 和连接构件( c o n n e c :to r1 的 抽象行为进行形式化的描述。它将显式的、独立于实现的连接构件类型用作交互 模式,并用基于c s p ( 通讯顺序进程) 的表示法来表示构件的抽象行为,它支持对 规约的一致性和完整性进行静态的检查吲。w r i g h t 的构件模型中包括构件、连接 构件和配置( c o n f i g u r a t i o n 、。 构件用来描述一个物理的、独立的计算。构件分为接口和实现两个部分。一 个接口由一组端口( p o r t ) 组成,每个端口代表构件所参与的一次交互。实现部分用 来描述构件的实际工作成分。连接构件用一组角色和胶合成分来表示,角色表示 单独参与交互的一个行为,胶合成分描述参与者如何一起工作来创建一个交互。 构件通过角色来表示实际执行的行为,并通过胶合成分将不同的构件计算组合在 一起。配置是通过连接构件组合起来的一组构件实例。每个配置是通过描述赋值 连接来完成的,赋值连接定义了配置的拓扑结构,将一个构件的端口和一个连接 构件的角色相连。简单说配置就是一个系统的结构描述,它具有层次性的表述特 点,具有独立于实现的接口,并可被参数化,目用一阶逻辑的表达方法描述语 法约束和语义约束。

温馨提示

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

评论

0/150

提交评论