热线电话:

上海御云信息科技有限公司

主营:PDM/PLM软件

商铺首页 > 新闻动态 > PDM系统的建模方法
上海御云信息科技有限公司
13
企业等级: 普通会员
经营模式:
所在地区: 上海 上海
联系卖家:    QQ在线咨询1046992166
手机号码:
公司官网: www.pdm.so
公司地址:

PDM系统的建模方法

发布时间:2013-09-16 06:57:12        

面向对象的建模方法

1.为什么需要面向对象

面向对象技术在信息系统建模方面的应用越来越普遍,PDM系统作为信息管理系统的一个分支,采用面向对象技术,不仅因为面向对象是目前信息系统普遍采用的建模方法和实现基础,更重要的是,PDM系统是一个面向工程信息管理的集成平台或集成框架。它要适应不同企业的不同工程信息管理的需求,而这种需求是千变万化的,任何一个PDM系统都不能保证其提供的功能可以不加调整就能适应各种用户的需求。

 

事实上,作为管理系统,各种PDM系统只能提供一些基本的功能,同时提供一些带半成品性质的管理框架,它们必须有很好的开放性,便于应用开发,才能将不同用户的管理思想和管理需求反映到这一系统中来,以满足不同企业的应用需求。

 

用户要把企业的管理思想落实到PDM系统的具体功能中,既要对PDM系统的原有功能有清醒的认识,又要对待扩展或待开发的功能有明确的把握,而这些都依赖对PDM系统的原有信息模型有足够、清晰的理解,只有这样,用户才能借助系统的开放性和开发工具,有效地将自身的需求通过扩展信息管理模型反映到原系统模型中。总之,在PDM系统中,既要保证系统模型的可扩充性和继承性,又要保证系统功能的相对稳定性。而这些正是面向对象技术所具有的基本特点。

 

2.面向时象的基本概念与特点

    (1)对象

    在自然世界中,对象就是描述客观世界的实体。如学生、教师、教室、黑板等都是自然世界中对象的例子。每个自然对象都有它自己的属性.如学生的学号、姓名、性别、年龄、年级、成绩等。自然对象的属性值可因施加于该对象上的行为动作而变更,如学生升级时,其“年级”属性要发生变化。自然实体对象在计算机系统中的内部表示被称为软件对象,简称对象。在面向对象的系统中,对象是外部属性数据和这些属性数据上允许操作的抽象封装。

 

    (2)类

    在面向对象系统中,人们并不去描述单个对象,而是将注意力集中于具有相同属性的一组对象.抽象出这样一组对象的共同的结构与行为。具有相同属性和允许操作的一组对象的一般描述,称之为对象类,简称为类;类中的每个对象都是该类的对象实例。或者说,对象类给出同类的一组对象的定义,同一类中的对象共享公共语义。但它们可以从其不同属性值和与其他对象的不同关系中体现其特征。在分析不同对象的基础上抽象出类,进而定义出完整的类模型,这是对象建模的基础与关键所在。

 

    (3)属性

    属性表达了类的对象所具有的资源。属性的类型可以是系统或用户定义的数据类型,也可以是一个抽象数据类型。在一个类中,每个属性名要求是惟一的。对于一个给定的属性而言,不同的对象实例可以有相同或不同的属性值。

 

    (4)消息

    一个完全孤立的对象是没有用处的,系统运行时对象之间要有相互作用。对象之问的相互作用是通过消息传送来进行的。所谓消息,即为对象之间进行通信的一种方式.由发送对象向接受对象发出的调用某个对象操作的请求,必要时还包括适当的参数传送。接受对象收到请求消息后,就按请求消息中指定的操作和参数来执行。对象间传送的消息一般由三部分组成,即接受对象名、调用操作名和必要的参数。对象操作执行的结果输出,可能还要返回给发送对像。

 

    (5)对象标识

    对象标识是在对象创建时,由系统定义赋给对象的。每个对象有一个惟一的标识,在对象的整个生命周期内,它是不可改变的。对象标识使程序在不考虑对象的内容、位置或地址时,就可以区别不同的对象。对象标识是有力的数据操纵原语,可以成为集合、元组和递归等复合对象操作的基础。

 

    (6)继承性

    对象类定义了具有相同结构和操作的一组对象,继承是对象类实现可重用性和可扩充性的重要特征。一个对象类可以定义为另一个更一般的对象类的特殊情形.这个一般对象类是特殊对象类的父类或超类(superclass ),或者说,特殊对象类是这一般对象类的子类(subclass)。子类继承父类的所有属性和操作,同时子类还可以定义自己特有的属性和操作。如果子类只有惟一一个父类,这是单一继承;如果子类有多个父类,则称为多重继承,在多重继承中一子类继承所有父类的属性与操作。

 

    (7)多态性

    多态性是指用相同的接口形式表示不同对象类中的不同实现的能力。类似于操作重载(overloading)的概念。相同的对象操作在不同对象中可以有不同的解释而产生不同的执行结果。可以认为这是多态性的一种***简单的形式。

 

    (8)动态联编

    在面向对象的语言中,联编是把一个消息和一个对象相结合。在程序运行时,对象接收到消息,处理消息的方法(过程)常常存储在高层次的类中,通常要动态地找到方法的地址,然后把方法和对象中的数据加以结合。联编叮以在编辑和链接时进行,叫做静态联编或编译时联编;也可以在运行时进行,叫做动态联编或运行时联编。一般面向对象语言支持动态联编。

 

    (9)封装性

    又称信息隐蔽性,是将其他对象可访问的外部内容与对象隐蔽的内部细节分开。这一特征保证了对象的界面***于对象的内部表达。对象的操作方法和结构是不可见的,接口是作用于对象上的操作集的说明,这是对象的惟一可见部分。封装性对程序设计带来了好处,改变一个对象类型内部的数据结构表达时,可以不改变在该对象类型上工作的任何程序。封装使数据和操作有了统一的模型界面,提供了一种逻辑数据的***性。

 

3.面向对象的建模方法

    面向对象方法包括面向对象分析、面向对象设计和面向对象编程这个方面。从建模角度考虑,主要涉及前两部分,而与面向对象编程无关。因为后者涉及所建模型的具体功能实现,与具体的对象编程语言相关,不作为建模中的***来讨论。

 

    (1)面向对象分析

    面向对象分析的目的是要构造能够理解实际系统的模型。分析的基本过程如图3-1所示。分析是从用户也可能是开发者提供的问题描述开始,这一描述是非完整的或非形式化的。分析使它更***并且和不一致的问题。虽然问题本身是可变的,但是应作为改进实际需求的基础。接下来必须理解问题描述的实际系统,并且将它的重要性抽象成模型。分析模型强调对象的三个方面:静态模型、动态模型和功能模型。模型用对象、关系、动态控制流和功能转换等来描述。并不断获取需求信息,且把与客户间的交流贯穿整个分析过程。

查看更多精彩图片
 

 

图3-1面向对象分析过程

 

    ①静态对象模型:静态模型描述对象、类以及类之间的相互关系。它首先要确定对象集合,识别对象类及其属性;其次要确定对象类之间的关系,主要有一般化与特殊化关系、聚合关系以及关联关系等。一般化与特殊化关系是面向对象分析的基本概念,在分析过程中,根据类的共性及个性将类***成不同层次。高层次的类表示共性,形成父类;低层次的类表达个性,形成子类,子类通过继承机制来获取父类的属性和操作。聚合关系是对象之间的组合构造关系,根据这种关系可以将对象***成不同层次,高层次的对象是容器对象,称为聚合对象,通过组成对象的操作来实现自身的操作;低层次的对象是内含对象,称为组成对象。关联关系表达了对象之间的引用关系和消息传递关系等,关联有其多重性,包括一对一、一对多和多对多等。

 

②动态模型:用事件和对象状态来刻画系统的动态特性。动态模型包括内部应用中的事件流,即事件跟踪;每个对象的动态的合法状态序列,即对象状态转换图。动态模型包括两个方面的内容:一是单个对象自身的生命周期演化;二是整个对象系统中对象间的消息传递和协同工作。对象生命周期演化主要包括三个组成部分:一是对象在生命周期中可能的状态;二是对象发生状态转换时要执行的动作,动作的效果不仅依赖于对象的操作,而且依赖于对象的状态;三是导致对象从一个状态到另一个状态转换的事件,事件是控制状态转换的条件。

 

这三个部分一起构成了对象生命周期中的状态转换图,描述对象内部的动态行为。对象的动态行为可以通过继承关系由子对象继承。子对象继承祖先的状态和转换。子对象状态图是父对象状态图的细化。在对象系统中,对象之间通过消息传递来协同工作,对应于系统的每一项任务,都有一组对象上的一组消息传递及动作来完成该任务。每个对象系统都要完成一组任务,而每个任务都有一个事件序列与之对应。因此,系统中对象协作的动态性质可以由一组事件序列来描述。

 

    ③功能模型:静态模型只说明了实际系统的静态数据结构,而动态模型说明了与时间相关的系统和在系统中的对象的特性。功能模型描述与值的变化有关的系统属性—功能、映射、约束及功能依赖条件等,功能模型只考虑系统如何从输人值得到输出值,而不考虑所计算的值的次序。功能模型由多张数据流图组成,数据流图说明数据流是如何从外部输入、经过操作和内部存储而到外部输出的。

 

    (2)面向对象设计

    面向对象设计包括系统设计与对象设计。系统设计是为实现需求目标而对软件的系统结构进行的总体设计,包括系统层次结构设计、系统数据存储设计、系统资源访问设计、网络与分布设计、并发性设计、对象互操作方式设计等。对象设计是根据具体的实施策略,对分析模型进行扩充的过程。对象设计包括:静态结构设计,即人机界面的对象模型、资源访问和数据存取的对象模型、网络访问支持的对象模型以及应用系统功能模型对应的对象模型;动态行为模型设计,即根据设计时获得的静态结构,对动态行为分析模型进行相应的扩充,获得完整的动态行为模型,然后将动态行为模型转换为对象模型中的操作来实现。通过对象设计及系统设计就可以获得设计模型,这是系统实现的基础。

 

对象建模技术

    面向对象分析与设计的方法很多,如Rumbaugh的OMT方法,Booch的OOD方法,Wirfs-Brock的RDD方法和Jacobson的OUSE方法等,这里***分析Rumbaugh的OMT方法。OMT(object modeling technique)方法***早是由Loomis, Shan和Rumbaugh在1987年提出的,曾扩展应用于关系数据库设计。J. Rumbaugh在1991年正式把OMT应用于面向对象的分析与设计。这一方法是在E-R模型基础上扩展了类、继承和行为而得到的,它覆盖了分析、设计和实现三个阶段.OMT包括一组定义得很好的并且相互关联的概念.它们是类(class)、对象(object)、一般化(generalization)、继承(inheritance)、链接(link)、链属性(link attribute),聚合(aggregation)、操作(opera-Lion) 、事件(event)、场景(scene) 、属性(attribute )、子系统(Subsystem)、模块(module)等。OMT定义也同样有三个模型,即对象模型、动态模型和功能模型,这些模型贯穿于每个步骤.在每个步骤中被不断地细化和扩充。

 

    (1)对象模型描述

    采用OMT方法来描述对象模型,其包括的基本内容有单个类的描述、超子类关系描述、类的关联关系描述等。图3-2给出了单个类的描述,包括类的名称、类的属性与类的操作方法。图3-3描述了超子类关系,上层为超类,下层为子类,子类继承其超类的所有属性和操作方法,且可以有自己特有的属性和方法,子类也可以作为其他子类的超类。一般类可分成抽象类和实例类,顾名思义,抽象类为不可实例化的类,实例类是可以实例化的类。通常,超类或带有子类的子类多为抽象类,没有子类的子类为实例类,特殊情况下,类树中间的超类也可以是实例类。

 查看更多精彩图片

 

图3-2单个类的对象模型符号

 查看更多精彩图片

 

图3-3超子类关系及连接符

 

    类之间除了层次关系外,还存在着关联关系.如图3-4所示,图(a)示出了两个类之间的关联定义,关联定义位于两个类的中间;图(b)示出了关联定义中的各种对应关系,或称关联的阶。关联定义可以是二元关联,也可以是三元关联,更高元的关联较少,常见的是二元关联。有时候,在模型定义及实现中,也有将关联定义模型化为类定义。即关联也是一种类,一种描述类之间关联的特殊类。这样。在整个对象模型中只见到类的层次关系。

 查看更多精彩图片

 

图3-4类的关联及关联的阶

 

      类之间的第二种关系为聚合关系,聚合关系表示的是“部分一总体”的关系。在这种关系中,把表示某物组件的对象和表示总体部件的对象联系在一起。聚合关系是元素间很强的一种关联形式,或是一种特殊的关联形式,而不是一个***的概念。在特定情况下,聚合关系增加了语义上的涵义。假若两个对象通过部分总体的关系组合在一起,那它就是一个聚合关系。如果两个对象通常被认为是***的,即使它们经常联系在一起,它也只能是关联。如图3-5所示,公司与***之间是一种聚合关系,而且是一种一对多的聚合关系:而公司与公司雇员之间是一种关联关系,同样是一对多的关系。通过上述三种关系,基本可以描述清楚对象模型,有关更复杂的关系描述请参考有关对象建模的专著。

查看更多精彩图片
 

 

图3-5聚合关系

 

      (2)动态模型描述

动态模型的描述依赖于事件、状态以及事件和状态组成的状态图。所谓事件,是指发生于某一时间点上的某件事,它是一个对象到另一个对象的消息的单向传送。别个事件***发生,但是,同样可以将它们进行分类,形成不同的事件类,并给对事件类指定名称和属性来表明该事件类的共有结构及特征。

 

事件可以用来在对象之间传送消息或传送数据值。所谓状态是对象属性值及其关联的一种抽象形式。按照影响对象总的行为的性质将属性值组合到一个状态中。状态说明了对象对输人事件的响应,它具有持续性。对事件的反应取决于对象接受该事件时的状态,反应可以是状态的改变,也可以是对原发送对象或第三者发送另一事件。

 

某一类对象的事件、状态及状态迁移方式可以抽象地用状态图表示。就像类图是类和关系的网络一样,状态图是状态和事件的网络表示。动态模型由多个状态图组成,每个具有重要动态特性的类都有一个状态图,不同的状态图通过共享事件组成一个动态模型。图3-6给出了非结构状态图的表示符号,图3-7给出了汽车点火类的状态图实例,其中***左端的实心圆及箭头表示初始状态。终止状态可用靶心表示,此图中未出现。

 查看更多精彩图片

 

图3-7汽车点火类的状态图


    (3)功能模型描述

功能模型用于描述对象模型中的操作方法和动态模型中的动作的含义,以及对象模型中的所有约束。描述功能模型的基本方法为数据流图(DFD )法,数据流图包括数据转换处理、转移数据的数据流、产生和使用数据的施动者以及数据存储对象。图3-8给出了操作窗口图形显示的数据流图实例。

 

椭圆表示数据转换处理,每个处理有一定量的给定数据的输人和输出箭头,每个箭头上都有给定类型的值,椭圆内说明输人值到输出值的计算;对象或数据转换处理的输出和另一对象或处理的输人之间的箭头线表示数据流,箭头上标出数据描述,通常是数据名或类型,同一数据可输出到多个地方。

 

矩形表示施动者,所谓的施动者,是通过产生或使用数据来驱动数据流图的主动对象,所以,每个矩形方框又表示一个对象;中间带名称的平行线符号表示数据存储对象,所谓数据存储对象,是指数据流图中为后续访问而存储数据的被动对象,它不像施动者,本身不能产生任何操作,仅仅是对存储和访问数据请求的响应。

查看更多精彩图片
 

 

图3-8操作窗口图形显示的数据流图

 
免责声明
• 本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 304108043@qq.com
  • QQ在线咨询1046992166
  • 手机:
  • 联系我时务必告知是在产品网上看到的!

上海御云信息科技有限公司

商铺|诚信档案

地址:

电话:传真:

免责声明:以上信息由会员自行提供,内容的真实性、准确性和合法性由发布会员负责,产品网对此不承担任何责任。产品网不涉及用户间因交易而产生的法律关系及法律纠纷, 纠纷由您自行协商解决。

风险提醒:本网站仅作为用户寻找交易对象,就货物和服务的交易进行协商,以及获取各类与贸易相关的服务信息的平台。为避免产生购买风险,建议您在购买相关产品前务必 确认供应商资质及产品质量。过低的价格、夸张的描述、私人银行账户等都有可能是虚假信息,请采购商谨慎对待,谨防欺诈,对于任何付款行为请您慎重抉择!如您遇到欺诈 等不诚信行为,请您立即与产品网联系,如查证属实,产品网会对该企业商铺做注销处理,但产品网不对您因此造成的损失承担责任!

联系:304108043@qq.com是处理侵权投诉的专用邮箱,在您的合法权益受到侵害时,欢迎您向该邮箱发送邮件,我们会在3个工作日内给您答复,感谢您对我们的关注与支持!

商铺首页 | 公司概况 | 供应信息 | 新闻动态 | 诚信档案 | 联系我们 |

上海御云信息科技有限公司 电话: 传真: 联系人:

地址: 主营产品:PDM/PLM软件

Copyright © 2025 版权所有: 产品网

免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。产品网对此不承担任何保证责任。

商盟客服

您好,欢迎莅临,欢迎咨询...