(农业水土工程专业论文)水闸cad系统初步开发.pdf_第1页
(农业水土工程专业论文)水闸cad系统初步开发.pdf_第2页
(农业水土工程专业论文)水闸cad系统初步开发.pdf_第3页
(农业水土工程专业论文)水闸cad系统初步开发.pdf_第4页
(农业水土工程专业论文)水闸cad系统初步开发.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(农业水土工程专业论文)水闸cad系统初步开发.pdf.pdf 免费下载

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

文档简介

摘要 水闸是一种低水头过水建筑物,具有挡水和过水的双重作用,在农田水利 工程中运用很广泛。计算机辅助设计( c o m p u t e r a i d e dd e s i g n ,c a d ) 技术的 不断发展和提高,为利用计算机对水闸进行辅助设计提供了有力的工具。以 v i s u a l b a s i c6 0 语言为开发语言,采用面向对象的编程技术,进行了水闸设计 软件的开发。软件主要包括水力设计、防渗排水设计、结构设计、地基计算、 c a d 图形绘制、程序使用说明等模块。采用a u t o c a d 二次开发比较流行的 a c t i v e xa u t o m a t i o n 技术实现了水闸部分部件图形的自动绘制,为水闸系统智 能成图打下了基础。 系统的特点是严格执行水闸设计规范( s l 2 6 5 - - 2 0 0 1 ) ,软件具有良好 的通用性和实用性,人机界面友好,交互性好,操作方便,主要适合中、小型 水闸设计。通过使用该软件,在一定程度上可以提高水闸的设计效率,使设计 过程简便化、快速化,设计结果科学化、精确化。 关键词:水闸设计;c a d ;a u t o c a d 二次开发 p r e l i m i n a r yd e v e l o p m e n t o fs l u i c ec a d s y s t e m a b s t r a c t t h es l u i c ei sak i n do fl o w - h e a dw a t e ro f fb u i l d i n gw h i c hc a nn o to n l yb a r r a g i n g w a t e rb u ta l s od r e d g i n gw a t e ri t i s w i d e l yu s e di nf a r m l a n di r r i g a t i o na n dw a t e r c o n s e r v a n c ye n g i n e e r i n g t h ed e v e l o p m e n ta n de n h a n c e m e n to fc a d ( c o m p u t e ra i d e d d e s i g n ) t e c h n o l o g ym a k ei tb a c o m em o r ea n dm o r ea v a i l a b l et od e s i g nt h es l u i c eb y c a dt e c h n o l o g y t h er e s e a r c hb a s e so nv i s u a lb a s i c6 0l a n g u a g ea n du s e st h eo o p t e c h n o l o g y ,d e v e l o p e dak i n do fs l u i c ed e s i g ns o f t w a r et h es o f t w a r em a i n l yi n c l u d e s s o m em o d u l e ss u c ha st h ew a t e rc o n s e r v a t i o nd e s i g nm o d u l e ,l e a k a g ec o n t r o la n d d r a i n a g ed e s i g nm o d u l e , s t r u c t u r ed e s i g nm o d u l e , f o u n d a t i o nc o m p u t a t i o nm o d u l e , c a dg r a p h i c sd r a wm o d u l e ,t h ep r o g r a mo p e r a t i n gi n s t r u c t i o n sm o d u l ea n ds oo n t h r o u g hu s e dm o r ep o p u l a ra c t i v e xa u t o m a t i o nt e c h n o l o g yo na u t o c a ds e c o n d a r y d e v e l o p m e n tf i e l d ,m a k ea u t o m a t i cd r a w i n go fs l u i c ep a r t i a lp a r t si n t or e a l i t ya n d m a k et h ef o u n d a t i o nf o rs l u i c ei n t e l l i g e n td r a w i n gs y s t e m , t h ec h a r a c t e r i s t i co f t h es y s t e mi ss t r i c t l ya c c o r d i n gt o t h es l u i c ed e s i g nn o r m ) ) ( s l 2 6 5 - 2 0 0 1 ) a n do t h e rc o m p u l s o r yc l a u s ea n dn o r m s ,t h es o r w a r ew h i c hh a saf r i e n d m a n - m a c h i n ei n t e r f a c ei su n i v e r s a la n dp r a c t i c a la n dm a k ei tc o n v e n i e n tt oo p e r a t e i ti s s u i t a b l ef o rm i d d l eo rs m a l lw a t e r c o n s e r v a n c yd e s i g nc o m p a n i e st od e s i g n s l u i c et h r o u g ht h eu s eo ft h es o f t - w a r em a yi m p r o v ee f f i c i e n c yo fs l u i c ed e s i g ni na c e r t a i ne x t e n ta n dm a k et h ed e s i g np r o c e s se a s i l ya n df a s t ,t h e d e s i g nr e s u l ts c i e n t i f i c a n dp r e c i s e k e yw o r d :s l u i c ed e s i g n ;c a d ;a u t o c a ds e c o n d a r y - d e v e l o p m e n t d ir e c t e db y :p r o f w e nh e n g a p p iic a n t f o rm a s t e rd e g r e e :k o us h e n gy u e ( a g n c i l l t m zw 栅ds o d a 培m m g ) ( c o h e g e 0 fw a t e r c o m s e a v a n c y a n dc t v d a r c i n t e c t u r ee n g m e e n n g i n n e rm o n g o h aa g n 硼t t t r e u m v e r s l t y t h u h h o t0 1 0 0 1 8 , c h i n a ) 内蒙古农业大学 研究生学位论文独创声明 本人申明所呈交的学位论文是我本人在导师指导下进行的研究 工作及取得的研究成果据我所知,除了文中特别加以标注和致谢蚵 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得我校或其他教育机构的学位或证书而使用过的材料,与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说 明并表示谢意 申请学位论文与资料若有不实之处,本人承担一切相关责任 论文作者签名:履垒垄 日期:磁霉笸:翌 内蒙古农业大学研究生学位论文版权使用授权书 本人完全了解内蒙古农业大学有关保护知识产权的规定,即:研 究生在攻读学位期间论文工作的知识产权单位属内蒙古农业大学本 人保证毕业离校后,发表论文或使用论文工作成果时署名单位为内蒙 古农业大学,且导师为通讯作者,通讯作者单位亦署名为内蒙古农业 大学学校有权保留并向国家有关部门或机构送交论文的复印件和电 子文档,允许论文被查阅和借阅学校可以公布学位论文的金部或部 分内容( 保密内容除外) ,采用影印、缩印或其他手段保存论文 论文作者签名:盈竺丝 指导教师签名:盍生垒 日期: 内蒙古农业大学硕士学位论文 1 1 绪论 1 1 选题背景 1 1 1c a d 技术及其特点 计算机辅助设计( c o m p u t e ra i d e dd e s i g n ,c a d ) 是指使用计算机系统来辅 助一项设计的建立、修改、分析和优化等。c a d 作为电子信息技术的一个重要组 成部分,是促进科研成果的开发和转化,实现设计自动化、增强企业创新能力和 竞争能力,加速国民经济发展和国防现代化的一项关键性高技术。它的应用使工 程设计的内容和方式发生了根本性的变革,成为促进科技成果开发和转化、提高 工程设计水平、缩短工程建设周期,保持竞争优势,开拓市场的重要手段,它是 计算机科学与工程科学相结合的产物n 1 。 在c a d 技术出现以前,工程设计的全过程都是由人工计算和靠手绘来完成。 在工程设计中,固然包含着需要由人来完成的创造性的工作,但是也确实包含了 很多重复性的工作,如繁琐的计算、单调的绘图。而计算机具有运算速度快、存 储数据多、精确度高、有记忆和逻辑判断的能力、可处理图形等特点。 c a d 技术源于6 0 年代,在8 0 年代中后期,c a d 技术的标准已逐步的形成和 完善。9 0 年代以后,人工智能( a r t i f i c i ai n t e l l i s e n ,a i ) 技术的出现给c a d 赋予了更强劲的性能,a i 与c a d 结合,出现了a i c a d ,将工程数据库及其管理系 统、知识库及专家系统和用户接口管理系统融为一体。 计算机科学的研究成果和大规模集成电路的迅猛发展,有力地推动了c a d 技 术。在工业发达国家,c a d 技术己形成了很大的产业规模,导致了一场工业生产 和工程设计领域的技术大变革,从根本上改革了传统的生产模式。该项技术的应 用领域正在不断扩大,在工程设计中占有越来越大的比重。 c a d 技术具有以下特点“1 : i ) 提高效率,利用c a d 技术的结构设计和工程制图的速度大大提高,对于 复杂零件和工程结构细部的设计实现无级缩放,分级设计; 2 ) 设计与分析统一,利用系统的一个描述产品模型的数据库,通过分析, 设计者可以预知产品的性能: 3 ) 有利于成组设计,可以广泛应用标准图和标准模型设计; 4 ) 修改设计方便,只需对己存储的图纸做局部修改就成为新图; 5 ) 方便产品数据的存储、传递、转换和理解,降低设计成本,优化设计质 量。 利用c a d 技术可以收到以下效果: 1 ) 缩短设计工期 由于计算机处理数据的速度很快,能不间断地工作,因此可以提高设计效 2 水闸c a d 系统初步开发 率,缩短设计工期。 2 ) 可以提高设计质量 利用自动化程度较高的c a d 系统进行设计时,设计者只需要输入一些有关 设计初始条件的数据,由计算机调用机构分析程序进行分析计算,就可以得到设 计的结果,并且可以减轻劳动强度,提高设计精度。此外,利用计算机可以得到 清晰、整洁、美观的设计图纸和文档,便于校核和修改,可以有效地防止手工绘 图过程中标错尺寸等错误,提高了设计质量。 3 ) 可以降低设计成本 应用c a d 技术可以帮助设计者提高设计效率,当设计劳务费较高而c a d 系统 的费用较低时,就会使设计成本降低。在工程设计中应用了c a d 技术后,将会得 到明显的经济效益。 1 1 2c a d 发展的现状及趋势 随着计算机硬件的快速发展,以及功能更强、使用更加智能化的开发工具的 出现,国内外c a d 软件也在不断的完善提高,形成了成熟规范的行业标准。 当今c a d 的主流技术主要包括:参数化设计技术、变量化设计技术、特征造 型技术和数据格式标准化技术。其中,参数化设计一般是指设计对象的结构形状 比较定型,可以用一组参数来约定尺寸关系,参数的求解较简单,参数与设计对 象的控制尺寸有明显的对应关系,设计结果的修改由尺寸约定;变量化设计技术 是指设计对象的修改需要更大的自由度,通过求解一组约束条件方程来确定产品 特征,约束条件可以是工程条件,也可以是几何关系,设计的结果由约束条件方 程驱动,变量化设计技术可用于公差分析、运行机构协调、设计优化、初步方案 设计选型等;特征造型技术是指在c a d 发展和应用到了一定的水平,要求进一步 提高生产的集成化和自动化程度的历史进程中发展起来的,特征造型技术着眼于 更好地表达产品完整的功能和生产管理信息,为建立产品的集成模型服务,使产 品的设计工作在更高的层次上进行。设计人员接触的不再是原始的线条和数据, 而是产品的功能要素,其特殊引用直接体现了设计意图,使得建立的产品工程模 型更容易被人理解和组织进行,为下一个模型创造前提。 随着计算技术、人工智能技术、网络技术、软件技术的发展,目前c a d 正向 集成化、智能化、网络化、标准化的方向发展,具有以下一些特征及发展趋势“1 : 1 ) 以数据库为核心,实现工程c a d 软件的集成化 所谓集成化,就是将各种有关的分析计算、模拟、绘图软件集成于一个环境 下,建立统一的数据库,各个软件之间通过统一的数据库传输数据,从而达到交 换数据的目的。集成是向企业提供一体化的解决方案,集成的出发点是企业的各 个环节,必须统一考虑,不可分割,一个生产过程实质就是信息的采集、传递、 内蒙古农业大学硕士学位论文3 加工处理过程。 2 ) 面向对象的编程技术( o b j e c to r i e n t e dp r o g r a m m i n g ,o o p ) 所谓面向对象的编程技术,是相对于面向过程的结构化编程技术而言的,它 将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义,类的实体 称作对象,用户通过向对象发送消息( 即消息映射机制) 来处理对象,每个对象根 据所接收到的消息的性质来决定需要采取的行动,以响应这个消息。这样的编程 思想更接近于人的思维,大大地提高了编程速度以及程序的可移植性和可维护 性。 3 ) 智能化c a d ( i n t e l l i g e n tc a d ) 技术 智能化c a d 是以知识为主要处理对象,软件的开发以知识和经验为基础,向 计算机给出的是已知事实和推理规则,计算机不是按给定的过程运行,面是根据 指定的问题,自行寻找和搜索各种可能解决问题的途径和结果。近年来,人工智 能技术的一个重要分支一专家系统的发展,必然将对传统的c a d 技术产生深远的 影响。智能化发展主要在以下几个方面开展工作,总结长期以来工作人员的智慧 和经验,建立知识库和智能库,使用现有知识和仪器对产品实现智能控制,智能 化产品的设计和加工过程,逐步实现加工单元的智能控制、智能设计、智能制造 系统甚至工程智能化研究。 4 ) 系统的开放性 为方便用户,许多c a d 系统都提供了高层次的用户友好界面,人机交互技术 和可开发性能成为衡量一个软件好坏的重要标志之一。c a d 技术的开放性是决定 其能否真正达到实用化、能真正转为推动生产力的发展的基础,c a d 系统的开放 性主要体现在系统的工作平台、用户接口、应用开发环境和其它方面的信息交换 等。 5 ) c a d 网络化发展,使跨地区协调设计成为可能。 在原有的c a d 软件的基础上进行二次开发,以适应各个专业的具体设计需 要,提高工作效率,实现设计智能化,把工程师们从繁琐的手工绘图中解放出来, 是各个专业的工程师们所莽望的,也是科学技术发展所需要的。最近儿年c a d 二次开发软件有了长足的发展,在机械、工民建、模具等领域己经有了广泛的应 用和较为成熟的发展体系,并且随着计算机普及程度的提高,参与开发的群体也 在不断壮大。但是在水利水电工程领域,c a d 二次开发还没有比较大的成果。 1 2 国内水工c a d 软件发展6 】川 1 2 i 发展现状 我国的水工c a d 研究始于2 0 世纪8 0 年代初。长期以来,国家对水利水电工 程设计计算机应用一直都非常重视。从。七五”计划开始,几乎每一个五年计划 4 水闸0 a d 系统初步开发 中都有这一领域的国家重点科技攻关项目。在“八五”期间,几个大型设计院曾 自主开发了一批c a d 软件,其中,中南水利水电勘测设计研究院开发的拱坝c a d ( a p o l l o 机) ,实现了我国水工c a d 软件零的突破( 1 9 8 9 年) ;天津水利水电勘测 设计研究院开发的微机重力坝c a d 系统( 1 9 9 4 年) 和厂房c a d 系统( 1 9 9 3 年) 开创 了我国微机水工c a d 系统的先河;还有其它设计院开发的各种水工建筑物c a d 系统。 上世纪八十年代以后,许多设计院、高校等单位相继开发了一些水闸计算机 辅助设计软件。例如,江苏省水利科学研究所在上世纪九十年代中期编写的“水 闸c a d 软件”运用f o r t r a n 编写;山东省水利勘测设计院在9 2 年编写的“小型 水闸c a d ”软件;湖北省水利勘测设计院的“面板计算、结构计算”软件;上海 市水利勘测设计院的“结构计算”软件和“弧门c a d 集成系统”;华东水利勘测 设计院的“结构布置、内力分析计算”软件;吉林水利水电勘测设计院的“平面 闸门c a d 集成系统”;武汉大学的“水工金属结构绘图系统”等。 9 0 年代中后期,水工c a d 研究的规模普遍较小,主要集中在解决一些局部 问题上,基本没有涉及现代c a d 技术的研究内容。水工c a d 软件的商品化问题和 可持续发展问题依然没有取得突破,同时还可以看出,即使一个很小规模的水工 c a d 开发项目,也往往要花费研发者几年的精力,这和当今计算机软、硬件越来 越快的更新周期之间存在着尖锐的矛盾。 二十一世纪是信息化的年代。随着计算机在各个设计单位、科研院所和高校 的普及和计算机知识的普及,开发大量专用应用程序已经不再是特别专业的事 情。同时,计算机高级语言越来越趋向人类语言,只要掌握一种高级语言,基本 就可以进行计算机应用软件的开发了。一些新的水利类规范的修订和出台,更是 带来了一场高校和设计单位开发水工c a d 的热潮。以水闸设计为例,水闸设计 规范( s l 2 6 5 - 2 0 0 1 ) 修订完成之后,在短短的6 、7 年时间里,涌现出了大量水 闸自动设计类的软件。 这些软件在水闸的设计过程中取得了一定的经济效益,但在实际运用中仍然 存在不少问题,因此这些成果依然没有得到推广,这些软件也基本没有实现商品 化。因此,剖析制约水工c a d 发展的根本原因并寻求新的突破口,成为水工c a d 研究的当务之急。 迄今为止,国内还没有一个得到公认的水工c a d 的设计软件。制约水工c a d 发展的因素可归为技术因素和非技术因素两大类。前者主要是程序开发人员不能 充分利用现有的计算机技术开发功能较强大的专业软件,后者主要由其行业特点 决定,非技术因素的客观存在决定了水工c a d 研究的进一步发展必须首先从技术上 取得突破以适应水利水电勘测设计的行业特点,主要原因如下。1 : 1 ) 和其它行业不同,水利水电行业没有一个生生不息的市场需求环境。 内蒙古农业大学硕士学位论文 5 个国家大规模的水利水电工程建设完成之后,对水工c a d 软件的需求就会趋于疲 软。因此,在我国正值水利水电大发展而急需进行水工c a d 研究之际,发达国家 却没有同步的需求。而发达国家的研究导向也在很大程度上决定了我国的学术界 和产业界难以向这一领域倾斜。 2 ) 和机械、建筑等领域的c a d 软件相比,水工c a d 软件的应用面相对较窄。 而和水利水电工程勘测设计的投资、规模和复杂性相对应的水工c a d 软件又必将 庞大而复杂,从而使水工c a d 软件的市场运作比较困难。 3 ) 在工民建行业,a u t o c a d 的二次开发软件( 如天正等) 开发的比较完善、 功能比较强、运用范围比较广,也得到了广大工程师的普遍认可。究其缘由,在 工业民用建筑中,服务对象很固定,建筑物上部结构型式不受地形地质的影响, 建筑物构件定型化,尺寸模数规范化,两个同类建筑物甚至可以说差别很小或者 没有差别。而水利建筑行业,由于建筑物一般位于野外,受地形地质条件影响较 大,结构构件不定形,没有固定的尺寸模数,每一个建筑物需要根据实际情况, 具体问题具体分析,这给a u t o c a d 二次开发带来了很大的难度; 4 ) 水工建筑物设计的不定型性、对环境的强依赖性使传统的适用于对定型产 品设计的c a d 技术难以发挥优势。另一方面,基于约束的设计、智能c a d 等现代 c a d 技术尚在发展和完善之中,目前还没有和水工c a d 的研究有效地结合。 5 ) 产品设计过程管理、多专业协同设计、异构系统集成、统一数字化模型研 究等技术,应被视为水工c a d 研究的必要支撑技术,而这些技术几乎都是当前 c a d 研究的前沿课题。所以,从技术角度来看,水工c a d 技术长期发展缓慢也是 技术不成熟的必然。 6 ) 当前,我国的水工c a d 软件基本上都是由大型设计院的工程技术人员按 需开发的。显然,对于这样的高难度课题,没有专业研究人员和专业软件开发商 的广泛参与是远远不够的,这也使各相关领域大量的研究成果不能及时地应用到 水工c a o 研究当中。同时由于水利水电工程专业适用面窄,从业人数相对少,编 写的水工c a d 软件很难产生高额的回报。 二者相互制约,相互影响,共同导致了水工c a d 软件研究和开发的恶性循环。 1 2 2 发展趋势 6 1 1 7 1 目前己完成的水工建筑物c a d 系统大都有一定局限性,而且只能用于某个设 计阶段完成某种特定的设计,难以适应多变的结构型式和形状,虽然这些系统也 采用交互式设计。但有些过多地使用了数据文件,不具备良好的人机界面,而且 缺乏智能判断,限制了c a d 软件设计范围和精确度,不宜推广。因而水工c a d 系统应该具有如下几个发展趋势: 1 ) 建立标准化数据库 6 水闸c a d 系统初步开发 开发水工建筑物c a d 系统除必须满足相应的设计规范外,还应加强建立c a d 开发平台上的标准化数据库。例如,c a d 工程图例、符号、标准图形库,统一的 地形、地质数据库,统一的基本资料、工程特性数据库等,实现各个数据库之间 的接口技术,减少重复性的低水平开发。 2 ) 友好的人机界面 做为一个良好的c a d 系统,必须具有良好的人机界面,采用国际标准的 w i n d o w s 窗口菜单,这是提高水工建筑物c a d 质量的一个重要任务。使用标准的 设计人机界面,可以采用“事件驱动”控制系统运行,用户可以随意控制系统的 运行,增强交互设计能力,让用户可以直接使用数据文件输入信息,而且能使用 菜单中的文本条目输入修改信息,检查用户的合法性,采用水工建筑物的标准图 形符号,建立标准而直观形象的水工建筑物菜单。 3 ) 实现系统的智能化 智能化是在传统c a d 中加入专家知识,利用人类专家的工程设计经验、知识 和逻辑思维能力进行推理、判断和决策,引导设计人员进行合理的创造性设计。 目前中国水利水电科学研究院在微机拱坝c a d 中己进行了有力的尝试,取得了一 定的成果。 随着国家大修水利基础设施的决策,开发很好的水利水电c a d 二次开发软 件,解放水利设计人员的双手,已经是大势所趋。比如南水北调中线工程,近 2 0 0 0 k m 长的沿线分水口门有二百多座,而所有分水口门皆为几个流量的小水闸, 结构形式接近,这就为计算机辅助设计提供了广阔的前景:另外,随着西部大开 发战略任务的实施,大型控制性水利工程枢纽往往需要进行跨流域、长距离调水, 各种水闸的建设必将占很大比例,其设计工作也将十分巨大。 因此,研制开发水闸自动设计系统十分必要。结合水利工程特点,应用当前 先进的计算机技术,开展水工建筑物c a d 系统的研制与开发工作,对于水利建设 具有重要的理论意义和实用价值。 13 本文的主要研究内容 本文主要以我国北方地区比较常见的无坎平底不设胸墙的水闸为设计对象, 以水闸设计规范( s l 2 6 5 - 2 0 0 1 ) 为设计依据,在w i n d o w s 操作系统上,以v i s u a l b a s i c 语言进行软件开发。 软件的主要模块包括:工程设置、水力设计、防渗排水设计、结构设计、地 基计算及处理设计、c a d 图形绘制、程序使用说明、规范摘录八个模块。每个模 块下又包含独立的计算程序。 本论文的结构组织如下: 第l 章主要介绍了选题的背景,着重阐述了c a d 技术及目前的发展状况和发 内蒙古农业大学硕士学位论文7 展趋势,在此基础上介绍了国内水工c a d 的发展现状和发展趋势,并说明了本文 的主要研究内容。 第2 章主要从软件开发层面介绍了本软件的开发方法和开发目标,介绍了软 件开发的一般方法和一般技术。 第3 章主要介绍了本软件的开发平台,即w i n d o w s 操作系统的知识,并且阐 述了开发工具v i s u a lb a s i c 语言的特点,介绍了软件调用的绘图软件a u t o c a d 的特点和主要的二次开发技术。 第4 章主要根据水闸设计规范( s l 2 6 5 - 2 0 0 1 ) ,介绍了水闸设计的方法, 结合了现在水闸设计方面的一些新理论和新方法。 第5 章详细介绍了本软件开发的程序,并列出了部分通用程序和主要程序。 第6 章主要是对本文进行了总结,分析了目前本软件的不足之处,并且对本 软件的发展方向和下一阶段的开发工作做出了展望。 8 水闸o a d 系统初步开发 2 软件系统的开发方法和基本目标1 1 6 - 1 8 1 软件是与某一系统有关的程序、步骤和有关文件编制的完整集合,特指特 定类型计算机所使用的程序的总称,连同与计算机或程序有关的资料。软件产 业的发展,经历了从7 0 年代开始以结构化分析与设计、结构化评审、结构化程 序设计以及结构化测试为特征的结构化生产时代,到9 0 年代中期,以能力成熟 度模型( c a p a c i t ym a t u r i t ym o d e l ,c m m ) 日益为市场接受为标志,已经进入 了以过程成熟模型c m m 、个体软件过程( p e r s o n a ls o f t w a r ep r o c e s s ,p s p ) 和 群组软件过程( t e a ms o f t w a r ep r o c e s s ,t s p ) 为标志的以过程为中心的时代, 而软件发展第三个时代,即软件工业化生产时代,从9 0 年代中期软件过程技术 的成熟和面向对象技术、构件技术的发展为基础,实现真正的软件工业化生产。 2 1 系统软件开发的方法 6 0 年代中期开始爆发了软件危机,为了克服这一危机,在t 9 6 8 、1 9 6 9 年 连续召开的两次著名的n a t o 会议上提出了软件工程这一术语,并在以后不断发 展、完善,与此同时,软件研究人员也在不断探索新的软件开发方法。至今已 形成了几类软件开发方法:p a r n a s 方法、s a s a 方法、面向数据结构的软件开发 方法、问题分析法、面向对象的软件开发方法、可视化开发方法等。 本文所研究的水闸c a d 系统采用面向对象的方法和可视化技术,在v i s u a l b a s i c 6 0 语言平台环境下进行开发。 2 2 面向对象的软件开发方法【1 9 】 2 2 1 面向对象的程序设计 在面向对象方法出现以前,程序开发人员大都采用面向过程的程序设计方 法。早期的计算机是用于数学计算的工具,为了完成计算,就必须设计出一个 计算方法或解决问题的过程,因此,软件设计的主要工作就是设计求解问题的 过程【2 “。随着计算机硬件系统的高速发展,编程工具的日新月异,计算机所需 要处理的问题也日益复杂,程序自然越来越复杂和庞大。2 0 世纪6 0 年代产生的 结构化程序设计思想,为使用面向过程的方法解决问题提供了有利的手段。虽 然结构化程序设计方法具有很多优点,但它仍然是一种面向过程的程序设计方 法。它把数据和处理数据的过程分离,成互为独立的实体,当数据结构改变时, 所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要 带来额外的开销,程序的可重用性差。另外,由于图形用户界面的应用,使得 软件的使用越来越方便,但开发却越来越困难。 面向对象的程序设计方法( o b j e c to r i e n t e dp r o g r a m m i n g ,o o p ) 解决 了这些问题。首先,它将数据及对数据的操作方法放在一起,作为一个相互依 内蒙古农业大学硕士学位论文9 存、互不分离的整体一对象。对同类型对象抽象出其共性,形成类,类中的大 多数成员数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外 界发生关系,对象与对象之间通过消息进行通信。这样,程序模块间的关系更 为简单,程序模块的独立性、数据的安全性就有了良好的保障。另外,继承与 多态性还可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。 软件开发从本质上讲,就是对软件所要处理问题进行正确的认识,并把这种 认识正确地描述出来。面向对象方法所强调的基本原则,就是直接面对客观存 在的事物来进行软件开发,将人们在日常生活中习惯的思维方式和表达方式应 用在软件开发中,使软件从过分专业化的方法、规则和技巧中回到客观世界, 回到人们通常的思维方式中。 面向对象的程序设计是继承和发展了结构化程序设计而产生的一种新的程 序设计思想,它是一种模仿人类建立现实模型的方法( 包括概括、分类、抽象和 归纳) 进行软件开发的思想体系。它运用面向对象的观点来描述现实问题,然后 用计算机语言来描述并处理该问题。这种描述和处理是通过类与对象实现的, 是对现实问题的高度概括、分类和抽象。 2 2 2 面向对象程序设计技术【2 1 】 面向对象程序设计的基础构件是对象和类,基础机制则是方法、消息和继承 性。面向对象的程序设计方法可以围绕以下几个主要概念来阐述:对象、类、 封装、继承和多态性。类和继承是符合人们一般思维方式的描述方式。 1 ) 对象 面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用 来构成系统的一个基本单位。对象由一组属性和一组行为构成,属性是用来描 述对象静态特征的数据项,行为是用来描述对象动态特征的操作序列。消息是 对象之间进行联系的一种构造,当一个消息发送给某个对象时,包含有要求对 象去执行某种活动的信息,接受消息的对象经过解释,然后予以响应,这种响 应机制叫消息传递,发送消息的对象不要求知道接受消息的对象如何对请求做 出响应。 2 ) 类 具有相同特性( 数据结构和方法) 和共同用途的一组对象,在o o p 中被简化 为一个类。一个新引入的类可以从已有的类中继承特性,程序员可以直接重用 已有的类,所需的只是补充定义必要的特性,这样就构成了类的层次结构。 类定义了一组大体上相似的对象,一个类所包含的方法和数据描述一组对象的 共同行为和属性。把一组对象的共同特性加以抽象并存储在一个类中的能力是 面向对象技术最重要的一点。类是在对象之上的抽象有了类以后,对象则是 1 0 水闸c a d 系统初步开发 类的具体化,是类的实例。类可以有子类,同样也可以有父类,形成层次结构。 把众多的事物归纳、划分成一些类,是人类在认识客观世界时经常采用的 思维方法。分类所依据的原则是抽象,即忽略事物的非本质特征,只注意那些 与当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划 分为一类,得出一个抽象的概念。面向对象方法中的“类”,是具有相同属性和 服务的一组对象的集合,它为属于该类全部对象提供了抽象的描述,其内部包 括属性和行为两个主要部分。类与对象的关系犹如模具与铸件之间的关系,一 个属于某类的对象称为该类的一个具体实例。 3 ) 封装 封装是面向对象方法的一个重要原则,就是把对象的属性和行为结合成一 个独立的系统单位,并尽可能隐蔽对象的内部细节。这里有两个含义;第一个 含义是把对象的全部属性和行为结合在一起,形成一个不可分割的独立单位。 第二个含义也称作“信息隐蔽”,即尽可能隐蔽对象的内部细节,对外形成一个 边界,只保留有限的对外接口使之与外部发生联系。 封装是指隐藏类为支持和实施抽象所做的内部工作的过程。类的接口是公 有的,它定义了一个类所能完成的功能,而这些接口的实现是私有的或受保护 的,它定义了类完成这些功能所做的具体操作。对于使用这些类的用户来说, 只需要知道类所能完成的功能,而不需要知道这些功能是如何实现的。 封装可以避免很多维护性的问题,如果一个基本数据类型的结构被修改了, 除了类中的访问数据的方法的代码外,软件系统的其他部分是不受影响的,因 为基本数据在外部是不可见的,只能通过公有方法的接口与基本数据发生联系, 改变一个类的实现,丝毫不影响使用该类的程序员,从而大大减少了应用程序 出错的可能性。 4 ) 继承性 继承是面向对象技术能够提高软件开发效率的重要原因之一,其定义是: 特殊类的对象拥有其一般类的全部属性与行为,称作特殊类对一般类的继承。 继承对于软件复用有重要意义,使特殊类继承一般类,本身就是软件复用。而 且不仅于此,如果将开发好的类作为构件放到构件库中,在开发新系统时便可 以直接使用或继承使用。 类支持层次机制,继承是一种承袭的过程,一个对象除了可具有另一个对象 的特性外,自己也可以有自己的特性,而自己也可以让另一个对象继承。继承 机制所带来的最大的优势在于使软件系统非常易于扩充,程序员不仅可以直接 使用各种已有的类,还可以从这些类中方便的派生出新的类,新的类继承了基 类所包括的所有接口和功能,因此只需要定义和实现与基类所提供的功能中不 同的那一部分,这大大降低了软件的复杂性和费用,因此面向对象的编程方式 内蒙古农业大学硕士学位论文 1 1 非常适合进行大型软件系统的开发。 5 ) 多态性 多态性是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有 不同的数据类型或表现不同的行为。这使得同一个属性或行为在一般类及其各 个特殊类中具有不同的行为。 多态在对象程序设计上就是“一种接口有多种方法”的意思,以单一的接 口来控制访问一般类数据的行为,这种明确的行为随外在情况的不同而改变。 多态可以减少程序的复杂度,集成许多类似或相似的功能,以统一的接口( 函数 名) 完成不同的工作,编译器会去选定特定的办法,来完成程序员指定的工作。 23 可视化技术介绍【2 2 】 1 9 8 7 年,m c c o r m i c k 等人在总结前人科学成果的基础上,首先提出了“可 视化”这一术语,即科学计算可视化,其实质是运用计算机图形学和图像处理 技术,将科学计算过程中产生的数据及计算结果转换为图像,在屏幕上显示出 来,并进行交互处理,其核心是二维或三维数据场的可视化。它涉及计算机图 形学、图像处理、计算机辅助设计、计算机视觉及人机交互等多个方面,是一 个新的研究领域。 科学计算可视化( v i s u a l i z a t i o ni ns c i e n t i f i cc o m p u t i n g ) 是上世纪九十年代 计算机应用新技术的热点之一。科学计算作为科学研究的三种方法和手段之一, 形成了科学研究的“理论计算试验”模式,即从理论出发,将待研究的科学问 题描述为一系列的数学方程再通过计算机采用某种方法如有限元法对方程进行 离散化并求解,通过分析求解结果,找出物理问题的变化规律。从而加深对研 究对象的认识。虽然计算机用于科学计算己有5 0 多年的历史,但长期以来由于 计算机软硬件技术的限制,科学计算只能以批处理方式进行,而不能进行人机 交互式处理,使用者不能对计算过程进行干涉和引导,只能被动地等待计算结 果的输出;而且大量的输出数据又只能用人工方式加工,或者用绘图仪输出二 维图形,从而丢失大量信息,不仅不能及时地得到有关计算结果的直观、形象 的整体概念,而且人工处理数据十分繁琐,花费的时间往往是计算时间的几十 倍甚至上百倍,成为提高科学计算质量和效率的瓶颈。近些年来计算机图形处 理能力的提高和优秀的可视化开发软件和平台的出现,使得人们开始借助于图 形来理解计算结果,随之产生了科学计算的可视化概念及其软件技术。 科学计算可视化的基本思想是将科学计算中从建立模型到表达计算结果均 用图形或对话框的输入和输出来实现,将复杂的数据计算和数据处理推向后台, 用户主要关心的是分析计算结果和图形。用户通过使用多媒体技术在屏幕上作 图和修改图形,形成计算模型后,自动生成后台的输入文件,用户可以通过交 1 2 水闸c a d 系统初步开发 互式方式获取中间结果的图形仿真以了解计算过程,干预和引导计算并最终获 得计算结果的图形、颜色、静态和动态画面;使研究者了解全部过程和发展趋 势。科学计算可视化将图形生成技术和图像理解结合在一起,它既可理解送入 计算机的图像数据,又可以从复杂的多维数据中产生图形。它实现把计算中产 生的数字信息转变为直观的、以图像或图形信息表示的、随时间和空间变化的 物理现象或物理量,例如用变形图将结构受荷载作用后的位移变化表现出来, 又如使用交互式网格生成技术使用户方便直观地形成有限元模型等。 可视化涉及到多个相互独立的领域:计算机图形学、图像处理、计算机视觉、 计算机辅助设计及交互技术等,其主要技术问题有: 1 ) 分析和计算过程的交互控制和引导 2 ) 面向图形的程序设计环境 3 ) 三维空间数据场的显示 4 ) 大容量数据集合的处理 5 ) 用于图形图像处理的向量和并行算法 6 ) 用于可视化的软件国际标准 在上述技术问题中,三维空间数据场的显示是科学计算可视化的核心。 可视化技术对于计算软件的开发具有特别重要的意义。一般来说,软件的可 视化可以分为三部分:前处理可视化,即为了给用户提供一个直观的设计环境 和信息正确检查和修正功能;后处理可视化,使用户能直观方便地理解和使用 计算结果:分析过程可视化,即开发出友好的人机交互界面,引导用户完成设 计分析的有关内容。用户界面( u s e ri n t e r f a c e ) 是专门处理人一机交互活动的媒 介,以简化设计人员的操作,降低对设计人员计算方面的要求。 水工设计的特点是数据多,工况条件多,算法复杂,作为一个好的工程应用 软件,其用户界面应是友好的,易操作的,应具有以下特点: 1 ) 使用的简便性。用户在要求软件功能和性能提高的同时,要求使用时尽 可能的简单方便,得到的输出结果形象直观,一目了然,而且自动化程度高。 2 ) 用户界面术语的标准化和一致性。即指用户界面中和交互过程中所使用 的专业术语标准化且具有一致性,这可使用户不但很容易懂得输入数据或信息 的含义,而且也易于掌握。 3 ) 算法的隐藏性。应使用户可以不考虑选择算法问题而正常使用。 4 ) 数据压缩性高。一个好的用户界面,应该在保证使用简便且易理解的前 提下,尽量让用户输入较少量的信息。 内蒙古农业大学硕士学位论文 1 3 3 软件系统的开发平台和开发工具 对于软件的开发选择一个方便高效的开发工具和平台是关键。目前开发软 件的操作系统主要是w i n d o w s 操作系统和u n i x 操作系统,u n i x 操作系统具 有保密性强的优点,w i n d o w s 操作系统具有简单易学、用户群体大的特点,本 软件采用w i n d o w s 操作系统作为开发平台。开发工具选用了具有友好的人机交 互界面的可视化设计软件v i s u a lb a s i c ,绘图工具选用目前比较常用的a u t o c a d 软件。 3 1w 缸d o w s 开发平台 3 1 1w i n d o w s 平台介绍2 3 扔1 w i n d o w s 操作系统是美国m i c r o s o f t 公司开发的操作系统软件。w i n d o w s 操作系统界面直观,操作方便,是作为开发平台的最好选择。且w i n d o w s 软件 开发工具包( s o f t w a r ed e v e l o p m e n tk i t ,s d k ) 包含有大量的、功能强大的应用程 序接口( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ,a p i ) 函数,新一代软件基本上都采用 典型的w i n d o w s 界面和操作规范。同时由于动态数据交换机制( d y n a m i cd a t a e x c h a n g e ,d d e ) 和对象连接与嵌入( o b j e c tl i n k i n ga n de m b e d d i n g ,o l e ) 技术的 广泛应用,这些软件可以与w i n d o w s 平台的其他软件进行动态数据交换,也可 以在不退出软件的前提下嵌入其它应用程序的对象。因此,本文的水闸c a d 系 统也以w i n d o w s 操作系统为开发平台。 w i n d o w s 有以下几个方面的主要特点: 1 ) 通用的用户界面 视窗操作系统有相同的标准用户界面,系统操作及功能连续性强,便于使用 该操作系统的软件升级,并且操作十分简便,在其平台上开发的软件具有完美 而又易于操作的使用界面,能增强软件的亲和力。 2 ) 消息处理机制 w i n d o w s 是消息驱动( 或事件驱动) 型操作系统。该机制可以检查到任何新 消息的输入,一旦用户有任何新消息输入,操作系统便会检索该消息,并向相 应的应用程序发送消息,w i n d o w s 应用程序能够随时接受

温馨提示

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

评论

0/150

提交评论