




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要在油田开发与原油的开采过程中,各种生产设备由于各种原因出现不同类型的故障,导致油田开发生产无法正常运行。井下作业公司针对这些故障会采取相应措施保证设备正常运转。这个过程中产生了大量重要的作业数据信息,这些数据信息需要有效地保存与维护。为了满足这一需求,本文设计了针对井下作业公司的数据字典进行管理的软件。本文以.NET平台为开发环境,以JavaScript, Ajax,oracle数据库等技术为支持,实现了针对井下作业公司作业的数据字典管理软件。用户可以对所关心的油田地面设施维护数据的元模型进行通用查询、模糊查询及模型查询,通过该工具用户可以准确地选定需要数据表,基于所查看的信息实现对今后油井各种参数指标的分析,从而指导油田开发人员对油井状况进行改进与维护,为提高原油采收率奠定基础。关键词:.NET; Ajax;oracle;数据字典AbstractIn the process of oil-field development and production of crude oil, a variety of production equipment for various reasons there is a different type of failure, resulting in oil field development and production to malfunction. Downhole operation companies for the failure to take appropriate measures to ensure the normal operation of equipment. This process produces a large number of important operational data information, information need to be saved and effectively maintain these data. In order to meet this demand, this essay was designed for downhole operation companies manage data dictionary software.To this essay .NET platform for the development environment, to JavaScript, Ajax, oracle database technology to support, enabling data dictionary management for downhole operation companies operating software. Oil field surface facilities of interest to the user can maintain data-element model for universal fuzzy query of queries, and query the model through the tool the user can precisely select the data table, based on the view of information for the analysis of various parameters of oil well parameters on the future, thus guiding personnel on oil well condition for improvement and maintenance of oilfield development, laying the foundations for enhanced oil recovery.Key words: .NET; Ajax; oracle; data dictionary目 录第1章 绪论11.1 开发项目的项目背景11.2 系统的开发目的2第2章 系统开发涉及的相关技术32.1 .NET 平台概述32.2 HTML技术概述42.3 JavaScript技术及应用52.4 DOM模型技术62.5 Web2.0新技术AJAX82.6 Oracle 数据库技术及应用9第3章 系统需求分析及设计113. 1概述113.2系统需求分析113.3 系统的总体设计13第4章 系统的详细设计和实现184.1 界面的设计184.2系统功能概述194.3系统功能实现21第5章 系统测试255.1 测试概述255.2 数据字典管理软件的测试255.3 发现的问题265.4 解决方案27结 论28参考文献29致 谢30II第1章 绪论1.1 开发项目的项目背景Internet技术深刻地改变着世界,当然也影响了信息管理方式,数据库系统的出现就是最好的证明。数据库的历史可以追溯到五十年前,那时的数据管理非常简单。通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。数据库系统的萌芽出现于60 年代。当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需要,能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。在数据库系统中,数据库的重要部分是数据字典。它存放有数据库所用的有关信息,对用户来说是系列只读的表。数据库数据字典不仅是每个数据库的中心,而且对每个用户也是非常重要的信息,用户可以用SQL语句访问数据库数据字典,这需要用户精通SQL语言,即便如此,有些时候也需要大量的语句才能实现目的数据,很不方便。数据字典管理软件的出现适应了信息系统的社会化和大众化的要求。数据字典管理软件是在Web网络环境下的一种兼容、存储、处理、分析和显示与应用信息的计算机系统。它是Web技术下的产物,其基本出发点就是利用互联网发布信息,客户通过浏览器浏览获取信息系统中的数据和功能的服务,很简单的就完成了数据查看的功能。目前最流行的技术平台是ASP.NET平台,所以本软件也采用此技术平台。ASP.NET是微软公司最新推出的一种统一Web开发平台,与最新的数据访问技术ADO.NET一起可构建出强大、安全和可靠的企业级Web应用程序。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序1。ASP.NET是新一代Web应用程序开发平台,它是一个已编译的开发环境,它提供了生成企业级应用程序所必需的全部服务,基于 .NET Framework 生成,整个框架都可用于任何 ASP.NET 应用程序。可以使用任何与公共语言运行库(CLR)兼容的语言(包括 Visual Basic.NET、C# 和 JScript.NET)来创建应用程序。由于ASP.NET的众多优点,技术发展和各种客观实际的需要,该系统选用了ASP.NET来开发设计,实现了数据字典管理软件的开发设计,使得对信息的查看更加及时、高效,提高了工作效率。1.2 系统的开发目的科学合理地管理数据是企业信息化成功的前提和关键。现在企业都有自己的数据库,企业的信息都存储在系统中。数据库系统一般都带有数据字典,对数据库中的数据进行统一的管理。数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。任何字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。换句话说,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户的通信。在此基础,我们将制作一个数据字典管理软件。但是数据库中自带的数据字典只是对元数据进行一般性操作管理,如增加、修改、删除、浏览等。满足不了企业应用系统对元数据操作和管理要求,有必要建立专门的数据字典管理系统,对企业的元数据进行统一的管理。 就目前来看,已经有不少很有实力的大企业建立的自己的数据字典管理系统,并且起到了积极良好的作用,提高了企业的效率,还有很多大中型企业有这方面的需求但是尚未开发自己的数据字典管理系统5。随着油田开发向纵深发展,在油田开发过程中油井保养与维护产生了大量的、宝贵的数据资产。这些数据为管理人员、科技人员及时掌握油井相关情况奠定了坚实的基础。然而,如何直观地、便捷地、高效地获取这些信息一直是油田上要解决的一个问题。目前,无论是国际还是国内,绝大多数企业都基于.NET平台开发了一些适合本部门或本专业应用软件。我们将应用.NET、数据库等开发技术实现数据字典管理软件的开发,根据科学性、有序性、兼容性和可扩展性,制定油田作业业务信息的分类体系和分类方案。可以使企业间的数据提高共享性、消除信息孤岛,对所有与系统相关的数据元素的一个有组织的列表、以及精确严格的定义。使得用户和系统分析员对于输入、输出、存储成分和中间计算有共同的理解。按照字典表中各个字段间的自关联关系,将字典表按照主题进行分类、组织,为用户提供了友好、灵活、直观的方式查看数据字典的元模型字典表。本课题主要是针对石油公司井下作业数据记录的数据字典管理软件,在此需求环境下完成软件的设计与实现,通过对开发该数据字典管理系统的需求、目的、实际应用等的描述,详细地介绍了在.NET技术平台和oracle数据库的开发环境下如何运用JavaScript、Ajax等成熟的开发技术完成对公司数据字典管理软件的开发设计,以及开发完成后的数据字典管理系统是如何按照该企业的需求,实现对该公司海量数据的管理,提高企业信息化管理的高效率。实现数据字典管理软件,可以使油田相关信息及时快速的被管理员查看,及时发现情况,解决相关问题,提高工作效率。第2章 系统开发涉及的相关技术2.1 .NET 平台概述ASP.NET是微软公司最新推出的一种统一Web开发平台,与最新的数据访问技术ADO.NET一起可构建出强大、安全和可靠的企业级Web应用程序。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序2。采取了ASP.NET技术的系统在性能上有了很大的改善,主要表现在以下几方面: 由于ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而ASP.NET页面只需要一次编译后不需要重新编译,直到该页面被修改或Web应用程序重新启动。这使得在多次访问时速度有了极大的提升; 由于ASP没有提供任何输出数据为内容的元件,所以在使用ASP撰写数据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而ASP.NET通过ADO.NET提供的DataGrid等数据库元件可以直接和数据库联系; ASP.NET支持应用程序的实时更新,管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。应用程序文件永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖,当文件更新后,系统会温和地转换到新的版本;ASP.NET采取CodeBehind(代码分离)技术方式编写代码使得代码更易于编写,结构更清晰,降低了系统开发与维护的复杂度和费用2。微软的.NET框架(.NET Framework)是用于构建新一代Internet集成服务平台的最新框架,这种集成服务平台允许各种系统环境下的应用程序通过互联网进行通信和共享数据13。.NET Framework大致可分为两个部分,分别为通用语言运行环境(Common Language Runtime, CLR)和.NET Framework类库,如图2-1所示。系统操作ASP.NET(Web Forms/Web ServicesWindows应用程序.NET Framework类库通用语言运行化境(CLR).NET框架图2-1 .NET框架结构.NET Framework利用CLR解决了各种语言的Runtime不可共享问题,具有跨平台特性。Runtime(执行期)是指计算机编译应用程序的运行时(状态),Runtime包括编程语言所需的函数和对象等,各种语言之间的Runtime不能共享。.NET Framework以CLR解决了这个共享问题,它以中间语言(Intermediate Language,IL)实现程序转换,IL是介于高级语言和机器语言之间的中间语言。在.NET Framework之上编写的程序,都被编译成IL,IL经过再次编译形成机器码,完成IL到机器码编译任务的是JIT(Just In Time)编译器3。上述处理过程如图2-2所示。中间语言(IL)代码各种.NET应用程序机器代码图2-2 .NET应用程序的编译过程2.2 HTML技术概述HTML是用来构建Web结构和编写Web内容的语言,目前已经成为构建Web站点的事实上的标准语言。HTML(Hyper Text Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容12。HTML没有1.0版本是因为当时有很多不同的版本。有些人认为蒂姆伯纳斯-李的版本应该算初版,这个版本没有IMG元素。当时被称为HTML+的后续版的开发工作于1993年开始,最初是被设计成为“HTML的一个超集”。第一个正式规范在为了和当时的各种HTML标准区分开来,使用了2.0作为其版本号。HTML+的发展继续下去,但是它从未成为标准。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。 另外,HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。HTML文档制作不是很复杂,且功能强大,支持不同数据格式的文件镶入,这也是www盛行的原因之一。2.3 JavaScript技术及应用JavaScript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了JavaScript,提供了数据验证的基本功能15。Netscape公司在最初将其脚本语言命名为LiveScript来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme。JavaScript与Java名称上的近似,是当时网景为了营销考虑与Sun公司达成协议的结果。为了取得技术优势,微软推出了JScript来迎战JavaScript的脚本语言。为了互用性,Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript)。现在两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的脚本语言,而非作为给程序人员的编程语言来推广和宣传,但是JavaScript具有非常丰富的特性。. NET是微软公司下一代的战略核心,ASP. NET是. NET战略在Web开发方面的具体实现。它继承了ASP的简单性和易用性,同时克服了ASP程序结构化较差,难于阅读和理解的缺点.特别是服务器端控件和事件驱动模式的引入,使得Web应用程序的开发更接近于过去桌面程序的开发。但是,服务器端的程序毕竟需要一次浏览器与Web服务器的交互,对于ASP. NET来说,仅是一次页面的提交,就需要来回传送大量的数据,合理地在服务器程序中插入客户端的JavaScript脚本,可以提高程序的运行效率并提供更友好的用户界面。本文即是将ASP. Net与JavaScript技术相结合,实现了站场定量评价的软件编制10。2.4 DOM模型技术 DOM的全称是Document Object Model(文档对象模型),是一组平台和语言中立的应用程序编程接口(API),它能够描述如何访问和操纵存储在结构化XML和HTML文档中的信息。依照W3C DOM规范,选用Document Object Model这个术语是因为DOM在传统的面向对象编程的意义上是一个对象模型:文档利用对象被模型化,模型可以描述文档的结构以及文档的行为和文档对象的行为。DOM的工作方式是:首先将XML/HTML文档一次性的装入内存,然后根据文档中定义的元素和属性在内存中创建一个“树型结构”,也就是一个文档对象模型,这里的含义其实是把文档对象化,文档中每个节点对应着模型中一个对象,而我们都知道对象提供编程接口,所以在实际应用中我们正是使用这组对象来访问文档进而操作文档的。作为W3C的标准接口规范,目前,DOM由三部分组成,包括:核心(core)、HTML和XML。核心部分是结构化文档比较底层对象的集合,这一部分所定义的对象已经完全可以表达出任何HTML和XML文档中的数据了。HTML接口和XML接口两部分则是专为操作具体的HTML文档和XML文档所提供的高级接口,使对这两类文件的操作更加方便。DOM既然是在内存中创建树型结构视图进而提供编程接口,那我们就以下面这个XML片段来说明DOM是如何创建树型结构的: text here 如果用DOM加载以上文档,它将在内存中创建的树型结构见图2.3。Document Node文档节点Node ListElementNode节点列表元素节点Node List节点列表Element Node元素节点Name Node MapAttribute NodeNode ListText CharacterData Node文本节点Text here节点列表属性节点id=”123”节点列表图2-3 在内存中创建的树型结构DOM把文档表示为节点(Node)对象树。“树”这种结构定义为一套互相联系的对象的集合,或者说节点,其中一个节点作为树结构的根(root)。节点被冠以相应的名称以对应它们在树里相对其他节点的位置。例如,某一节点的父节点就是树层次内比它高一级别的节点(更靠近根元素),而其子节点则比它低一级;兄弟节点显然就是树结构中与它同级的节点了不在它的左边,就在它的右边。图2-4给这些术语提供了图形化的解释。节点A节点B节点CA的子节点,C的兄弟节点 图2-4 节点关系的图形说明A的子节点,B的兄弟节点节点B和C的父节点节点对象不但表示了文档中的元素而且代表了在一个文档之内的其他所有内容,从最顶端的文档元素自身到单独的内容要素,比如属性、注释以及数据等等都包括在内。每一个节点都有其专门的接口,这些接口对应于节点所代表的内容,但这些接口其实在本质上也是节点。面向对象的支持者会说所有的DOM对象都继承于节点。而节点(node)接口则是用来导航文档树、增加新节点以修改一个文档结构的主要方法14。2.5 Web2.0新技术AJAX“Web2.0 ”这一概念, 由OReilly媒体公司总裁CEO 提姆奥莱理提出。“Web2.0 ”作为最新的网络商业应用模式, 为互联网应用开辟了一个崭新的理念, Ajax 技术是它得以施展这一魅力的关键技术4。AJAX内翻译常为“阿贾克斯”和阿贾克斯足球队同音。这个术语源自描述从基于Web的应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。在目前的Web2.0热潮中,Ajax已成为人们谈论最多的技术术语。其实,AJAX(Asynchronous JavaScript and XML)是多种技术的综合,它使用XHTML和CSS标准化呈现,使用DOM实现动态显示和交互,使用XML和XSTL进行数据交换与处理,使用XMLHttpRequest对象进行异步数据读取,使用Javascript绑定和处理所有数据。更重要的是它打破了使用页面重载的惯例技术组合,可以说AJAX已成为Web开发的重要武器。Ajax的工作原理相当于在用户和服务器之间加了个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,如些数据验证和数据处理等都交给Ajax引擎自己来做,只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。在旧的交互方式中,哪怕只是从服务器端得到很简单的一个数据,都要返回一个完整的HTML页,而用户每次都要浪费时间和带宽去重新读取整个页面11。表2-5 Ajax的关键元素关键技术技术说明JavaScriptJavaScript是通用的脚本语言,用来嵌入在某种应用之中。Web浏览器中嵌入的JavaScript解释器允许通过程序与浏览器的很多内建功能进行交互。Ajax应用程序是使用JavaScript编写的CSS(层叠样式表)CSS为Web页面元素提供了一种可重用的可视化样式的定义方法。它提供了简单而又强大的方法,以一致的方式定义和使用可视化样式。在Ajax应用中,用户界面的样式可以通过CSS独立修改DOM(文档对象模型)DOM以一组可以使用JavaScript操作的可编程对象展现出Web页面的结构。通过使用脚本修改DOM,Ajax应用程序可以在运行时改变用户界面,或者高效地重绘页面中的某个部分XMLHttpRequest对象XMLHttpRequest对象允许Web程序员从Web服务器以后台活动的方式获取数据。数据格式通常是XML,但是也可以很好地支持任何基于文本的数据格式(XMLHttpRequest这个名字取得实在是很不恰当)。尽管XMLHttpRequest对于完成这件工作来说是最为灵活和通用的工具,但还有其他方法也可以从服务器获取数据。我们在本章中会讨论所有的方法JavaScript就像胶水将各个部分粘合在一起,定义应用的工作流和业务逻辑。通过使用JavaScript操作DOM来改变和刷新用户界面,不断地重绘和重新组织显示给用户的数据,并且处理用户基于鼠标和键盘的交互。CSS为应用提供了一致的外观,并且为以编程方式操作DOM提供了强大的捷径。XMLHttpRequest对象(或者类似的机制)则用来与服务器进行异步通信,在用户工作时提交用户的请求并获取最新的数据。图2-6显示了这些技术在Ajax中是如何配合的。 图2-6 Ajax 的四个主要组件JavaScript定义了业务规则和程序流程。应用程序使用XMLHttpRequest对象(或类似的机制)以后台方式从服务器获得的数据,通过DOM和CSS来改变界面的外观。2.6 Oracle 数据库技术及应用oracle是殷墟出土的甲骨文(oracle bone inscriptions)的英文翻译的第一个单词,在英语里是“神谕”的意思。Oracle是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。本系统所应用的数据都为石油公司真实数据,所以本系统的后台数据库也采用oracle数据库。在这里我选择oracle9i版本。Oracle9i是业界第一个完整、简单的用于互联网的新一代智能化的、协作各种应用的软件基础架构。Oracle9i 实际上是指 Oracle9i Database, Oracle 9i Application Server 和Oracle9i Developer Suite的完整集成。随着软件逐渐开始转变为一种托管服务( hosted services),具有internet上的高伸缩性能的、智能化的、和可靠的Oracle9i 将成为高质量的电子商务服务实现的关键软件。Oracle 自 20 世纪80年代以来就打造了自己的成功基础。它构建了世界上第一款完全可移植的,真正可伸缩性的信息管理平台。直至今日,它已经是唯一提供全面的功能、无限的可伸缩性、连续的可用性以及强大的安全性的计算机平台6。 Oracle数据库带有数据字典,数据字典可以看成是一个特殊的数据库。它所包含的是 “关于数据的数据” ,亦即有关数据库系统中各种描述的信息,例如,模式、文件、程序、作业、用户的描述信息还包含相互参照信息,例如哪些程序使用哪些数据它是数据库管理的重要工具。虽然并非所有的数据库管理系统都具有数据字典功能,而且也不是严格必需的,但是就实际应用情况来看,数据字典应该是构成一个完整数据库管理系统的基础。Oracle 数据字典由数据管理系统自动建立和维护,数据库系统的任何变化都引起数据字典中相应内容的变更,因此数据字典总是包含数据库的当前描述,数据字典对数据的描述具有实时性。用户可以用访问自己数据同样的方式访问数据字典。Oracle 数据字典的内容和特点决定了其作用。数据字典是数据加管理系统中的一个完整部分,是数据库产品中的有力工具,它在数据库应用系统的生命周期内起着重要作用9。而PL/SQL Developer是一个为 Oracle 数据库开发存储程序单元的集成开发环境。使用PL/SQL Developer 不仅能方便的创建存储在数据库中的程序,并且具有强大的调试功能。PL/SQL Developer专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。使用PL/SQL Developer前,首先要连接到数据库,连接数据库界面如下:图2-7 设置数据库连接30第3章 系统需求分析及设计本章主要是对数据字典管理软件的分析与设计的描述。首先是系统概述,给出了系统设计应该遵循的规范、标准和软硬件环境,对系统进行了描述;接下来进行了系统的需求分析;最后是系统的工程模块设计和数据流图。3. 1概述近年来,由于油田公司信息化的快速发展,应用程序数量和生产数据量大幅度增加,油田地面设施进行维护与维修信息数据也相应增多,没有全公司统一的数据字典管理系统,各部门的数据不能充分共享。不断扩大的业务范围和不断增长的数据信息数量,油田数据库系统的压力越来越大。大量的油田数据构建的数据字典,管理起来非常繁琐,所以优化油田数据库结构,对石油公司信息化建设有着重要意义。“数据字典管理软件”便是针对石油公司系统多、管理难的系统管里系统。它通过不同的系统模块实现了数据库的统一管理和维护。数据字典管理软件分为数据层、应用服务层和表示层三个层次。数据层采用先进的Oracle 9i数据库管理系统,负责整个系统中所有数据的存储和管理;应用服务层采用.NET框架结构,实现所有业务逻辑,完成对数据字典信息的管理和相关维护功能;表示层使用.NET开发的网页界面,通过客户端的浏览器即可查看,无需在客户端安装其他软件。3.2系统需求分析3.2.1 系统功能需求系统分析的核心内容有两个:其一是进行“诊断”,即找出问题是及其原因;其二是“开处方”,即提出解决问题的最可行方案。所谓限定问题,就是要明确问题的本质或特性、问题存在范围和影响程度、问题产生的时间和环境、问题的症状和原因等。限定问题是系统分析中关键的一步,因为如果“诊断”出错,以后开的“处方”就不可能对症下药。在限定问题时,要注意区别症状和问题,探讨问题原因不能先入为主,同时要判别哪些是局部问题,哪些是整体问题,问题的最后确定应该在调查研究之后。系统需求分析是开发系统的关键性阶段,是一个从不断认识到逐步细化的过程,是系统开发下一阶段的工作基础,是为下一阶段进行物理方案设计、解决“怎么做”提供依据,其关键性主要体现在“理解需求”和“表达需求”两方面8。系统分析目标应该根据客户的要求和对需要解决问题的理解加以确定,如有可能应尽量通过指标表示,以便进行定量分析。对不能定量描述的目标也应该尽量用文字说明清楚,以便进行定性分析和评价系统分析的成效。通过对现行系统的详细调研,主要是从系统的角度理解用户的需要,确定新系统的综合要求,并提出这些需求的实现条件以及需求应达到的标准,也就是确定新系统要做什么,做到什么程度。通过深入调查研究,使真正有待解决的问题得以最终确定,使产生问题的主要原因得到明确,在此基础上就可以有针对性地提出解决问题的备选方案。备选方案是解决问题和达到咨询目标可供选择的建议或设计,应提出两种以上的备选方案,以便提供进一步评估和筛选。为了对备选方案进行评估,要根据问题的性质和客户具备的条件。提出约束条件或评价标准,供下一步应用。本系统开发的总体任务是在.NET平台上完成油田井下作业公司工作记录的相关数据查询功能的软件,防止出现异常情况,以便工程设计等需求,保障油气勘探与开发工作的进行。系统功能分析是在系统开发的总体任务的基础上完成的。现在我明确的基本的功能需求,查询功能要做到操作简便,无论有无技术基础的用户都能完成信息浏览的操作,并且准确快捷。通过以上分析,我们可以了解该系统所要完成的功能,所应该考虑的各种因素都包含在面了,对以后的算法研究和具体实现做了很好的铺垫作用。3.2.2 系统环境需求系统的环境需求非常重要,如果连这个起码的却要求都不能满足,更不会完成后面的编程工作。本系统的开发在软硬件方面的要求都很重要。在编译平台软件方面,本系统.NET技术平台开发环境下完成,该平台的功能比较强大,可以嵌套多种文件使用,这样就很方便在系统开发中实现工作的进行。首先,该系统的编译平台确定为Visual studio 2008,工作的电脑必须能运行该软件时保持畅通,不能有卡机的现象出现。在后台数据方面,本系统的后台数据库使用ORACLE支持,由于所使用的数据都是油田的真实数据,所以数据量比较大,ORACLE数据库管理系统功能比较强大,该系统使用它能更好的实现他的功能。所选用的数据库系统为ORACLE9i版本,也要求工作的电脑操作系统必须支持数据库系统的安装与运行,这样才能建立并连接基本的数据。另外也要安装PL/SQL软件的安装,这个软件是oracle数据库的辅助软件,也是必须的,只有该软件的安装,才能保证数据库的连接,为后面的编程工作铺平了道路。另外,本系统的设计在技术上还有一定的要求,要求开发人员掌握的专业知识也比较重要,如:熟悉.NET开发环境, ORACLE使用等等。这些相关的工具和技术在第二章已经做过一些简单的介绍。3.3 系统的总体设计3.3.1 数据模型设计随着数据库学科的发展,数据模型的概念也逐渐深入和完善。早期,一般把数据模型仅理解为数据结构。其后,在一些数据库系统中,则把数据模型归结为数据的逻辑结构、物理配置、存取路径和完整性约束条件等四个方面。现代数据模型的概念,则认为数据结构只是数据模型的组成成分之一。数据的物理配置和存取路径是关于数据存储的概念,不属于数据模型的内容。此外,数据模型不仅应该提供数据表示的手段,还应该提供数据操作的类型和方法,因为数据库不是静态的而是动态的。因此,数据模型还包括数据操作部分。该部分的数据模型为数据字典的元模型数据字典的字典表。包含DIC_CLASS_NEW,DIC_COLUMN_NEW,DIC_TABLEINFO,DIC_TABLEXYINFO四张表。其中DIC_CLASS_NEW包含概念主题模型与物理表之间的自关联的逻辑关系。其中CLASS_ID为主键,CLASS_LEVEL是由1到5的级别标示,CLASS_LEVEL为5时代表该行代表物理表,相应的TABLE_ID字段会有相应的表ID。而DIC_COLUMN_NEW,DIC_TABLEINFO都是以TABLE_ID为外键的,DIC_TABLEINFO记载的是描述表的表头信息,DIC_COLUMN_NEW记载的是描述表的表中各个字段信息。而DIC_TABLEXYINFO描述的是某个表在某主题下显示时的坐标值。由于模型图在展示时不仅要展示当前主题下所有的表信息还要展示与该主题下所有表关联的其他表,这些表中有可能包含其他主题下的表。因此在DIC_TABLEXYINFO中必须以CLASS_ID及TABLE_ID为联合主键才能确定一个表的位置信息。图3-1 数据模型3.3.2 数据表的创建本系统应用oracle9i版本数据库,涉及到的数据模型以表的形势展示。本系统主要涉及数据库中的数据模型以及内存中的数据模型。本系统所涉及的表有三个类型,表3-2、表3-3、表3-4为三种类型。表3-2主题(DIC_CLASS_NEW)名称代码数据类型主键外键注释主题idCLASS_IDVARCHAR2(6)YY主题id主题序号CLASS_NOVARCHAR2(6)主题序号主题名称CLASS_NAMEVARCHAR2(100)主题名称主题级别CLASS_LEVELVARCHAR2(6)主题级别父级主题idPARENT_IDVARCHAR2(6)父级主题id表idTABLE_IDCHAR(10)Y表id主题是一种基本表的分类方式,可以按主题对基本表进行分类。这是一个自关联表,不仅描述主题信息,还通过PARENT_ID描述主题间的分解关系和表与主师的属于关系。如果字段表id有值,则该记录描述基本表,如果字段表id无值,则该记录描述一个主题。表3-3基本表(DIC_TABLEINFO)名称代码数据类型主键外键注释表idTABLE_IDCHAR(10)YY表id数据源idDATASOURCE_IDCHAR(2)数据源id表名英文编码TABLE_CODEVARCHAR2(60)表名英文编码表名中文名称TABLE_NAMEVARCHAR2(400)表名中文名称描述DESCRIPTIONVARCHAR2(500)描述表信息创建时间CREATION_DATEVARCHAR2(100)创建时间创建者CREATORVARCHAR2(10)表创建者表 3-4字段信息(DIC_COLUMN_NEW)名称代码数据类型主键外键注释表idTABLE_IDCHAR(10)YY列idCOLUMN_IDCHAR(10)Y字段顺序SEQUENCECHAR(10)序号字段名称COLUMN_NAMEVARCHAR2(200)数据项名称字段英文代码ENGLISH_CODEVARCHAR2(50)数据项英文代码是够拼音代码PY_CODEVARCHAR2(50)数据项拼音代码字段数据类型DATA_TYPEVARCHAR2(40)数据类型字段宽度WIDTHNUMBER(9)宽度字段精度PRECISIONNUMBER(3)0精度,默认值为0单位UNITVARCHAR2(20)单位主键PRIMARY_KEYVARCHAR2(100)主键外键FOREIGN_KEYVARCHAR2(100)外键非空IS_NOT_NULLNUMBER(1)非空外键引用表REFERENCE_TABLEVARCHAR2(200)外键引用表填写规则FILL_RULEVARCHAR2(200)填写规定备注REMARKSVARCHAR2(200)备注格式FORMATVARCHAR2(20)格式最大值MAX_VALUENUMBER(9)最大值最小值MIN_VALUENUMBER(9)最小值默认值DEFAULT_VALUEVARCHAR2(20)默认值列描述COLUMN_DESCRIBEVARCHAR2(100)列描述父表列PARENT_TABLE_COLCHAR(10)父表列是否候选码CANDIDATE_CODEVARCHAR2(200)是否候选码(填写Y)创建表完毕,说明数据准备基本完成,可以根据所创建的表进行相关数据信息录入,构建数据字典管理软件,进行相关数据信息查询操作实验。3.3.3 功能的总体设计本系统是对油田数据所建立的数据字典进行管理的软件,主要实现数据的查询功能,查询类型又分精确查询和模糊查询查询,查询功能又分为字段查询、表查询和模型查询,在这里我们将采取模块的方法来解决相关的功能实现。模块,又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合(即程序代码和数据结构的集合体)。它具有两个基本的特征:外部特征和内部特征。外部特征是指模块跟外部环境联系的接口(即其他模块或程序调用该模块的方式,包括有输入输出参数、引用的全局变量)和模块的功能;内部特征是指模块的内部环境具有的特点(即该模块的局部数据和程序代码)。模块是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可通过名字来访问,例如:过程、函数、子程序、宏等都可作为模块。采用模块化设计原理可以使程序结构清晰,使程序设计更加容易,也使程序易读性好。因为程序错误通常局限于有关的模块以及它们之间的接口程序中,所以模块化使程序容易测试和调试,因而有助于提高软件的可靠性。经过分析,把系统分成模块与层的结构,使他们彼此作用互相联系,最后完成该系统的整体功能。层与层之间进行数据交换,不同的模块实现不同的功能查询,最后进行整合,基本就实现了预期的功能。经过对该项目的具体的分析,该工程的功能模块图如图3-5所示:图3-5 根据条件进行查询详细设计3.3.4 系统的数据流程图数据流图,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流程图表示求解某一问题的数据通路。同时规定了处理的主要阶段和所用的各种数据媒体。系统部件包括系统的外部实体、处理过程、数据存储和系统中的数据流四个组成部分。动态绘制查询结果并以列表展示这部分是在条件查询设计的一部分,这部分的数据是流程中利用AJAX交互技术提取的数据,而该部分采用的是对HTML语言中DOM的组织过程,通过AJAX及JavaScript对页面动态的添加html元素的过程。总体程序流程图如图3-6所示:图3-6 动态绘制查询结果列表流程第4章 系统的详细设计和实现数据字典管理软件主要是面向石油公司井下作业公司工作记录服务的。数据字典管理软件是更适合于公司特点的用于管理数据字典信息的工具,不论是公司的数据库管理人员及其他技术人员还是软件公司的软件设计人员都可以利用该工具查询、浏览石油公司的数据字典信息,信息实质为油田开采过程中地面设施遇到问题井下作业公司采取的措施而进行的记录。4.1 界面的设计4.1.1界面设计概述任何计算机应用系统都是通过用户界面与用户交互的,用户界面已成为所有计算机系统的有机组成部分,它决定了人类如何控制和操纵系统。一个好的用户界面应该为用户提供统一、规范的交互界面,从而提高用户工作效率,增强用户对系统的认可程度。因此可以说,用户界面设计的优劣已经成为计算机应用系统成功与否的关键因素之一。界面提供了一个人机对话的有效窗口,一个良好的界面不仅能够使用户方便快捷的应用这个系统,而且还可以通过界面形象的了解系统所具有的功能。因此,界面设计是系统设计过程中的一个重要环节。本系统在用户界面设计的过程中主要从界面设计总体原则、窗体布局、界面配色、控件风格、字体、交互信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 语音识别试题及答案
- 阿里定级面试题及答案
- 房地产销售策略与实战
- 2025年 道真自治县“特岗计划”教师招聘考试笔试试卷附答案
- 员工安全培训手册
- 2025年中国喷气背包行业市场全景分析及前景机遇研判报告
- 2025年中国内衣裤洗衣机行业市场全景分析及前景机遇研判报告
- 急救培训圆满毕业
- 住院患者护理风险评估制度
- 肿瘤晚期患者教育
- 高压环网柜施工方案
- 报销医保委托书
- 2025年内蒙古锡林郭勒盟事业单位人才引进历年高频重点提升(共500题)附带答案详解
- 辐射防护复习题及答案
- 各种恶劣天气行车安全培训
- 化工装置报废拆除施工方案
- 华东理工大学《生物信息学》2021-2022学年第一学期期末试卷
- 《秦腔》课件统编版高中语文选择性必修下册
- DB51-T 2975-2022 气凝胶复合保温隔热材料及系统通.用技术条件
- 第三讲加快发展新质生产力-2024年形势与政策
- 脑出血疑难病例讨论护理
评论
0/150
提交评论