




已阅读5页,还剩66页未读, 继续免费阅读
(计算机应用技术专业论文)对象关系技术在工程数据管理中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北方上渡大学硕士学位论文 摘要 面向对象分析和设计方法的出现 对软件领域的发展乃至软件的架构思想起了强 大的促进作用 其思想已经超出了程序设计的范围 渗透到诸如软件工程 信息系统 工监设计等复杂豁工程领域 两数据库的设诗以及开发逐步南囊商对象鳃方法靠拢 关系数据库已有了广阔的市场 与面向对象数据库比较 其更为稳定和成熟 本文尝 试在关系数据库中有效地组织和管理工程领域中的对象数据 将面向对象技术与成熟 的关系数据霹技术结合起来 将是一个根有应用价值的研究课题 本文依据项磊的应用需求 即合理访问 管理翻存储具有对苏性 层次性 结构 相对复杂的工程数据 建立适合项目需求的工程数据库 在对象模型基础上 采用对 象关系技术将对象模型映射黄关系模型 通过具体数据来分析和优化映射方法 将对 象关系技术和关系数据霹存橇懿结合起来 进行对蒙数据存储和管理 实现菰向菜一 领域的工程数据库方法的研究 此外 对象模型的方法管理也是一个研究的部分 文中兔对象模型生成的源代码 框架提供了对象方法代码修改麓按露 方法熬菝周激动态链接疼的形式提供给应用 层 保证上层软件具有筒向对象的特点 课题研究目标是在关系数据库中实现工程中 对象数据的管理和存储 在对象模型和关系数据库之间设计并实现一个对象 关系代 理层 对象 关系代理层独立于业务逻辑和i m b 的物理存储 具有实现独立性 操作透 明性等 向上提供了统一的面向对象接口 程序员可以将更多的精力放在具体领域的 监务实现上 不必过多考虑数据库的实现缨节 系统框架采焉分层结擒实现 有剩子 系统的扩充和变纯 也有利于系统在穗儆领域的应用 本文就对象关系映射 对象方法管理和数据访问控制接口以及对象模型刘关系模 型鳇转化的榴关技术进行了奔绥 重点阐述了工程数据库的建立和管理 以及应用系 统酶设计翻实现 最后提如了课题研究麓不是和需要完善酶逮方 并对论文工作进行 了总结 关键词 对象关系映射 对象关系模型 疆r 代理层 应震系统 北方工业大学硕士学位论文 a p p l i c a t i o no fo b j e c t r e l a t i o n a lt e c h n o l o g yi nt h em a n a g e m e n t o f e n g i n e e r i n gd a t a a b s t r a c t w i t hm e 印p e 缀m c eo fd b j e c to d e n t e dd e s i 弘a l l do b j e c to r i e n t e da i l a l y s i s i th a s s t r o n 9 1 yh a s t e n e dt h ed e v e l o p m e n to fs o f 时a r e 丘e l d 锄dc o n s t m c tt h i n k i n go fs o 脚a r e e x t e n d e dm eb o u l l do fp r o 伊锄d e s i 印 p e n e 仃a t e dt h e d o m a i ns u c ha ss o f t w a r e e n 百n e 耐n g i n f o 咖a t i o ns y s t 锄锄d t e c t u l i c a ld e s i 朗a n ds oo n a tm es 锄et i m e d e s i 印 髓da i l a l y s i so fd a t a b a s eb e 舀n st oc l o s et h et o p i co f 嘶e n t e do b j e c t c o m p a r e dw i t h 耐嘶e d0 b i e c td a t a b a s e t h er e l a t i o nd a t a b a s ei sm o r em a t u r ea n ds t e a d y i 芏lt h i sp a p e r w e t 巧t om a n a g ea u l d0 r g a n i z em eo b j e c td a t a i nt e c l l i l i c a ld o m 抽i nr e l a t i o nd 戤山a s e i t c o m b i n e st h e 耐e n t e do b j e c ta i l dr c l a t i o nd a t a b a s et e c h n o l o g yw i l lb ea 印p l i e dv a l u a b l e r e s e a r mt a s k i nm i sp 印e r f o u n i i e dt h eo b j e c tm o d e lf i r s t l yb a s e do na c t u a lr e q u i r 锄e n t m e n c o n s t l m c t e dm ea p p l i c a t i o nl a y e ro ft h em o n i t o rs o r w a r e m 印p e dm eo b j e c tm o d e lt o r e l a t i o nm o d e lw i t ht h et e c h n o l o g yo fo b j e c t r e l a t i o n b a s e do nm ef 0 肌e d yr e s e a r c h p r o d u c t i o na n ds o m er u l e s o fo b j e c t r e l a t i o nm a p p i n 舀a n a l z e da n do p t i m i z e dt h e m 印p i n gm e t h o dt h r o u g h m a t e r i a ld a t a o r g 撕cc o m b i n e da 1 1 d i n t e 黟a t e d m e o b j e c t r e l a t i o na n dr e l a t i o nd a t a b a s et ec h n o l o g y i m p l e n l e n t e dt h ea i mt l l a ts t 嘶n g 雒d m a n a 舀n gt h et e c h n i c a ld a t ai nr e l a t i o nd a t a b a s e b e s i d e s t h em e t h o do f6 b j e c tm o d e li san e c e s s a r yp a r t i ts u p p l i e dt h ei n t e r f i a c ef 0 r t h er a wc o d ew h i c hi sc r e a t e db y0 b j e c tm o d e l c 觚b eu s e di n 也ef o mo fd l lf i l e 抓e r p r o 蓼a mc o m p i l i n i tc a ns u p p l ym ed a t aa c c e s s i n gi n t e r f a c ef 折u p p e r 印p l i c a t i o n g u a r a n t e eu p p e rs o 胁a r eh a st h et r a i to fo r i e n to b j e c t t 1 1 em a i na i mo ft a s ki sd e s i 鲥n ga o rs 啪r o g a t e1 a y e rf o ro f g a i l i z i n ga i l dm a n a 西n gt h eo b j e c td a t ai nr e l a t i o nd a t a b a s e t h eo b j e c tr e l a t i o ns u n o g a t el a y e ri ss p e c i a l t y 丘 o mo p e r a t i o nl o 百c 锄da c t u a ls t o r e o fr e l a t i o nd a t a b a s e i th a st h e 仃a i to fi n d 印e n d e n c yr e a l i z a t i o n 锄do p e r a t i o nt r a i l s p a r e i l c y s u p p l yau n i t i v ea n do r i e n t e d o b j e c ti n t e a c ef o ru p p e r 印p l i c a t i o n p r o 孕a m m e rc a i lf o c u s o no p e r a t i o nl o 西cm o r ed e d i c a t e d n e e dn o tt oc o n s i d e rt h ei m p l e i t l e n td e t a i l m e i m p l e m e n to fl a y e r e dc o n s t m c ti ns o f 咐a r ei sv e 巧u s e df o rm eu p d a t i n g c h a n 百n ga 1 1 d 3 北方工业大学硕士学位论文 e x p a n s i o no ft h em o n i t o rs y s t e m t h i sp a p e ri n 们d u c e ss o m ep i v o t a lt e c l l l l o l o g yi l l c l u d i n go b j e c t r c l a t i o nm a p p i n 舀t h e c h a n 百n go fo b j e c t a 1 1 dr e l a t i o nm o d e l o b j e c tm e t h o dm a n a g e i i l e i l ta n do b j e c td a t a a c c e s s i n gc o n t r 0 1 i n t e r f a c e d i s c u s s e sm ed e s i g na i l di m p l e m e l l t a t i o nm a i n l yf o rt h ee n t i r e m o n i t o rs y s t e m h lt h ee n d t h i sp a p e rp o i n t e do u ts o m et h i n g sn e e dt 0b ep e m c t e d a 1 1 d m a d eas u m u po f t h ep 印盯 1 e yw b r d s o b j e c t 弛i a t i o nm a p p i l l g o b j e c t r e l a t i o nm o d e l o rs u r 阳g a t el a y e ba p p h c a t i o ns y s t e m 4 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研 究成果 据我所知 除了文中特别加以标注和致谢的地方外 论文中不包含其他 人已经发表或撰写过的研究成果 也不包含为获得j 邕友王些太堂或其他教育机构 的学位或证书而使用过的材料 与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示谢意 学位论文作者签名雾猫凄奎字日期础厂月2 名 学位论文版权使用授权书 本学位论文作者完全了解j 匕友王些太堂有关保留 使用学位论文的规定 有 权保留并向国家有关部门或机构送交论文的复印件和磁盘 允许论文被查阅和借 阅 本人授权j 丝友王些太堂可以将学位论文的全部或部分内容编入有关数据库进 行检索 可以采用影印 缩印或扫描等复制手段保存 汇编学位论文 保密的学位论文在解密后适用本授权书 学位论文作者签名 渤支 灵 签字日期卿辎月垢 学位论文作者毕业后去向 工作单位 通讯地址 导师签名 签字日期 d 夕年厂月影日 电话 邮编 i i 方j 监大学硕士学能论文 l 引言 1 1 课题研究的背景 随着面向对象技术的不断深入和发展 面淘对象的愚想已经超毖了程序设计的范 围 渗透到诸如软件工程 信息系统 工业设计等复杂的工程领域 提高了软件开发 的效率 可靠性 可维护和重用性 l 2 数据库的设计以及开发逐步向面向对象的方 法靠拢 数据库技术与面向对象技术相结合是当今数据库技术研究 应用和发展的一 个重要的方向p l 用户越来越需要数据库具有耍囱对象的特性 对于工程数据库也不铡外 但是面 向对象数据库应用系统的开销实在很大 因此工程数据库面临的问题是在数据库的物 理层上 数据结构上的构架如何尽量节约资源 充分利用各种资源提高效率 而且工 程数据库需要在 语义层努上进行改进 把更多的商业主题 商业问题潋对象的方式 合理地放在数据库里 从而更好地发现信息 发现知识删 在数据库方面 关系数据库应用相对广泛 与面向对象数据库比较 更为稳定和 成熟 所以 较为可取的做法是尽量运用已经存在的关系数据库的资源 并想办法增 添面向对象技术 逐步改良系统 采取面向对象的系统和数据库设计方法 然后再设 法把对象模型映射到关系模型转l 课题从上面研究现状出发 以对象关系模型映射技术为切入点 尝试在关系数据 库中合理存储和访问某一特定工程领域中的对象数据 以 中囡铝业贵州分公司整流 所安全监控系统开发项目 为研究背景 把对象关系技术合理应用到项目中 建立工 程数据库 在工程数据库中管理和存储电解铝厂供电系统的变压器 电容器 整流柜 以及连接部l 孛等设备对象和这些设备上对应的检测点对象 应用系统所涉及的对象有 工馋现场 设备 图像获取设备 检测点 每个工作 现场有相似的设备 每个设备有相似的检测点 对象的联系具有层次性 在应用层上 构建一个对象模型更能真实反映客观世界 便于系统的扩充和升级 因此 如何在关 系数据库中有效的组织和管理工程中酶对象数据 将面向对象技术与成熟的关系数据 库技术结合起来 是一个很有应用价值的研究课题 北方工业大学硕士学位论文 1 2 课题研究意义和成果 随着数据库领域的不断发展 技术方面不断成熟 数据库处理的不再是简单的数 据结构 开始应用于工程领域 工程领域的数据一般比较复杂 归纳起来有以下几个 特点 5 6 1 0 1 工程数据中静态和动态数据并存 2 数据类型的多样化 在工程环境中 既有事务处理环境中的简单数据类型 还又一些复杂的数据类型 3 数据之间复杂的网状结构关系 4 在数据使用上 软件系统使用人员不一定是计算机专业人员 不可能要求 他们具备数据库的专业知识 这就要求工程数据的管理必须提供友好的人机交互接 口 支持工程技术人员用他们熟悉的术语和数据进行交互 基于工程中数据具有以上的特点 采用比较成熟的面向对象技术来分析 设计数 据的对象模型 将工程中的数据看成对象来处理 更能真实地反映客观情况 又容易 理解 并且易于系统的扩充和升级 同时也可处理其它相似的工程问题 近年来 面向对象的方法以其特殊的优点引起人们的广泛重视 这种方法的基本 出发点是尽可能地模拟人的自然思维方式 由于面向对象的数据模型描述能力强 易 于扩展 不仅能自然地描述复杂对象的结构特征 而且能刻画对象的行为特性 适用 于工程应用环境 因而 基于面向对象数据模型的工程数据库系统 o o e d b m s 特 别受到国内外研究人员的青睐 并取得了许多研究成果 尽管人们对o o d b m s 投入了大量工作 目前要使o o d b m s 真正用于工程实际 环境 仍有不少问题待进一步研究 1 发展o o d b 的形式化理论 2 附加一些语义模型概念 3 增强演绎功能 支持智能c a d c a m 的开发 4 改善o o d b m s 的性能 5 消除程序设计语言与数据库管理语言和数据库结构之间的不匹配 2 一 北方丁业大学硕士学位论文 6 研究o o d b 的设计工具为面向对象数据提供友好和有效的设计辅助工具 由于面向对象数据库的发展还不能满足目前的需求 而且应用也并不广泛 大部 分产品都不能在w i n d o w s 平台下运行 如何在现有技术发展的情况下更好地 更合 理地管理和存储工程数据的问题 是目前工程数据库领域的一个比较重要的研究方 向 课题研究将目前应用广泛的关系数据库和先进的面向对象技术结合起来 采用面 向对象对象技术实现应用层面的对象模型设计 采用数据库技术实现对象关系的存储 与查询 应用层的设计不用考虑数据库的实现细节 便于软件的升级和扩充 课题的 研究将出现以下研究成果 理论方面 在理解对象关系模型映射的一些规则以及其他人研究成果的基础上 通过具体的数据来分析和优化映射的方法 将对象关系技术和关系数据库有机的结合 起来 实现关系数据库中对象数据的存储和管理 同时积极探索对象模型方法的管理 思路 实验方面 在完成课题编程任务和毕业论文撰写的基础上 将实验的研究成果与 应用系统开发结合 建立工程数据库 进行对象关系映射 使用项目实际数据进行实 验 用分层的思想构架软件 体现面向对象开发软件的有效性和扩展性 最后给出实 验结论和进一步研究的方向 1 3 课题的研究内容 基于项目的实际情况 应用层面的处理采用先进的面向对象技术 建立一个对象 模型 数据库方面 由于面向对象数据库技术的应用还不太广泛 且多数产品不支持 w i n d o w s 平台 所以 采用技术比较成熟的关系型数据库来存储工程数据 在使用面向对象设计的模型中 对象和对象之间包含了很多持久的信息 如对 象的某些属性和对象之间的某些关系 这些关系应该保存在数据库中 以便于相应对 象对数据进行操作 而面向对象数据库的技术尚不成熟 应用更不广泛 因此 采用 关系数据库来保存对象模型的持久信息 对象模型和关系数据之间存在着天然的沟壑 这一问题的解决方法就是怎样合理 的将对象模型映射到关系数据库模型 使得对象技术能结合传统关系技术来加快软件 开发的进程 提高软件产品质量 图1 1 简单描述了课题设计的整体思路 3 北方工业大学硕士学位论文 图1 1 课题研究总体思路 课题研究的主要内容是在关系数据库中实现工程中对象数据的管理和存储 在对 象模型和关系数据库之间设计并实现一个对象 关系代理层 其功能主要体现在以下3 个方面 1 实现对象模型到关系模型的映射 将对象有属性和方法在关系数据库中体现 出来 对象属性一般映射为数据表的列 实现从对象模型文件到关系数据库d d l 语 言的生成 2 为应用层提供访问数据库的接口 应用层可以调用对象 关系层封装好的方法 实现对象的建立 删除 修改 查询等操作 也可以调用封装好的其它方法来访问系 统的其它辅助信息 如系统参数和日志信息 具有操作的透明性 3 实现对象方法的管理 对象数据的访问方法封装在对象关系代理层中 而对 象的其它方法的管理借助d l l 来实现动态链接 在更新某些方法后 不需要在重新 编译工程 只要对某些对应的d l l 文件进行替换 便可实现对象模型方法的更新 完成系统升级 1 4 论文组织结构 一4 北方工业大学硕七学位论文 全文分七章 其中各章节内容及与论文 对象关系技术在工程数据管理中的 应用研究 的关系如下 第一章引言 本章在阐述现有工程数据管理实际需求基础上 介绍 对象关系技术在工程 数据管理中的应用研究 的研究背景及意义 并概述了本文的研究内容 第二章对象关系相关技术 本章概要介绍了面向对象架构软件的方法 并对现有的关系数据库进行系统 分析 提出了面向对象设计到关系数据库存储所有涉及的基本问题 详细介绍了 对象关系的各种相关技术 为后面的对象数据管理打下理论基础 第三章对象关系映射策略和方法管理 本章在分析现有对象关系映射策略的基础之上 根据项目工程中对象数据的 实际特点和应用系统的项目要求 分析了对象模型到数据模式的各种方法并进行 了相关性能的比较 提出适合项目实际需求的映射策略 同时 给出了一种在项 目设计过程中对象方法的动态编译思路 第四章对象 关系代理层的设计和应用 本章以前面的理论分析为基础 分析现有对象数据管理的现状 生成工程数 据库 提出了应用系统中对象数据管理的思路和方法 重点分析了该方案在项目 中的实际应用和与项目的整合 第五章应用系统的实现和运行分析 本章综合应用了对象关系技术 以应用系统开发为项目背景 将第四章给出 的对象关系数据管理方案合理应用于系统 重点阐述了应用系统的设计和实现 给出了系统运行的主要界面和性能分析 第六章结论 本章给出对象关系技术在工程数据管理中的应用的主要结论 并指出存在的 不足和进一步的研究方向 1 5 本章小结 本章在阐述对象关系技术研究意义及国内外研究现状的基础上 针对工程领 域的应用系统特殊情况和现状 介绍 对象关系技术在工程数据管理中的应用研 究 的背景及研究意义 当前研究现状 以及本文的研究内容和成果 最后给出 了论文的组织结构 5 北方工业大学硕士学位论文 2 对象关系相关技术 2 1 面向对象技术分析 面向对象技术提供了一种新的认知和表示世界的思想和方法 它对计算机工 业的影响是深远的 计算机从业人士利用它提出了面向对象的计算机程序设计语 言 面向对象的软件设计方法 面向对象的数据库等等 同时面向对象技术为软 件工业实现工程化提供了强有力的支持 正是面向对象技术造就了组件 构件 中间件等概念哺j 面向对象的程序设计 即0 b j e c t o r i e n t e dp r o 铲a m m i n g 简称o o p 是目 前占据主流地位的一种程序设计思想 取代了早先所谓的 结构化 的 以 过 程 为基础的编程思想 图2 1 简单表示了面向对象从o o a 到o o d 的设计过程 主题层 类 缸对象层 结构层 属性层 服务层 问题域 部分 人机交 互部分 任务管 理部分 数据管 理部分 面向对象分析梗受fi 对面向对象分析的扩充li 砸向对象设计模型 2 1 1 面向对象的基本概念 0 0 a 向0 0 d 的演进图 图2 1o o a 到o o d 设计过程 哲学的观点认为现实世界是由各种各样的实体所组成的 每种对象都有自己 的内部状态和运动规律 不同对象间的相互联系和相互作用就构成了各种不同的 系统 并进而构成整个客观世界 同时人们为了更好的认识客观世界 把具有相 似内部状态和运动规律的实体综合在一起称为类 类是具有相似内部状态和运动 规律的实体的抽象 进而人们抽象地认为客观世界是由不同类的事物间相互联系 和相互作用所构成的一个整体 计算机软件的目的就是为了模拟现实世界 使各 6 北方工业大学硕士学位论文 静不同的现实世界系统在计算枫中得以实现 进翁为我们工作 学习 生活提供 帮助 i l 图2 2 描述了客观世界到计算机世界的抽象过程 面离计算镌方法 图2 2 客观世界与计算机世界 面向对象 o b e c t o r i e n t e d 简称 o o 至今还没有统一的概念 这罩把它 定义为 按人们认识客观世界的系统思维方式 采用基于对象 实体 的概念建 立模型 模拟客观世界分析 设计 实现软件酌办法 通过面向对象的理念使计 算机软件系统能与现实世界中的系统一一对应 对象 o b j e c t 即指现实世界中各种各样的实体 它可以指具体的事物也 可以指抽象的事物 每个对象皆有自己的内部状态和运动规律 在面向对象概念 中我们把对象的内部状态称为属性 运动规律成为方法或事件 类 c l a s s 类是具有相似内部状态和运动规律的实体的集合 或统称 抽 象 类的概念来囱于人们认识自然 认识社会的过程 在这一程中 人们主要 使粥两种方法 由特殊到一般的归纳法和由一般到特殊的演绎法 消息 m e s s a g e 消息是指对象闯楣互联系和相互作用的方式如图2 3 一 个消息主要由5 部分组成 发送消息的对象 接收消息的对象 消息传递办法 消息内容 参数 反馈 图2 3 面向对象消息机制 7 北方工业大学硕士学位论文 类的特性 类的定义决定了类具有以下5 个特性 抽象 继承 封装 重载 多态 下面分别进行介绍 1 抽象 类的定义中明确指出类是一组具有内部状态和运动规律对象的 抽象 抽象是一种从一般的观点看待事物的方法 它要求我们集中于事物的本质 特征 而非具体细节或具体实现 2 继承 继承是类不同抽象级别之间的关系 类的定义主要有2 种办法归 纳和演绎 由一些特殊类归纳出来的一般类称为这些特殊类的父类 特殊类称为 一般类的子类 同样 父类可演绎出子类 父类是子类更高级别的抽象 子类可 以继承父类的所有内部状态和运动规律 3 封装 对象间的相互联系和相互作用过程主要通过消息机制得以实现 对象之间并不需要过多的了解对方内部的具体状态或运动规律 面向对象的类是 封装良好的模块 类定义将其说明与实现显式地分开 其内部实现按其具体定义 的作用域提供保护 类是封装的最基本单位 封装防止了程序相互依赖性而带来 的变动影响 在类中定义的接收对方消息的方法称为类的接口 4 多态 多态性是指同名的方法可在不同的类中具有不同的运动规律 在父类演绎为子类时 类的运动规律也同样可以演绎 演绎使子类的同名运动规 律或运动形式更具体 甚至子类可以有不同于父类的运动规律或运动形式 不同 的子类可以演绎出不同的运动规律 5 重载 重载指类的同名方法在给其传递不同的参数是可以有不同的运 动规律 在对象间相互作用时 即使接收消息对象采用相同的接收办法 但消息 内容的详细程度不同 接收消息对象内部的运动规律也可能不同 2 1 2u m l 面向对象建模 u m l 是一种定义良好 易于表达 功能强大且普遍适用的软件建模语言 它是一个标准的建模语言 而非标准的程序语言 j a c o b s o n 等人 1 9 9 6 在u m l o 9 和o 9 1 版的文档中说明了u m l 的宗旨 u m l 打算成为一套用来建立系统模 型的通用语言 亦即u m l 可以表达许多不同种类与目的的模型 就像人们使用 程序语言或自然语言一般 1 2 1 3 图2 4 以项目开发类为例子 给出了使用u m l 进行类设计的一般结构 8 毳乏方i 建大学硕士学位论文 鬻2 叠u 沲对象建攘嚣涿 2 1 2 1u m 毛表示方法 u m l 鲶宗蹬是麓设计者和开发者以及嗣户提供 秣统一的系统模型符号表 述 以达到交流建模思怒的目的 因此u m 乙的表示法在u m l 标准中占有十分重 要的地位 u m l 的表示法主要可女9 种图形来定义 根据冀特点可分为5 类 嗣铡黪 u s ee 鑫s ed i 鑫器鑫壤 静态霆 s 赫ed l 巍擎鑫獭 行为圈 8 地馥v i q 薹d i 垮纛嘲 交互图 i n t e r a c t i v ed i 魏g r m 实现图 1 燃p l e 擞e n l a l o 娃d i a 笋a m 2 1 2 2u m k 方法建模过程 从应瘸翡熊度看 5 个视图配合嚣彝对象麓分捺与设计 酉具体分为3 个步 骤 蓠先是攒述震求 其次壤据需求建立系统鲢静念模型 以梅造系统鲢结构 第三步是描述系统的行为 其中在第一步主要是实现用侧视图中用例图 第二步 主要是实现逻辑褫图的静态部分 丽第三步是要实现逻辑视黼的动态部分和并发 视銎以及溺捌视蓬豹其它帮分 翔采考纛系统熬实观 则第圈步需要徽熬是缀淡 实现系统的组件凝爨和部署视圈 类 对象和它们之间的关系是筒向对象技术中最基本的元素 对于 个想要 撬述的系统 箕类横型鞠对象横型搦示了系统麴结构 在u 黼l 审 类霸对象模 型分剃壶粪国翻怼象圈来表示 类鼷播述类帮类之瓣麴静态关系 与数据模型 d a t am o d 嚣1 不同 它不仅显示了信息的结构 同时还描述了系统的李亍必 类图 是定义其它u m l 图形的蒸础 在类图静基础上 状态墨 合作图等迸一步描述 登 北方工业大学硕士学位论文 了系统其它方面的特性 类图是面向对象方法的核心 类图主要由类以及类之间 的关系组成 所谓类是对一类具有相同特征的对象的描述 而对象是类的实例 i n s t a n c e 建立类模型时 我们应尽量与应用领域的概念保持一致 以使模型更符合客观事 实 易修改 易理解和易交流 类描述一类对象的属性 a t t r i b u t e 和行为 b e h a v i o r 在u m l 中 类的可视化表示为一个划分成三个格子的长方形 下面两个格子可省 略 图2 5 的 设备 就是一个典型的类 1 4 1 5 设备 设备号 编号 购买日期 所属车间 g e t n 锄e c s t r i n g g e t d a t e d a t e 图2 5 设备模型的类图表示 在u m l 中操作与方法 m e t h o d 分别有不同的定义 方法是操作的实现 而 操作通常也被称为功能 f u n c t i o n 但是它的使用范围被限制在类的内部 只能作 用到该类的对象上 操作名称 返回值类型和参数表组成操作接口 操作名称可 以是文字习惯上是以一个短的动词或动词词组来表示 它可以代表类里面所包含 的行为 在图2 6 中 设备类有 g e t n a m e 一项操作 表示为 图2 6 设备类的方法表示 类间的关系指的是类间的连接 在面向对象建模中 类间最重要的关系有 关联 a s s o c i a t i o n 依赖 d e p e n d e n c y 泛化 g e n e r a l i z a t i o n 与实现 r e a l i z a t i o n 等 四种关系 这些关系分别用不同形态的线来表示 下面对这几种关系做一详细介 绍 1 关联 关联用于描述类与类之间的连接 由于对象是类的实例 因此类与类之间的 关联也就是其对象之间的关联 类与类之间有多种连接方式 每种连接的含义各 1 0 北方工业大学硕士学位论文 不相同 语义上的连接 但外部表示形式相似 故统称为关联 关联关系是一种 类间的静态结构关系 描述类与类问的联结 若a 类与b 类间有关联关系 指的 是可从a 类的一个对象浏览 n a v i g a t e b 类的一个对象 反之亦然 下图2 7 简 单描述了关联的概念 圈2 7 类之间酶关联关系 2 依赖 有两个元素a b 如果修改元索a 的定义会引起元素b 的定义的改变 则 称元素b 依赖 d e p e n d e n c y 于元素a 在类图中 依赖关系是一种 使用 的关 系 u s i n gr e l a t i o n s h i p 表示一个类会使用到其它类 且被使用类的改变可能会 影响到使用它的类 但反之则不必然 在u m l 中 依赖表示为一端为箭头的虚 线 箭头是由使用类指向被使用类 如图2 8 二二二至至三j 一一一一 设备报警类 报警时阕 报警类型o 处理情况 图2 8 类之间的依赖关系 3 泛化 个类 通用元素 的所有信息属性或操作能被另一个类 具体元素 继承 某个 类的类中不仅可以有属于自汪的信息 而且还拥有了被继承类中的信息 这种机 制就是泛化 泛化又称继承 u m l 中的泛化是遴餍元素和具体元素之闻的一种 分类关系 具体元素完全拥有通用元素的信息 并且还可附加一些其它信息 泛 化的u m l 表述如图2 9 北方工业大学硕士学位论文 变压器 电压 f l o a t 整流柜 电流 n o a t 刀闸 电流 f i o a t 图2 9 类之间的泛化关系表示 4 实现 实现关系很像一般化关系 它表达某一类的行为是由另一类来描述 在面向 对象领域中可允许某类实现其它类 这意味着该实现类必须顺从某接口 i n t e r f a c e 但不需要用继承 2 2 工程数据库技术 2 2 1 工程数据库发展现状 工程数据库是适合于c a d c a m c i m 地理信息处理 军事指挥 控制通 信等工程应用领域所使用的数据库 工程数据库是面向对象的数据库系统 它的 主要特点 l q 1 具有独特的数据模型 支持复杂的数据结构和复杂的数据类型 2 支持动态的版本管理和集成管理 3 具有丰富的语义关联 4 支持日常事务 管理 5 具有友好的用户接口和良好的相容性支持 工程数据库与管理数据库很 相似 但是存在着本质的差别 工程数据库中的数据模型主要分为三类 1 传统的层次数据库和网状数据库 数据模型的扩展 e r 模型 2 基于语义的数据模型 3 面向对象的数据模型 扩展的e r 模型主要利用子类 超类 概括 特化等手段 将现实的事物用数据 库表现出来 语义数据模型是使用几种语义模型循环 递归的描述过程 它把复 杂的数据类型作为其基本的数据类型 而且支持统计操作 面向对象的数据模型 1 2 乾方工监大学硕 七学位论文 是基于对象 类 实体的数据模型 它具有面向的对象技术所具有的特性 分为 元组对象结构 集合对象结构和列表对象结构 目前在国内外已经有一些工程数据库的产品在投入使用 如t o r n a d o 是挪 威工业中心研究所在小型计算机n o r d l 上为c a d c a m 集成系统a u l l o k o n 研 制的一种网状模型c a d 忿a m 工程数据库系统 l p i p 是美国波音公司在e m i s 计 划中研制的工程数据库系统 该系统中的关系模型是在网状模型的基础上通过定 义外部码来实现的 它的d m l 嵌入了类似于s q l 方式 可以一次操纵多个实体 这些系统目前也有一些待解决的问题 主要是面向对象的特性不强 用户越 来越需要具有面向对象特性昀数据库 对于工程数据瘁也不例外 但是面向对象 的数据库应用系统的开销实在很大 因此工程数据库颟临的问题是在数据库的物 理层上 数据结构上的构架如何尽量节约资源 充分利用各种资源提高效率 而 且工程数据库需要在 语义层 上进行改进 把更多的商业主题 商业闻题以对象 的方式合理地放在数据库里 从丽更好地发现信息 发现知识 2 2 2 工程数据的基本特点 随着数据库领域的不断发展 技术不断成熟 数据库处理的不再是单单的 数据 开始应用于工程领域 工程领域的数据一般比较复杂 归纳起来有以下几 个特点 1 工程数据中静态 如一些标准 设计规范 材料数据等 和动态 如 随设计过程变动藤变化的设计对象中间设计结果数据 数据并存 2 数据类型的多样化 在工程环境中 既有事务处理环境中的简单数据 类型 如整数 实数 字符 字符串以及布尔量等 还又一些复杂的数据类型 如矢量 矩阵 集合 鸯序集时间序列 几何图形 结构化图形数据 复杂的数 学公式和工程等 3 数据之间复杂的网状结构关系 如一个基本图形可用于多个复杂图形 的定义 一个产品往往由许多零件组成 一个工作现场有许多设备组成等 4 在数据使用上 软件系统使用人员不一定是计算机专业人员 不可能 要求他们具备数据库的专业知识 这就要求工程数据的管理必须提供友好的人机 交互接口 支持工程技术人员用他们熟悉的术语和数据进行交互 一1 3 一 北方工业大学硕士学位论文 基于工程数据的以上特点 采用目前比较成熟的面向对象技术来分析 设计 数据的对象模型 将工程中的数据看成对象来处理 更能真实地反映客观情况 又容易理解 并且易于系统的扩充和升级 也可处理其它相似的工程问题 2 3 对象一关系数据库技术 1 关系数据库 数据库技术从诞生到现在 在不到半个世纪的时间里 形成了坚实的理论基 础 成熟的商业产品和广泛的应用领域 吸引越来越多的研究者加入 数据库的 诞生和发展给计算机信息管理带来了一场巨大的革命 四十多年来 国内外已经 开发建设了成千上万个数据库 它已经成为企业 部门乃至个人日常工作 生产 和生活的基础设施 同时 随着应用的扩展与深入 数据库的数量和规模越来越 大 数据库的研究领域也已经大大地拓展和深化了 u 4 0 多年数据库领域获得了 三次计算机图灵奖 c wb a c h m a n e f c o d d j g r a y 更加充分地说明了数据库是 个充满活力和创新精神的领域 6 传统的文件系统已经不能满足人们的需要 能够统一管理和共享数据的数据 库管理系统 d b m s 应运而生 数据模型是数据库系统的核心和基础 各种d b m s 软件都是基于某种数据模型的 所以 通常也按照数据模型的特点将传统数据库 系统分成网状数据库 层次数据库和关系数据库三类 最早出现的d b m s 是网状 d b m s 随之出现的是层次型d b m s 这两种数据库已经很好地解决了数据的集 中和共享问题 但是在数据独立性和抽象级别上仍有很大欠缺 用户在对这两种 数据库进行存取时 仍然需要明确数据的存储结构 指出存取路径 而后来出现 的关系数据库较好地解决了这些问题 关系型数据库所基于的关系模型建立在集 合代数的基础之上 用关系 即二维表 来描述现实世界的客观事物 用面向集合 的非过程化及过程化的数据操纵语言来提供数据管理功能 由于关系模型有严格 的数学基础 概念简单清晰 非过程化程度高 数据独立性强 因此关系数据库 系统的发展非常迅速 8 0 年代以来 几乎所有数据库户品都支持关系模型 关系 型数据库经过几十年的发展和实际应用 技术越来越成熟和完善 2 面向对象数据库 面向对象数据库技术是面向对象技术和数据库技术相结合的产物 尽管面向 对象数据库系统作为数据库家族中的一个新兴的研究和开发领域 尚缺乏完整的 理论支持 但其在数据库领域中已得到日益广泛的应用并己取得多项有实际意义 1 4 北方t 监大学硕士学位论文 成果 m i e s o nw i n d o w s 为o o d b 的开发提供了可能性和方便性 开发o o d b 的最主要工作包括存储结构的开发 复用的实现和查询处理的实现 实现复用的 目的是为了使o o d b 可以被各种语言编写的程序进行本地或者远程调用 也使 o o d b 程序编写 修改更加方便和独立 1 7 l s 在工程领域中 如c i m s c a d c a m 中 涉及到的数据种类多 如图形数据 文 字数据 数字数据等 相应的操作极为复杂 如图形操作 文字操作 数字操作 等 工程领域所需要的数据模型也较为复杂与特殊 工程领域还需要有不断修改 模式的能力 更为重要的是工程领域中数据关系的复杂性 这些都是传统数据库 所无法支持的 但是这些要求可以在面向对象数据库巾得到解决 通过建立工程 领域中的面向对象模型以及对模型的操纵 工程应用中的有关数据需求均可顺利 解决 此外 在多媒体应用领域 多媒体应用是多种媒体集成的应用如g l s c a d 等 计算机应用近年柬最大的发展趋势是集成化 如c l m s e r p e m s c a s e 等 集成化可以极大程度地做到资源共享 但集成化也带来了结构的复杂性 面向对 象数据库在工程个领域中的应用并不妨碍其在传统领域中的应用 实际上在传统 的商业 事务处理中 近年来其需求也在发生重大的变化 对数据库也提啦了很 多新的要求 这使传统数据库也面临着新的改造问题 3 r d b m s 的对象一关系数据库 r d b m s 是目前应用最广泛的数据管理系统 在面向对象的开发中也仍然是 大部分系统的蓄选方案 使羯蚕向对象方法确定的设计模型中的对象及对象之阆 的关系中包含了很多持久信息 如对象的某些属性和对象之间的某些联系 这些 信息必须保存在数据库中 以便于相应对象对数据进行操作 目前 面向对象数 据库管理系统 o o d b m s 及对象关系型数据库管理系统 o r d b m 虽然已经进入 了商业化应用 但是与关系数据痒系统 r d b m s 相比仍欠普遍 r d b m s 虽然不 能像o o d b m s 或0 r d b m 一样对现实世界的实体进行更自然而直接地模拟 但 是r d b m s 在数据集成 数据控制的一致性查询优化技术以及数据管理的简捷性 方面优势很明显 在许多普遥应爝领域r d 8 m s 仍然成熟丽有效 是非高级应用 领域的首选 面且这种状况很可能持续相当长的时间 l9 2 0 1 r d b m s 不是面向对象的 不过我们可以这样理解 应用系统中定义的对象 仍然是属性和服务的封装体 只是在必要时借助关系数据库长久的保存其属性数 据 丽关系数据摩是在r d b m s 的支持下建立 并在它的管理下工作的 相对设 1 5 北方工业大学硕士学位论文 计和实现来讲 这种方案也被现在的大多数人接受和采用 2 1 1 课题的研究背景与 此方案较为接近 应用层面的面向对象特性与物理存储的关系化结合 下图2 9 是课题设计的基本框架 实现对象数据的关系化存储和管理 图2 9 应用系统的结构框架 对象实例在内存空间和关系数据库中的存储映像有两种不同的方式 一种方 式是 每个要永久存储的对象都在内存空间建立一个对象实例 同时又在数据库 的一个表中保存一个元组 即对象实例在内存空间和数据库中的映像是一一对应 的 另一种很常见的方式是 一个类中所有需要永久存储的对象都在数据库的一 个表中对应着一个元组 而在内存空间却只是根据算法的需要对某个对象的数据 进行操作时才将它恢复成内存中的一个对象 并进行相应的操作 在操作完成后 该对象的数据又保存到数据库中 即对象在内存空间和在数据库中的映像并不是 一一对应的 如图2 1 0 所示 1 6 北方 i 业大学硕士学能论文 图2 1 0 对象的内存空闻j 瞰据库映像 本文提出一个对象关系数据库系统模型 在业务逻辑层和关系数据库的物理 存储结构中间增加一个o r 代理层 2 2 2 3 代理层为用户应用程序提供统一接口 并结合d b m s 透明地完成对象和关系数据库之间的转换 解决对象数据的存储查 询等操佟 文章对o r 代理的关键内容鞠映射规剐进行了定义翻描述 著在实际 应用中验证了模型的可行性 2 4 数据访问接口技术 由于工程数据管理的特殊情况以及工程数据的一些特点 如数据复杂 对象 性 层次性等 对数据的管理也是一个特别需要注意的问题 工程数据的存储一 般放在工程数据库中 因此 对工程数据的高效率访问也是一个关注的问题 软件系统中工程事物的处理可以采用先进的面向对象技术 提高软件系统的 通用性和扩展性 l l 面对于工程数据的存储 基于西前面向对象数据库技术的不 成熟性 多采用关系数据库系统来存储 上面提到的对象关系映射描述了关系数 据库存储对象数据的一些映射的规则和策略 下面具体谈谈数据的访问问题1 2 引 为了实现数据的访问透明性和独立性 使得程亭员在进行软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年来宾市公务员行测含答案详解AB卷
- 2024浙江省永康市中考数学达标测试及完整答案详解(各地真题)
- 2025年安徽六安开发区消防救援大队政府专职消防队员招聘笔试高频难、易错点备考题库含答案详解
- 2025年丽水学院期末题库及答案
- 2025年生物质能生物质碳与新能源汽车电池寿命延长策略报告
- 金融行业数据治理与隐私保护跨部门协作机制研究报告
- 彩色的梦语文试卷及答案
- 2024年医师定期考核自我提分评估【完整版】附答案详解
- 2025-初级园林绿化工精要考点题300道(含答案)
- 民生银行成都市武侯区2025秋招面试典型题目及参考答案
- DB11T 065-2022 电气防火检测技术规范
- 人教版八年级历史上册第一次月考试题(附答案)第一单元
- 基本不等式课件-高三数学一轮复习
- DL∕T 2568-2022 电力行业数字化审计平台功能构件与技术要求
- 部编人教版《道德与法治》六年级上册第9课《知法守法 依法维权》精美课件(第1课时)
- 消防喷淋系统设计合同范本
- DB32-T 4757-2024 连栋塑料薄膜温室建造技术规范
- 2024年四川省广安市中考数学试题(含答案逐题解析)
- 山西省太原三十七中2023-2024学年九年级上学期月考物理试卷(10月份)
- (幻灯片)世界各国国旗大全中文
- 物流地产发展前景分析
评论
0/150
提交评论