面向对象的液压系统分析研究Word文件下载.docx
- 文档编号:3035902
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:9
- 大小:20.47KB
面向对象的液压系统分析研究Word文件下载.docx
《面向对象的液压系统分析研究Word文件下载.docx》由会员分享,可在线阅读,更多相关《面向对象的液压系统分析研究Word文件下载.docx(9页珍藏版)》请在冰点文库上搜索。
例如,区分一棵树和树的大小或空间位置关系。
区分整体对象及其组成部分。
例如,区分一棵树和树枝。
不同对象类的形成及区分。
例如,所有树的类和所有石头的类的形成和区分。
”
ooa就是建立在以上三个常用法则的基础上。
ooa模型描述了表示某个特定论域中的对象,以及各种各样的结构关系和通信关系。
ooa模型有两个用途。
首先,每个软件都建立在特定的现实世界中,ooa模型就是用来形式化该现实世界的“视图”。
它建立起各种对象,分别表示软件系统主要的组织结构以及现实世界强加给软件系统的各种规则和约束条件。
其次,给定一组对象,ooa模型规定了它们如何协同才能完成软件系统所指定的工作。
这种协同在模型中是以表明对象之间通信方式的一组消息连接来表示的。
本文采用edyourdon建议的分析方法,ooa模型被划分为五个层次。
这种层次结构允许从不同的角度来看待ooa模型,而且,这种结构也便于有效地处理比较大的ooa模型。
ooa模型的五个层次分别如下:
对象-类层属性层服务层结构层主题层其表示法如图1所示。
图1ooa模型的结构
第一层,对象-类层表示待开发系统的基本构造块。
对象都是现实世界中应用论域概念的抽象。
这一层是整个模型的基础。
图符的外层边界表示实例边界,实际上它表明对象是非空的。
而图符的内层边界则表示类边界。
有时可以定义一些不当作程序块来实现的对象,即只有类边界而没有实例边界。
在某些情形下,定义这种对象是很有用的。
我们将它们称为模板类或抽象类。
模板类可以为结成较高级的聚合体提供一条方便的途径。
第二层,属性层,对象的属性和实例连接共同组成了ooa模型的属性层。
我们把对象所存储的数据称为对象的属性。
类的实例之间互相约束,它们必须遵从应用论域的某些限制条件或事务规则。
例如,当定金取消后,相应的订户也应该被取消,这可能是一项事务规则。
我们称这些约束为实例连接。
第三层,服务层,对象的服务和消息通信组成了ooa模型的服务层。
我们把对象所做的工作称为服务或方法。
系统的不同对象都分别执行一定的工作或功能,它们之间通过消息通信,即所谓的协同,如图中的箭头所示。
对象的服务及对象实例之间的消息通信共同组成了ooa模型的服务层。
第四层,结构层,该层负责捕捉特定应用论域中的结构关系。
泛化---特化结构获得类及成员组织,有助于刻画问题空间的类-成员层次,它通过搜集公共特性并把这种特性扩充到特例中来显示现实世界事件的通用性及专用性。
整体—部分结构表达了人类的一种基本组织方式,即自然的整体和部分的结构关系,从而把一些部分的聚合构造成整体。
例如,一辆汽车由发动机、传动装置和刹车装置组成。
第五层,主题层,相当于全局系统的子系统或子模型。
由于ooa模型的结构庞大而复杂,因此众多的对象有时很难处理。
于是,可以把对象归到各个主题层中,可以把有关的对象用一个边框框起来加以实现。
例如,在一个控制系统中,众多的对象可分为“管理”和“控制”两个主题,则可以用图2表示。
图2主题层示例
以上简单介绍了面向对象的分析及在本文中的表示方法,下面将研究面向对象的分析在液压系统设计中的应用。
二、液压系统面向对象的分析
二、液压系统面向对象的分析问题描述液压系统分为液压传动系统和液压控制系统两种类型,本文的研究对象是液压传动系统。
液压系统是能实现系统功能的液压回路的总和。
液压回路又是能实现某种规定功能的液压元件的组合。
液压元件是组成液压系统的基本单元。
主要的液压元件有液压泵、执行元件(液压缸、液压马达)、液压控制阀(压力控制阀、流量控制阀、方向控制阀等)、液压辅件(密封圈、滤油器、蓄能器、油箱及其附件、管件、热交换器等)。
液压控制阀按照其安装形式的不同又可分为普通阀、叠加阀、插装阀。
液压回路是液压元件组成的功能单元。
液压回路主要有压力控制回路、流量(速度)控制回路、方向控制回路、安全回路、定位回路、同步回路、顺序动作回路等。
以上分类只是粗略分类,限于篇幅,详细分类此处不一一列出。
液压系统设计就是根据机械师提出的主机的动作循环要求、静、动态性能及液压系统工作环境等方面的要求,进行系统的工况分析,确定主要参数(包括系统压力、系统流量、液压执行元件类型及主要参数等),选择合理的液压回路和液压元件,设计工作的最终形式是液压系统原理图和各种技术文件。
标识类和对象类和对象是对应用论域中的概念的标识,是系统分析的基础。
这一过程要考虑许多情况,以形成软件复用的基础。
类和对象的标识是从对问题描述的分析开始的。
在液压系统中抽取出如下对象(本文的类即对象都是以大写字母表示):
液压系统(hydraulicsystem)、执行元件(actuator)、液压缸(cylinder)、液压马达(motor)、液压回路(circuit)、压力控制回路(pressurecontrol)、流量(速度)控制回路(speedcontrol)、方向控制回路(directionalvalvecontrol)、安全回路(securitycontrol)、定位回路(positioncontrol)、同步回路(synchronisecircuit)、顺序动作回路(sequeuntcircuit)、液压泵(pump)、阀(valve)、压力控制阀(pressurevalve)、流量控制阀(flowvalve)、
方向控制阀(directionalvalve)、液压辅件(accessory)……普通阀(commonvalve)、插装阀(cartridgevalve)、叠加阀(superimposedvalve)……。
因为液压系统是一个很复杂的系统,在此不可能将所有的对象都列出,本文只列出了部分对象,为下文继续分析提供依据。
标识结构结构层反映了对象之间的组装及继承关系。
整体-部分结构标识了组装结构,泛化-特化关系反映了继承关系。
如果父对象,或泛化对象的属性或特征可为其所有的子对象,或特化对象共享,就建立起了泛化-特化关系。
父对象和子对象的这种属性共享就称之为继承性。
父对象是由若干子对象以某种方式组装而成的,就构成了整体-部分关系。
这种关系一般建立在物理组装的基础上。
虽然整体-部分关系不象泛化-特化关系那样具有继承性,但它们也同样有重复度和参与度特征。
重复度是指组成一个父对象的子对象的数量。
(例如,一个液压系统中有若干个调速回路。
)参与度是指父对象或子对象是否都必须在整体-部分关系中出现。
(例如,一个液压系统有若干个调速回路,而一个调速回路并不一定是一个液压系统的一部分。
)
在液压系统中,由于液压回路组成了液压系统,液压元件组成了液压回路,所以整体-部分结构较容易标识。
以液压回路组成液压系统为例,可得到图3所示的组装结构。
图3液压系统的组装结构示例
图中数字表示了整体与部分之间的数量关系。
1,m表示一个液压系统可由一个或多个泵源回路组成;
0,m表示一个液压系统可以包含零个或多个相应回路;
0,1表示该回路可以不作为该液压系统的组成回路,也可以作为该液压系统的组成回路。
泛化-特化关系在液压系统中也是广泛存在的。
以阀的泛化-特化关系为例,可得到如图4所示继承关系。
图4泛化---特化结构示例
4.标识主题过去的结构化模型的特征之一就是层次分解。
而大多数ooa模型的结构都相对平坦,除非应用论域使用泛化-特化结构或整体-部分结构。
事实上,可以通过建立多个主题来处理规模比较大的复杂模型。
每个主题可以看作一个子系统。
主题的概念是从观察者的角度来看的。
分析员可以依据子论域、子系统,甚至组织或地域等来区分主题,只要运用得当,所有这些规则都有助于主题划分。
本文讨论的液压系统根据子系统原则划分为三个主题层。
组成液压系统的液压回路对象及其对象之间的联系构成了回路层;
组成液压回路的液压元件对象及其之间的联系构成了元件层。
各主题层内对象之间与主题层间的对象之间都存在着实例连接和消息通信。
两个主题层共同构成了一个复杂的液压系统。
液压系统主题层如图5所示。
图5主题层示例
5.标识属性及实例连接ooa模型的属性层包括对象属性和对象之间的关系(实例连接)。
对象属性即对象内部封装的数据。
实例连接可以看作是一种事务规则或应用论域约束,这些连接表明一个类中的对象如何与另一个类中的对象相关联的。
标识属性的目的就是为前面已经确立的各个对象建立一系列属性。
本文的属性均以小写字母来表示。
标识属性的基本做法是:
标识属性、修改ooa模型的其它层以适应这些属性,如果有必要的话修改对象,然后重复这个过程。
之所以有时会有修改对象的可能,是因为在表示对象时发现有的属性对于某些对象不适合。
例如,在为液压缸(cylinder)标识属性输出力(output_force)时,发现该属性不适合于摆动式液压缸,因此发现cylinder这个对象需要细化为直线型液压缸(linearcylinder)和摆动式液压缸(rotarycylinder)。
其相应属性分别为output_force和output_torque。
本文讨论的液压系统的属性标识的一部分如表1所示。
hydraulicsystem
system_name
pressure_level
designer
pressure
max_flow_quantity
actuator
actuator_id
flow_quantity
cylinder
piston_diameter
maximum_operating_pressure
mounting_method
symbol_drawing_name
linear_cylinder
piston_rod_diameter
stroke_length
output_force
speed
rotary_cylinder
stroke_angel
output_torque
angular_speed
motor
circuit
circuit_id
circuit_name
component_number
component_name
pressure_control
control_type
……
valve
valve_id
valve_name
pressure_valve
operation_type
hydraulic_graphics_lib
lib_id
lib_name
lib_state
lib_details
表1液压系统属性标识示例
系统的实例连接示例如图6所示(为简单起见,图中略去了属性标识)。
图6实例连接示例
6.标识服务及消息通信
前面讨论的均是应用论域的某个静态方面。
对象之间的动态关系可以表示为对象所执行的服务以及对象之间传递的消息。
建立动态关系是为了说明所标识的各种对象是如何共同协作,使系统运作起来的。
通常的步骤是,首先标识在每个对象中必须封装的一组服务;
然后将服务与对象的属性相比较,验证其一致性。
如果已经标识了某个对象的属性,那么每个属性就必须关联到某个服务,否则这个属性对于这个对象来说就形同虚设,永远不可能被访问。
然后画出对象之间的消息通信路径,协调系统的行为。
以“液压系统”这个最上层的类-对象为例,它有五个属性(system_name,pressure_level,designer,pressure,max_flow_quantity)。
“液压系统”具有的行为:
set_name,get_name,set_system_level,get_system_level,set_pressure_level,get_pressure_level,set_designer,get_designer,set_pressure,get_pressure,set_max_flow_quantity,get_max_flow_quantity。
“液压系统”与其它许多类--对象之间都有消息通信。
以“液压系统”与“执行元件”之间的消息通信为例。
“液压系统”在计算系统压力(pressure)和系统最大流量(max_flow_quantity)时,需要各个执行元件的压力和流量参数,因此“液压系统”在计算系统压力和流量时,向“执行元件”发送消息,请求提供相关参数。
两个对象及其消息通信如图7所示。
图7服务及消息通信示例
图中“执行元件”只有类边界而没有实例边界,因为在现实世界中它需要以“液压缸”和“液压马达”的形式出现。
三、结论
本文以面向对象的分析方法进行了液压系统信息模型的分析研究,采用了edyourdon的ooa分析和建模方法,讨论了液压系统的ooa模型的建立的过程。
在此作者并未给出液压系统的详细ooa模型,原因有两个:
液压系统是一个复杂的系统,在短短的几页内很难完善表达系统的整体模型;
作者写作本文的主旨是希望和进行系统分析和设计的研究人员探讨面向对象的方法在工程设计中的应用,因此文中未涉及较深入的液压领域专业知识。
面向对象的分析模型是软件系统开发的基础,最终要过渡到面向对象的设计模型和面向对象的程序设计。
然而,面向对象的分析过程却是最重要的,因为在这里主要涉及应用论域的问题,分析过程是对应用论域认识逐步深入的过程。
只有对应用论域有了充分的认识才能建立起完善的设计模型,开发出符合应用论域要求的软件系统。
因此,工程系统分析人员应该掌握面向对象的分析方法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 液压 系统分析 研究