




已阅读5页,还剩47页未读, 继续免费阅读
(计算机软件与理论专业论文)基于uml的油田勘探开发数据模型研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于u m l 的油田勘探开发数据模型研究 摘要 在勘探开发技术领域,众多石油公司正面对着越来越复杂的地质情况、越来越繁杂的项目数据 和以及越来越紧迫的决策周期。因此,调整业务结构,优化工作流程,大力提升信息化建设和信息 管理水平,几乎成为所有石油公司正在采取或准备采取的关键举措 国际上各大石油公司信息化发展一般经历数据集成、专业集成、部门集成和企业集成四个阶段。 国内石油企业经过几年信息化建设,具备了数据集成的条件,勘探开发数据库为石油企业提供了数 据集成的平台。 本文以油田勘探开发数据模型为研究内容,应用u m l 语言,结合国内油田信息化现状,详细 分析了目前油田勘探开发数据库的相关内容 本文从数据模型,主要为当前数据库领域的常用数据模型的研究开始,并以此作为后续研究的 理论基础论文将嵌套关系模型思想应用到勘探开发数据库设计中,从业务流程入手,采用u m l 建模方法进行相关业务的数据库逻辑模型设计。 论文的最后,将设计的数据库逻辑模型具体应用到油田的信息化建设中,以勘探开发数据库为 平台,应用b 晒盯曲线算法进行油井井位图工区定位领域。 关键词:数据模型;统一建模语言;数据库逻辑模型;b 翻留;信息系统;业务流程 r e s e a r c ho ne x p l o r a t i o na n dd e v e l o p m e n td a t am o d e lo fo i l f i e l d b a s e do n u m l a b s t r a c t i nt h e 削d so fe x p l o r a t i o nt e c h n i q u e s , n u m b e r so fo nc n m p a n i a sa r e 缸i n gm o r ec o m p l e x g e o l o g y c 由吼h n s 组n c e s m o r ec o m p l e xp r o j e c t sd a t u m , a sw e l la st e n s e rd e c i s i o nt e r m s t h e r e f o r e , a d j u s t i n gb u s i n e s s 曲m c t 叫岛r e f m h l go p e r a t i o np r o c e s s ,既i h j 蜘c j l 唱i n f o r m a t i o nc o n s t r u c t i o na n dl e v e l so fm a n a g e m e n t b e c o m e st h ek e ya c t i o n so f c a r r y i n go u ti np o s i n ga n da b o u tt op o s e e v e r yi n t e r n a t i o n a lb i gs c a l e 甜c o m p a n i e sd e v e l o p e dt h r o u g hf o u rs t a g e ss u c ha sd a t a ,p r o f e s s i o n 。 d e p a r t m e n t ,a n d 篚暇呷慨i n t e g f i t yw h i l et h en a t i o n a l0 i 1c o m p a n i e ss u p p l y i n g 孤d a t ai n t e 妒t yp l a t f o r m a f 漪y 璐o f i n f o r m a t i o nc a ) n s u - u c f i o nw h i l ep r o c e s s i n gc o n d i t i o n so f d a mi n t e g r i t ya n de x p l o r a t i o nd a t a t h i sp a p e r p o s e sav e r yd e t a i l e da n a l y s i so nc m r e n td a t a b a s ed e v e l o p m e n tb a s e do no nf i e l d e x p l o r a t i o nd a t ad e v e l o p m e n tm o d e l , u m ll a n g u a g e , a n di na c c o r d a n c ew i t hc u r r e n tn a t i o n a li n f o r m a t i o n c o n d i t i o n s a n dt h i sp a p e rj u s tg e t st h eb e g i n n i n go fr e s e a r c h i n gf o rc u r r e n td a t am o d e lf i e l d s , a n do n w h i c hb a s e d t h i sp a p e rp u t si m b e dr e l a t i o n a lm o d e li nt h ee x p l o r a t i o nd 剖 a b a s e - s t a r t i n gf i o mb i zp r o c e s s a n de s n y i l l go u tt h ed a t a b a s el o g i c a lm o d e ld e s i g n e db yu m 巳a tt h ee n do ft h i sp a p e r , i m p l e m e n tt h e d a t a b a s e1 0 9 i c a lm o d e li nt h ei n f o r m a t i o nc o n s u u c t i o ni no i lf i e l d sa n dr e g a r d i n ge x p l o r a t i o nd a t ab a s ea s t h e p l a t f o r m , l o c a t i o n t h e p o s i t i o n s o f w e l l s u n d e r t h e u s a g e o f t h e b e z i e r “0 f v e a l g o r i t h m s k e y w o r d $ :d a t am o d e l ;u m l ;d a t a b a s el o g i c a lm o d e l ;b e z i e r ;i n f o r m a t i o ns y s t e m ;b u s i n e s sp r o c e s s l l i 学位论文独创性声明 本人所呈交的学位论文是我在指导教师的指导下进行的研究工作及取得的 研究成果据我所知,除文中已经注明引用的内容外,本论文不包含其他个人 已经发表或撰写过的研究成果对本文的研究做出重要贡献的个人和集体,均 巴在文中作了明确说明并表示谢意 作者签名: 学位论文使用授权声明 本人完全了解大庆石油学院有关保留,使用学位论文的规定,学校有权保 留学位论文并向国家主管部门或其指定机构送交论文的电子版和纸质版有权 将学位论文用于非赢利目的的少量复制并允许论文进入学校图书馆被查阅有 权将学位论文的内容编入有关数据库进行检索有权将学位论文的标题和摘要 汇编出版保密的学位论文在解密后适用本规定 学位论文作者签名:鬟薯弛 日期:叩7 :弓、o 弘 导师签名:厚曼甬 日期:2 7 ;2 十 创新点摘要 本文创新点如下: 1 详细研究了数据库领域常用数据模型,将嵌套关系模型应用到数据库中,采用u m l 设计了 部分业务勘探开发数据库逻辑模型。 2 提出了一种基于b e z i e r 曲线的算法,并将其应用到油井工区定位领域。采用此种算法可以直 接存储井位的属性,进而生成近似圆滑的曲线,极大地减少了系统的运算量。并在本文设计的勘探 开发数据库中得到了验证 大庆石油学院硕士研究生学位论文 引言 随着信息技术的不断发展,绝大多数大型企业,特别是跨国大企业,基本上都完成 了信息化工作的基础建设。于是,企业需要考虑如何整合企业内部的多种应用程序和各 种信息资源,以便为企业内部员工提供统一的信息和应用系统平台企业信息化作为国 家信息化整体框架的重要组成部分,是企业在新的历史条件下求生存,谋发展的必由之 路。 企业信息化可促进企业业务流程的优化。企业在进行信息化建设时,不是用信息技 术模拟现有业务流程,而是用信息技术改善现有流程,优化现有流程,甚至对现有业务流 程重建。信息的采集、存储、共享、利用和传播能力成为决定企业竞争力的关键因素, 信息知识已经成为企业的战略资源。 在石油天然气业界,国际油公司频繁重组,国际化市场竞争日趋激烈,所有的石油 公司都面临着前所未有的、来自经济与技术两个方面的巨大挑战。在勘探开发技术领域, 众多石油公司正面对着越来越复杂的地质情况、越来越繁杂的项目数据,以及越来越紧 追的决策周期。因此,调整业务结构,优化工作流程,大力提升信息化建设和信息管理 水平,几乎成为所有石油公司正在采取或准备采取的关键举措。 国际上各大石油公司都非常重视信息化建设,国际上各大石油公司信息化发展一般 经历数据集成、专业集成、部门集成和企业集成四个阶段一些重要的石油天然气公司 信息系统建设已经达到企业集成、智能决策阶段。国内各个石油公司也非常重视信息系 统和数据库建设,但是和国际石油公司还有一定的差距。近几年,在勘探、开发方面已 经建立起基本的数据库系统,在日常勘探开发生产中发挥着作用。围绕油田数据管理中 心建设也开展了一些基础工作,具备企业内部数据集成的能力 基于战略总体规划,中国石油决定开展地球科学与钻井系统的建设。地球科学与钻 井系统的建设是实现油气勘探开发与生产的数据标准化,优化工作流程与数据流程,提 供专业化勘探开发数据服务;在集成的勘探开发一体化数据平台和专业软件应用平台的 支持下,建立统一共享的地球模型,支持勘探开发一体化协同工作。以实现缩短勘探周 期、提高勘探成功率、提高解释油藏特征和动态预测精度的能力,提高业务规划与决策 的科学性。地球科学与钻井系统实现勘探、油藏评价、开发各部门之间信息共享,实现 系统上下级之间信息共享,实现整个系统横向、纵向、专业之间广泛的信息集成与高度 共享【n 。 本文以中国石油股份公司地球科学与钻井系统的建设作为课题的来源,致力于勘探 开发数据模型的研究及其实现。具体的研究工作内容如下所述: 1 首先在阐述u m l 以及r o s e 工具的基础上,本文详细分析了u m l 语言在数据 库建模中的应用,并详尽的阐述了对象类转换成关系模式的基本法则。接着以一个简单 引言 的例子描述了对象类的行为转换为触发器和存储过程的一般方法。 2 本文第二部分介绍了数据库领域的常见数据类型,详细分析了各自的优缺点。 根据石油勘探开发的实际应用要求,采用嵌套关系模型思想设计对地球物理、测井、单 井等三个业务的勘探开发数据库逻辑模型。 3 本文采用u m l 语言的数据库建模方法,将基于嵌套关系模型的思想应用到其中, 对油田勘探开发数据库测井、地球物理、单井业务领域进行逻辑建模;总结出本论文设 计的勘探开发数据库的特点;设计了勘探开发数据库元数据管理模块。并应用数据交换 集成的思想及技术,实现了油田原有数据库到本文设计的勘探开发数据库的迁移,并在 实现的勘探开发数据库基础上,进行了井位图数字化的研究 2 大庆石油学院硕士研究生学位论文 第1 章系统建模的理论基础和技术 1 1 系统建模的理论基础 u m l 是一种面向对象的建模语言,其目标是成为软件开发系统建模的标准工具。 u m l 语言强调模型的可视化,对一个软件系统的主要的模型特征,如静态结构、 动态行为和相互的联系等,都定义了相应的图形符号一个u m l 的系统模型可以采用 多种模型图形和相应的说明、文档来表达u m l 语言提供了丰富的系统模型化的概念 和表示法,能够满足为常见的典型的软件项目建立系统模型的需要。但是,任何语言都 不可能包罗万象,因此u m l 语言还定义了扩展机制,使得用户可以根据自己的需要把 u m l 用户化,成为针对某个应用领域的特定的建模语言,用户还可以增加一些自定义 的构造型、标记值和约束等模型元素,以方便描述特定的模型特征。u m l 语言和许多 程序设计语言一样,是用半形式化的方法定义的,即用图形符号、自然语言( 英语) 和 对象约束语言( o b j e c tc o n s t r a i n tl a n g u a g e ,o c l ) 相结合的办法来描述定义的。u m l 先 定义一些核心的概念的表示法,如对象类、属性、操作、关联等,然后用这些概念和表 示法递归地定义u m l 语言的其他概念和表示法。这在严格的数学意义上虽然不能形式 化地证明是完全的,但却是十分有效的,而且容易理解、容易使用。 1 1 1u m l 语言结构 一个模型是一个系统的完整的抽象,人们对领域问题、问题的求解和问题的解决方 案的理解和认识,都蕴含在模型之中。模型是由元素构成,具有一定的体系结构。 u m l 语言是一个基于面向对象的可视化建模的语言,u m l 提供了丰富的基于面向 对象的模型元素及其图形表示元素,规定了严格的语法、语义和规则。 u m l 遵照面向对象的范型( p a r a d i g m ) ,其主要作用为 2 1 : 对领域问题进行说明和可视化,理解问题,建立文档。 获取、交流和应用问题求解的知识。 对解决方案进行说明和可视化,构建系统,建立文档。 u m l 语言建立在面向对象的基础上,它采用面向对象的概念和范型。u m l 语言的 体系结构建立在四层元模型结构之上,这四层元模型分别为:元元模型、元模型、模 型、用户对象。 1 元元模型层 元一元模型( m c :t a - m e t am o d e l ) 是建立元模型体系结构的基础结构( i n f r a s t r u 咖e ) 。元 元模型是定义描述元模型的语言,是任何模型的基础,用于对概念的形式化。在u m l 第1 章系统建模设计的理论基础和技术 语言的元一元模型中定义了“元对象类”、“元属性”、“元操作”等一批概念。 2 元模型层 元模型层o “e bm o d e l ) 定义描述模型的语言。在u i v l l 语言的元模型中,定义了面 向对象的范型的概念,如“对象类“属性”、“操作”、。组件”等,它们是元模型层的 元对象。元模型是元一元模型的一个实例。例如,“对象类”、“属性”、“操作”分别是 “元对象类”、“元属性”、“元操作”的实例。 3 模型层 模型( m o d e l ) 是元模型的一个实例,在模型层定义用于描述信息领域的语言。模型 是对现实世界的抽象,无论是问题领域还是解决方案,都可以抽象成模型。模型是系统 构建和更新的基础,用于对问题和解决方案的理解与交流,便于管理和控制系统的复杂 性。在模型层中的模型元素是元模型层中模型元素的实倒 4 用户对象层 用户对象( u s e ro b j e c t ) 是模型的实例,用户对象层定义一个特定的信息领域,它表 达的是一个模型的特定情况。在用户对象层中的模型元素是模型中的模型元素的实例。 1 i 2 元模型基本结构 元模型是关于模型的模型。u m l 元模型用于定义u m l 语言的概念和表示法。u m l 元模型通常表示为一个元对象类图。 u m l 元模型是一种逻辑模型,而非物理( 实现) 模型,它由一些逻辑包( p a c k a g e l 组成,这些包又由一些子包组成。包是通用的成组机制,用于组织语义相关的模型元素 ( 元对象类) 同一个包内的模型元素有强内聚性,而不同包的模型元素之间的耦合则 较弱。 u m l 元模型由基础包、行为元素包和模型管理包定义,行为元素包和模型管理包 均依赖于基础包。u m l 元模型的体系结构用一个包图表示。如图1 一l 所示,包与包之 间的虚箭线表示依赖关系例。 1 基础包 基础包是u m l 语言的基础结构( i n 丘劬l c t i l ) ,它定义了模型的静态结构以及结构 建模和语言扩展机制所必须的概念。基础包由以下四个子包组成:核心包、数据类型包、 扩展机制包、辅助元素包,如图1 - 1 所示。 ( 1 ) 核心包:定义了u m l 元模型的基本概念,它有足够充分的语义去定义u m l 语言的其他成分。核心包定义了为建立面向对象模型所需要的基本的抽象元模型构造物 和具体元模型构造物 抽象元模型构造物:包括模型元素( m o d e le l e m e n t ) 、可泛化元素( g e n e r a l i z a b l e e l e m e n t ) 和分类符( c l a s s i f i e r ) 等。抽象元模型构造物是没有实例的,它们用于组织m 也 元模型。 4 大庆石油学院硕士研究生学位论文 行为元素 圈 l | 协同ll u s e c a s e il 状态机l , 基础i 1 l r 心1 心1 i 扩展机制l l _ 刮 图1 - 1u m l 基础包结构 模型元素是从被建立模型的系统中抽象出来的元素。在元模型中,模型元素是一个 模型中的有名的实体,是u m l 语言中元对象类建模的基础。可泛化元素是可以参与泛 化联系的模型元素,即它们允许存在一般与特殊关系可泛化元素是一个抽象的元对象 类。分类符是一个模型元素。在元模型中,分类符是一个抽象的元对象类,是元对象类 。可泛化元素”的子类。分类符描述特征的集合,包括结构特征和行为特征,如属性、 操作和方法等。 具体元模型构造物:包括对象类、属性、操作、关联等,具体元模型构造物是可 以有实例的,它们用于组织u m l 的模型或元模型。 ( 2 ) 数据类型包:数据类型包定义在u m l 元模型中使用的各种数据类型。在元 模型中,数据类型声明对象类的属性的类型( t y p e ) 。 数据类型包定义的元数据类型如下: 基本型:包括i n t e g e r ( 整型) 、u n l i m i t e d i n t e g e r ( 无限整型) 、s t r i n g ( 字符串) 、 t i m e ( 时间) 。它们是带有构造型 的元对象类。 枚举型:包括a g g r e g a t i o n k i n d ( 聚合型) 、b o o l e a n ( 布尔型) 、c a l c o n c u r r e n c y k i n d ( 调用并发型) 、c h a n g e a b l ek i n d ( 可变型) 、o r d e r i n g k i n d ( 有序型) 、 第1 章系统建模设计的理论基础和技术 p a r a m e t e r d i r e c f i o n k i n d ( 有向参数型) 、p s e u d o s t a t e k i n d ( 伪状态型) 、s c o p e k i n d ( 范围 型) ,v i s i b i l i t y k i n d ( 可视型) 它们是带有构造型 的元对象类。 表达式:在元模型中,表达式定义一个语句,当在一个上下文环境中执行时,它 对一组实例( 可以为空) 计值。一个表达式不改变其求值所在的环境。 映射:在元模型中,映射( m a p p i n g ) 用于模型元素的映射。映射一般用一个字符 串表示。例如:一个表达式字符串映射到一个表达式元素,它可能是表达式的一个子类, 如对象集表达式或时间表达式。 名字:在元模型中,名字( n a m e ) 定义一个为模型元素命名的语言符号,一般用字 符串表示。名字用于在某个范围内唯一地标识一个模型元素。 定位引用:在元模型中,定位引用( l o c a t i o nr e f e r e n c e ) 在扩展u s ec a s e 的插入行 为序列中确定位置。定位引用可以在代码中用一条线表示,或者在状态机中用一个或一 组状态表示,或用其他方式表示。 多重性:在元模型中,多重性( m u t t i p l i c i t y ) 定义一个非负整数的非空集合。 ( 3 ) 扩展机制包:扩展机制包规定怎样对模型元素用户化和扩展新的语义。扩展 机制包定义了构造型、标记值和约束的语义。一个模型元素最多只能有一个构造型,该 构造型必须与所建模的元素( 如对象类、关联、依赖等) 的u m l 类相匹配,但是一个 模型元素可以有任意个标记值和约束。 ( 4 ) 辅助元素包:辅助元素包定义核心包以外的一些概念与模型元素。辅助元素 包中包含的元对象类有:注解( c o m m e n t ) 、绑定( b i n d i n g ) 注解是附加在模型元素或模 型元素集上的解释说明,注解不具有语义作用,但可以提供对该模型元素有用的信息。 绑定是一个模板( t e m p l a t e ) 与由该模板生成的模型元素之间的联系。绑定必须有一个供 应者( 模板) 和一个客户( 模型元素) 。在元模型中,绑定是一个元对象类“依赖”,其 供应者是模板,客户是该模板的实例,它执行参数替换。一个绑定有一个变量表,用于 替换供应者的参数以获得客户。 2 行为元素包 行为元素包定义了建立系统行为模型所需要的概念。行为元素包由以下子包组成: 公共行为包、u s ec a s e 包、协同包、状态机包、活动包。 ( 1 ) 公共行为包:定义动态元素的核心概念,为u s ec a s e 、协同、状态机等提供 基础设施结构。在公共行为包中包含的元对象类有:动作、信号。 动作:是一个可执行语句的说明,它是一个导致模型的状态的变更的计算过程的 抽象。动作可以通过发送一个消息给对象,或修改一个链接,或修改一个属性值来实现。 信号:信号( s i g n a l ) 是实例之间通信的一个异步激发的说明。接受信号的实例用 一个状态机处理信号。在元模型中,信号是分类符的子类在模型层,信号用于状态机 和活动图中。信号总是异步的。 ( 2 ) u s ec a s e 包;定义实体功能的建模所需要的概念,或系统提供什么给外界的 用户。这些概念主要有活动者和u s ec a s e 。活动者是一个实体的外部事物的模型,如一 6 大庆石油学院硕士研究生学位论文 个外部系统或对象类。u s ec a s e 是一个元对象类,是对系统或应用的一种单一使用方式 所作的描述。 ( 3 ) 协同包:协同( c o l l a b o r a t i o n ) 为系统中的一批分类符( 如对象类、接口等) 及 其关联的集体命名,并说明它们怎样一起合作完成某个特定的任务。协同也是关于如何 实现一个分类符或一个操作的说明,实现一个分类符或一个操作是由一批分类符( 如对 象类、接口等) 及其关联以某种特定的方式合作完成的。协同一般用于对u s ec a s e 和 操作的实现建模,以及对系统的结构机制的模型建立 ( 4 ) 状态机包:定义了一组概念,用于有限状态转移系统( f i n i t et a r e - t r a n s i t i o n s y s t e m ) ,以便对离散的行为建立模型。这些概念是建立在基础包和公共行为包所定义 的概念之上的。在状态机包中定义的概念主要有状态、转移、事件等。 3 模型管理包 模型管理包定义模型元素如何组织。模型管理包定义了模型、包和子系统,它们均 作为其他模型元素的组成单元。在元模型中,包是名字空间和可泛化元素的子类、在一 个模型中,包用于把模型元素划分成组。包可以包含模型元素,如包、分类符、关联等, 包还可以包含约束和模型元素之间的依赖。子系统是一类特殊的包,包代表物理系统的 一个行为的元,因而也是模型中的一个单元。在元模型中,子系统定义为包的予类,也 是分类符的子类。子系统具有操作能力并可提供接口子系统中的模型元素可以划分为 说明性元素和实现性元素,说明性元素与子系统的操作一起给出了子系统的说明,并且 由实现性元素实现。 1 1 3u m l 中的图与视图 1 图 图是对组成系统的元素的图形化及表示,通常由节点( 模型元素) 和弧( 联系) 构 成。复杂的系统不可能只用一种景象去完全理解,因此u l 帆定义了一批不同功用的图, 可以分别处理系统的不同方面。u m l 定义的图有3 大类型【4 】:u s ec a s e 图、静态结构 图和动态行为图,共计9 种图。 其中,u s ec a s e 图表达u s ec a s e 、活动者和它们之间的联系、u s ec a s e 图在组织和 模型化系统的行为方面特别有用。 静态结构图包括对象类图、对象图、组件图和配置图。 ( 1 ) 对象类图( c l a s s d i a g r a m ) :表达类、接口,以及它们的联系。对象类图是面向 对象方法建立系统模型的最基本的图形。 ( 2 ) 对象图( o b j e c td i a g r a m ) 表达对象及它们之间的联系。对象图和对象类图一 样,着重描述系统的静态设计视图和静态过程视图,所不同的是对象图侧重于实际的或 贩型化的角度。 ( 3 ) 组件图( c o m p o n e n td i a g r a m ) , 表达组件及它们之间的联系。组件图上、对象 7 第l 章系统建模设计的理论基础和技术 类图相关,一个组件图总是映射到一个或多个对象类、接口或协同。 ( 4 ) 配置目f l ( d e p l o y m e n td i a g r a m ) :表达物理节点及它们之间的联系、配置图与组 件图相关,一个节点总是含有一个或多个组件。 组件图和配置图是一类实现图( i m p l e m e n t a t i o nd i a g r a m ) ,着重表示系统的实现特征。 u m l 模型中最基本的行为事物是交互和状态机,它们与模型的各种结构元素相连 接构成系统的行为图,描述系统的行为。u m l 的动态行为图包括交互图( 顺序图与协 同图) 、状态图、活动图吼 ( 1 ) 顺序图( s e q u c ed i a g r a m ) 表达一组对象,以及这些对象发出与接受的消息, 着重在消息的时间顺序上。 ( 2 ) 协同图( c o l l a b o r a t i o nd i a g r a m ) :表达一组对象、对象之闻的连接,以及这些 对象发出与接受的消息,着重在对象的结构组织方面。 顺序图和协同图都是一种交互图( i n t e r a c t i o nd i a g r a m ) ,表现模型元素之间的交互, 共同各种完成某个服务。 ( 3 ) 状态图( s t a t ed i a g r a m ) :表达状态机,它由状态、转移、事件和活动构成。状 态图着重表示对象的有序事件行为。状态图对于对象类、接口和协同的建模特别重要 ( 4 ) 活动图( a c t i v i t y d i a g r a m ) :表达系统内的活动流,着重在对象之间的控制流。 活动图是一种特殊的状态图,活动图还可以从工作流建立模型。 上述l r m l 图加上支持说明文档组成系统模型。但是一个复杂的系统需要从不同的 角度去观察和表示。在建立系统模型时可以根据需要选择使用不同的图,把它们组织成 不同的视图,分别表达系统的某一个方面的特征。 1 2 数据库建模工具 要开发一个基于数据库的应用系统,其中最关键的一步就是整个系统所依据的数据 库的建模设计,从逻辑的到物理的,一个环节疏于设计,整个的应用系统便似建立在危 房之上,随着开发过程的不断深入,它要随时面临着各种难以预料的风险,开发者要为 修改或重新设计没有设计好的数据库系统而付出难以预料的代价。所以,一个良好的数 据库设计是高效率的系统所必须的。而一个好的数据库建模工具显然是至关重要的。 r a t i o n a lr o s e 是分析和设计面向对象软件系统的强大工具,可以帮助先建模系统再 编写代码,从而一开始就保证系统结构合理。利用模型可以更方便地捕获设计缺陷,从 而以较低的成本修正这些缺陷。r a t i o n a lr o s e 有助于系统分析,可以先设计使用案例和 u s ec a s e 框图,显示系统的功能。可以用i n t e r a c t i o n 框图显示对象如何配合,提供所需 功能。类和c l a s s 框图可以显示系统中的对象及其相互关系。c o m p o n e n t 框图可以演示 类如何映射到实现组件。最后,d e p l o y m e n t 框图可以显示系统的网络设计。 r o s e 模型是系统的图形,包括所有u m l 框图、角色、使用案例、对象、类、组件 和部署节点。它详细描述系统的内容和工作方法,开发人员可以用模型作为所建系统的 8 大庆石油学院硕士研究生学位论文 蓝图。 传统中,我们采用如图卜2 所示过程【6 1 用户的要求被建成文档,但设计在b o b 的 脑子里,因此只有b o b 知道系统的结构。如果b o b 离开,则这个信息、也随他一起离 开如果不详细与他面谈,就很难了解他做出的开发决策、系统各部分的作用和系统的 总体结构【刀。 图1 2 传统的编程实现方法嘲 r o s e 模型采用的过程如图l - 3 所示。设计被建成文档,开发人员就可以在编码之前 在一起讨论设计决策了,不必担心系统设计中每个人选不同方向。 图1 - 3 r o s e 的实现过程 r o s e 是整个项目组使用的工具,是每个小组成员可以收集所需要信息的范围和设 计信息的仓库嗍。除此之外,r a t i o n a lr o s e 还可以帮助开发人员产生框架代码,适用于 市面上的多种语言,包括c + + ,j a v a , v i s u a lb a s i c 和p o w e r b u i l d e r 。此外,r o s e 可以逆 向转出工程代码。模型发生改变时,r o s e 可以修改代码,做出相应改变。代码发生改 变时,r o s e 可以自动将这个改变加迸模型中。这些特性保证模型与代码同步,避免遇 到过时模型。利用r o s e s c r i p t 可以扩展r o s e ,这是r o s e 随带的编程语言。利用r o s e s c r i p t 可以编写代码的改变模型、生成报表、完成r o s e 模型的其他任务。 本课题采用r o s e2 0 0 3 作为u m l 建模工具。r o s e2 0 0 3 能将r o s e 和其他工具集成, 如r a t i o n a l r a q u i s i t e p r o ,t e a m t e s t , v i s u a lc - h 等等。而且r o s e 9 8 i 还可以在w e b 上发表 模型。 1 3u m l 在数据库建模中的应用 对于一个大型软件的开发来说,数据库设计是否成功是一个项目成败的关键。传统 的数据库设计方法是采用e r d 模型设计,因使用e r d 建模结构所带来的障碍和局限性, e r d 不能够提供足够丰富的专业术语来适应新的结构。而u m l 却能够弥补e r d 建模 的缺陷,能够很好的适应数据库建模的需要。在u m l 中,类图主要用于描述系统中各 种类及其对象之间的静态结构。在关系数据库域中,类与表相对应,u m l 的优势在于, 它不仅可以完成e r d 所能做的所有建模工作,而且u m l 可以描述e r d 所不能表示的 9 第1 章系统建模设计的理论基础和技术 联系。在数据库的逻辑结构设计中,我们也可以把u m l 的对象类图转化为关系数据库 模型,将对象类转换为关系模式;对象类的属性转换为关系模式的属性 9 1 。 1 3 1 对象类转换成关系模式 在建立对象模型过程中,在识别对象时,我们一般只考虑对象和软件系统有关的属 性,忽略无关属性。在提取对象类时,也仅仅考虑和软件系统有关的属性。这些属性在 u m l 中没有主次之分。也就是说,没有从语义上能唯一决定一个对象的属性( 集) ,至 少从定义上我们没法去区别键。 基于以上原因,我们认为,在定义对象类时,如果对象类已经有一个可以用来标识 对象类实例的属性,则不必添加一个额外的属性;否则就应该为每个对象类添加一个额 外的属性。这个用来标识对象类的实例的属性,我们称为主属性。每个关联类的主属性 包括一个或更多的相关对象类的主属性。例如g 增加一个对象编号属性键,当它转换到 关系模式里面,就变成了主键。我们这样做的原因是基于:大多数r d b m s 提供有效的 基于存在的标识符的分配顺序号码。 现在我们讨论从对象类到关系数据库的映射。般来说,映射的基本法则为:一个 对象类对应一个数据表,对象类的每个属性对应数据表的每一列( 属性) ;对象类的主 属性对应数据表的主键i 1 0 1 1 l 】。 对象类之间是一对一的关联。可以在两个对象类转换成的关系模式中的任意一个模 式内,加入另一个模式的主键和关联对象类的属性。 对象类间是一对多关联。在多端对象类转换成的关系模式中加入一端对象类的主属 性和关联对象类的属性。 对象类间是多对多关联。将关联对象类也转换成关系模式,其属性为两端对象类的 主属性加上其本身的属性,其主键为两端对象类主属性的组合。 泛化联系( 只讨论简单继承) 。关系模式中没有继承的概念,但我们仍然可以采用 以上映射的基本法则。把父类和子类分别转换成关系模式,所有的表共享一个共同的主 键,得到一个数据表。表中与子类对应两个表,都用父类表的主键“号码”。这是因为 每一个子类对象,都是父类一个实例。利用这个主键,就可以到父类表中查询继承过来 的属性值。在父类表中有一个种类属性,用以识别每一元组属于哪一子类。 1 3 2 对象类的行为转换为触发器和存储过程 到目前为止,对象类中定义的对象仍然非常简单,只有属性,而没有定义任何的方 法,但是现实的项目中,业务域中对象可能需要定义很多的方法。接下来,我们就来看 看如何使用u m l 定义业务域对象类的方法【1 2 1 ,比如对于学生类来说,我们不仅关心他 们各自的属性,也要关心他们的年龄大小是否符合要求,性别是否只输入了“男”或 1 0 大庆石油学院硕士研究生学位论文 者“女”;我们还要关心与之有关的触发器和存储过程等,因此有必要定义一些方法( 操 作) 来实现对象类的行为。图1 _ 4 是添加了方法( 操作) 的学生类,该图是用r a t i o n a jr o s e 2 0 0 3 中的d a t a m o d e l e r 工具得到,各个成员函数的含义如表1 - 1 所示。在整个模式中还 定义了一个 a d d _ s t u d e n t 的存储过程,它不属于学生类的成员函数,而属于整个 关系模式,为了说明的方便,也列在表l l 中说明。 : 。 堂堡。一 每班级:c h a r ( 4 ) 舄地址:v a r c h a r ( 1 0 0 ) 勤浑镣:s m a l u n f ? 一” 岛姓名:c 姚r ( e ) 。一二 黟眭别:c 懈。, 岛( p 学号:s m a l l t n q 7 一。 岛电话:v a r c h a r ( 5 0 ) “ 图i - 4 学生类 表i - i 学生类的成员函数和存储过程 成员函数名( 方法名) 功能( 执行的操作) c h e c k _ _ a g e c h e c k _ s e x q u e r y _ s t u d e n t 呷k p l ( _ 学生 a d d _ s t u d e n t 检查输入年龄是否在1 - 1 5 0 之间 检查性别是否只为“男”或“女” 定义触发器:当查询学生时触发( 针对当前数据表) 定义主键,由系统生成 定义存储过程:当添加学生时执行( 针对整个数据库) 以上学生类用d a t a m o d e l e r 工具自动生成的s q l 语句如下: c r e a t et a b l e 学生( 班级c h a r ( 4 ) n o t n u l l 地址v a r c h a r ( 1 0 0 ) n o tn u l l 年龄s m a l l n 盯n o t m j , 姓名c h a i 妯:8 ) n o t n u l l 性别c h a r ( 2 ) n o tn u l l 学号s m a ii 玳t n o t n u l l 电话v a r c h a r ( 1 0 0 ) n o tn u l l c o n s t r a i n tp k 学生p r i m a r yk e y ( 学号) c o n s t r a i n tc h e c ka g ec h e c k ( 年龄b e t w e e n 1a n d1 5 0 ) d e f e r r a b l e 够硒;攀 豪一 虻妃l 荸妒 私杉群彰 第l 章系统建模设计的理论基础和技术 c o n s t r a i n tc h e c k _ s e xc h e c k ( 性别= 男o r 性别= 女) ) ; c r e a i ep r o ca d d _ s t u d e n t ( 班级c h a r ( 4 ) , 地址v a r c r n r 0 0 0 ) , 年龄s m a l l i n t , 姓名c h a r ( s ) , 性别c h a r ( 2 ) , 学号s m a l l i n t , 电话v a r c h a r ( 5 0 ) ), a s 、s e r td r i d v a l u e s ( 班级c h a r ( 4 ) , 地址v a r c h a r ( 1 0 0 ) , 年龄s m a l l i n t , 姓名c h n 取8 ) , 性别c h a r ( 2 ) , 学号s m a l l i n t , 电话v a r c h a r ( 5 0 ) ) c r e a t et r i g g e r q u e r ys t u d e n t 0 n 学生 f o ri n s e r t , u p d a t e , d e l e t e a s s e l e c t + f r o m 学生 触发器和存储过程的实现依赖于具体的d b m s 。 1 4 勘探开发数据库背景 随着信息技术的发展,信息集成与应用需求的产生和变化越来越快,用户需要具有 可个性化定制能力的平台软件。在油田,信息技术通过企业信息门户的推广,已满足用户 的个性化要求,但数据描述、数据存储仍然使用多年前制定的数据库结构,不能适应油 田信息发展的需求。在传统的数据库建模中,系统分析师通过面向业务的数据库概念模 型与用户交流,然后设计逻辑模型或物理模型。在实际应用中,为保护遗产数据的投资 和应用的连续性,用户要求以现有数据库逻辑模型为基础,通过补充和修改完成新模型 的建立。 目前,虽然油田网络建设、信息基础设施颇为完善,但与国际先进石油公司相比, 在某些领域还存在着不小的差距。油田经过多年的勘探信息化建设,已经建立了勘探基 础数据库和部分专业公司的专业数据库,能够部分承担起勘探数据采集和勘探数据归档 管理任务,但仍然无法很好的满足勘探项目研究单位使用数据的需求。这一状况已经严 重影响了勘探项目研究工作的开展。为了更好的满足勘探项目组对数据应用的需求,在 原有勘探基础数据库的基础上,依据油田公司信息总体规划,结合勘探信息化体系建设 的实际情况,进行了勘探开发数据库的建设。 石油勘探开发数据不但量大,而且类型复杂。勘探开发数据的管理一直是影响勘探 开发软件集成化和工程化的关键。己有的软件系统一般都带有自己的数据模型和数据管 1 2 大庆石油学院硕士研究生学位论文 理系统,软件之间数据难以共享对相同的数据用不同的数据库进行处理时。需要反复 进行数据加载和格式转换。油田现有的勘探开发数据库是以提供报表的形式建立的,数 据冗余度很高,而一些生产中实际需要的数据却没有提供,没有考虑到油田的实际业务 过程,因此不能支持油田复杂多变的数据应用。而且随着时间的推移,数据的完整性难 以维持,数据库的维护十分困难,难以为油田各专业应用提供有效的数据支持。解决这 一问题的关键就是构造众多领域的数据模型,搭建统一的勘探开发数据平台。 勘探开发数据库系统用于存储和管理油田公司的各类勘探、开发和生产技术基础数 据,是具有数据加载、数据存储管理、数据查询与下载功能的庞大的数据管理系统。其 中包含了众多的数据类型,主要有物探类数据、测井类数据和钻井类数据等。不同类型 数据存储在不同的数据库中,勘探开发数据库作为主库的重要组成部分,采用e m d 标 准,存储结构化专业数据【1 3 】。 1 5 小结 本章简单介绍了u m l 语言和r a t i o n a lr o s e 工具,对使用u i v l l 语言进行数据库建 模进行了详尽的分析,总结了u m l 语言进行数据库建模的基本原理与大体流程。并简 单介绍了本文实现的勘探开发数据库的背景。 第2 章数据模型理论 第2 章数据模型理论 2 1 数据库领域常用数据模型 一、层次模型l l 州 层次模型是数据处理中发展较早、技术上也比较成熟的一种数据模型。它的特点是 将数据组织成有向有序的树结构。层次模型由处于不同层次的各个结点组成。除根结点 外,其余各结点有且仅有一个上一层结点作为其“双亲”,而位于其下的较低一层的若 干个结点作为其“子女”。结构中结点代表数据记录,连线描述位于不同结点数据问的 从属关系。图2 - 1 为一个简单的层次模型。 图2 - i 一个简单的层次模型 层次模型反映了现实世界中实体间的层次关系,层次结构是众多空间对象的自然表 达形式,并在一定程度上支持数据的重构。但其应用时存在以下问题: 1 由于层次结构的严格限制,对任何对象的查询必须始于其所在层次结构的根, 使得低层次对象的处理效率较低,并难以进行反向查询。数据的更新涉及许
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025合同协议版范本
- 建筑工程质量检测方案及验收标准
- 2025-2030风电运维智能化转型趋势及服务模式创新报告
- 2025-2030非物质文化遗产在幼儿教育中的转化应用研究报告
- 2025-2030非常规油气开采特种泵维修市场分析
- 2025-2030隔音降噪功能与节能性能协同优化方案设计指南
- 2025-2030长租公寓邻里关系管理与冲突解决机制
- 2025-2030钢铁冶金行业市场现状供需分析及投资评估规划分析研究报告
- 项目进度管理及风险分析
- 多篇专项施工方案模板合集
- 新教科版小学1-6年级科学需做实验目录
- 读懂诗家语省公开课金奖全国赛课一等奖微课获奖课件
- 24春国家开放大学《农业推广》调查报告参考答案
- 山西省职校技能大赛(植物病虫害防治赛项)参考试题库(含答案)
- 安全生产培训内容
- 酒店设施维护与管理的重要性与实践:延长设备使用寿命降低维修成本
- 老年人认知障碍的早期识别与干预
- 新人教版版PEP小学英语(3-6年级)单词表(带音标)
- 小兵张嘎夺枪记(课本剧)
- 《电子商务法律法规》课程标准
- 医院关于印发《即时检验临床应用管理办法》的通知
评论
0/150
提交评论