首页 EB讲坛 EB平台 什么是面向对象的工程设计?

什么是面向对象的工程设计?

更新日期:2023-03-07 11:36:17

很多非软件专业的工程技术人员会问?什么是“面向对象”?我们今天简要介绍一下。

1.   面向对象的基本概念与术语

从一般意义上讲,对象(Object)是客观现实世界中一个实际存在的事物,它可以是有形(比如一本书、一个碗、一个钟表等)也可以是无形的(比如一项计划。一个班级等),对象是构成世界的一个独立单位。他具有自己的静态特征(可以用某种数据来描述)和动态特征(对象所表现的行为或具有的功能)。

面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位。对象是由一组属性和一组行为构成。属性是用来描述对象静态特征的数据项,行为是用来描述对象动态特征的操作。

2.   面向对象方法的由来

在面向对象的方法出现以前。一般都是采用面向过程的程序设计方法。早期的计算机是用于数学计算的工具,例如,用于计算导弹的飞行轨迹。为了完成轨迹计算,程序设计人员必须设计出一个计算方法或解决问题的过程。因此,软件设计的主要工作就是设计求解问题的过程。在20世纪70到80年代,结构化程序设计方法成为所有软件开发设计领域及每个程序员都采用的方法。结构化程序设计由于采用了模块分解与功能抽象以及自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统的设计任务分解成很多易于控制和处理的子任务,便于开发和维护。

虽然结构化程序设计方法具有很多优点,但它仍然是一种面向过程的程序设计方法。它把数据和处理数据的过程分离为相互独立的实体,当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法。都要带来额外的开销,程序的可重用性差。

例如文字处理程序的使用,一个好的文字处理程序,使用起来非常方便,几乎可以随心所欲,软件说明书中绝不会规定任何固定的操作顺序。这种软件的功能很难用“过程”来描述和实现。如果仍用面向过程的方法,开发和维护都将十分困难。

那么什么是面向对象的方法呢?首先,它将数据和对数据的操作放在一起,作为一个相互依存,不可分离的整体——对象。对同类型对象抽象出其共性,形成类。类中大多数数据,只能用本类的方法处理。类通过一个简单的外部接口与外界发生关系。对象与对象之间通过消息进行通信。这样,程序模块间的关系更为简单,程序模块的独立性,数据的安全性就有了良好的保障。另外,通过继承与多态,还可以大大提高程序的可重用性,使得软件的开发和维护都更为便捷。

3.   面向对象的工程设计

工程设计,作为计算机辅助工程最具挑战性的应用领域之一,需要创建和操作具有各种关联关系的复杂实体。在整个设计过程中,对设计实体和关系的描述会发生变化。一个协作工程设计环境不仅应该支持最终产品的表示和其组件之间的关系,而且还应该支持组件和相关知识在产品的整个生命周期中的演变。在产品的整个生命周期中,数据平台需要集成大量的数据模型和文档,这些数据模型和文档来自不同的专业,在这些数据模型和文档往往并不是孤立存在的,它们之间会存在大量的关联关系,如何建立和管理这些关联关系显得非常重要。

面向对象的工程设计主要具备以下几个特点:

1.具备有各种类型的对象模型:例如设备模型、功能模型、位置模型等。工厂中的每一个设备、位置、功能等都会有一个唯一“对象数据模型”与之对应,所有与这个对象相关的参数,比如设备编号、描述信息、额定压力等参数都作为对象的属性得以保存。


2.对象之间具备有各种关联关系:对象模型之间是通过各种关联联系在一起。在决定产品的行为方面,这种关系和实体本身一样重要。例如在设备是用于实现某个功能需求的,那么设备对象就可跟功能对象创建关联关系,设备需要安装在某个建筑的某个房间,那么设备对象模型就跟房间位置对象模型创建了关联关系。把设备的不同符号绘制到不同类型的图纸上,设备模型就与图纸模型创建了相对应的关联关系。


3.不同的视图与一致性:一个设计产品的不同视图必须被生成和维护。设计产品模型的表示应该足够灵活,以允许逐步生成和操作这些视图。例如产品可以生成功能视图及位置视图等各种视图。在设计过程中,产品在各种视图之间保持一致性。具体到图纸,对象在不同类型的图纸上有不同的表示,这些表示符号只是同一个对象的不同表现方式。因此,在任意图纸上或者报表上对一个对象的修改都会同时反映到各种图纸和报表中,可避免工程设计过程中的各项参数不一致,保证了参数的一致准确性,避免了数据的反复多次录入。


4.层次化的数据结构:设计产品通常由许多设计实体组成,这些实体要么是复合的,要么是单独的。一个能够捕捉到设计实体的这种递归定义的数据模型应该包括用于表示设计组合的明确结构。当设计产品变得越来越复杂时,像聚合和概括这样的构造就变得非常有用。例如,机械工程领域的齿轮箱。一个齿轮箱由几个实体组成:一个顶箱、一个底箱、一些轴、齿轮、轴承和紧固组件。每个实体本身都是由几个相互关联的部分组成。事实上,齿轮箱本身就是一个机械系统的一部分,如汽轮机或压缩机。


AUCOTEC公司的数字化设计平台Engineering Base (EB)采用基于数据库及面向对象的平台技术,在工厂设计中各设备都能有全面的描述,如设备模型、功能模型、位置模型及它们之间应该有关联关系。模型可以各种图形方式无限制地显示在各种类型的图纸和报表中,这种图形化、数据化的描述构成了数据库的对象。项目数据存储在中央数据库中,作为唯一可信的数据来源。所有工程师都可以访问该工厂的数据模型和相关文档,而不受其专业、位置和语言的影响,以实现真正的并行协同设计。在协同设计过程,对象模型及数据在任意一处修改,其相关联部分图纸和数据将实时更新,确保各专业协同设计数据的准确与一致。

评论

有什么想说的在下面留言