




已阅读5页,还剩51页未读, 继续免费阅读
(电气工程专业论文)电磁场数值分析可视化软件系统的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳工业大学硕士学位论文 摘要 随着能源工业的发展 电机 大型电力变压器 高压开关等电气装备的应用越来越 多 对它们的性能 质量及制造精度的要求也越来越高 这就要求电气装各制造厂家必 须对电气产品进行精确的设计 以满足现代社会对电气产品高质量 高性能的要求 由于电气产品的形状各异 结构复杂 材料非线性和电磁耦合等特点 利用传统的 解析方法难以获得满意的分析和计算结果 随着计算机和计算技术的飞速发展 数值分 析法受到越来越普遍的重视 特别是在电气产品的设计和优化中 采用有限元法对电磁 场的模拟一直是研究者关注的问题 而应用面向对象的方法来研究有限元 是一种新的 设计和构造有限元软件的方法 本文从计算机科学的角度出发 将电磁场数值分析方法 与软件科学相结合 研究了面向对象有限元方法的原理 设计了电磁场数值分析可视化 软件系统 文中首先介绍了面向对象有限元的基本概念和发展概况 讨论了这种方法在电磁场 数值分析软件应用中的必要性与可 亍性 系统研究了面向对象的程序设计方法 接着设 计了面向对象有限元软件的体系结构 并深入研究了软件可视化平台 根据上述的理论 基础 设计完成了基于w i n d o w s 9 8 2 0 0 0 x p 平台的可视化软件 这个软件在可操作性 高效性方面具有独到之处 最后 运用本文的软件对高压断路器的电磁场进行了有限元分析 获得了较为满意 的结果 从而验证了本文面向对象有限元方法的有效性和正确性 关键词 面向对象有限元 可视化平台 电磁场 沈阳工业大学硕士学位论文 r e s e a r c ho nv i s u a ls o f ts y s t e mo fn u m e r i c a l a n a l y s i s i n e l e c t r o m a g n e t i c f i e l d s a b s t r a c t w i t ht h ed e v e l o p m e n t o f e n e r g yi n d u s t r y t h ea p p l i c a t i o n o f e l e c t r i c a le q u i p m e n t s s u c ha s e l e c t r i cm o t o r s l a r g ec a p a c i t yt r a n s f o r m e r s h i g hv o l t a g es w i t c h e se t c a l em o r ea n dm o r eu s e d i n m a n y i n d u s t r i a lf i e l d s t h e r e f o r e i ti se s s e n t i a lf o re l e c t r i c a lm a n u f a c t u r e r st od e s i g nt h e i r p r o d u c t s m o r e p r e c i s e t om e e t t h er e q u i r e m e n t so f e l e c t r i c a lp r o d u c t sw i t hh i g h e r q u 蛊l i t ya n d h i g h e rl x r f o r m a n c e i nm o d e m s o c i e t y i ti sd i f f i c u l tt oa c h i e v et h es a t i s f a c t o r yr e s u l t sb o t h o f a n a l y s i sa n d c a l c u l a t i o nb y u s i n g t r a d i t i o n a lm e t h o db e c a u s eo f t h ed i f f e r e n ts h a p e so f t h ed e v i c e s s l r u c t u r ec o m p l e x i o n m a t e r i a l n o n l i n e a r i t y a n dt h er e a s o n o f e l e c t r o m a g n e t i s mc o u p l i n g w i t h t h e r a p i dd e v e l o p m e n t b o t h o f c o m p u t e r a n d c a l c u l a t i n gt e c h n i q u e s n u m e r i c a la n a l y s i sb e c o m e m o r e e m p h a t i c e s p e c i a l l y r e s e a r c h e r sa l w a y sf o c u so n a n a l o ge l e c t r o m a g n e t i c f i e l d sb y u s i n g f i n i t ee l e m e n tm e t h o di n t h e d e s i g n e l e c t r i cp r o d u c t sa n d o p t i m i z e t h ep r o d u c t s b u tu s i n go b j e c to r i e n t e dp r o g r a m m i n g t os t u d yf i n i t ee l e m e n ti san e wm e t h o dt od e s i g na n dc o n s t r u c tf i n i t ee l e m e n t t h i sa r t i c l e r e s e a r c h e df i n i t ee l e m e n tt h e o r yb y u s i n g t h em e t h o d o f o b j e c t o r i e n t e dp r o g r a m m i n g d e s i g n e d v i s u a ls o f t w a r es y s t e mo f n u m e r i c a la n a l y s i so f e l e c t r o m a g n e t i cf i e l d sw i t ht h e s c i e n c ea t t i t u d e c o m b i n i n gt h em e t h o do f n u m e r i c a la n a l y s i s o f e l e c t r o m a g n e t i cf i e l d sw i t h s o m g a r es c i e n c e f i r s t t h i st e x ti n t r o d u c ef u n d a m e n t a lc o n c e p t s a n dc o n d i t i o n so f d e v e l o p m e n ta b o u t o b j e c t o r i e n t e df i n i t ee l e m e n t a n dd i s c u s s e dt h ew a yw h i c hi se s s e n t i a l i t ya n df l e x i b i l i t yi n t h ea p p l i c a t i o no f e l e c t r i c a ln u m e r i c a l a n a l y s i sa n a l y s i ss o f t w a r e a n d a l s os y s t e m i cs t u d i e dt h e d e s i g n i n gm e t h o do f o b j e c t o r i e n t e dp r o g r a m m i n g s e c o n d i td e s i g n e ds y s t e ms t r u c t u r eo f o b j e c t o r i e n t e df i n i t ee l e m e n ts o f t w a r e a n ds t u d i e dt h ev i s u a ls o f t w a r ei sc o m p l e t e d b a s e do n w i n d o w s 9 8 2 0 0 0 x pi na c c o r d a n c e w i t ht h ea b o v em e n t i o n e dt h e o r yb a s i s t h i ss o f t w a r eh a s i t so w n u u i q u e f e a t u r e si ne f f i c i e n c ya n ds e r v i c e a b i l i t y 一2 沈阳工业大学硕士学位论文 f i 脚1 y t h e f i n i t e e l e m e n t a n a l y s i s o f e l e c t r o m a g n e t i c f i e l d so f l a r g e c a p a c i t y t r a n s f o r m e r a n dm e c h a n i c e l e c t r i ce q u i p m e n t sw e r ec a r r i e d b yu s i n gs o t h v a r ed e s i g n e di nt h ea r t i c l e a c h i e v i n gt h es a t i s f a c t o r yr e s u l t s c e r 鹤n n gc o r r e c ta n de f f i c i e n to f t h em e t h o do f f i n i t e e l e m e n t k e yw o r d s o b j e c to r i e n t e df i n i t ee l e m e n t v i s u a lp l a t f o r m e l e c t r o m a g n e t i cf i e l d s 3 独创性说明 本人郑重声明 所呈交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果 尽我所知 除了文中特别加以标注和致谢的地方 外 论文中不包含其他人已经发表或撰写的研究成果 也不包含为获得 沈阳工业大学或其他教育机构的学位或证书所使用过的材料 与我一同 工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表 示了谢意 签名 橼日期 卫彩 厂 少 关于论文使用授权的说明 本人完全了解沈阳工业大学有关保留 使用学位论文的规定 即 学校有权保留送交论文的复印件 允许论文被查阅和借阅 学校可以公 布论文的全部或部分内容 可以采用影印 缩印或其他复制手段保存论 文 保密的论文在解密后应遵循此规定 签名 查翌垒导师签名 鲎兰 日期 丝堕乏丝 沈阳工业大学硕士学位论文 引言 随着现代科学技术和能源工业的发展 电机 大型电力变压器 高压断路器 互感 器等电气装备的应用越来越多 对它们的性能 质量及制造精度的要求也越来越高 这 就要求工程师在设计阶段就能精确地预测出产品和工程的技术性能 需要对结构的静 动力强度以及温度场 流场 电磁场和渗流等技术参数进行分析计算 设计出性能优化 的电气产品 以满足现代社会对产品高质量 高性能的需求 对结构的静 动力强度以及温度场 流场 电磁场和渗流等技术参数进行分析计 算 实质上就是求解描述物理问题的偏微分方程式 由于实际问题的复杂性 如电气产 品的形状各异 结构复杂 材料非线性和电磁耦合等特点 要从理论上求解上述方程 式往往是不可能的 随着计算机和计算技术的飞速发展 数值分析法受到越来越普遍的 重视 特别是近年来 在计算机技术和数值分析方法支持下发展起来的有限元方法 f e m f i n i t ee l e m e n tm e t h o d 为解决这些复杂的工程分析计算问题提供了有效的途径 随着计算机硬件的发展 计算机软件和计算机语言也得到了很大的发展 尤其是面 向对象的可视化编程方法 o o p o b j e c to r i e n t e dp r o g r a r m m i n g 代表了软件研制与开 发的一个重要进展 它不仅仅是一种新的程序设计技术 而且是一种全新的设计和构造 软件的思维方法 利用面向对象的方法来研究有限元 是对有限元数值分析新方法的有 益尝试 传统的有限元分析程序大多采用面向过程的编程 p o p p r o c e d u r eo r i e n t e d p r o g r a m m i n g 方法来设计 编程语言也采用面向过程的计算机语言 例如f o r t r a n 和c 语言 这类编程语言在有限元应用中着重考虑的是对数学公式的翻译 在过去的几 十年里 面向过程的编程方法得到了充分的发展和应用 逐渐形成了一套结构化问题分 析 系统设计和程序编制等一系列的软件开发技术 然而 随着有限元分析软件规模的扩大 面向过程的编程语言由于不能提供数据抽 象 d a t aa b s t r a c t i o n 数据封装 d a t ae n c a p s u l a t i o n 等概念 开发和维护软件 中存在的潜在困难显得日益突出 另外 有限元方法及其应用仍在日新月异地发展 这 要求以它为核心开发的数值分析软件具有高度的可扩性 e x p a n d a b i l i t y 和可重用性 沈阳工业大学硕士学位论文 r e u s a b i l i t y 同时由于有限元数值分析软件越来越成为c a d c a m 软件不可分割的 一部分 这要求有限元分析软件具有更高的可嵌入其他系统的能力 e m b e d d i n g a b i l i t y 使用传统的方法开发有限元数值分析软件已经难以满足这种要求 而面向对 象的有限元方法 o o f e m o b j e c t o r i e n t e df i n i t ee l e m e n tm e t h o d 正好弥补上述不 足 另一方面 在电气产品的设计和优化中 其电磁场的有限元模拟一直是研究者关注 的问题 而作为面向对象有限元方法的应用 在电磁场数值分析方面具有广阔的应用前 景 2 沈阳工业大学硕士学位论文 1 绪论 1 1 电磁场数值分析的研究现状 实现电磁场数值分析的核心手段是有限元方法 面向对象有限元方法正逐渐取代传 统的有限元法 面向对象有限元方法的研究始于本世纪8 0 年代后期 它是 f 初露端 倪的科学 在国际上 d r r e h a k 和j w b a u g h 在1 9 8 9 年提出了有限元程序设计的新 技术 面向对象的方法 r e h a k 从知识工程的角度来研究了这种方法 圳m i l l e rg r b r u c ew r f o r d e r i c a e d o0 f o s c h i 和s i e g f r i e df s t i e m e r 研究了面向对 象有限元程序的原型 这个原型把对象分成自由度 节点 单元和材料等等 每一种对 象都有独立处理数据的能力 f o r d e 等还对面向对象的有限元方法和传统的有限元方法 作了比较 t 瑚f e n v e sg l 在面向对象有限元程序设计的复杂算法方面研究了用面向 对象的概念来对节点重新编号的方法 p e s k i nr l 提出了扩展的有限元对象 并指 出 面向对象的方法在有限元问题的应用中 可以提高有限元程序的模块化程度 减少 错误的产生 并使程序设计的思路更为清晰化 1 z i m m e r m a n n 和e y h e r a m e n d y 研究了符 号继承和自动编程的规则 并为初始边界值问题设计了一个新的有限元模型 在国内 有关面向对象有限元的专著和论文尚较为罕见 综观上述的研究发展现状 面向对象有限元方法在理论体系和程序设计开发方面仍 处于探索 发展阶段 基于此方法的电磁场数值分析软件也正处于研究阶段 1 2 论文的主要工作 1 2 1 课题的体系结构 3 一 沈阳工业大学硕士学位论文 1 2 2 主要工作及创新点 本课题主要任务以构成电磁场数值分析可视化软件系统为核心展开 并以前处理和 后处理部分软件设计内容为主 采用基于w i n d o w s 9 x w i n d o w s 2 0 0 0 n t 操作平台的可 视化编程语言v i s u a lf o r t r a n6 0 语言来完成该系统的程序设计 本课题采用面向对象有限元方法 通过采用一系列可视化技术 合理的有限元法数 据结构和面向对象的方法等 提高有限元程序的模块化程度 减少错误的产生 使程序 设计思路清晰 实现一个具有较高水平的电磁场计算可视化软件系统 前处理部分主要设计可视化的人机交互界面 此界面主要包括以下内容 1 节 点的输入 2 节点间关系确定 3 边弧关系的确定 4 给定边界条件 5 给出各单元材料 用户可以方便她按照屏幕内容和提示来输入进行电磁场有限元 分析所需参数的初始数据 形成数据文件 供有限元计算程序调用 后处理部分 根据有限元计算程序算出的结果 画出电磁场分布的模拟图 此模拟 图能反映出不同情况下的电场分布情况 同时给出一些必要的说明信息 4 沈阳工业大学硕士学位论文 2 有揪 2 1 有限元的基本概念 有限元是那些集合在一起能够表示实际连续域的离散单元 即将实体的对象分割成 不同大小 种类的小区域 根据不同领域的需求推导出每一个元素的作用力方程 组合 整个系统的元素并构成系统方程组 最后将整个系统方程组求解 有限元的概念早在几 个世纪前就已产生并得到了应用 例如用多边形 有限个直线单元 逼近圆来求得圆的周 长 但作为一种方法而被提出 首先是在二十世纪四十年代 五十年代开始用于飞机设 计 而后得到在电磁场求解方面的应用 有限元分析 f e a f i n i t ee l e m e n ta n a l y s i s 就是将求解域看成是由许多称为有限 元的小的互连子域组成 对每一单元假定一个合适的 较简单的 近似解 然后推导求解 这个域总的满足条件 如结构的平衡条件 从而得到问题的解 这个解不是准确解 而是近似解 因为实际问题被较简单的问题所代替 由于大多数实际问题难以得到准确 解 而有限元不仅计算精度高 而且能适应各种复杂形状 因而成为行之有效的工程分 析手段 有限元法最初被称为矩阵近似方法 应用于航空器的结构计算 并由于其方便性 实用性和有效性而引起从事力学研究的科学家的浓厚兴趣 经过短短数十年的努力 随 着计算机技术的快速发展和普及 有限元方法迅速从结构工程分析计算扩展到几乎所有 的科学技术领域 成为一种丰富多彩 应用广泛并且实用高效的数值分析方法 2 2 有限元法的基本原理 数值分析的任务 就是从无限维空间转化到有限维空间 把连续系统转变为离散型 的结构 有限元方法是利用场函数分片多项式逼近模式来实现离散化过程的 也就是 说 有限元方法依赖于这样的有限维子空间 它的基函数系是具有微小子集的函数系 这样的函数系与大范围分析相结合 反映了场内任何两个局部地点场变量的相互依赖关 系 任何一个局部地点 它的影响函数和影响区域 正是基函数本身和它的子集 在线 性力学范畴里 场内处于不同位置的力相互作用产生的能量 可用双线性泛函b m i m j 来表示 其中巾i 中j 正是相应地点的基函数 b 中i 中j 的大小与巾i 中j 子 5 沈阳工业大学硕士学位论文 集的交集大小有关 如果两个子集的测度为零 则b m i 巾j 0 因此 离散化所得 到的方程其系数矩阵是稀疏的 若区域分割细小化 则子集不相交的基函数对愈多 矩 阵也就愈稀疏 有限元法有以下特色 整个系统离散为有限个元素 利用能量最低原理与泛函数值定理转换成一组线性联立方程组 处理过程简明 整个区域做离散处理 需要庞大的资料输出空间与计算机内存 解题耗时 线性与非线性均适用 无限区域的问题较难仿真 有限元法是一种常用的数值解法 它在网格剖分上较为灵活 能较好的适应区域边 界线和内部媒质边界线形状不规则的情况 以及场的分布变化较大的情况 从而能在计 算工作量不大的情况下较好的保证解的精度 有限元法不能直接由场的方程离散为代数方程组 它首先将场的方程等价为一个条 件变分问题 然后由条件变分问题离散为代数方程组 网格剖分是任意的 有限元方法与其他求解边值问题近似方法的根本区别在于它的近似性仅限于相对小 的子域中 2 0 世纪6 0 年代初首次提出计算有限元概念的克拉夫 c l o u g h 教授形象地将 其描绘为 有限元法 r a y l e i g h r i t z 法 分片函数 即有限元法是r a y l e i g h r i t z 法的一种局部化情况 不同于求解 往往是困难的 满足整个定义域边界条件的允许函数 的r a y l e i g h r i t z 法 有限元法将函数定义在简单几何形状 如二维问题中的三角形或任 意四边形 的单元域上 分片函数 且不考虑整个定义域的复杂边界条件 这是有限元法 优于其他近似方法的原因之一 对于不同物理性质和数学模型的问题 有限元求解法的基本步骤是相同的 只是具体 公式推导和运算求解不同 有限元求解问题的基本步骤通常为 第一步 问题及求解域定义 根据实际问题近似确定求解域的物理性质和几何区域 第二步 求解域离教化 物体离散化 6 一 沈阳工业大学硕士学位论文 将求解域近似为具有不同有限大小和形状且彼此相连的有限个单元组成的离散域 v 即将某个工程结构离散为由各种单元组成的计算模型 习惯上称为有限元网络划 分 离散后单元与单元之间利用单元的节点相互连接起来 单元节点的设置 性质 数 目等应视问题的性质 描述变形形态的需要和计算进度而定 一般情况单元划分越细则 描述变形情况越精确 即越接近实际变形 但计算量将增大 所以有限元中分析的结 构已不是原有的物体或结构物 而是同新材料的由众多单元以一定方式连接成的离散物 体 这样 用有限元分析计算所获得的结果只是近似的 如果划分单元数目非常多而又 合理 则所获得的结果就与实际情况相符合 因此物体离散化是有限元法的核心技术之 一 第三步 确定状态变量及控制方法 一个具体的物理问题通常可以用一组包含问题状态变量边界条件的微分方程式表示 为适合有限元求解 通常将微分方程化为等价的泛函形式 第四步 单元推导 对单元构造一个适合的近似解 即推导有限单元的列式 其中包括选择合理的单元坐 标系 建立单元试函数 以某种方法给出单元各状态变量的离散关系 从而形成单元矩 阵 为保证问题求解的收敛性 单元推导有许多原则要遵循 对工程应用而言 重要的是 应注意每一种单元的解题性能与约束 例如 单元形状应以规则为好 畸形时不仅精度低 而且有缺秩的危险 将导致无法求解 第五步 总装求解 将单元总装形成离散域的总矩阵方程 联合方程组 反映对近似求解域的离散域的 要求 即单元函数的连续性要满足一定的连续条件 总装是在相邻单元结点进行 状态变 量及其导数 可能的话 连续性建立在结点处 第六步 联立方程组求解和结果解释 有限元法最终形成联立方程组 联立方程组的求解可用直接法 选代法和随伊雌 求解结果是单元结点处状态变量的近似值 对于计算结果的质量 将通过与设计准则提 供的允许值比较来评价并确定是否需要重复计算 7 沈阳工业大学硕士学位论文 通过上述分析 可以看出 有限元的核心思想是结构的离散化 就是将实际 结构假想地离散为有限数目的规则单元组合体 实际结构的物理性能可以通 过对离散体进行分析 得出满足工程精度的近似结果来替代对实际结构的分 析 这样可以解决很多实际工程需要解决而理论分析又无法解决的复杂问 题 简言之 有限元分析可分成三个阶段 前处理 有限元求解和后处理 前处理是建 立有限元模型 完成单元网格划分 后处理则是采集处理分析结果 使用户能简便提取 信息 了解计算结果 8 沈阳工业大学硕士学位论文 3 1 面向对象方法的由来与发展 3 1 1问题的产生 面向对象方法起源于面向对象的编程语言 随着计算机应用日益普及 编程人员致 力于研究和开发各种各样的高级语言 研究编程的构造 规范以及基本原理 以便更有 效地编写各种应用程序 同时 也力求使编写 调试好的程f 鞭于运行和维护 5 0 年 代后期 在编写f o r t r a n 的大型程序中出现了变量名在不同的程序部分发生冲突的问 题 因此 a l g o l 语言的设计者决定采用阻挡 b a r r i e r s 来个开程序段中的变量名 这是在编程语言中首次采用保护 p r o t e c t i o n 和封装 e n c a p s u l a t i o n 的尝试 6 0 年代中后期 s i n m l a 语言的设计者采用了a l g o l 的程序块概念 并加以推进 提出了 对象 o b j e c t 的概念 虽然s i m u l a 源出于a l g o l 但它主要用于仿真 它的对象具 有 自身独立存在 并能在仿真过程中以一定的含义彼此通信的特点 数据封装 d a t a e n c a p s u l a t i o n 这就是在这时开始使用的 3 1 2 编程语言的发展 7 0 年代 随着对管理大型程序的迫切需要的成长 许多计算机语言设计者追求实 现数据抽象的概念 x e r o xp a l o a l t 公司开发的s m a l t a l k 语言在系统设计中强调对象 概念的统一 引入对象 对象类 方法 实例等概念和术语 采用动态联编和单继承性 机制 正是通过对它的研制与推广应用 使人们注意到面向对象方法所具有的模块化 信息封装与隐藏 抽象性 继承性等独到之处 这些优异特性为解决大型软件的管理问 题 提高软件的可靠性 可重用性 可扩充性和易维护性提供了有效的手段与途径 近 十年来 由于一系列高技术项目的研究 如智能计算机 计算机集成制造系统 计算机 辅助系统工程 办公信息系统等项目的研究 迫切要求进一步改进系统研究的方法 提 高软件研究的质量 应用的需求促使这种方法的迅猛向前发展 从面向对象的编程语言 进一步迈向面向对象认知方法学 面向对象系统分析方法学和面向对象系统设计方法 学 9 沈阳工业大学硕士学位论文 3 1 3新近发展 1 统一化 标准化 软件在工业中的战略地位 要求软件生产尽快实现自动化 实现开发方法的统一 化 标准化是基本的一条 实现面向对象开发方法的标准化以后 就可以避免不同方法 的差异 提高软件重用效率 此外 统一面向对象开发方法 也就是综合各方面方法的 优点 最大限度的发挥各种方法的长处 2 软件开发方法中的表示手段 代表语义和开发过程的分离 随着面向对象方法研究的逐渐深入 人们注意到开发过程受到开发人员 文化 背景和问题领域的制约 适合于这个环境的开发过程可能就不适合于那个环境 所以开 发过程的选择在很大程度上依赖于诸如问题领域 实现技术和开发小组等方面 由于开 发过程的这种差异 使得面向对象开发方法的标准化工作很难进行 因此 有必要把开 发过程从开发方法中抽取出来 这样 剩下的表示手段和代表语义就可以完全实现标准 化了 表示手段和代表语义组合在一起就是建模语言 它包括三种成分 模型元素 用 于建模的基本概念和语义 表示手段 模型元素的直观表示 指南 建模语言的使用指 导 3 建模语言u m l 上述的两种发展趋势的代表就是建模语言u m l u n i f i e dm o d e li n gl a n g u a g e 它 主要包括两部分内容 表示和语义 虽然u 札刚刚诞生 但是它具有强大的生命力 围 绕着u 肌的工作将会陆续展开 这其中包括u m l 本身的完善 支持u m l 的开发过程的研 究以及支持u 札的c a s e 工具的开发 这些工作的展开必将有助于实现软件自动化 3 2 面向对象方法的基本概念 3 2 1 对象 o b j e c t 对象把客观世界的实体和计算机系统运行实体有机地结合在一起 从存储的角度来 看 对象拥有一块存储区 其中既有数据 又有方法 对象能够执行预先定义的功能 比如存储信息 执行某个动作 对其它对象进行操作等等 对象也可以看成是一种新的 变量 但是这种变量是任意型的 而不象传统的数据类型 如整型 i n t 实型 r e a lo rf l o a t 等等 对象包括属性 a t t r i b u t e s 和方法 m e t h o d s 如图3 1 1 0 沈阳工业大学硕士学位论文 的集中力对象 它的属性可阻是力的大小 方向 加力点 方法可以是获得属性 存储 属性等等 在面向对象的有限元中 对象的范围相当广 可以包括节点对象 单元对 象 网格对象等等 图3 1 集中力对象 3 2 2类和消息 c l a s sa n dm e s s a g e 相似的对象归并到一个类中 它将这些对象的共同特征集中起来 从而使系统在结 构上形成了一个具有特定功能的模块和一种代码共享的手段 类是一种定义 而对象是 类的实例 比如定义了一个单元类 对象就把这个类实例化 如8 节点单元 4 节点单 元 3 节点单元等等 消息也是面向对象的一个基本机制 在面向对象的程序设计系统 中 通过消息来请求对象的动作 对象间的相互联系也通过消息来完成 3 2 3 数据抽象 d a t aa b s t r a c t i o n 数据抽象是指从较特殊的类或对象中抽出一般属 眭以建立一个超类 s u p e r c l a s s 的过程 在这个过程中 我们研究目标程序要解决的问题和组成该问题的概念 性的实体 并在不同的层次上进行抽象 数据抽象是面向对象程序设计的一个基本特 征 类是对一些概念和问题迸行抽象的结果 对象是这些类的实例 3 2 4封装 e n c a p s u l a t i o n 封装又称数据隐藏 就是将方法和数据放在同一对象中 使得对数据的存取只能通 过该对象本身的方法来实现 程序的其它部分不能直接作用于此数据 这一特性大大地 降低了模块间的耦合性 从而提高了程序的可靠性 尽可能地排除了对数据进行任意访 问造成的隐患 沈阳工业大学硕士学位论文 3 2 5继承性 i n h e r it a n c e 继承性就是指一个类可以继承其父类的所有数据和成员函数 同时又可以定义自己 的数据和成员函数 也就是说 子类可以完成父类的所有功能 这使得编程工作大为减轻 因为我们可以使用某类来完成一些普通的工作 而用特 定的类来完成特定的工作 3 2 6 多态性 p o l y m o r p h i s m 多态性是指同一消息被不同的对象接收后解释为不同含义的能力 由于这种特性 不同的对象接收到用户统一发送的消息就可完成不同的工作 具体的例子就是可以设计某个函数a d d a b 当a b 的值为整数时 函数返回一 个整型的结果 当a b 的值为实数时 函数返回一个实型的结果 3 3面向对象程序设计 3 3 1建立类 1 在软件的设计阶段 建立一个简单 清晰的程序构架是非常重要的 在系统分析阶 段 已经提供了对问题的陈述以及解决方案的限制条件 而且将这个问题化解为它们各 自的组成类 对于这些类的属性和实现方法也进行了选择 在系统设计阶段 要依靠分析阶段形成的概念 建立起一个解决问题的程序构架 首先生成一个基类 然后由该基类派生出其它的相关类 这些相关类除了有基类的属性 和方法外 各自也可以拥有自己的属性和方法 除了从目标问题的陈述中建立起来的类以外 对于特定的软件系统可能需要一些内 容的类 比如可能需要一些用于系统资源接口的类 3 3 2 接口 类的一部分作用是在各个类之间交流数据信息 然而 为了数据安全性 各个类又 必须保护自己的数据不被其它类随意存取 如何协调两方面的关系是程序设计的一个重 要环节 两个类的相互协调需要一个良好的接i 1 类接口对类的成员的访问能力应该加 以严格的限制 如果这不能满足对类的数据存取的要求的时候 可以借助友员函数 f r i e n df u n c t i o n 来补充 一1 2 沈阳工业大学硕士学位论文 在设计一级外部的 黑盒子 与实现一级内部的具体细节之间 需要将类划分成不 同的组而形成软件的各个组件 c o m p o n e n t 这些组件也同样有其内部的实现以及外 部的接口 3 3 3 实现 对于每一个类 要确保得到所有需要的成员函数 当需要考虑是否有其他更好的方 法的时候 可以试验一些快速的原型 p r o t o t y p e 原型的特点是容易实现 便于测 试 它有可能成为软件的最终部分 也有可能在完成任务之后被丢掉 编写代码 程序检查 功能测试以及代码调试是实现阶段的四个重要步骤 之后 就可以初步提交软件 然而 提交软件产品并不是实现阶段的终结 通常软件需要增加 新的功能或者填补新发现的缺陷 这个阶段是软件的维护阶段 维护也是软件开发过程 中实现阶段的一个重要的 而且是不可避免的工作 3 4 软件开发模式 3 4 i 瀑布式开发模式 分析 设计和实现是软件开发过程的三个重要的组成部分 分析 a n a l y s i s 是定 义问题所在以及确定对解决方案的限制条件的过程 设计 d e s i g n 是根据分析中得到 的问题 建立处理该问题的各部分程序构架的过程 实现 i m p l e m e n t a t i o n 是根据设 计的方案 生产软件产品的过程 实现包括编码 修改调试 测试 发行产品以及对产 品支持等过程 图3 2 显示的是包含着三个部分的瀑布式软件开发过程 这种方法的优点是阶段性 很好 缺点是对于开发的每一个阶段都没有对上一级阶段的反馈信息 一旦进入到下一 阶段 以前各阶段完成的工作就无法修改 1 3 沈阳工业大学硕士学位论文 i 需求分析ii 代码编写i 1 li维护l i 概要设计ll 修改嚣试i 南 i 隐晶凳菇i i f 一 图3 2 瀑布式软件开发模式 3 4 2递增式开发模式 这种模式将软件的开发看成是一个逐步递增的过程 首先从分析开始 然后在分析 的基础上进行设计 最后在设计的基础上进行实现 在分析完成后的设计阶段 如果发 现了无法解决的问题 总是可以回到分析阶段进行深入的分析 寻求解决方案 同样 如果在实现阶段发现已有的设计和分析无法满足现在的要求 可阻回到前两个阶段进行 必要的修订 图3 3 表明了这种模式 图3 3 递增式软件开发模式 3 5 面向对象的重要性 我们知道 如果将一个大的计算机源程序作为整体来编写 工作会十分复杂和繁 重 因此 往往将一个程序划分成若干小的模块 各个模块采用不同的方案 这样 就 可以使各个模块之问保持相对的独立性 咀便不同的人可以同时各自编写一个模块 1 4 沈阳工业大学硕士学位论文 程序员在维护程序时 需要对其作适当的修改 使得这些模块的组成结构显得极为 重要 在运行维护过程中 往往希望程序可以实现更为理想的功能 或者希望利用一下 操作系统的新特性 或者希望检验程序的某项功能 如果组成应用程序的各个模块之间 不能保证相对独立的话 程序员在维护时可能要改动几个模块 而这些改动就很可能引 起其他更多的模块要作出相应的改动 新的改动又会引起必要的相应改动 依此类推 如果这样的话 软件的维护工作简直无法进行 面向对象编程语言是解决应用程序的模块化及维护问题的有效技术 在面向对象语 言编程中 各个模块以应用程序处理的对象 o b j e c t s 为基础 就像应用功能分解技 术创建子模块一样 在功能分解中 各个子模块又以应用程序本身提供的函数为基础 1 5 沈阳工业大学硕士学位论文 4 软件体系结构 4 1 引言 软件设计一般至少有三个层次的设计 1 体系结构 a r c h i t e c t u r e 这是最基础的层次 它设计了软件各个模块以及 软件的子系统结构 2 代码层设计 c o d e 这个层次设计到算法和数据结构 并且和编程语言紧密 结合 如定义变量 设计子程序 控制线程和进程等等 3 执行层设计 e x e c u t a b l e 这个层次需要考虑到计算机的硬件 如内存分 配 堆栈的调用 数据的存取等等 随着软件的大型化和复杂化 软件整体系统的设计和分类越来越引起软件设计者的 关注 算法 数据结构 实际上已经不能代表软件的全部 软件体系结构是由e d s g e rd i j k s t o n 于1 9 6 8 年首次提出的 当时他正在描述一个 操作系统 并第一次提出层次结构 他指出 人们更应该关注软件系统是如何划分与组 合的 而不是仅仅限制在编程上 这样会使软件开发和维护更加容易 近年来 随着人 们逐渐认识到软件体系结构在软件开发中的重要地位 人们把热点集中到高层软件设计 上 对软件体系结构的研究已从p e r r y 和w o l f g a r l a n 和s h a w 等萌芽工作发展到对软 件体系结构风格的分类 评估 形式化表示及特定领域体系结构的应用 d s s a 基于 部件的软件开发 c b s e 而且软件体系结构描述语言相继出现使软件体系结构的表示 更加严谨 并支持基于体系结构的软件工程 软件体系结构领域的所有工作都是为了建 立一个基于体系结构的软件开发原型 其动机是 结构最重要 结构正确会带来好处 本文开发的软件原型虽然规模不大 近3 0 0 0 行 但是在软件体系结构上作了细致 的设计 为将来软件的重用 扩充奠定了基础 1 6 沈阳工业大学硕士学位论文 4 2 软件体系结构的概念和作用 4 2 1 软件体系结构的概念 许多计算机软件的专家从不同角度 不同侧面对软件体系结构进行了刻画 下面是 些有影响的定义 p e r r y 和w o l f 一些部件的集合 有各自的表示形式 部件分为加工部件 数据部 件和连接部件 加工部件对数据部件进行加工 数据部件是被加工的信息 连接部件把 体系结构的不同部分 粘 起来 如过程调用 数据共享和消息发送等 g a r l a n 和s h a w 由部件和连接以及对它们的约束组成 软件体系结构属于软件设 计级别 具体包括全局组织和全局控制结构 通讯协议 同步和数据存取 为设计部件 分配功能 物理分布 设计部件的组合 粒度和性能等 h a y e s r o t h 软件体系结构是系统的抽象定义 它由功能部件组成 并对部件的行 为 接口和部件间的连接进行描述 s o n i n o r d 和h o f m e i s t e r 软件体系结构至少有四个角度 概念上的体系结构 描述系统的主要部件以及它们之间的关系 模块体系结构 包括两个结构 即功能分解 和层次结构 运行体系结构 描述系统的动态结构 代码体系结构 描述源码 二进制 码和各种库如何在开发环境的组织 4 2 2 软件体系结构的作用 随着软件体系结构的逐步完善 它在软件生命周期中的各个阶段起到了越来越显著 的作用 1 软件体系结构是系统开发中不同参与者进行交流和信息传播的媒介 不同的参与 者通过各自所关心的角度来获取相应的信息 据此进行软件开发 2 体系结构体现了系统的最早期的设计 首先 它提供给系统 工匠 们实现的接 口与约束 其次 体系结构的好处很大程度上决定了体系的质量 并且还可以通过分析 它来预测系统的质量 最后 体系结构可以方便系统的维护 据统计 大约8 0 的软件 开发费用是用在维护阶段的 因为需求分析的变动 软件升级 应用环境的改变以及加 入新技术 软件系统经常需要修改 但是每每都很困难 通常 对系统可能的修改分为 1 7 沈阳工业大学硕士学位论文 三类 即局部级 非局部级 体系结构级 显然局部级的改变是最希望的 通过体系结 构 可以指导如何的改变是最接近局部级的 3 体系结构可以作为系统过渡的模型 随着软件规模和复杂性的增加 基于体系结 构和部件的软件开发逐渐得到了重视并很有可能成为将来软件开发的基础 基于体系结 构的软件开发侧重于 拆卸 与 安装 各种可独立开发的部件 其中一个主要特点是 可互换性 即把外部独立开发的部件嵌入本系统的能力 同时 可基于软件体系结构进 行软件重用 r e u s e 软件重用是指在软件开发过程中 能充分利用已有的软件开发 技术和软件开发周期中各阶段的产品 如人们早已熟知的代码重用 但是代码重用有其 局限性 在对系统部件约束最小的地方重用性最大 而作为系统的早期设计的体系结构 对于部件的约束最小 基于设计模式 d e s i g np a t t e r n 的重用和基于框架 f r a m e w o r k 的重用都是设计级别的重用 4 3面向对象有限元软件体系结构的风格 人们谈到建筑时 会有罗马式建筑 歌德式建筑 维多利亚式建筑等等 对于软件 系统也同样有风格的概念 人们在开发不同的系统时 意识到它们在结构上有许多共 性 于是把这些共性部分抽取出来 并进行命名 g a r l a n 和s h a w 指出 体系结构风格 指导如何把各个模块和子系统组织成一完整的系统 他们根据现行的系统 对体系结构 风格进行了分类 主要有以下的分类 1 面向对象风格 2 数据流风格 批处理序列 管道 过滤器 4 调用 返回风格 主程序 子程序 层次结构 客户i n 务器风格 独立部件风 格 进程通讯 事件系统 4 虚拟机 v i r t u a lm a c h i n e s 风格 解释器 基于规则的系统 5 数据中心风格 数据库系统 黑板系统 一个系统不一定只具有一种风格 在系统的不同层次不同抽象级别上 可具有多种 风格 面向对象有限元软件的体系结构遵循了一般面向对象软件体系结构设计的原则 它 的体系结构风格基于抽象数据类型的封装 对象是管理者 m a n a g e r 它们负责资源 1 8 沈阳工业大学硕士学位论文 的完整性 通过函数和过程的调用来协同工作 一个对象的操作对其他对象而言是隐藏 的 由于这种特性 使得改动某个操作不会对其它客户对象产生影响 图4 1 表述了这 种风格 图4 1 面向对象有限元软件体系结构的风格 一个对象能够对其它客户隐藏它的表现形式 这使得对这个对象的改动不会影响到 其它客户 另外 由于对某一数据操作的程序的 绑定 b u n d l i n g 可以使设计者 把复杂的问题分解 4 4 面向对象有限元软件体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年家风家训知识竞赛备赛试题库150题(含答案)
- 2025年质量员(设备安装质量基础知识)题库带答案(模拟题)
- 2025年青海省玉树藏族自治州事业单位工勤技能考试题库(含答案)
- 临沂生产安全培训中心课件
- 城市地下管网监测预警系统2025年技术创新与智能监测设备研发报告
- 施工增加合同(标准版)
- 特保证在合同(标准版)
- 基础填空试题及答案
- 测量基础面试题库及答案
- 乡镇生物安全培训卷子课件
- 场景速写课件
- GPS的课件教学课件
- 2026年高考作文备考之抗日战争胜利80周年(九三阅兵)主题素材积累与运用
- 肺栓塞考试题及答案
- 2025年运动员:体育与健康知识试题及答案
- 2024法考主观题真题及答案
- 综合实践 探索年月日的秘密(教案)北师大版数学三年级上册
- 2025年医师三基考试试题及答案(上半年)
- 2025年调酒师职业资格考试模拟试题集锦及答案
- 基孔肯雅热主题班会课件
- 2025年北京市公务员考试行测真题及答案详解(全优)
评论
0/150
提交评论