(机械设计及理论专业论文)面向对象软件工程的研究与主动磁轴承控制系统的实现.pdf_第1页
(机械设计及理论专业论文)面向对象软件工程的研究与主动磁轴承控制系统的实现.pdf_第2页
(机械设计及理论专业论文)面向对象软件工程的研究与主动磁轴承控制系统的实现.pdf_第3页
(机械设计及理论专业论文)面向对象软件工程的研究与主动磁轴承控制系统的实现.pdf_第4页
(机械设计及理论专业论文)面向对象软件工程的研究与主动磁轴承控制系统的实现.pdf_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

南京航空航天火学硕士学位论文 内容提要 8 0 年代初以来,面向对象技术在计算机软件开发技术研究和应用领域中十 分活跃,它的优越性几乎在一夜之间为人们所接受。面向对象技术从人们的认 识论、方法( 建模) 论、系统分析与设计、编程风格、测试方法与策略等领域强 烈地影响和推动一系列汁算机高技术的发展,并将有力地促进多学科的综合应 用。 主动磁轴承技术是一利t 高新技术,其研究涉及到电磁学、控制理论、机械 学、转子动力学以及计算机科学等众多学科的知识。另一方面,随着主动磁轴 承技术逐渐被人们认识和掌握,主动磁轴承将广泛地应用于以下领域:航空航 天领域、真空技术领域、机床与高速旋转机械、能源交通等。t 一4 本文首先介绍了面向对象设计的思想,研究了面向对象软件工程方法及其 在实时系统分析设计中的运用;在分析主动磁悬浮轴承控制系统工作原理的基 础上,对磁轴承实时控制系统进行了需求分析;建立了系统的静态模型和动态 模型。之后,说明了d s p 数字控制器的结构,设计并实现了控制系统的硬件部 分。最后对软硬件系统进行了测试和训试,确认了系统的正确性。本文研究成 果在磁轴承系统上投入使用,实现了五自由度转轴在主动磁轴承中的稳定悬浮 和高速运转( 转速达6 0 0 0 0 转分钟以上,转轴径向跳动小于2 0u i l l ) 。 关键词:主动磁轴承d s p数字控制器面向对象软件工程。 面向对象软件工程的研究与主动磁轴承控制系统的实现 a b s t r a c t t h eo b j e c t o r i e n t e da n a l y s i sa n dd e s i g nm e t h o d o l o g ye m e r g e di nt h e1 9 8 0 s n o w , i th a sb e e nu s e dt od e v e l o pt h o u s a n d so fi n f o r m a t i o ns y s t e m s o b j e c t - o r i e n t e d p r o g r a m m i n g i sb e c o m i n gt h ed o m i n a n t p r o g r a m m i n gs t r a t e g yf o rs o f t w a r ed e s i g n a c t i v e m a g n e t i cb e a r i n g ( a m b ) i so n eo fo u t s t a n d i n gt e c h n o l o g y , a n dt h e r e s e a r c hc o m ed o w nt oe l e c t r o m a g n e t i c ,c o n t r o lt h e o r y , m a c h i n e ,r o t o r d y n a m i c sa n d c o m p u t e rs c i e n c e ,a n ds oo n o nt h eo t h e rh a n d ,w i t ht h et e c h n o l o g yo fa m b i s k n o w na n dm a s t e r e dg r a d u a l l y , a m bw i l lb ea p p l i e dt ot h e s ef i e l d sf a ra n dw i d e : a v i a t i o na n d s p a c e f i i g h t ,v a c u u mt e c h n o l o g y ,m a c h i n e t o o la n d t a i l w a g g i n g e n g i n e e r , e n e r g ys o u r c ea n dt r a f f i c ,a n ds oo n f i r s t l y , t h i st h e s i s i n t r o d u c e do b j e c t - o r i e n t e dd e s i g ni d e a s t h e nt h et h e s i s n a r r a t e do b j e c t o r i e n t e ds o f t w a r ee n g i n e e r i n g ( o o s e ) a n di t sa p p l yi na n a l y s i sa n d d e s i g nf o rr e a lt i m es y s t e m b a s e do nt h ea n a l y s i so fa m bw o r k i n gp r i n c i p i u m , a m br e a lt i m ec o n t r o l l i n gs y s t e mw a sd e s i g n e dw i t ho o s e a tl a s t ,w eg i v et h e h a r d w a r ed e s i g n d e b u g g i n ga n dd s pr e a l i z a t i o nt ot h ed i g i t a lc o n t r o l l e r , m a k et h e f o u r a x i sr o t a t ea x i ss u s p e n d s t e a d i l ya n dh i g h s p e e dr o t a t i o n ( a b o v et o6 0 0 0 0m i n , r a d i a lf l o u n c el i m i t e di n2 0 m ) i na m bw h i c hb a s e di nt m s 3 2 0 f 2 4 0 k e y w o r d :a m bd s p d i g i t a lc o n t r o l l e r s o f t w a r ee n g i n e e r i n g o b j e c t - o r i e n t e dm e t h o d o l o g y s u s p e n ds t e a d i l y 南京航空航天人学硕二i :学位论文 第一章绪论 1 1 磁悬浮轴承概述 1 1 1 磁悬浮轴承在国内外的发展概况 磁悬浮轴承( 以l 、简称磁轴承) 足一种利j 1 1 i 电磁场力将转子悬浮于空间,不需 要任何介质i n 实现承载的非接触式支承装置,与传统的滚动轴承和滑动轴承相 比,磁轴承叫显的特t i 7 i i 于没有机械接触,不需要传力介质,而且其支承力可控。 h 此而具有传统轴承无法比拟的优越性能:由十没有机械摩擦和磨损,所以降低 r 工作能耗和噪声,延长了使f 1 3 寿命;动力损失小,便于应用在高速运转场合; l 自于不需要润滑和密封系统,t l l q 缘了污染,可应川于真空超净,腐蚀性介质以及 极端温度和压力等特殊工作环境。从更广的角度上说,磁悬浮的涵义包了对非旋 转体的悬浮。 口前,旧际上对磁浮轴承的研究工作和学术气氛非常活跃。1 9 8 8 年召开了第 一届阁际磁浮轴承会议,此后每两年召开一次。j 9 9j 年3 月,美国航空航天管 理局还专门召开了一次磁悬浮技术在航天中的应f j 的学术讨论会。现在,美囡、 法困、瑞士、h 木和我周都袖! 大力支持开展磁浮j = 【i 承的研究工作。国际l 的这些 努力,犬人推动了磁浮轴承在工j 卜的广泛应川。 1 9 3 7 年,肯玎i ( k e m p e r ) i i i 请j 一项有关:卜动磁悬浮支承的专利。从此主动磁 悬浮技术的发展进入了工程应j j 阶段的研究,并逐渐形成了磁悬浮列车和磁悬浮 轴承两个主要的研究方向。 在磁悬浮列车方面:到了6 0 年代,英围、口小和德国根据不同的没汁方案, 分别制造“j 磁悬浮列车的样机。德网对主动磁悬浮技术的研究主要集c p 在电磁 璎( e 1 e c t r om a g n e l i cs y s t e m ,简称e m s 型,也称吸力型、常导型) 磁悬浮列车 l 。1 9 7 7 年,德国航空公司研制成功的k o m e 3 、磁浮列车,在一段专门实验的轨 道j 二进行了运行试验,时速高达3 6 0 公里,这是磁悬浮列车发展的第一个里程碑。 到1 9 8 9 年底,德国的磁浮列车共试运行了1 2 万公里,最高时速达到了5 0 0 公 理。 j 本主要集| i i 于i 【l 动型( e l e c l r od y n a m i cs y s l e m ,简称e d s 型,也称斥力 型、超导型) 磁悬浮列车的研究与- 丌发丁作。曰本刚铁公司1 9 7 2 年研制成的m l l 0 0 足世界上第一台e d s 型磁浮列车;1 9 7 9 年又研制成功m l 5 0 0 型,时速高达5 1 7 公里。 与此同时,i 动磁悬浮技术在轴承领域的应 j 也取得了惊人的成绩:1 9 7 6 年法围s e i ,公司与瑞典s k i :轴承公司联合投资成立了s 2 m 公司,对机床用的磁轴 承进行系统的研究干产品开发。1 9 7 7 年,该公司开发了世界上第一台高速机床 的磁轴承主轴系统。9 8 1 年在德围i l a n o v e r 国际机床博览会上,s 2 m 公司首次推 了以磁轴承支承的b 2 0 5 0 0 型机床系统,r 在3 5 0 0 r m i n 的速度下进行了钻、 铣现场表演,e 高速、商效、商精度、低能耗的优良性能,引起了各国专家的极 耍塑型墨墼丛三塑塑堕塑兰圭垫堕型! 墨丝型墨竺塑兰婴 夫关注。目前,转速商达1 8 0 0 0 0 r m i n 的内圆蘑床已投入r 实际应川a 此外,磁 轴承在汽轮发t 乜机、离心压缩机、分予涡轮等人礤设备上得到了成功的应用。美 旧得雷伯实验室于6 0 年代初j u | 首先在空间制导和惯性轮上成功地使用了磁轴 承;1 9 8 3 年,搭载于美吲航天飞机的欧洲空问仓内安装了采用磁轴承的真空装 赞:美心普惠公司在汁划研制的x t c 一6 5 核心机的验证机已使用磁轴承,并通过 r1 0 0 小时的试验。 网内在主动磁悬浮技术方而的研究起步较晚,8 0 年代末期才正式启动磁浮列 7 i i 的研究项口,研究工作主要n i 吲防科技人学和四南交通人学等有关单位承担。 1 9 9 6 年2 月1l :i 的南京口报报道,我旧策一台4 吨载人e m s 型磁浮列车及 其线路研制成功,悬浮商度为8 m m 在4 3 米长的轨导j 二,试验时速为5 公里。这 标志着我国掌握了磁浮列车的关键技术。与此同时,国内也有不少大专院校和单 僦在做 i 动磁悬浮轴承技术方而的应j | j 研究,清华大学与无锡机床厂内圆磨床研 究所对内圆磨床的主动磁轴承高频i l ll 三轴进行了研究:西安交通大学、哈尔滨工 业人学进行r 机j 术j l i t f l l l 的磁翻i l 承的研究。似足在旧i 还未见到将主动磁j = 1 1 1 承技术 真ie j u 于工业实际的先例。 我校机电一体化实验窀从1 9 9 2 年开始与 i :i ! ) ! ) :靖江星轮高速机电设备制造公 司合作研究开发商速离心干燥机的磁轴承系统。l 9 9 7 年底己完成模拟i ) 【d 控制 的磁轴承系统的实验调试并已交付使用。与此同时,开始了对数字控制的磁轴承 系统的 i j l _ 究工作,1 9 9 9 年底,数字控制的磁轴承系统研制成功,顺利通过了国 防科工委平l i 江苏省科委的鉴定,j f :已i l l 报部省级科技成果奖。本文的l i 要工作就 是完成了磁轴承系统数字控制器的实时控制软件系统的设计及实现,为磁轴承在 幽内的推“应删奠定扎实的技术基础。 1 1 2 磁轴承系统的工作原理 磁轴承可以根据磁铁的结构形式,使j l j 场合,电源种类及磁场性质等方面进 行分类。人们习惯【:根据磁场的性质f i 同,将磁牟【| i 承划分为无源磁轴承和有源磁 轴承两人类,或者被称之为被动磁轴承( p a s s i v en a g n e l i cb e a r i n g ) 和主动磁轴 承( a cl iv em a g n el eb e a r i l l h ) 。彳1 :无源磁轴承巾,磁场是不可控的,其磁力山 水久磁铁提供或山恒定氖流r 【i 场作川卜的软磁材料提供,心而应用范嘲很少,随 ; = f 超导材料的出现,可能在这方而会有更犬的1 , 9 1 1 前景。在有源磁轴承【 1 ,磁场 足可控的,其磁力l l j 交流线圈产生的磁场提供,或山水久磁铁和交流线圈的混合 磁场提供,从i 使j 支承力可控,凶丽得到了最广泛的研究和应用。 图1 1 足一个典礁的主动磁轴承的组成丁作原理图。山图可知,一个典型的 _ l - 圳j 磁轴承是山转予、i 乜磁铁、传感器、控制器和功率放大器组成。传感器检测 被悬浮转了的运动状,j :将信息反馈给控制器,挖制器根抛反馈信号产生相应的 控制信号,然后由功率放大器将控制信号转换为控制电压或控制电流,对执行器 即电磁铁进行生动控制,从而使转予的运动满足预定的要求。 2 塑室堕窒些盔查堂堡主堂丝堡茎 实际上一个性能良好悬浮稳定的有源磁轴承足l l i 控制器、传感器、功率放大 器及磁性利料等州旺匹配共同作用的结果。 功率放大器 电磁铁 图1 11 j 动磁轴承的丁作原理 1 2 论文工作及内容安排 转予 器 1 2 1 论文工作的提出 基于1 1 节所述背景,磁悬浮轴承无论是在。举事还是在民用领域都具有广泛 的应用i j 景。但是由于磁轴承系统模型的复杂性,虽然往摔制器的设计方面使月j 了现代理论的诈:多方法,工业应j i j i 磁轴承产i i 的控制器一k 要还是使川经典1 ) i d 控制算法。在使川阶段需要针对不同的磁轴承系统调整控制参数。 d s p 系统丌发所使川的开发软什适于系统丌发阶段的参数调整的使川,并不 适于磁悬浮轴承系统存1 二、i k 应刚阶段的使川。在t 业应丌j 中采用开发软件进行系 统调试的一1 i 要缺点如下: 1 在工业应i j 阶段,磁轴承的控制器硬件设汁不软件程序都已经固定,不需要 阿作亚动,并不需要丌发软仆提供的y l :多设计和调试功能。 2 在工业应1 】阶段,控制参数的调整和控制数据的分析需要调试系统提供许多 按照控制理论分析采样数据的功能。通刖的d s i ,开发软件并不具备这些分析 功能。 3 控制参数的整定往往确:工业应川现场进行,i i _ l 磁干扰比较大。开发系统使用 j t a g 仿真接u 与d s j ) 控制器通信,在_ t 扰较人情况卜无法正常工作。 4 从经济方面考虑,工业应川i f j ,磁轴承改备数量较多,需要在i 司一时问内调 试多台发备;购买多套开发仿真硬什系统和通用开发软件无疑会造成资源的 浪费,增加系统的使用成本。 i j i i 向对象软件工程的研究与主动磁轴承控制系统的实现 考虑到t 述n u 题,磁轴承调试和控制系统的研制工作就排上了| = j 程。使刚专 为工业应州而开发的调试软件可以克服上述缺t i 。为磁悬浮轴承在国内进入工业 应用阶段起到推动作,h 。 1 2 2 论文的内容安排 木章介绍rt 动磁轴承的聊f 究背景及其主要t i k l # z 用,概括地介绍r 磁轴承 对控制器的要求及论文的选题,下而概括地介绍一下论文工作的主要内容。 笫二章,介绍了软件开发方式的发展;软1 ,| = 开发模型的建立;面阳对象软件 工程方法的内容;讨论了使用面向对象方法设计实时系统的方法;最后既1 1 月了软 什设计工作中使用的主要描述工具统一建模语言。 第三章,使用而向对象软利:过程方法分析、发汁并实现了磁悬浮轴承控制调 试系统的软件部分;j r 且蓿重介绍了软件中通信模块的分析与设计。之后,分析 设计了控制器1 1 1o s l 芯片运行的软什,给小了午关的流程图。 第四章,详细介绍了磁悬浮控制器的结构和t 作原理;i 殳汁了控制系统所需 的硬件支持l l = ! - 路。阐述了硬件l 乜路1 ,涉及的各种硬1 i ,i = 设备。主要包括d s p 的发展 历史,工作特点,内部结构,功能,串行接口模块;电s l ,转换芯片的工作原理和 外嗣电路。 第五章,介绍了磁悬浮轴承的实验形f 究:详细地讲述了主动磁轴承调试控制 系统的软f l :n 试方法和软硬件结合调试方法;对调试过程中出现的问题进行了具 体分析和讨论。 第六章,对整个论文工作进行了总结,对控制系统的应i i j 前景作r 预测。 本文的研究工作具有重要的实际意义,论文的突出贡献在于给出实时控制系 统的面向对象没计方法:完成了磁轴承控制器实时控制系统的软、硬件设计、实 现以及调试工作。使用该控制系统完成磁轴承系统的调试工作,实现了四自由度 转轴在主动磁轴承巾的稳定悬浮和高速运转。 4 南京航空航天大学颂_ 二学位沦文 第二章面向对象软件开发技术 2 1 引言 传统的程序设计采用结构化分析和没计方法。它是面向过程的,程序员按照 解决问题的算法设计程序,把大的软件系统自项向下按照功能划分为许多模块。 随着计算机技术的发展,要解决的问题日趋复杂,这种方法已经不能满足目前的 软什对可靠性,可维护性,可移植性等软什特性的要求。取而代之的足面向对象 的分析和设计方法。 基于使用实例( u s ec a s e ) 的面向对象方法是近年发展的新型面向对象设计方 法。这种方法能够针对用户的需求建立解决问题的高重用性模型,并使用一种规 范的方法寻找类,对象等进行建模,设计等一系列工作。不但适用常规软件的设 计,也适刚于实时系统的分析与设计。 统一建模语言( u n i f i e d m o d e l i n gl a n g u a g e ) 集成了各种面向对象方法的优点, 是一种定义良好、易于表达、功能强大旦普遍适用的建模语言。它融入了软件工 程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设 计,还支持从需求分析开始的软件开发的全过程。是面向对象设计方法的种优 秀的建模工具。 2 2 软件开发方式 2 2 1 软件的生命周期 软件生命期是指软件产品从考虑其概念开始,到该软件产品不再能使用为止 的整个时期。一般包括概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、 安装阶段以及交付使用阶段、运行阶段相维护阶段。有时还有退役阶段。这些阶 段可以有重复,执行时也可以有迭代。 软件生存期通常可分为三个时期,即软件定义时期、软件开发时期和软件运 行维护时期。 1 定义期要为被丌发的软件规定“做什么”,开发人员要确定软件将处理什么信 息,软件的功能和性能是什么,应建立什么样的接口,要考虑什么设计限制以及 软件开发成功的确认标准。定义期包括三个阶段的工作,即: 系统分析:把软件要完成的工作与整个计算系统的其它部分,如硬件、 操作人员及数据库等应完成的工作区别开来。 软件项目计划:确定软件开发的总目标进行风险分析、资源分配、成 本估计,规定工作任务和进度安排。 需求分析:更明确地确定软什做什么。给出所开发软件的功能、性能、 用户接口等,对数据流进行分析,给出功能说明及用户手册初稿。 2 开发期着重解决所开发软件“怎么做”的问题,包括数据结构和软件总体结 构要怎么设汁,软件的过程细节怎样实现,所作的设计怎样转换成程序语言以及 怎样进行测试等步骤。开发期含有以下三个阶段: 软件设计:把已经确定了的软件需求转换成特定形式的设计表示,使其 得以实现。 程序编制:用某个编程语言表达软件设计时确定的处理过程算法。 软件测试:对已编制的程序进行测试,以找出其中功能上、逻辑上和实 堕塑墅墨鏊笪三堡塑婴窒墨圭垫垡塑堕堡型墨笙堕窭垫 现中的错误。 3 运行维护期着重于因多种理由软件要作的变更。即在软件投入使用以后,由 于开发期中酿成的问题,当时未能发现和及时解决,或因适应变更了的软件运行 环境,或因软件需要进一步完善等等理由,要对软件作出变更a 2 2 2 面向对象方法的基本思想 软件生存期的三个时期有时也笼统地称之为软件开发。为更清晰地表达生存 期内各个阶段的工作和各阶段问的关系,可以为生存期设计不同的模型 f p a r a d i g m ) 。如瀑布模型、螺旋模型、喷泉模型等。 传统的程序设计是面向过程的,程序员编制程序时使用结构化分析过程和设 计过程。它是一种面向数据流的需求分析方法,使用于分析大型数据分析系统。 这种方法的主要思想是自顶向下逐层分解。绘制系统数据流图,在设计阶段t 使 用面向数据流的设计方法,识别从系统的输入数据流到输出数据流的一连串连续 变换,形成一条信息流;再转换成程序结构图。在系统的分析与设计过程中,主 要使用瀑布模型作为系统的开发模型。 上述方法能够开发出准确性、适合性、易使用性、可靠性和效率很高的软件, 但是不能适应软件运行环境的发展,软件产品的变更( 如添加新的功能、改变运 行平台) 需要花费很大的代价,可维护性和可重用性都比较差。解决问题的方法 也不符合人类的一般思维方式。 任何现实问题领域都是由一些基本原始事物组成的,这些事物相互问存在着 定的联系。在用计算机求解的过程中,为了有效地反映客观世界,需要建立相 应的概念去直接表现组成问题领域的事物及这些事物间的相互联系;此外,还需 建立一套适应人们一般思维方式的描述模式。0 0 技术的基本原理正是:按问题 领域的基本事物实现自然分割,按人们通常的思维方式建立问题领域的模型,设 计尽可能直接自然表现问题求解的软件系统。为此,0 0 技术引入了对象( o b j e c t ) 来表现事物、用消息( m e s s a g e ) 传递建立事物问的联系;类( c l a s s ) 和维承 r i n h e r i t a n c e ) 性是适应人们一般思维方式的描述模型。从求解问题的角度看是用 对象描述子问题,对象簇f 类) 形成问题空间,对象问的消息传递表示用户要求, 从问题空间到求解空间的映像过程就是软件开发过程。问题空间到求解空间的映 射应是一种自然的映射,应有直接的对应关系,这就是对象方法学的精髓。0 0 软件设计法实际上是围绕组成问题领域的事物进行的软件设计方法,它关心的是 对象及其相互问联系。整个软件系统的执行是 _ l _ l 对象组成的对象通过消息传递 相互联系,协同完成某一活动。类和继承用于描述对象,建立问题领域的模型和 描述软件系统。类是构造软件系统的最小单位,对象则是系统执行的最小单位。 2 3 面向对象软件工程 2 3 1 面向对象方法的基本概念 面向对象技术足软件工程领域中的重要技术。它不仅是一种程序设计方法, 更重要的是,它足一种对真实世界的抽象思维方式,比较自然的模拟了人类认识 客观世界的方式。面向对象技术的奠基人p e t e rc o a d 和e d w a r dy o u r d o n 提出用 下列等式识别面向对象方法: 面向对象= 对象( o b j e c t ) + 分类( c l a s s i f i c a t i o n ) + 继承( i n h e r i t a n e e ) + 通过消息的通信( c o m m u n i c a t i o nw it hm e s s a g e s ) 6 南京航空航天大学硕士学位论文 等式中的基本概念描述如下: 1 对象: 对象是指一组属性以及这组属性j :的专用操作的封装体。属性可以是一些数 据,也可以是另一个对象。每个对象都有它自己的属性值,表示该对象的状态a 对象中的属性只能通过该对象所提供的操作来存取或修改。操作也称为方法或服 务,它规定了对象的行为,表示对象所能提供的服务。封装是一种信息隐蔽技术, 用户只能看见对象封装界面上的信息对象的内部实现对用户是隐蔽的。封装的 目的是使对象的使用者和生产者分离,使对象的定义和实现分开。一个对象通常 可由对象名,属性和操作三部分组成。 2 类 类是一组具有相同属性和相j 司操作的对象的集合。一个类中的每个对象都是 这个类的一个实例( j n s t a t l c e ) 。在分析和设计时,通常集中分析类的构成和类 问的关系。 3 继承 继承是在某个类的层次关联中不同的类共享属性和操作的一种机制。一个父 类可以有多个子类,这些子类都是父类的特例,父类描述了这些子类的公共属性 和操作。一个子类可以继承它的父类( 或祖先类) 中的属性和操作,这些属性和 操作在子类巾不必定义,子类还可以定义自己的属性和操作。为了提高操作的效 率,予类还可以对父类或祖先类巾已有的操作重新给出实现方法。 4 消息 消息是对象间通信的手段,一个对象通过向另一对象发送消息来请求其服务。 一个消息通常包括接收对象名,调用的操作名和适当的参数。消息只告诉接收对 象需要完成什么操作,并不指示接收者如何完成操作。消息完全由接收者解释, 接收者独立决定采用什么方法完成所需的操作。 5 多态性( p o l y m o r p h i s i n ) 和动态绑定( d y n a m i cb i n d i n g ) 多态性是指同一个操作作用于不同的对象上可以有不同的解释,并产生不同 的执行结果。相同操作的消息发送给不同的对象时,每个对象将根据自己所属类 中定义的方法执行,从而产生不同的结果。 传统的程序设计语言把过程调_ h _ j 与目标代码的连接( 即调川哪个过程) 放在程序 运行前进行( 称为静态绑定) 。而面向对象方法则不同,由于子类是父类的一个 特例,所以父类对象可以出现的地方也允许子类对象出现,因此在运行过程中, 当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实 现的方法进行连接,称为动态绑定。 上述概念是面向对象技术的基本概念,只有采用这些概念开发的软件系统才 是面向对象的。 2 3 2 面向对象软件工程介绍 2 3 2 1 软件过程方法思想介绍 长期以来,在面向对象开发和传统的软件开发中,人们根据典型的使用情景来 了解需求。但是,这些使用情景是非正式的,虽然经常使用,却难以建立正式文挡。 随着面向对象设计方法的发展,使f i j 实例方法引起了面向对象领域的极大关注。 目前,面向对象领域已广泛接纳了使用实例这一概念,并认为它是第二代面向对象 技术的标志。使用实例模型描述的是外部执行者( a c t o r ) 所理解的系统功能。使用 实例模型用于需求分析阶段,它的建立是系统开发者和用户反复讨论的结果,表明 而i f i j x , j 象软f l :7 i i p d ( 1 , f l i o f 究j 土动磁轴,承控制系统的吱现 ,丌发者和川,、对需求规格达成的兆i : ! 。 汁先,占描述了待开发系统的功能需求: 其次,它将系统看作黑盒,从外部执行者的角度朱理解系统: 第三,巨2 - 5 p _ 动了需求分析之后各阶段的开发工作,不仅在开发过稃中保证了 系统所有功能的实现,而且被川于验t l e 和检测所丌发的系统,从而影响到丌发工 作的各个阶段。 而向对象软什工程使用r 典酗的使f f j 实例方法,它主要使用五种不同的模型 分析和设计系统结构: 需求模型( r e q u i r e m e n t sm o d e l ,记为r m ) :川此模型引导获取系统的功能需 求; 分j = 模型( a n a i y s i sm o d e i ,汜为 m ) :此模型给出健壮的且可变化的对象结 构: 世计模型( d e s i g nm o d e l ,记为i 】m ) :根据现行实现环境,引导对象结构的精 化和使川; 实现模型( i m p i e m e n t a t i o l lm o d e i ,记为i m ) :引导系统的实现: 测试模型( t e 8 l m o d e l ,记为r m ) :引导系统的验证。 每个模型试图获得系统的某个部分或构造系统的某个方面,这些模碰间的关 系如图所示。下面还将更详细地讨论它们之间的关系。 一丑一i 一一 医t r m & a md m i m i m 图2 1 :系统开发过程简图 这些模型的基本思想足山眺完成j b 户对系统所需要的全部功能,j :给山一 个潜在用户将如何使用该系统的捕述,其内容包括:使用事件模型、界面捕述和 n q 题定义模犁。r m 将由系统,h 户和后继开发者市定和使用当r m 变得稳定时, 可开始从刚户的逻辑视图构造系统的逻辑结构,形成一个健壮的逻辑系统,该逻 辑系统在软件开发生命期中应易于维护,这一工作由a m 引导完成。在构造系统 的逻辑结构时,假想有一个理想的实现环境。所谓理想的实现环境是此时不考虑 所要使用的硬件、实现语言、是否使t t ji ) b m s 、足一个分相式系统还是一个实时 系统等等。这种考虑出于两个理山:其一,从理想环境到实际实现环境的转换工 作很容易,此时不考虑实现的具体细一1 i ,可极大地简化系统的复杂度,而集中力 量构造一个逻辑j 二健全的系统;其二,实际的实现环境在软件生命期间是易于改 变的,所以不到d m 时,可不具体考虑实际的实现环境。然而,所谓理想环境下 的系统结构不会总是那么理想的,可能与实际的i m 有少量冲突,因此要求系统 的逻辑结构易于维护。d m 是a m 的精化和形式化。d l 的工作将在实际的实现环境 中进行,所以d m 阶段要决定应用系统与实现环境的关系。i m 在d m 基础上进一 步精化和形式化,形成一个有注释的源代码集。最后由,r m 支持所开发系统的验 证( 测试) ,t m 将提供规范的测试说明书和测试结果的报告。软件系统的开发过 程是使川这些模型逐层逐步地待化过程。这些模型是软件开发的基本原则和规 范,每个阶段的开发者必须恰如其分地使门】这些模型。基于这些模型开发的不同 类型的软件系统都有很好的可靠性和可维护性,并 l 按这些模型可逐步地驾驶软 1 j l i :系统的复杂性,不会导致茫然而不知所措。 南京航空航天大学硕士学位论文 2 3 2 2 需求模型 使j 1 1 者和使用事t i : 从需求规格说明到需求模酗( 1 m ) 是系统开发过程的笫一次转换,i m 使用事 什模型、界而描述和问题定义域模型三部分组成 使用事件模趔由使用者和使川事什组成,这两个概念j 1 j 于辅助定义系统的外 部行为( 使用者) 和系统的执行( 使j f j 事件) 。 系统的使用者表示与系统的川旺作用,即表示使用者与系统需要交换信息的 每什事情。i 1 于使用者表示的足系统的外部,陡l 此不需详细描述它们。这里将使 用者t u f f j 户看作两种不同角色,虽然使用者表示一类确切的用户,但用户是使用 系统的实际人员。可认为使刚者是类,用户是这个类的实例,当某个用户用系统 做某些事时,这个实例才存在。这样,同一个人可以作为儿个不同使用者的实例。 这种方法便于用结构化部件来工作,这样可以把使用事件作为内部状态来转换, 井可熟练地表示这种构造部什。 如果披上述方法设计,系统模型将由使用事件驱动,当希望改变系统行为时, 就改变了相应使用者的行为和使用事件。整个系统结构将由用户希望系统所做的 工作来控制。这样能通过所有模型跟踪系统,也能从新的需求修改系统。当完成 了_ 1 1 1 1 户所要求的改变后,在其他模理巾可直接看到相应的改变。 i m 另一个重要特性是可用i i m 与用户交流,井可找出他们的需求和爱好。这 利,模型从用户角度容易理解和形式化,所以r m 易于与用户交谈,验证按他们要 求所要构造的系统是否正确。i 司为这足开发的第一个模型,在构造实际系统之前, 一定要从用户的角度评估所要设计的系统。 2 3 1 2 3 分析模型 r m 的目的足定义系统的界限( 功能限定) j :指定它的行为,当已经开发出了 i m 并由系统用户或后继开发者审定后,就可开始实际系统的开发,即开始a m 的 开发。这个模型导致构造一个不依赖于实际实现环境的系统,这意味着此时的注 意力集中在系统的逻辑结构上。这里所定义的逻辑结构为安全、健壮和可管理的 结构,也是一种可扩充的结构。 在a l 的信息空问1 i = f ,其目标是捕捉信息、行为和表示。信息指定系统l i 】短 j t j j 平i l 长期要处理的信息,信息描述的足系统的内部状态:行为表明系统将要采取 的动作,即系统将改变状态时的行为;表示提供了系统外部世界的表示细节。 m 由实体对象、界面对象和控制对象组成。在系统开发中,实体对象模拟 的是应保存较长时间的信息,并日将作为一个标准的使j | j 事件延续存在。所有与 信息自然偶合的行为也应该放到实体对象中,一个实体对象的例子是人与他相关 的数据和动作;界面对象模拟的行为和信息依赖于系统的界面,这样与系统界面 相关的每件事情都可放到界而对象叫1 ,界而对象的例子是关于人的基本信息需求 的用户界面;基本的控制对象是功能性模拟,不是对其他任何对象匿i 有的限定。 由r m 构造a m : a m 来源于使用事仆模型,每个使用事件的整体被分成三种类型的对象。在 i m 中详细说明了系统的整体功能,现在这种功能被构造为稳定的且可扩充 的结构。按这利方法使用事件被分成多个分析对象。使用事件说明的功能应该被 指定为不同对象。按这种方法, m 中的每个使用事件山对象提供,同时,一个 对象可能成为几个使用事仲的公共对象。 基木。卜按以下原理分割使用事件: 使用事件的功能直接依赖于系统环境的部分放到界面对象f i i ; 匝! ! ! ! 型墨墼丛三! 三堡塑婴塑皇圭垫燮塑堡丝型墨堑塑望婴一 涉及存储和信息处理的功能,放到任何界面对象都4 i 自然r 这样的功能 应放到实体对象t t t ; 与一个或儿个使用事什相关的功能,放在其他对象中都不自然,这样的 功能应放到控制对象c 1 0 当进行功能分解时应强调系统的健壮性和可维护性,摧术的原则是保证系统 修改的局部化。 客户 o 需求分析 分析 健状性分析 图2 2 :分析过程和予过程以及生成的模型 2 3 2 4 设计模型 d m 是r m 和a m 的细化和形式化。其含义是把a m 装入到实际实现环境时要能 同时细化 m 。其目的是在实现环境中细化 m ,直到容易写出源代码为止,因为 m 包含了所需系统的全部特征。所以要求a m 结构能形成d m 的基础。然而,当 引入到实际环境中时,可能对a m 的结构有所改变 在构造工作期间,对 m 中的每个对象在d mr f _ l 指定一个块,总的说来这个转 换是机械化的,可由工具执行。转换是协调一致的,员重要的是依赖于实现环境, 可能会产生偏差,于是这种一对一关系可以被修改。在d l 中,形式化a m ,并把 它填充到i m 中。当已产生了块结构后,画出合作图显示块问的通信。正常情况 下,所画出的合作图针对各个使用事件。实际中,使用事件模型以后也将形成构 造过程的基础,从而保证构造的系统是用户所要的正确系统。 掣一 由一回百曰百 图2 3 :构造过程以及生成的模型 2 3 2 5 测试模型 1 :| :| 对而言,测试一个产品与该产品所用的开发方法无关,而0 0 开发方法为 测试带来某些新的可能性,也引出某些新问题。许多传统测试技术仍然是有效的。 t m 足软引:系统开发的最后模型,它简单描述状态、测试结果。测试中的基本概 念主要足测试规格描述和测试结果。 最初是较低层,如对象模块和块被测试,通常由设计者测试,然后测试较低 层的予系统层,最后是综合测试,综合测试通常由一个与开发无关的测试组执行。 1 0 南京航空航天大学硕士学位论文 这样,测试过程从较低层开始,然后测试每个使用事件,最后是测试整个系统。 测试过程中,a m 再次成为强有力的工具。如当测试每个使用事件时,就要检查 特定使用事件中对象通信的正确性。 正如把使用事件看作为对象一样,也可把一个测试看作为一个对象,按照这 种观点,可把测试说明作为测试的类,这样也可继承公共部分或由几个测试说明 组合新的测试。一个测试的执行可看作为这个类的实例,执行的输出是测试的结 果。 l r m i f 一巨对吵 l i a m l 用 图2 4 :测试过程和它的子过程 2 4 实时系统的面向对象设计 实时工业系统可以分为两种:有严格最终期限的实时系统;实时提供服务而 没有严格最终期限的实时系统。最重要的区别是,在非严格范畴的实时系统中, 如果没有在最终期限内立即提供所需的服务,也不会发生灾难。 开发严格或非严格的工业实时系统,必须考虑三个基本问题:进程观点;通 信手段和同步方法。在问题的行为描述、实现环境和资源结构中要着重对待这些 n 日题。 实时系统不一定包括并发进程,但传统上并发进程和实时系统总是连在一起 对待的,因此,在目标环境中实时系统通常基于并发进程。 在要实现的应用进程中,要找到决定性进程、实质性进程和非实质性进程。 决定性进程必须有严格的最终期限,实质性进程需要有最终期限,但是,失误了 最终期限也不会产生灾难,而非实质性进程可以没有最终期限并对未来没有任何 影响,但是如果长期不执行,它们也可能会产生影响。进程也可以分为在规定时 问问隔内执行的周期性进程和在任意时问点执行的非周期性进程。在确定进程 时,需要加以考虑。 在开发的开始,o o s e 并不受限于实时应用领域。也即不依赖于实际系统中将 要用到的实现系统( 如操作系统,语言等等) 。分析阶段提供所需要的功能( 通过 | m 表达) ,从选择的操作系统结构以及编程语言可获得多种可供选择的实施方 案。当在o o s e 中使用的概念提供了确认进程的通用方法时,它不为通信和同步 提供任何优先强语义。当行为描述和实现环境之间存在语义差距时,最终的复杂 性将影响其寿命以及影响。当问题存在于结构的高层次时,为了使问题的语义和 实现环境的语义桐匹配,必须在规格说明书指明。 由于实时系统对正确性和可靠性要求比较高,系统应该设计成容错系统。当 为j :行分布进程提供了相应的硬件资源结构后,为进程分配和调度处理机必须 遵循新规则。此外,由于可利用多余资源。开发容错系统的解决办法更适于实时 系统。 面向对象软件工程的研究与主动磁轴承控制系统的实现 2 4 1 分析阶段的设计方法 分析t l t 所说明的使用事件为获取各类实时需求提供了一个强有力工具。在早 j l 】阶段,可将上述两种实时系统的使用事件需求放在一起,对于严格实时系统需 求,可使用时间属性联系来确认使用事件巾的序列。由于使用事件形成o o s f , 所 有活动的线程,因此这些需求在随后各阶段中自然成为相关联的。这样可获得这 些需求的可跟踪性,以及由需求建立系统的技术。时间属性涉及到周期性或非周 期性进程。在周期性进程情况中,需要有连接周期或者时间属性的频率,在非周 期性情况中,需要标明最大限度的响应时间。 在分析过程中,使用事件在a m 中进一步构造出来。对于实时系统,实时需 求不应该影响总体结构。在后面构造期间,需要为实时需求修改总体结构,即应 该从逻辑观点来构造。为了保持系统结构稳定和健壮,就要把精力完全放在初始 问题上,而不是它的实现环境上,这样会取得最佳效果。 当构造 m 时,最初把实时需求连接到使用事件,必要时连接到对象。这样 就提供了实时需求的可跟踪性。在设计、实现阶段,这样做有助于需求的证实。 存某些情况下,这些需求会连接到使用事件的序列,而这一序列又可能被分配到 几个对象c f l o 我们可能希望能同时连接多个使用事件,这可能出现两种不同情况:第一种 可能足多个活动在一个特定使用事件中同时发生,即在一个使用事件中同时执行 多个活动;另一种足在多个使用事件之间同时连接,即系统可以并行执行几个使 刖事什。同时性的形成涉及到了使用事件的实例,因为一种类型的使用事件可能 同时会有几个活动实例。 因此,一个系统的实时需求经常与多个使用事件连接,这样在开发的所有阶 段会使需求具有可跟踪性,而使用事件模型中含有的需求信息也能根据规格说明 在后来系统行为的检验中使用。 一个对象往往执行多个任务,对象控制它们的任务所花费时问的总和,需要 少于或等于使用事件中关联序列的时问。 2 4 2 构造阶段的设计方法 在构造期间,应该基于日标环境来考虑实时需求。虽然目标环境经常是预先 确定的,但是需要考虑目标环境如何适合对象结构,使结构的改变尽可能小。 目标环境的参数通常强烈地影响进程、通信和同步等概念的语义。为了简化 实现的转换,应该在构造过程巾使用这些概念的实际目标环境的语义。在操作系 统中使用的语义也应该在构造中采用。如果要使用并行进程,操作系统必须能支 持并行进程。许多操作系统支持不同的进程观点,不仅支持线程和进程而且支持 不同类型的线程和进程,应该尽早地在构造过程中确定并应用这些相关技术。 引进进程的最明显原因是系统处于并行环境中,因为环境中的事件能以不同 速度、额度和顺序发生,所以常常需要使用进程来接受这些消息。进程同步也应 该从实际操作系统的语义中获取,比如所使用的特性有异步执行信号、锁等,不 同概要算法及操作系统中可用的进程优先级等也必须在实现中考虑到。这里将使 用适合实际实现环境语义的概念。 当引进消息时,定义信息和信号两种类型,信号类型用于进程之间的通信。 没必要沈明一个信号的精确语义,通常是在当前实现环境中使用,信号类型能进 一步表达刁;同语义,如超时、阻碍或者远程过程调用( r p c ) 。 南京航空航天大学硕士学位论文 2 4 2 1 进程的识别 在o o s er 虫用的模世概念可加于标识系统中的进程。在面向对象的系统中, 系统分解进程的策略与传统系统中的分解策略不同。进程非常合适于而向对象中 的一般思想:v , j 部状态、详细说l 】的界面、数据抽象、信息隐藏等等,将面向对 象的结构分解为进程比传统的设计方法更直接了当。 使用使用者的行为,即界面对象的舰格说明从使用者那里接受消息来确认所 需要的进程。可把每一个进程分配到一个界面对象中,或者分配到每一个能够并 行执行的界面对象组中,有可能需要一个进程输入消息,一个进程输出信息,消 息缓冲区也必须在这个环境中考虑。 使用事件叶j 的行为被映剩为独立的并发进程。行为为可

温馨提示

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

最新文档

评论

0/150

提交评论