(管理科学与工程专业论文)热交换器信息管理系统的分析与设计.pdf_第1页
(管理科学与工程专业论文)热交换器信息管理系统的分析与设计.pdf_第2页
(管理科学与工程专业论文)热交换器信息管理系统的分析与设计.pdf_第3页
(管理科学与工程专业论文)热交换器信息管理系统的分析与设计.pdf_第4页
(管理科学与工程专业论文)热交换器信息管理系统的分析与设计.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(管理科学与工程专业论文)热交换器信息管理系统的分析与设计.pdf.pdf 免费下载

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

文档简介

南京航空航天大学硕士学位论文 摘要 论文对面向对象开发技术理论、a u t o c a d = 次开发技术和热交换器信息管理系统 的分析和设计进行了详细地阐述,并根据南京某公司热交换器信息管理系统的实际需 要,设计和开发了符合软件工程规范的信息系统,并给出了详细的数据流程图和功能 模块图。同时,论述了整个系统开发的分析和设计过程,以及数据库的设计和实现, 对如何将面向对象技术和a u t o c a d 二次开发技术应用到系统设计开发中,进行了探讨 和应用。 本文的研究成果热交换器信息系统的设计已经通过该公司的认可和初期验 收,为设计人员提供了迅速、方便、简洁和准确的服务。它为目前热交换器机械设计 系统的设计开发,提供了重要的参考价值,对提高热交换器生产制造厂商的经济效益 具有一定的意义。 关键词:信息系统、d b i s a m 、数据库设计、面向对象技术、a u t o c a d 、二次开发 热交换器信息管理系统的分析与设计 a b s t r a c t t h et h e s i sd i s s e r t st h e t h e o r y o fo b j e c t o r i e n t e d t e c h n o l o g y ,t h et e c h n o l o g y o f a u t o c a d sf u r t h e r d e v e l o p m e n t i n d e t a i l ,a n dt h ea n a l y s i s a n dd e s i g no ft h eh e a t e x c h a n g e rm a n a g e m e n ts y s t e m a c c o r d i n gt or e a ld e m a n d o f ac o m p a n yi nn a n i n ga n d t h en o r mo fs o f t w a r ep r o j e c t ,id e s i g na n dd e v e l o pt h ei n f o r m a t i o nm a n a g e m e n ts y s t e m t h a ti su p t o ,a n dg i v et h ed e t a i l e dd a t af l o w c h a r ta n df u n c t i o nm o d u l e c h a r t i na d d i t i o n ,i n t h i st h e s i sw e a n a l y s i sa n dd e s i g nt h ep r o c e s so f t h ew h o l e s y s t e ma n d t h ed a t a b a s e ,p r o b e t h ep r o b l e mt h a th o wt oa p p l yt h e0 0a n da u t o c a dt e c h n o l o g yt os y s t e md e s i g na n d d e v e l o p m e n t t h er e s e a r c ho u t c o m eo f t h i st h e s i s ,n a m e l yt h ed e s i g no f h e a t e x c h a n g e r i n f o r m a t i o n s y s t e m ,h a s b e e n a c c e p t e db y t h e c o m p a n y ,a n dp a s s e dt h r o u g h t h e i r p r e l i m i n a r y a c c e p t a n c e ,w h i c ho f f e r e df a s t ,c o n v e n i e n t ,c o n c i s ea n da c c u r a t es e r v i c e f o rm e c h a n i c a d e s i g n e r i ti sv a l u a b l e t ot h ed e s i g na n dd e v e l o p m e n to f t h eh e a te x c h a n g e rs y s t e m ,a n di s m e a n i n g f u lt ot h em a n u f a c t u r e ro f h e a te x c h a n g e r i nt h er e s p e c to f e c o n o m i ce f f e c t k e yw o r d s :i n f o r m a t i o ns y s t e m ;d b i s a m ;d a t a b a s ed e s i g n ;o o p ;a u t o c a d ; f u r t h e rd e v e l o p m e n t 南京航空航天大学硕士学位论文 1 1 课题背景 第一章绪论 目前,国内的空冷式换热器设计系统根据实现功能的不同,主要分为两种,一种是 熟交换器的结构数据设计系统;一种是热交换器的图形设计系统。两种功能完全集成在 一起的系统甚少,而且当前的系统只给用户提供工艺示例图,而不是标准的机械工艺图, 工程设计人员只能根据设计数据。手工完成工艺图的绘制。由此,降低了工作效率,增 加了设计人员的劳动量。在国内,市场上还没有一套完整的和成熟的可以推广的热交换 器设计系统软件产品。 南京某公司是设计、生产、安装过程设备、锅炉压力容器( 包括结构件) 并提供相 关服务的专业公司。主要产品广泛应用于石油、化工、能源、冶金、制药、空调等领域。 每年生产过程设备和压力容器几千台。公司采用计算机软件系统开发、设计、制造各种 过程设备和压力容器。但是,目前公司应用的计算机软件系统,由于功能的不完善性, 不能够满足实际的应用需要,即不能够校核结构件和绘制机械工艺图。这样,给设计人员 的工作带来极大的不便。本次开发的热交换器设计信息管理系统,基本解决了当前应用 软件系统的不足性,同时。也为该新软件系统的继续开发做了必要的准备工作。 1 2 研究内容 热交换器设计信息管理系统的设计开发,是针对南京某公司当前应用软件系统不能 满足实际需要,而提出的新的研究项目。系统的开发设计,完全遵循软件工程规范,采 用先进的面向对象技术和a u t o c a d 的二次开发技术,极大地提高了系统的稳定性、可维 护性和扩展性。 本系统的设计开发,集成了许多机械工艺图绘制功能,能够根据设计数据,自动生 成热交换器各个构件的机械工艺图,为设计人员提供了方便、简洁的操作平台环境。在 热交换器构件机械设计方面,由于热交换器由许多构件组成,如构架、风机、翅片管、 箱体、管板、盖板和平盖等,而每种构件都有一定的机械标准规格。因此,判断设计出 的热交换器是否符合实际应用要求,需要进行对构件应力校核。系统使用了标准参数数 据库,在计算和校核过程中,从数据库获取有效参数数据,极大地提高了设计数据的准 热交换器信息管理系统的分析和设计 确性和精确度。 同时,我们在系统的开发和设计中,完全遵循软件工程的开发规范,应用先进的面 向对象开发技术和a u t o c a d 二次开发技术,提高了系统的扩展能力,也使该软件产品更 具有推广性。 南京航空航天大学硕士学位论文 第二章面向对象开发技术概述 2 1 面向对象技术发展概况 面对日趋复杂的软件需求的挑战,软件业界开发出了面向对象( 0 0 ) 的软件开发模 式。目前作为解决“软件危机”的最佳对策,0 0 技术已经引起人们的普遍关注。最初它 被多数人看作是一种不切实际的方法和满足一时好奇心的研究,现在得到了人们近乎狂 热的欢迎。许多编程语言都推出了支持面向对象的新版本,而且大量面向对象的开发方 法也被提出来。关于0 0 的会议、学术研讨班和课程极受欢迎。无数专业的学术期刊都为 这一话题开辟了专门的版面。一些软件开发合同甚至也指明了必须使用0 0 的技术和语 言。面向对象的软件开发对于9 0 年代,就像是结构化的软件开发对于7 0 年代那样让人 着迷,而且0 0 的发展势头还在日益增长。 诸如“对象”和“对象的属性”这样的概念,首先出现于关于人工智能的早期著作 中。然而,o o 的实际发展却是始于1 9 6 6 年。当时k i s t e nn y g a a r d 和o l e j o h a nd a h l 开发了具有更高级抽象机制的s i m u l a 语言。s i m u l a 提供了比子程序更高一级的抽象和 封装:为仿真一个实际问题,引入了数据抽象和类的概念。大约在同一时期,a l a nk a y 正在大学的一台个人计算机上努力工作,他希望能在其上实现图形化和模拟仿真。尽管 由于软硬件的限制,k a y 的尝试没有成功,但他的这些想法并没有丢失。7 0 年代初期, 他加入了p a l oa l t o 研究中心( p a r c ) ,再次将这些想法付诸实施。 在p a r c ,他所在的研究小组坚信计算机技术是改善人与人、人与机器之间通讯渠道 的关键。在这信念的支持下,并吸取了s i m u l a 关于类的概念,他们开发出s m a l l t a l k 语言;1 9 7 2 年p a r c 发布了s m a l l t a l k 的第一个版本。大约在此时,“面向对象”这一 术语正式确定。s m a l l t a l k 被认为是第一个真正面向对象的语言。s m a l l t a l k 的目标是 使软件设计能够以尽可能自动化的单元来进行。在s m a l l t a l k 中一切都是对象即某 个类的实例。最初的s m a l l t a l k 的世界中,对象与名词紧紧相连。s m a l l t a l k 还支持一 个高度交互式的开发环境和原型方法。这一原创性的工作开始并未发表,只是被视为带 浓厚试验性质的学术兴趣而已。 s m a l l t a l k 一8 0 是p a r c 的一系列s m a l l t a l k 版本的总结,发布于1 9 8 1 年。1 9 8 1 年8 月 杂志公布了s m a l l t a l k 开发组的重要结果。在这期杂志的封面图上,一个热 3 热交换器信息管理系统的分析和设计 气球正从一个孤岛上冉冉升起来,标志着p a r c 的面向对象思想的启航。起初,影响只是 渐进式的,但很快就跃升到火爆的程度。热气球确实启航了,而且影响深远。早期 s m a l l t a l k 关于开发环境的研究导致了后来的一系列进展:窗口( w i n d o w ) ,图标( i c o n ) , 鼠标( m o u s e ) 和下拉式w i n d o w 环境。s m a l l t a l k 语言还影响了8 0 年代早期和中期的面向 对象的语言,如:叻j e c t - c ( 1 9 8 6 ) ,c + + ( 1 9 8 6 ) ,s e l f ( 1 9 8 7 ) ,e i f f l ( 1 9 8 7 ) ,f l a v o r s ( 1 9 8 6 ) 面向对象的应用领域也被进一步拓宽。对象不再仅仅与名词相联系,还包括事件和过程。 1 9 8 0g r a d yb o o c h 首先提出面向对象设计( 0 0 d ) 的概念。然后其他人紧随其后,面向 对象分析的技术开始公开发表。1 9 8 5 年,第一个商用面向对象数据库问世。1 9 9 0 年代以 来,面向对象的分析、测试、度量和管理等研究都得到长足发展。目前对象技术的前沿 课题包括设计模式( d e s i g np a t t e r n s ) 、分布式对象系统和基于网络的对象应用等。 面向对象的开发强调从闯题域的概念到软件程序和界面的直接映射;心理学的研究 也表明,把客观世界看成是许多对象更接近人类的自然思维方式。对象比函数更为稳定; 软件需求的变动往往是功能相关的变动,而其功能的执行者一对象一一通常不会有大 的变动。另外,面向对象的开发也支持、鼓励软件工程实践中的信息隐藏、数据抽象和 封装。这种形式的开发有利于软件的修改、扩充和维护。 面向对象也被扩充应用于软件生命周期的各个阶段一从分析到编码。而且,面向 对象的方法自然而然地支持快速原型法和p a d ( r a p i da p p l i c a t i o nd e v e l o p m e n t ) 。面向 对象的开发鼓励重用,不仅软件的重用,还包括分析、设计的模型的重用。更进一步说, o o 技术方便了软件的互换性,即,网络中一个节点上应用能够利用另一个节点上的资源。 面向对象的开发还支持并发、层次和复杂等一些在目前的软件系统中常见的现象。今天 我们常常需要建造一些软件系统一一不止是一个黑盒的应用。这些复杂系统通常包含由 多个子系统组成的层次结构。面向对象的开发支持开放系统的建设,使利用不同的应用 进行软件集成有了更大的柔性。最后,面向对象开发的使用可以减小开发复杂系统所面 临的危险,主要是因为系统集成遍布软件生命周期的各个阶段。 2 2 面向对象的概念体系 2 2 1 基本概念 面向对象的概念体系是研究和认识面向对象方法的出发点,现分别介绍如下 1 对象 南京航空航天大学硕士学位论文 概括地讲,对象本质上就是客观世界中的任何事物,具体地讲,我们用计算机所建 立的,用于表达和描述客观事物的一种数据模型,在此数据模型中包含了事物的结构属 性和行为特征。由此也可以把对象简单的定义为:对象= 数据+ 操作。在面向对象理论中, 现实世界中的任何事物均被视为对象,这就预示着对象具有无所不能的表达和模拟能力, 而这是传统方法所不具备的。 2 类 类被视为是基于对象概念层次上更高一级的抽象,是定义和描述相同属性( 数据和 操作) 对象集合的数据模型,即对象元模型。类的重要特性是将同类对象的数据和数据 上的操作都封装在内部,实现了类的外部特性与类的内部实现的隐藏和隔离,从而使面 向对象方法具有天然的模块化特性。 3 实例 实例是由类所创建的具体对象,即给类定义中的数据和操作分别赋予具体值和具体 处理程序的实际对象。 4 方法 定义在对象上描述对象行为特征的操作称为方法( 或成员函数) 。方法是实施对象 操作和访问的外部接口,但方法在对象内部的具体实现是不可见的,这就保证了对象调 用和操作的绝对安全性。 5 消息 消息是对象之间相互作用的一种通信机制。对象之间的相互操作、调用和应答都是 通过发送消息到对象的外部接口来实施的,因此,消息也就是为完成某些操作而向对象 发送的命令和命令的说明。 2 2 2 面向对象方法的特点 以面向对象概念为理论基础所创建的面向对象方法,具有传统开发方法所不具备的 诸多先进机制和优异特性,主要表现如下。 1 抽象性 抽象是人类认识和表述复杂现实世界的一种辨证方法和重要手段。抽象在计算机科 学中,尤其在系统分析、系统设计和程序设计语言的发展中一直起着主导作用,面向对 象方法的仓u 立和形成是程序设计语言不断抽象和发展的结果。与传统的结构化方法相比, 面向对象方法具有更高的抽象性,具体表现为: 热交换器信息管理系统的分析和设计 ( 1 ) 具有极强的抽象表达能力 面向对象方法采用对象来表达一切事物,它不仅可传达结构化数据,又可表达复杂 的多媒体数据。另外它既可以表达任何事物的结构属性,又可表达事物的行为特征。正 是由于对象的这种高度抽象的表达能力,使面向对象方法具有很强的建模能力,它冲破 了传统建模的约束,能更自然、更充分地表达现实世界存在的语义。 ( 2 ) 实现了抽象的数据类型 以对象概念为基础,类是对象的元模型,实现了对象级上更高一层的抽象。首先, 将具有相同语义特性的一组对象组成类之后,就可进一步将这些对象的共性加以提取, 并进行统说明,从而省略了各个对象对共性的重复说明。其次,类将数据结构上的抽 象与功能上的抽象结合起来,实现了传统方法所不具备的更高级的抽象。 2 封装性 封装的基本含义是:所有软件组成部件的内部都有明确的范围和清楚的外部边界, 每个部件应有友好的接口,用以实现部件之间的相互联系和相互作用,而且部件内部的 设计与实现是不可知的,用以保证软件的质量和可靠性。面向对象方法提供了完整的封 装机制,具体表现为: ( 1 ) 类是封装良好的模块:类定义将其“说明”与“实现”显式地区分开,其内 部实现按具体定义的作用域提供保护,分为私有、局部和全局等。 ( 2 ) 对象是封装的最基本单位:类定义为本类的所有对象提供了共享,但在采用 面向对象解决实际问题时,往往要对类定义的属性和成员赋予具体的信息,使其成为类 的一个具体对象。因此,对象的封装比类的封装更具体、更细致,成为面向对象封装的 最基本单位。 ( 3 ) 面向对象方法的封装性远远优于结构化的封装性:通常,结构化方法是以库 函数形式来实现其封装的,但库函数的内部实现与外部接口划分不清楚,所以结构化方 法仅具有部分的封装性,不能实现完全的封装。 3 继承性 继承性是面向对象方法所独有的,其他方法一律不具备此特性。继承性体现并扩充 了面向对象方法的共享机制,对象不仅可共享它所在类的属性、操作与约束等语义特性, 而且通过类层次的继承性及多重继承性还可实现不同类或对象之间纵向和横向的共享机 制。继承性之所以成为面向对象方法的重要特性和机制之一,主要是因为它具有如下一 些重要作用: 6 南京航空航天大学硕士学位论文 ( 1 ) 继承性真正实现了软件系统的开放性 现代软件发展的重要趋势是开发体系结构,主要是指系统的开发应尽可能选用公用 的接口,实现信息的交换与共享,模块应尽量多的重用。面向对象方法由于具有继承性, 使要建立的新系统并非都要重新开始,而是尽量利用已有系统或已建立的类进行扩充或 修改以实现自己的新系统。 ( 2 ) 类层次的继承性是行之有效的信息组织与分类方法 类层次反映了现实世界中普遍存在的一般与特殊的语义联系,越靠近上层表示着更 普遍或更概括的概念,而越往下层表示更专门、更细化、更具体的概念。这种从概括到 细化,从一般到特殊,从抽象到具体便是面向对象方法提供给人类的进行信息组织和分 类的先进方法。 ( 3 ) 显著地简化了对象、类的创建工作量 通过声明新定义的类可直接继承已建立了的属性或操作,使类和对象的创建变得极 为简单和省事。因而,提高软件开发效率。保证软件开发质量、缩短软件开发周期是继 承性带来的必然结果。 ( 4 ) 增强了软件的重用能力。继承性真正实现了软件代码的重用,使可靠性有了显 著地提高。 4 多态性 多态性通常是指用一个操作名称实现不同数据类型的多种操作,它实现的主要是通 过函数重载、虚函数以及动态绑定等方式来实现。应该说,多态性赋予面向对象方法一 种先进的动态行为特征,而这种动态行为特征又为软件开发带来了如下作用: ( 1 ) 自适应的消息响应机制。多态性允许每个对象以适应自身的方式去响应共同的 消息,极大地提高了软件操作的透明性、可理解性和可维护性。 ( 2 ) 多态性增强了软件的灵活性和重用性。采用虚函数与动态绑定机制后,允许用 户以更为明确、易懂的方式去建立通用软件。 上述由面向对象概念所孕育和形成的诸多先进机制和能力,使得面向对象方法把计 算机技术与人类认识活动的辨证规律最自然地结合在一起,这就是面向对象方法独具的 先进思想和精髓。 热交换器信息管理系统的分析和设计 2 3 面向对象方法开发方法 2 3 1 面向对象分析方法 面对较复杂的系统,我们可以将它作为一个对象来进行分析。一个系统( 解决某个 问题的全套解决方案) 作为一个对象,可以由多个部分组成。同样,这个对象也可以由 多个对象组成。对于同类的事物,可以由个对象来表示。这样做的益处是显而易见的, 它灵活而高效,可以大大减轻设计人员的工作量,简化实际的模型。 举一个例子。在关系型数据库的设计当中,我们可以把一个元组当作对象,给它定 义一组操作方法。这些方法将适用于所有元组,从而我们不必在更大的范围内去细致地 考虑不同的元组( 如判断个元素是否合法) ,因为它们有一组公共的面向本身的方法, 它们“自己”可以“解决”自己的问题。更上一层的对象可以是一个表、视图等。表对 象在元组对象的基础上又有它们自己的方法,如增加、删除等。从这个层面上讲,它也 只需要做“自己”的事情,因为有元组对象的支持,它无须去考虑像元素是否合法这类 的事情。甚至,有时为了满足需要,我们还可以将元素或表群当作对象并定义它们自己 的方法。这样,更能显示面向对象的优势。 2 3 2 面向对象设计方法 在具体的设计过程当中,还应该采用适当的方式。因为面向对象的思想固然很先进, 如果做得不好的话,同样不能达到预期的效果。这主要表现在没有处理好对象与对象的 关系及对象与对象的层次。如上面所举得关系型数据库的例子,如果在元组层面上。对 象过多地考虑一个表对象因素,或在一个表层面上,对象过多地考虑一个元组对象因素, 甚至去考虑元素层面上的因素,这些都不是好的面向对象的设计方法。这一点,在语言 实现方面,j a v a 比c + + 更具有优势,因为它不允许多重继承,从而使对象之间的关系更 明确。谁也不会否认c + + 的面向对象功能更强大,但是它也要由此付出巨大代价当 现在代码库发展到一定程度、一定规模时,各个对象之间的层次关系将变得异常复杂, 给后继使用者的学习、理解带来很大的困难,应用上很难把握。另外,虽然c + + 具备面 向对象的处理能力,但它还是保留了很多面向过程的东西。用c + + 完全可以不用面向对 象的思想来进行程序设计,当然人们不会这样去做一除了那些只是把c + + 看成是c 扩 充的初学者,这就为以后的发展埋下了隐患。在这一方面,j a v a 的限制更多一点。搞开 发的是人,开发方法是由人决定的。要应用面向对象的方法开发出优秀的软件,必须要 8 南京航空航天大学硕士学位论文 求开发人员具有良好的面向对象的思想。好的工程师可以利用适当的工具开发出优秀的 软件而不在乎他所使用的语言工具j a v a 、c + + 、o b j e c tp a s c a l 、a d a 等。 2 3 3 面向对象方法的应用 要能应用面向对象的思想熟练的做好系统分析、设计、实现( 编程) ,首先要求开 发人员知道什么是对象,什么是面向对象的概念,否则更谈不上应用面向对象的思想搞 软件开发了;其次,还要求开发人员有比较丰富的开发经验,否则,光谈理论,是不能 真正体会“面向对象”含义的。尽管如此,我们还是可以定义出一般的规则。抛开生命 周期的其它阶段,对一个确立的系统一般可以进行以下几个过程: 1 首先应用面向对象的思想进行系统分析。仔细划分系统的各个部分,明确它们之 间的层次关系,然后将各个部分作为一个对象进行功能上的分析。例如,要设计一个用 户界面,它可能由几个主要的窗体组成:主窗体m a i n f r a m e 、功能性子窗体f u n c t i o n f r a m e 以及对话框d i a l o g 。其中,m a i n f r a m e 中可能还包括菜单、工具条、文本框、状态条等 w i n d o w s 组件。对于要完成一些重要功能的组件,我们可以单独将它作为一个对象看待, 在具体的实现中,用单独一个类来表示。而一些并不是很重要的,只是在过程中需要用 到的组件,就可以将它们集成到其他对象中去。要明确每个对象自己的任务,不要让它 有缺陷,也不能越殂代庖。各个对象之间的关系是通过过程、内容、功能等耦合来实现 的。 实际上,如果你是用j a v a 进行开发,你会发现s w i n g 组件本身就非常好用,因为它 们之间的关系是很分明的你无须去理解分清象c + + 中的组件那样复杂的关系。在开 发你自己的组件时,也需要力求达到这样的效果。 2 其次,应用面向对象的思想进行系统设计。其实在真正做好了系统分析的工作之 后,进行设计就比较轻松了。这段时间只需进一步确定各个对象的功能以及各个对象之 间的关系。为了能够更好地帮助设计人员明白各个对象之间的关系,可以利用一些工具 将这些组件的关系表示出来,统一建模语言( u n i f i e dm o d e l i n gl a n g u a g e ,u 乩) 就是 这样的一种好的工具。它不仅可以帮助开发人员了解整个系统,也为以后的维护工作提 供了一个档案文件,给后期的工作带来了巨大的方便。 3 实现( 编码) 。这点就不用多说了。 在搞软件开发时,编码不是最重要的。分析、设计才是最重要的。也许当我们接受 了一些更先进的思想之后,会更加理解这一点。希望我们中国的软件开发人员能够应用 热交换器信息管理系统的分析和设计 面向对象的思想开发出具有国际竞争力的优秀软件。 2 4 面向对象开发技术的特性 2 4 1 面向对象开发的优点 对象概念对软件解决方案具有莫大的好处,在设计优秀合理的情况下尤其如此。你 可以只编写一次代码而在今后可以反复重用,而在非o o p 的情况下,你则多半要在应用 程序内部的各个部分反复多次编写同样的功能代码。所以说,由于面向对象编程减少了 编写代码的总量,从而加快了开发的进度,同时也降低了软件中的错误量。 用来创建对象的代码还可以用于多个应用程序。比方说,你的团队可以编写一组标 准类来计算你的可用资源,然后用这些代码在所有需要同类对象的解决方案中创建对象, 比如客户定单接口、股票价值报表和发给销售队伍的通知等等。 o o p 的另一优点是对代码结构的影响。像继承之类的面向对象概念通过简化变量和 函数的方式而便利了软件的开发过程。o o p 可以更容易地在团队之间划分编码任务。同 时,由于采用o o p 方法,使得辨别子类代码的依附关系变得更简单化了( 比如说继承对 象的代码) 。此外,软件的测试和调试也得以大大简化。 2 4 2 面向对象开发的缺点 但是o o p 也存在一些固有的缺点。假如某个类被修改了,那么所有依赖该类的代码 都必须重新测试,而且还可能需要重新修改以支持类的变更。还有,如果文档没有得到 仔细的维护,那么我i t j , l l i 难确定哪些代码采用了父类( 被继承的代码) 。假如在开发后 期发现了软件中的错误,那么它可能影响应用程序中的相当大部分的代码。 2 5 面向对象的软件工程 尽管面向对象的语言正在取得令人激动的进展,但我们都知道,编码并非是软件开 发中问题的主要来源。相比之下,需求和分析的问题更加普遍,而且它们的纠错代价更 加昂贵。因此,对0 0 开发技术的关注就不能仅仅集中在编码上面,更应集中关心软件 工程的其他方面。0 0 方法在处理复杂系统的分析和设计及分析和设计的重用方面,都具 有非常广阔的应用前景。如果我们承认0 0 的软件开发不仅仅局限于编码活动,那么就必 须采用一种全新的开发模式,包括新的软件生命周期。目前最常见的生命周期是“瀑 布”模型( 结构化) 。它是在6 0 年代末“软件危机”后出现的第一个生命周期模型。如 1 0 南京航空航天大学硕士学位论文 下所水。 分析一一设计一一编码一一测试一一维护 如图所示,瀑布式生命周期的开发过程是顺序行进的,活动流向基本是单向的。它 的前提条件是开发者在开发初期对系统有足够的了解。不幸的是,任何软件开发活动都 不可避免地要涉及大量迭代过程,无论你事先是否有安排。好的设计人员指的是那些能 同时在抽象的层面和具体的细节上进行工作的实践家。总的来说,瀑布式生命周期的缺 点表现在三个方面:( 1 ) 后期的变化、迭代、改动困难;( 2 ) 不支持重用:( 3 ) 没有一 个联系各个阶段的统一模型。 面向对象的方法从问题模型开始,然后就是识别对象、不断细化的过程。它从本质 上就是迭代的和渐增的。在这里,快速原型和反馈环路都是必需的标准结构。开发过程 就是一次次的迭代反复的过程。随着迭代的进行,系统的功能不断地得到完善。而在这 里,传统的开发模式中,分析、设计和编码等各个阶段之间的界限也就变得模糊起来。 其原因是对象的概念弥漫了整个开发过程。对象和它们之间的关系成为分析、设计和编 码等各个阶段的共同表达媒介。开发的重心从编码向分析偏移,从功能为中心向数据为 中心偏移。而且,面向对象开发的迭代性和无缝性使得代码重用变得更加自然。 2 6 小结 本章主要对面向对象技术进行了详细的阐述,其中,简单介绍了面向对象的基本概 念和特点,并对面向对象技术的开发应用进行了重点描述,强调了面向对象技术的优缺 点。最后讲述了面向对象技术在软件工程中的作用。总的来说,面向对象的技术是以前 的软件开发技术自然演进的成果,对许多应用领域的软件开发都极具前途和价值。 热交换器穰惠管理系统的分析和设计 第三章a u t o c a d 二次开发概述 a u t o c a d 2 0 0 0 继承了a u t o c a d 贯的开放灵活的风格,向用户提供了传统的面尚过 程的开发工具,如a d s a 溅r x ( 结构化的面向过程的开发工具) 、a u t o l is p ( 解释型的过程 语言) ;同时也推出了以面向对象技米为主的全新二次开发工具,翔o b j e c ta 麟( 面向对 象的e + + 开发工具) 、a c t i v e xa u t o m a t i o n ( 面向对象的解释型开发工具) 、 v i s u a l l i s p ( 面向对象的l i s p 开发环境) 等。其中,a c t i v e xa u t o m a t i o n 丰富了a u t o c a d 的a p i ,为a u t o c a d 进行= 次开发汗辟了新的途径,使程序员可以使用各种面向对象的 高级开发语言,实现对a u t o c h d 的二次开发。 d e l p h i 是i n p r is e 公司推国的一种方便快捷的w i n d o w s 应用程序开发工具。d e l p h i 以o b j e c tp a s c a l 语言为基础,是完全面向对象( o o p ) 的结构化编程语言,具有完整的基 于组件设计与w 视化的开发环境,可让程序设计员快速生成程序原型及用户界面。d e l p h i 提供了完整的w i n d o w sa p i 的p a s c a l 接熙调用,支持o l ea u t o m a t i o n ,a c t i v e x ,d d e 及多媒体等组件,并具有强太的数据库支持能力,兼具c + + 的强大功能鞫v i s u a l b a s i c 的易用性,是开发a u t o c a d 的理想王具。 3 。1 a u t o c a d :次开发技术概述 广义上的= 次开发是指在某些系统软件及支撑软件的基础上,针对特定应用领域及 用户需求丽开发的应用软件。a u t o c k d 二次开发( 以下简称c a d 二次开发) 通常指在 a u t o c a d 的基础上,通过利用a u t o c a d 提供的歼放式资源和开放式体系结构。结合领域 或专业特色对a u t o c a d 进行的再开发,以满足本行业或本专业的特定需求。本文在对c a d 二次开发技术综述的基础上,提出将c a d 二次开发技术与人工智能相结合,从而完成更 复杂、内涵更串富的开发需求,并探讨了在机械工程中的应用。 3 。l 。l = 次开发的基础 * c a d 二次开发的基础得益予a u t o c a d 提供的汗放式体系结构( o p e na r c h it e c t u r e ) , 即由k u t o c a d 提供给用户的开发环境翱对用户开放的、可供用户开发的功能模块和数据 库。主要富以下凡个方面; 1 。外部命令:通过增加或修改程謦参数文件a c a d 。p g p ,便霹在a u t o c a d 态部使用i 南京航空航天大学硕士学位论文 2 开放的“标准库”:如标准线型库a c a d l i n 和标准剖面线库a c a d p a t ,用户可 增加、修改,甚至重定义; 3 用户界面:a u t o c a d 提供开放的菜单、状态条、d c l 对话框语言等用户界面功能, 方便用户的界面设计; 4 “帮助文件”用户化:用户可重定义或修改a u t o c a d 的帮助文件,也可以定制帮 助文件; 5 命令组文件:命令组文件( 十s c r ) 是包含a u t o c a d 命令序列的a s c i i 文件,用户 可根据需求自行定义命令组文件; 6 用户可重新定义或取消a u t o c a d 的命令; 7 d i e s e l 语言( d i r e c ti n t e r p r e t i v e l ye v a l u a t e ds t r i n ge x p r e s s i o nl a n g u a g e ) : d i e s e l 表达式可通过方式宏( m o d em a c r o ) 使用系统变量; 8 编程开发界面a p i ( 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 s ) :主要有a u t o l i s p 语言及编程,提供v i s u a ll i s p 功能:a c t i v e xa u t o m a t i o n 自动化,可作为自动化控制 器的应用程序;a r x 编程界面( a u t o c a dr u n t i m ee x t e n s i o n ) ,可利用先进的c + 十语言进 行编程,也可以使用第三方开发的a r x 程序。 3 1 2c a d 二次开发的主要途径 在a u t o c a d 的环境下,进行二次开发的主要途径是文件开发及程序开发。 1 文件开发 文件开发指根据用户需求,按照a u t o c a d 提供的标准文件格式及方法,建立、增加 或改变、编辑a u t o c a d 支持的a s c i i 码标准文件,以:达到用户需求。文件开发主要用于 解决图形的一些形式化问题,也可以与其它高级语言或c a d 系统进行数据交换。 2 程序开发 a u t o c a d 的程序开发,可懈决较深层次及较复杂的问题,因而功能也更强大,也便 于实现c a d 的智能化。程序开发的环境,随着a u t o c a d 的发展,先后经历了以下变化; ( 1 )1 9 8 5 年6 月,a u t o c a dr 2 1 7 版将a u t o l i s p 作为内嵌式语言,提供第一代 开发环境; ( 2 )1 9 9 0 年1 0 月,a u t o c a dr 1 l 版增加了a d s ( a u t o c a dd e v e l o p m e n ts y s t e m ) 高级开发系统,使用户可以用c 语言对a u t o c a d 进行二次开发。这是a u t o c a d 的第二代 开发环境; 热交换器信息管理系统的分析和设计 ( 3 ) 1 9 9 7 年,a u t o c a dr 1 4 版提供a r x 开发环境,用户可使用c + + 语言对a u t o c a d 进行二次开发,这是a u t o c a d 的第三代开发环境。此外,该版本还将v b a 作为软件的标 准安装组件,并成为二次开发的第四种工具,这种基于a c t i v e x 的编程手段,可以使用 户充分利用m i c r o s o f tv i s u a lb a s i c 的优点,编制和处理w i n d o w s 风格的c a d 应用程序。 ( 4 ) 1 9 9 9 年,a u t o c a dr 2 0 0 0 版采用改进的o b j e c ta r x 开发环境,将v i s u a ll i s p 作为内嵌式语言。 3 1 3c a d 二次开发的主要方法 c a d 二次开发的主要方法是参数化设计,就是根据产品零部件的性能参数,确定其 几何形状或结构尺寸的一种设计方法。也就是说,把零部件图形的尺寸与一定的设计条 件相关联,或者说是把这些尺寸看成是“设计条件”的函数,当设计条件改变时,零部 件图形的尺寸可以随时得到相应改变。参数化设计,可以大幅度提高机械设计的效率, 是c a d 二次开发技术的主要手段之一,也是机械c a d 的核心任务。 1 参数化设计的涵义 参数化设计有两种涵义。一是指绘图软件本身具有参数化功能,任何交互式的尺寸 改动都会导致整个模型的改变,也就是说,只要修改了模型中的某一个尺寸,则楚个图 形中与此相关的尺寸都会自动更新。如a u t o c a dd e s i g n e r 软件。如果两个尺寸间存在非 常复杂的物理关系,很难用几何关系表达清楚时,这种方法可能会失败。也就是说,这 种方法主要适用于结构不太复杂的图形。其二是指应用程序具有参数化功能,通常由用 户或第三方开发出的一些应用程序,主要针对某一领域中的某一具体问题,进行参数化 设计,即该应用程序负责与用户交互,当需要修改某一尺寸时,应用程序负责更新该尺 寸以及与之相关的其它尺寸。生成应用程序的方法很多,主要有a r x 应用程序、a u t o l i s p 应用程序、a c t i v e x 应用程序等。这种方法的编程量很大,另外,要修改图形时,需要 重新运行程序。目前,尚无将这两种方式结合起来的软件系统,一般所说的参数化设计 均指第二种方式。 2 可进行参数化设计的零件类型 机电产品尽管种类繁多、性能不同、用途各异,但只要能通过零件分析,提取标准 化或系列化的参数,都可以进行参数化设计。主要有下述类型:( 1 ) 已经标准化或系列 化的产品;( 2 ) 结构相同或相似零件;( 3 ) 可由性能参数确定的一些常用传动零件;( 4 ) 基本图形元素形状已标准化的零件:( 5 ) 专用零件或部件。 南京航空航天大学硕士学位论文 3 参数化设计的基本类型 按参数化设计的空间特征来看,有二维参数化设计及三维参数化设计。二维参数化 设计是指直接在二维平面上对所设计的产品进行构型( 进行结构特征分析并确定参数) , 然后绘制三视图。二维参数化设计与现行的普通绘图方法基本相似,其主要优点是设计 过程清晰,参数明确,可以设计任意结构零件,缺点是不易保证各方向视图的一致性, 不便于进行交互式修改。三维参数化设计是指首先构造三维空间模型,然后通过对三维 模型的投影或剖切,生成= 维平面上的三视图或剖面图。三维参数化设计的优点是可以保 证各方向视图的一致性,可以生成不同要求的二维三视图,并且便于与c a m 系统实现对 接,缺点是造型复杂,编程要求高,对复杂三维实体其表达及实现方法都不如二维参数 化设计灵活。 当然,无论是二维还是三维参数化设计,上述过程都需要用程序来实现,其基本方 法有两种类型:其一是通过高级语言接口实现参数化设计,这种方法的核心思想是:通 过高级语言编制接口程序,用s c r 命令组文件及d x f 文件来进行参数化设计及绘图。其 优点是方法比较成熟,容易实现,缺点是对每一种图形,都要编制相应的程序,工作量 较大,通用性差。其二是通过应用程序进行参数化设计,这种方法的基本思想是:用a u t o l i s p 、v i s u a lc + + 或v i s u a lb a s i c 等高级语言编制参数化绘图程序。一方面可以得到 a u t o c a d 的支持,可以充分运用a u t o c a d 的资源及强大功能,另一方面由于这些高级语 言具有很强的数值计算功能、数据交换功能、资源管理功能以及面向对象编程的特点, 便于实现人工智能,因而是参数化设计的主要方法。 通过应用程序进行参数化设计,主要有两种类型:一是用程序驱动法进行参数化设 计。该方法的特点是将设计对象及设计过程中的数学、物理等关系式都融入应用程序中, 在程序的控制下,顺序执行预定的设计表达式,并通过与用户的交互,完成图形绘制; 另一种方式是尺寸驱动法进行参数化设计,其特点是:首先对欲生成i 訇形作结构参数分 析,提取结构尺寸的特征参数并进行标识,在应用程序中通过与用户交互,完成这些参 数的赋值或修改。然后由程序自动生成所需图形。主要用于绘制结构相对较为简单的图 形。 此外,参数化设计需要做大量的准备工作,主要有;( 1 ) 设计资料的计算机处理, 如简单数表的存储、列表函数的存储、线图的处理、材料性能数据的处理、公差数据的 处理等。( 2 ) 常用标准图形库的建立,如标准零件库、系列化产品库、传动类零件图库、 图素库等;( 3 ) 常用符号库的建立。( 4 ) 常用函数库的建立如零件的强度、刚度、稳定 1 5 热交换器信息管理系统的分析和设诗 性、寿命等指标计算的标准予程序( 或鹂数) 等。这些工作,可以极大地方便设计时调用。 3 1 。4c a d 三次开发技术的现状 利翔c a d 进行二次开发的优点在于;( 王) 可以充分利用a u t o c a d 的现有及未来开放 式资源;( 2 ) 可戬依托a u t o c a d 的强大优势,节约时间与资金,迅速满足需求;( 3 ) 便 于与国际接轨,便于信息存储、交流和交换;( 4 ) 便于学习a u t o c a d 先进的、成功的技 术及经验。缺点是受制予a u t o c a d 的发展战略,不得不被动地紧跟a u t o c a d 的发展步伐。 目前,国内已有不少的c a d 二次开发系统,现有c a d 二次开发系统的主要特点如下: ( 1 ) 提供了符合国际标准的初始化、图纸设置、序号、明细表管理等功能,提供常用图 形符号库以及标准件库,如建筑、液压、化工、机械等行业的标准件库。可以大大提高 绘图效率;( 2 ) 提供了部分零件的参数化驱动或尺寸驱动绘图功能,并能进行参数化图 库管理;( 3 ) 部分实现了零件的装配功能以及文档管理功能;( 4 ) 提供工艺标准以及焊 接等标注方法,增加了一些专业特色内容,因焉方便了专业人员的设计和绘图;( 5 ) 把 部分设计资料融入到系统中,具备在线查询、计算及选择功能,有的系统还提供了一些 常用撬槭零件的设计功熊模块。 3 。2c a d 的a c t i v ea u t o m a t i o n 技术简介 a ctiv ea u t o m a tio n 技术是微软提供的a p i 和一组规范,

温馨提示

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

最新文档

评论

0/150

提交评论