GSPM:一个基于管理信息系统的图形系统

2014-03-06 05:41郑悦明刘洪斌邓茂云
图学学报 2014年2期
关键词:图元集输管网

肖 扬, 郑悦明, 刘洪斌, 邓茂云

(西南石油大学机电工程学院,四川 成都 610500)

GSPM:一个基于管理信息系统的图形系统

肖 扬, 郑悦明, 刘洪斌, 邓茂云

(西南石油大学机电工程学院,四川 成都 610500)

介绍了根据软件工程的基本原理和面向对象的程序设计方法,应用可视化和图形数据一体化技术,开发一个基于管理信息系统的图形系统 GSPM(Graphics System for Pipeline Based on Management Information System)的理论和方法,讨论了系统的框架设计、主要类的建立和用户界面的设计。该系统采用Windows 7 Ribbon 界面,操作简单、方便。绘图时,只需用鼠标点击工具栏或菜单栏对应的按钮,选择正确的图元,就可以绘制各种图。系统设计了与数据库的接口,可以将图形信息和基于文本的管理信息统一管理与表示,实现了真正的图形化操作和图形、数据一体化。系统还集成了网络功能,能够利用企业网和互联网协同工作。

图形系统;软件开发;面向对象

油气集输管网是由“管-站”组成的规模庞大、结构复杂的网络系统,其覆盖范围广、管道设施多、运行情况多变、信息量巨大,使得其优化设计和生产运行管理工作变得异常繁杂和艰巨,必须借助计算机来辅助计算和管理。而在计算机应用软件中,图形界面是一种直观、友好、方便、高效的人机交互手段,用图形来描述油气集输系统网络结构,在图形上实现数据输入和结果输出,并且进行动态显示,能起到直观清楚,一目了然的效果,可以使用户更直观地借助计算机应用软件来实现实际问题的分析和管理,很好地满足了油田油气集输系统优化设计和生产运行管理工作的要求。

本文就是依据这样的考虑和实际需求而设计的一个图形系统。开发图形应用系统有2种方法,一种是直接利用高级语言中的基本图形功能来实现,另一种是在某个已有的功能较为完善的图形系统上进行二次开发,例如AutoCAD。根据项目的需要和系统的特点,我们采取了第一种方法[1]。这是因为,第一,本系统所处理的图形对象的多样化。既要处理矢量图形,又要处理光栅图形,还要处理混合图形,这需要对图形的显示和处理技术进行集成;第二,本系统信息显示的多样化。既有图形信息,又有管线和场站的管理信息,还有地理信息;第三,系统功能的综合化,系统集成了图形处理与显示、数据库管理和网络功能。因此利用VC++构建一个基本的综合图形系统,采用面向对象技术, 根据应用系统的需要添加所需的类及功能, 随时可进行扩充, 满足大多数图形应用系统开发的需要[2]。本系统实现了一个基本的图形系统, 能够生成并处理图元,能够处理矢量图形和数字图像,能够提供应用系统开发时所需的基本图形支持, 具有网络功能,能够与数据库相连接,对整个管网系统的信息进行处理和管理。

1 需求分析

GSPM图形建模平台是管网优化设计软件系统中基础性的模块,为其提供底层服务,也是软件进行人机交互的渠道。该平台既要能够实现集输管网的图形显示,还应该具有良好的用户界面,方便进行各种交互操作。因此,图形建模平台应能实现以下功能:

(1)能够进行快速、有效地管网和场站图形建模。提供集输管网中表示油井、计量间、转油站、集油管道和掺水管道等图形符号,并且能够用这些图形符号绘制出各种流程(如单管环状集油、双管掺水集输油等)的集输管网;同时,具备对已建管网图形的放大、缩小、平移、打印输出等操作功能。还能对系统产生的图形进行存储显示等操作。

(2)交互和存取功能。提供鼠标捕捉功能,可根据捕捉到的管网元素,显示其基本属性信息,并可随时更新;能够添加、删除、修改各类管网元素;能实现管网各类信息的条件查询,从而提供高效、便捷的管网信息检索和查询平台;可将已经建好的模型进行存储,并能够打开已经存在的模型,并可以实现模型的重绘和编辑功能。

(3)建立管网信息数据库。数据库能够存取管网的各类信息,包括管网元素的图形信息、节点和管元的生产运行参数以及模拟优化结果信息等。

(4)数据接口。图形建模平台不是一个孤立的系统,它给油气集输系统中其他计算分析软件提供了一个可视化界面,是为应用软件服务的。因而,必须要为其他应用软件预留一个开放的数据接口。

(5)网络功能。能够利用企业网和互联网协同工作,达到信息的交换、管理与共享。

2 系统框架的建立

2.1 系统框架设计

GSPM系统的总体框架采用目前IT技术中流行而较成熟的N层结构方案, 整个系统的逻辑框架如图1所示。

2.2 系统功能结构设计

图1 系统框架设计图

按照系统用户的要求,其系统功能结构设计如图2 所示。

图2 系统功能结构设计图

(1)图形数据编辑子系统:该子系统提供了图形系统的图形绘制与编辑功能。包括图形绘制与编辑、数据输入和编辑、成果输出等。操作人员可以非常方便地进行绘图操作和编辑。

(2)图形管理子系统:该子系统进行系统配置、大规模数据的建库/编辑、数据备份等管理工作。系统配置与建库工作以各类图件数据为基础,结合图件元数据管理,综合局内拥有的各种类型图件信息资源,对现有各类型图件数据的应用范围等信息进行编辑管理,并对图形数据的存储进行管理。

(3)访问权限控制管理子系统:该子系统主要是对功能操作安全和控制提供管理方法。利用数据库权限控制方法,将不同组织方式下各种类型的用户按照使用类型、使用目的、使用功能等各种形式进行分类;对系统中各个操作功能点进行编码,并对不同类型的用户赋以不同的功能操作权限;采用授权保证访问安全和数据安全;采用用户分级管理,用户名、密码或用户名、密码、TP 地址绑定等多种手段保证用户安全。

(4)综合浏览查询子系统:该子系统的设计目标是能够通过 Web浏览方式,结合各种查询、查找方法,灵活从图形库数据库中提取各种类图件数据,方便地显示和检索,并可结合用户权限控制,对各类图件的查询浏览下载进行限制。系统能够将浏览到的矢量图形或栅格图像进行转换和下载,从而为远端用户提供了JPG等栅格图像及 EPS 矢量图形,为其日常办公提供了方便。

(5)数据交换子系统:该子系统采用 C/S模式设计,提供了多种数据接口,为不同数据格式提供数据转换工具,为该系统与其他 MIS、CAD、CAM 软件系统间架设了一道桥梁,实现了不同系统间所用数据文件的双向交换,从而达到数据共享的目的。

(6)预留扩展模块:是为了系统进一步地完善和扩展预设置的模块。

3 模型的建立

在应用面向对象方法开发软件之前[3],开发者为了更好地理解所要解决的问题,一般要建立3 种形式的模型[4]:对象模型、动态模型和功能模型。对象模型定义了做事情的实体;动态模型规定了什么时候做;功能模型指明了系统应该“做什么”。1个典型的软件系统应该是3种模型的合理组合:它使用数据结构(对象模型),执行操作(动态模型),并且完成数据值的变化(功能模型)。

3.1 对象模型

设计面向程序时,应把程序中使用的所有对象划分成对象类,每个对象类都定义1组属性和操作[3]。油气集输系统是由油井和各种功能站、库以及工艺管道组成的原油和伴生气的集输系统。为了方便建模,将油气集输系统中的管网分为两类:一是节点类。将油井、计量间、转油站、管道交汇点的共同性质抽象出1个节点类,属性包括节点名称、X和Y坐标、节点名称的可见性等。方法包括选择节点、调整节点、删除节点等;二是管道类。管道类是集油管道类和掺水管道类的基类,属性包括起点名称、终点名称、管径、壁厚、管长、保温层厚度、管顶埋深等。方法包括选择管道、调整管道、删除管道等。除了节点类和管道类两个主要的基类以外,还有油井类、计量间类、转油站类、交汇点类、集油管道类和掺水管道类等派生类,其关系如图3所示。

3.2 动态模型

图3 系统对象模型

动态模型表示瞬时的、行为化的系统“控制”性质,规定了对象模型中对象的合法变化序列[4],一般用状态图来表示动态模型。以图元的绘制为例,动态模型如图4所示。

3.3 功能模型

图4 图元绘制的动态模型

功能模型指明了系统应该“做什么”,反映了用户对目标系统的需求[4]。图形建模平台提供集输管网系统优化设计专用的图形绘制和图形编辑环境,满足集输管网系统图形建模需求,具有图形编辑软件的共性,同时,又具有集输管网图形建模的特性。该平台能够对原油集输管网进行编辑,包括油井、计量站、转油站、交汇点等节点数据和集油管道数据的创建、修改与删除,并对管网的完整性进行检查,以便为整个管网系统的模拟分析与优化设计提供完整的图形信息。按照功能可以分为文件管理、图形建模、图形操作、图形显示、数据库接口、网络功能6部分,如图5所示。

3.4 系统类的设计

图5 系统功能模型

3.4.1 图形类

油气集输系统是由“管-站”组成的网络系统,该系统主要涉及油井、计量、转油站、油库等节点以及集油管道、掺水管道等网络节点连接元素,将其称为图元。图元是组成集输管网系统与拓扑结构的基本单位,是图形建模平台系统的关键元素,集输管网信息的显示、用户的绘图操作都是通过图元来完成。

油气集输系统中涉及十几种图元,每种图元都具有各自属性,如名称、位置等,也有各自的方法,如绘制、复制、移动、删除等操作。这些图元表面上看虽然各不相同,但是,很多图元具有一些共性,如各个节点都具有名称和坐标属性;各个节点都需要具有绘制、移动、复制、删除等编辑功能。面向对象方法中类的继承和虚函数能够很好地解决该问题:可以用类的继承机制来实现图元的相同属性,用虚函数方法来实现类的共有方法。具体地说,首先,建立可以描述所有图元类共同属性和行为的基类;然后,按照各种图元的实际特点和集输管网建模的需要,应用类的继承和派生特性,从基类中派生出其他图元类;最后,根据实际情况定义各图元的特有属性和行为[5]。

油气集输系统中所有图元的属性可以分为两大类:图形类参数和属性类参数。图形类参数表示每个图元的类型及其在集输管网中所处的节点位置等,是图元绘制的必要参数,绘图时由绘图函数处理得到;属性类参数,如油井产液量、管径、管道壁厚等,须由用户输入。由此可见,图形类参数是所有图元的共有属性,可以在基类中声明,通过继承传递给其他图元。根据集输管网中各个图元的特点,抽象出节点类和管道类两个基类,其他类可以基类继承和派生而来。节点类的属性有节点ID、节点名称、节点坐标、节点的可见性、节点名称的可见性、节点是否被选中、节点是否被删除等。节点方法包括图元的绘制、移动、删除、判断节点是否被选中等;管道类属性包括管道ID、起点名称、终点名称、管径、管长、壁厚、保温层厚度、管顶埋深、管道可见性等。管道类方法包括绘制管道、调整管道(增加交汇点)、删除管道、计算管道长度、判断管道是否被选中等。

为了对图元信息进行统一管理,将各种图元的信息汇总于图元工具栏上,以便用户灵活地进行各种元件图形的绘制。工具栏上的每个图元按钮对应1个图元,当用户用鼠标点击其中1个图元按钮后,就选中了对应的图元类操作,用户在绘图区的所有操作都是针对选中的图元类进行的。应用面向对象技术把图元数据与操作封装在一起,实现图形建模平台的各种功能,极大地简化了平台编写过程,而且,平台代码具有高度的重用性[4]。

当需要增加新的建模图元时,可以根据图元的属性通过继承来实现新元件的构造,各个子类的实现又具有相互独立性,使得软件便于维护和扩充。

3.4.2 数据库接口类

数据库类是为了系统对非图形信息的管理而设计的,用于图形系统与数据库的接口。利用了VC++与数据库的接口MFC ODBC[6]。MFC的ODBC类主要包括以下几种:CDatabase类,主要功能是建立与数据库的连接;CRecordset类,代表从数据源选择的一组记录集。通过该类可以对记录集中的记录进行滚动、修改、增加和删除等操作;CRecordView类,提供了一个表单视图与某个记录集直接相连,利用对话框数据交换机制(DDX)在记录集与表单视图的控件之间传输数据;CFileExchange类,支持记录字段数据交换(DFX),即记录集字段数据成员与相应的数据库的表的字段之间的数据交换。

3.4.3 网络功能类

本类设计主要为完成系统的网络功能[7],主要包括下面这些类:CSocketFile类,主要用来在Windows Socket编程中发送和接受序列化数据;CHtmlView类,用来显示网页数据的视图类;网络通信类,通过网络套接字进行数据通信的即时通信类;邮件收发类,进行电子邮件的收发类。

4 交互式界面设计

人机界面设计是系统设计的组成部分,对于交互式系统来说,人机界面设计和数据设计、体系结构设计、过程设计一样重要。人机操作界面的便捷程度直接影响到用户对软件的评价,从而影响软件产品的竞争力和寿命。人机交互界面设计的好,能对用户产生吸引力,激发用户的创造力,提高工作效率;否则,用户在使用过程中就会感到不方便、不习惯,逐渐对软件产生了厌烦情绪,进而放弃对软件的使用。因此,必须对人机界面设计给予足够重视。

GSPM图形系统交互式界面是按照目前最新的Windows Ribbon界面来设计的[8]。Ribbon界面是微软从Office2007开始引入的一种为了使应用程序的功能更加易于发现和使用、减少了点击鼠标的次数的新型界面,从实际效果来看,不仅外观漂亮,而且功能实用,界面直观,用户操作简洁方便。主界面中包含标题栏、菜单栏、工具栏、图元工具箱、滚动条、状态栏和绘图区等,用户通过对工具栏或菜单栏中相应图形绘制工具的事件激发、然后由平台响应来完成对图形的绘制。所有的操作都可以点击鼠标完成,非常方便快捷。图6是系统运行结果。结果显示的是系统的一个子模块“管线运行情况”的管理信息的动态显示。两条管线在以地理信息为基础的背景上交汇,交汇处为一场站,场站的动态运行信息从数据库而来,系统可以在图形状态下对动态运行信息进行处理和显示。双击场站图标,就可以进入场站信息模块。场站的图形信息,管理信息,运行信息,地理位置信息和其他信息都可以进行管理和显示。

图6 系统运行结果

5 结 论

图形是数据的表现形式,特点是形象、直观。通过图形数据接口,将集输管网图中每个图元与数据库元件参数表中相应的数据记录对应起来。用户通过鼠标点击相应的图元,就可以查看、修改管网参数信息;输入或修改信息完毕,数据库中相应的数据记录就自动更新,实现了真正的图形化操作和图形、数据、网络一体化。

[1] 方 亮, 郑 耿, 刘国平. 图形系统的设计与实现[J].计算机应用研究, 2005, (9): 173-175.

[2] 陈长清, 李永康. 基于图形平台的电网调度运行系统设计与实现[J]. 电力系统及其自动化学报, 2012, 24(6): 41-46.

[3] 刘 弘. 面向对象程序设计[M]. 北京: 北京邮电大学出版社, 2005: 1-10.

[4] 张海藩. 软件工程[M]. 2版. 北京: 人民邮电出版社, 2006: 122-266.

[5] 陈建春. Visual C++高级编程技术[M]. 北京: 电子工业出版社, 1999: 114-126.

[6] 张水波. Visual C++2008完全学习手册[M]. 北京:清华大学出版社, 2011: 592-606.

[7] 梁 伟. Visual C++网络编程经典案例详解[M]. 北京: 清华大学出版社, 2010: 74-200.

[8] 肖 扬, 肖晨帆. VS2012下的Ribbon界面开发[J].电脑编程技巧与维护, 2013, (19): 83-88.

GSPM: A Graphics System for Pipeline Based on Management Information System

Xiao Yang, Zheng Yueming, Liu Hongbin, Deng Maoyun
(School of Mechatronic Engineering, Southwest Petroleum University, Chengdu Sichuan 610500, China)

This paper describes the theory and method to develop a graphics system based on management information system (GSPM) through the application of the basic principles of software engineering and object-oriented programming methods and the application of the visualization and graphical data integration technology, and discusses the establishment of the framework and the design of the system and the main classes. The system uses the Windows interface and its operation is simple and convenient. Drawings can be done just by simply clicking on the corresponding buttons on the toolbar or menu bar to select the correct elements on the preparation of a variety. The system is designed to interface with the database, integrate graphical and text-based management information, and can unify management and representation to achieve a true graphical operating and graphics, data, network integration.

Graphics system; software development; object-oriented

TP 391

A

2095-302X (2014)02-0161-06

2013-04-24;定稿日期:2013-07-08

肖 扬(1964-),男,四川通江人,副教授,硕士。主要研究方向为计算机辅助设计、计算机图形学。E-mail:eastsun@sina.com

猜你喜欢
图元集输管网
简述油气集输系统安全管理问题及对策
基于FLUENT天然气集输管道直角弯管磨损分析
学术出版物插图的编排要求(一):图注
联锁表自动生成软件的设计与实现
管网独立是妥协还是改革
从管网独立看国企改革
管网改革虚实
织起一张共管网
电气CAD接线图快速转换G图形的技术应用研究
煤层气田集输工艺优化建议概述