已阅读5页,还剩56页未读, 继续免费阅读
(电力系统及其自动化专业论文)基于网络的厂站操作票生成系统的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
a b s t r a c t e l e c t r i cs w i t c h i n go p e r a t i o ns y s t e mi sa l li m p o r t a n tm e a s u r eb yw h i c ht h e m a n a g e m e n td e p a r t m e n to fp o w e rs y s t e mm a i n t a i n st h ee c o n o m i c a la n ds a f ew o r ko f p o w e rs y s t e m w i t ht h ed e v e l o p m e n to fp o w e rs y s t e ma n dt h ec o m p l e x i t yo ft h e e l e c t r i c a ln e t w o r k , t h ew o r kf o re d i t i n gs w i t c h i n gs e q u e n c er a p i d l ya n dr i g h t l yi s f a c e dw i t ht r e m e n d o u sc h a l l e n g e o b v i o u s l y , t r a d i t i o n a lm e a n sf o re d i t i n gs w i t c h i n g s e q u e n c ec a nn o tm e e tt h er e q u i r e m e n to fp o w e rs y s t e mi nt h en e ws i t u a t i o n i nt h e c a s e ,an e wi n t e l l i g e n te l e c t r i cs w i t c h i n go p e r a t i o ns y s t e mw i l lr e p l a c ei ta n db e c o m e a ni m p o r t a n ta u x i l i a r yt o o lf o rt h ed i s p a t c ho f p o w e rs y s t e m b a s e do nt h ea n a l y s i so ft h ee x i s t e de l e c t r i cs w i t c h i n go p e r a t i o ns y s t e m ,an e w e l e c t r i cs w i t c h i n go p e r a t i o ns y s t e mi sd e v e l o p e db yt h eo b j e c t - o r i e n t e dv i s u a lc + + 2 0 0 5p r o g r a m m i n g 、s q ls e r v e rd a t a b a s ea n dt h et h e o r yo ft h ee x p e r ts y s t e m b a s e do nt h ec o n s t r u c t i o no ft h ed e v i c ec l a s sm o d e l ,m a i nc o n n e c t i o nd r a w i n go ft h e s w i t c h i n gs e q u e n c ea r er e a l i z e db yv c + + 2 0 0 5d e v e l o p m e n tt 0 0 1 a n dad r a w i n g s u b s y s t e mw h i c hh a sp o w e r f u le d i t i n gf u n c t i o n si sd e v e l o p e d i nt h es y s t e m , r e l a t i o n d a t a b a s em o d e li sa d a p t e dt om e m o r yt h ep a r a m e t e ri n f o r m a t i o no ft h ed e v i c e t h e i n f o r m a t i o nw i l lb es e n tt ot h ep o w e rs y s t e mm a i nc o n n e c t i o nd r a w i n g ,a n dt h e nt h e g e n e r a lt o p o l o g i c a lr e l a t i o n sa r ee s t a b l i s h e d i no r d e rt om e e tt h en e e d so fe l e c t r i c s w i t c h i n go p e r a t i o ns y s t e mr u n n i n gi nt h en e t w o r k , t h i sp a p e ru s e ds q ls e r v e r d a t a b a s eb a s e do nn e t w o r kt ob u i l dt h ed a t as t o r a g es y s t e m t h ee f f i c i e n c yo fd a t a a c c e s si nt h en e t w o r ka n dt h es e c u r i t yo ft h ed a t af r o me l e c t r i cs w i t c h i n go p e r a t i o n s y s t e ma r ee n s u r e d ,w h i c hh a sm u c hp r a c t i c a ls i g n i f i c a n c e t h ek n o w l e d g ed a t a b a s e a n dt h er e a s o n i n gm e c h a n i s ma r ed e s i g n e dr e a s o n a b l yi n t h i sp a p e r , a n dt h e s w i t c h i n g o p e r a t i o ns h e e ti sd i v i d e di n t ot h ef i r s ts e q u e n c em l e sa n dt h es e c o n d a r y s e q u e n c el a n g u a g e d i f f e r e n to p e r a t i o nm e t h o d sa r er e a l i z e d t h es y s t e mc a l lc o m p i l e a n de x e c u t i v et h ef as ts e q u e n c er u l e st of o r mt h el a s ts e q u e n c el a n g u a g e ,a n da l s ot h e f i r s ts e q u e n c ec a l lb ef o r m e db ym a n u a lw a y a tt h es a l l l et i m e ,t h es e c o n d a r y l a n g u a g ei si m p o r t e db yc o r r e s p o n d i n gs e c o n db i n d i n gr u l e s o ro p e r a t i n gt h e e q u i p m e n t t h e nac o m p l e t es w i t c h i n g o p e r a t i o ns h e e ti sg e n e r a t e d i na d d i t i o n , t h i sp a p e ru s e sv i s u a lc + + w h i c hh a sg r e a ta d v a n t a g eo ng u it o d e v e l o paf r i e n d l ym a n m a c h i n ei n t e r f a c ef o rt h es y s t e m t h es i m u l a t i v es y s t e mc a n s i m u l a t et h ep r o c e s so fs w i t c h i n go p e r a t e s oi tc a nb eu s e dt ot r a i na n de x a m i n e s t a f f e r s k e yw o r d s :d a t a b a s eb a s e do nn e t w o r k ,s e c o n d a r ys e q u e n c el a n g u a g e ,r u l e s , s w i t c h i n go p e r a t i o ns h e e t 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得墨壅盘鲎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:芬酒尚 签字日期: 2 归7 年占月日 学位论文版权使用授权书 本学位论文作者完全了解盘洼盘堂有关保留、使用学位论文的规定。 特授权墨鲞盘鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:妾i 毡嘲 签字日期:) 1 年6 月日 导师签名:旒 签字日期:二呻午占月弓日 第一章绪论 1 1 课题研究的背景及意义 第一章绪论 电器操作票制度是我国电力系统调度运行管理中行之有效的安全措施,对电 力系统的安全运行起到了极其重要的作用。倒闸操作是指电气设备或电力系统由 一种运行状态变换到另一种运行状态,由一种运行方式转变为另一种运行方式时 所进行的一系列的有序操作。倒闸操作是发电厂、变电站运行值班人员的一项重 要工作,既有一次回路的操作,也有二次回路的操作,操作项目繁多,是一项比 较复杂的工作,多达几十乃至上百项操作,稍有疏忽,就会造成事故。因此正确 的倒闸操作具有十分重要的意义,正确的倒闸操作关系着电力系统的安全运行, 也关系着工作人员的生命人身安全。误操作可能造成全厂或全站停电,甚至扩大 到整个电力系统,对国民经济造成巨大损失【1 。2 j 。 操作票制度是保证电力系统安全运行的一套行之有效的制度。它要求电力系 统运行人员具有扎实的电力系统专业知识和丰富的现场运行经验,运行人员必须 根据系统的运行方式和设备状态来编写操作票。而且,操作票的书写要求特别严 格,不仅要求有固定的书写格式而且字迹必须清楚且语句无歧义。传统的人工开 票方式烦琐费时,而且容易受到运行人员生理和心理因素的影响;而目前己研制 出来的带有人工智能功能的操作票自动生成专家系统还不太成熟,在某些方面还 存在不小的弊病,系统的通用性、可扩展性以及可维护性不高,对操作票二次语 言处理不好,基于网络运行的功能差,这些直接影响了该系统的推广和应用。 本文在综合分析现有国内外操作票专家系统基于面向对象的厂站操作票专 家系统的研究成果的基础上,提出了利用面向对象编程技术结合专家系统理论开 发一套基于网络的厂站操作票自动生成专家系统的设计思想,力求解决系统通用 性、系统维护和扩展以及系统的网络运行等问题。 1 2 操作票生成系统的研究现状 国外关于电气操作票开票系统的研究较少,从i e e e i e ee l e c t r o n i cl i b r a r y ( i e l ) 中检索到的文章不多,近几年发表的有关文章更是凤毛麟角。国外对这 个问题的考虑一般比较简单,操作任务种类少,操作过程只考虑一次设备的顺序, 不涉及保护压板与自动装置的投切与调整,实现起来比较容易。 国内对这个问题的研究比较活跃,近几年发表的文章和取得的应用成果也比 较多。这可能和国内电网自动化水平低,误操作事故时有发生有关。目前,已经 第一章绪论 开发出不少专门针对某些发电厂或变电站的微机生成操作票系统,但这些系统中 具有“专家系统自动推理开票 功能的,真正投入实际运行的比较岁5 1 。 目前,国内外的操作票系统,其实现的基本模式主要有以下五种【纠1 : 1 基于典型操作票的操作票生成系统 用典型操作票建立典型操作票数据库,而后将数以百计的各种操作票进行分 类,以提高搜索效率。应用时,按照任务的要求从典型操作票数据库搜索出所需 的典型操作票,在此基础上根据当时具体情况进行修改,得到实际需要的操作票。 该系统实际上是无具体的知识表达,仅仅是一种操作票数据库结构,不属于智能 型,在早期开发的操作票专家系统和现在投运的m i s 系统中较为常见。 2 基于产生式规则的操作票自动生成系统 建立事实和知识规则库,应用e s 推理机制,推理形成实际的操作票。该系 统由数据库、知识库、推理机三大部分组成,软件通常利用p r o l o g 、l i s p 、b a s i c 语言来编程,支持一阶谓语逻辑,具有数据和程序的结构统一,语法简单等特点。 其中数据库中存放发电厂、变电站的主接线形式及所涉及的相关设备与电气名 称、事实语句以及推理过程中的中间结果;知识库中存放电气操作知识规则及一 个对这些规则起约束、补充、选择和控制作用的规则系统,这些规则采用“i f 条件t h e n 结论”这种比较接近人的思维方式的表示方法加以描述;在推理机制 上采用自动模式匹配和回溯的推理控制机制,在知识库中搜索与目标任务匹配的 规则,最终求出问题的解。 此类系统的进步在于对操作内容的生成推理进行了研究和探索,并具有程度 不等的智能性,真正利用了a i 技术。然而,这类系统针对一个具体厂站开发, 需将网络拓扑结构与设备运行状态及网络操作知识用谓语逻辑表示,开发较难, 开发周期长,这在一定程度上制约了系统的通用性和用户可维护性。 3 基于图形校核的操作票自动生成系统 该类系统具有可视化的图形界面,便于人机交互,用户通过在接线图上点击 鼠标或键盘就可以完成一次开票过程。每次点击一次接线图上的电气元件就生成 一次操作步骤,如果操作过程中违反了操作安全规程,则系统会自动报警, 提示操作员操作时的错误,而不生成这条错误的指令。 此类系统图形功能强大,可模拟电力系统的一、二次接线图,具备直观、逼 真的操作效果,适合于现场培训调度人员,是一种应用广泛的模拟培训系统。但 是,它不能自动推理出操作票,不具备智能性。因为电力系统中二次设备的操作 具有很强的习惯性,所以此类系统也很难做到通用。 4 手动点图开票系统 此类系统有生动而逼真的图形化用户界面,用户通过用鼠标点取图上相应的 电气元件来完成开票过程,每点取一个元件对其下达一个操作令,即可自动生成 2 第一章绪论 一条相应的操作语句。在某一操作步骤,如果用户对某一元件下达的操作令违反 了“五防 闭锁规则,则系统会自动报瞥,提示操作人员所犯的错误,而不生成 这条错误的指令。同时生成操作票面之后,又可在图形界面上逐项模拟,通过生 动的演示,既可检查所写操作票有无违反安全操作规程的操作,同时也加深运行 人员对该项操作任务的理解与记忆。 此类操作票系统的主要优点是:将图形引入开票系统,用电网接线图来直观 地描述电气设备,生动形象;并且具有一定的防止设备误操作的能力。其主要缺 ,点是:此类系统操作票的形成是由用户的行为所决定,故其依然紧紧依赖于运 行人员的经验知识,不能自动生成一张完整的操作票。此类系统一般只进行五 防”的防误操作,而对整个操作序列的生成顺序不具防误性,即只具有局部意义 上的防误性。如果要对整个操作票面的生成具有防误性,则需要按任务事先编入 程序源代码中,这样又不可避免的导致程序的通用性差,并且要人为的将各种接 线方式下各种操作任务的所有防误规则都囊括编入程序源代码中,这也是一项非 常困难的事。事实上,就是只实现“五防,要想实现程序的通用性,由于未来 要应用的电网或电厂接线方式的未知性,这也是一项很复杂的事。同时,由于 其不能实现自动开票,故开票完毕后的模拟演示功能,所起到的培训和学习作用 就有限,因为如果没有一定的运行经验和知识,连最基本的票都开不出来,又如 何谈模拟演示。 5 基于专家系统的自动推理开票系统 此类系统主要由知识库、推理机、数据库等模块组成,利用推理机对知识库 的解空间进行搜索,用专家系统的推理技术来实现各类操作任务的形成。 此类系统一般通过子程序、子模块的形式来实现。整个系统由多个子程序构 成,每个子程序对应一个操作任务,根据用户选择的任务不同,运行相应的程序 段。有的系统也根据问题求解的需要,编制了不同的模块来实现不同的推理机, 如:变压器操作推理机、母线操作推理机、开关操作推理机等,当然这只是此类 系统的实现方式之一。 该类软件构成的关键在于如何将知识转交为计算机能处理的信息即“规则”, 和推理机如何从知识库中搜索与操作任务相关的规则。规则表达得正确而丰富, 可以提高开列操作票的正确率;搜索策略的优化,可以减少开列操作票花费的时 间。基于专家系统的计算机自动推理开票系统能对照操作任务或操作前后的状态 变化,自动进行判断,推理生成,从而大大提高运行人员的工作效率,并且极大 的缓解了运行人员的工作压力。虽然智能系统较之前两者有了很大的改进,但到 目前为止还没有一个系统能够推理产生适用于各个发电厂、变电站的各种运行方 式下的各种操作任务,因而它的实用性和推广性都受到了严重的限制。 第一章绪论 1 3 现有操作票系统存在的问题 综上所述,操作票生成系统问世以来有多种常见的实现方法,其中一些系 统经过研制人员和运行人员的不断改进和完善,已经投入到实际的运行使用当 中,并取得了一定的经济效益和社会效益。但是,同时在使用过程中也出现了一 些问题,反映出了不足的地方,主要归结为以下几点p 驯: 1 通用性差,用户可维护性差。这些软件大多是调度单位针对自身的技术 特点开发的,自然无法将其移植到其他单位。某些软件过于固化,即使是电网结 构的微小变化,也需要程序开发者对软件的源代码进行大量的修改。一些开票系 统虽然做到了知识库与推理机的分离,即用户可以添加新的操作任务和规则,但 是这些系统或者知识的表示方法非常抽象( 如用开关控制逻辑表示操作规则) , 或者需要由用户填入的信息非常繁杂。 2 功能不够全面,未能很好实现自动开票、手动开票、模拟演示、培训学 习、防误闭锁、历史操作记忆、实时数据库等功能,导致系统功能过于单调。尤 其是有些智能操作票系统过于注重自动开票,操作人员在操作前没有对操作票中 的各个具体环节进行思考,完全依赖计算机,在实际操作时难免思想准备不足, 其直接后果将导致操作人员操作技能退化,对电网的安全运行构成潜在威胁,所 以国家电力安全监督主管部门和专家都不提倡现有技术下的微机操作票方式,而 手动开票以及培训式开票恰恰能有效的防止上述弊端。 3 不能很好的结合二次设备图形和二次操作语言。一般操作票生成只显示 一次系统主接线图,对保护压板、控制保险等二次设备的选择或者通过菜单等实 现,或者只能在简单的、只显示压板的图形上选择。由于绘图软件的限制,现有 系统不能显示保护或控制屏柜的整体外貌。在实际的操作票中,对二次设备的操 作往往比对一次设备的操作还要多,这就使图形开票系统的直观、形象性优势大 打折扣。 4 操作票系统的网络运行功能不强。目前许多操作票系统未能投入使用的 原因还包括系统的网络运行性差,限于系统数据库在网络中操作和管理的速度和 安全性的问题,有的操作票系统只能在单机上运行,一旦运行在网络中,系统数 据的安全性、数据访问的速度以及是否支持多用户同时访问等问题,给电力系统 的安全运行留下了隐患。 1 4 本文的主要工作 1 利用v i s u a lc + + 2 0 0 5 开发功能强大的操作票系统平台,设计简约、友好 的人机交互界面,并实现功能完善的图形模块,对每个电气元件采用图元的形式 予以绘制,使操作人员可以方便快捷的完成电气主接线图的绘制。实现自动开票、 4 第一章绪论 手动开票、培训式开票、模拟演示、票样管理等功能相结合的新型智能操作票系 统。 2 采用s q ls e r v e r2 0 0 5 数据库平台设计基于网络的数据存储系统。以关 系数据库的存储思想,对不同的中心设备元件分类建立相应的数据表,合理的构 建中心设备元件的通用拓扑关系。利用s q ls e r v e r 数据库相对于单机数据库 a c c e s s 在多线程和网络安全方面的优势,解决单机数据库网络运行中的瓶颈问 题。 3 将操作票语言分为一次序列语言和二次语言。系统以编译执行一次序列 规则的方式,或者由用户手动操作一次设备元件的方式生成一次语言。另外,实 现二次语言的绑定输出和手动添加二次语言的功能。 4 结合电力系统设备元件知识以及电力系统主要操作规则等知识模块,设 计构建由一次序列规则、二次规则、判定排序规则三部分组成的操作票系统规则 知识库,保证开票过程中系统推理、搜索的准确性。 5 采用逆向推理策略和深度优先搜索法来实现系统的开票功能,使系统可以 根据操作任务,按照电压等级、元件类型等信息搜索一次规则知识库获取一次规 则序列;同时,可以通过系统搜索二次语言绑定规则或二次语言管理规则实现二 次语言的添加,快速、准确的形成完整的操作票。 第二章操作票系统的总体设计 第二章操作票系统的总体设计 2 1 操作票系统的设计基础 ( 一) 专家系统理论: 专家系统( e x p e r ts y s t e m ,e s ) 是人工智能的一个重要分支。自1 9 6 8 年费根 鲍姆等人研制成功第一个专家系统d e n d r a l 以来,专家系统技术已经获得了迅速 发展,广泛的应用于医疗诊断、图象处理、石油化工、地质勘探、金融决策、实 时监控、分子遗传工程、教学、军事等多种领域中,产生了巨大的社会效益及经 济效益,同时也促进了人工智能基本理论和基本技术的研究与发展。目前,它已 成为人工智能中一个最活跃且最有成效的研究领域【1 3 锄】。 所谓专家系统就是一种在相关领域中具有专家水平解题能力的智能程序系 统,它能运用领域专家多年积累的经验与专门知识,模拟人类专家的思维过程, 求解需要专家才能解决的困难问题。这种基于知识的计算机程序系统,事先将有 关专家的知识、经验总结出来i 形成一系列规则,并将它们以适当的形式存入计 算机,即建立知识库:然后采用合适的控制策略,按输入的原始数据选择一定的 规则进行推理、演绎,做出判断和决策,并能根据用户的要求给出满意的解释。 从专家系统的结构角度,我们可以给出专家系统的定义如下:一个专家系统 是由一个四元组组成 e s = ( p ,s ,l ,k ) 其中p 是要解决的问题,s 为系统的推理控制策略,l 是学习机制,k 为知 识库。专家系统一般都包括人机接口、推理机、知识库及其管理系统、数据库及 其管理系统、知识获取机构、解释机构这六个部分。 人机接口是专家系统与领域专家或知识工程师及一般用户间的界面,由一组 程序及响应的硬件组成,用于完成输入输出工作。领域专家或知识工程师通过它 输入知识,更新、完善知识库:一般用户通过它输入欲求解的问题、己知事实以 及向系统提出的询问:系统通过它输出运行结果、回答用户的询问或者向用户索 取进一步的事实。 知识获取机构是专家系统中获取知识的机构,由一组程序组成,其基本任务 是把知识输入到知识库中,并负责维持知识的一致性及完整性,建立起性能良好 的知识库。 知识库是数据的存储机构,用于存储领域内的原理性知识、专家的经验性知 识以及有关的事实等。知识库中的知识来源于知识获取机构,同时它又为推理机 提供求解问题所需的知识,与两者都有密切关系。知识库管理系统负责对知识库 6 第二章操作票系统的总体设计 中的知识进行组织、检索、维护等。专家系统中其他任何部分都要与知识库发生 联系,都必须通过该知识库来完成,这样就可以实现对知识库的统一管理和使用。 推理机是专家系统的“思维 机构,是构成专家系统的核心部分。其任务是 模拟领域专家的思维过程,控制并执行对问题的求解。它能根据当前已知的事实, 利用知识库中的知识,按一定的推理方法和控制策略进行推理,求得问题的 答案或证明某个假设的正确性。推理机的性能与构造一般与知识的表示方式及组 织方式有关,但与知识的内容武官,这有利于保证推理机与知识库的相对独立性, 当知识库中的知识有变化时,无须修改推理机。但是,如果推理机的搜索策略完 全与领域问题无关,那么它将是低效的。所以,目前专家系统一方面为了提高系 统的运行效率而使用了一些与领域有关的启发性知识,另一方面又为了保证推理 机与知识库的相对独立性而采取了用元知识来表示启发性知识的方法。 数据库又称为“黑板”、“综合数据库”等。它是用于存放用户提供的初始事 实、问题描述以及系统运行过程中得到的中间结果、最终结果、运行信息( 如推 出结果的知识链) 等的工作存储器。可以说,数据库是推理机不可缺少的一个工 作场地,同时由于它可记录推理过程中的各有关信息,又为解释机构提供了回答 用户咨询的依据。 解释机构能跟踪并记录推理过程,当用户提出询问需要给出解释时,它将根 据问题的要求分别做出相应的处理,最后把解答用约定的形式通过人机接口输出 给用户。解释结构通过对自身行为的解释可以帮助系统设计者发现知识库及推理 机的错误,有助于对系统的调试和维护【3 1 1 。 专家系统具有如下基本特征: 1 具有专业水平的专业知识 一般来说,专家系统中的知识可以分为三个层次,即数据级、知识级和控制 级。数据级知识是指具体问题所提供的初始事实以及问题求解过程中所产生的中 间结论、最终结论等:数据库级知识是指专家的知识,它是构成专家系统的基础, 一个系统性能的高低取决于这种知识的数量和质量:控制级知识是指关于如何运 用前两种知识的知识,它是用于控制系统的运行过程及推理的,因而其性能的优 劣直接关系到系统的“智能程度。 2 能进行有效的推理 专家系统有相应的推理机构,能根据用户提供的己知事实,通过运用掌握的 知识,进行有效的推理,以实现对问题的求解。 3 具有获取知识的能力 专家系统的基础是知识。为了得到知识就必须具有获取知识的能力,目前专 家系统在这方面的能力还比较弱,应用最多的是建立知识编辑器,知识工程师或 领域专家通过知识编辑器把领域知识“传授给专家系统,以便建立起知识库。 第二章操作票系统的总体设计 4 具有灵活性 在大多数专家系统中,其体系结构都采用了知识库和推理机相分离的构造原 则,彼此既有联系,又相互独立。这样既可在系统运行时能根据具体问题的不同 要求分别选取合适的知识构成不同的求解序列,实现对问题的求解,又能在一方 进行修改时不致影响到另外一方。 5 具有透明性 所谓一个计算机程序系统的通明性是指,系统自身及其行为能被用户所理 解。专家系统具有较好的通明性,这是因为它具有解释功能埘系统能够说明“为 什么是这样? ”“是什么得出来的? ”等。这就提高了用户对系统的可信程度,增 加系统的透明度。 6 具有实用性 系统是根据大量的领域问题的实际需求开发的,这一特点就决定了它具有坚 实的应用背景。 7 具有一定的复杂性及难度 建造一个专家系统,会遇到多种需要解决的困难问题,如不确定知识的表示、 不确定的传递算法、匹配算法等等。因此,对一个专家系统而言,需要根据实际 情况进行调整,其复杂性和难度都是比较大的。 ( 二) 面向对象技术 面向对象技术是一种全新设计和构造软件的技术,它使计算机解决问题的方 式更符合人类的思维方式,更能直接地描述客观世界,通过增加代码的可重用性、 可扩充性和程序自动生成功能来提高编程效率,并且大大减少软件维护的开销, 已经被越来越多的软件设计人员所接受。希望通过本章的介绍,能从宏观上了解 面向对象技术,有助于对具体实现的掌握。本章首先介绍面向对象技术的基本概 念、基本特征,介绍了面向对象与面向过程程序设计的区别,然后介绍目前流行 的几种面向对象程序设计语言,特别强调c + + 对面向对象技术的支持及其发展现 状,其中还涉及到n e t 技术【l 一。 面向对象技术是一种新的软件技术,其概念来源于程序设计,从2 0 世纪6 0 年代提出面向对象的概念,到现在已发展成为一种比较成熟的编程思想,并且逐 步成为目前软件开发领域的主流技术。同时,它不仅局限于程序设计方面,已经 成为软件开发领域的一种方法论。它对信息科学、软件工程、人工智能和认知科 学等都产生了重大影响,尤其在计算机科学与技术的各个方面影响深远。通过面 向对象技术,可以将客观世界直接映射到面向对象解空间,从而为软件设计和系 统开发带来革命性影响。 在面向对象程序设计( o b j e c to r i e n t e dp r o g r a m m i n g ,o o p ) 方法出现之前, 程序员用面向过程的方法开发程序。面向过程的方法把密切相关、相互依赖的数 第二章操作票系统的总体设计 据和对数据的操作相互分离,这种实质上的依赖与形式上的分离使得大型程序不 但难于编写,而且难于调试和修改。在多人合作中,程序员之间很难读懂对方的 代码,更谈不上代码的重用。由于现代应用程序规模越来越大,对代码的可重用 性与易维护性的要求也相应提高。面向对象技术便应运而生了。 面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程 序设计技术。它以数据为中心而不是以功能为中心来描述系统,数据相对于功能 而言具有更强的稳定性。它将数据和对数据的操作封装在一起,作为一个整体来 处理,采用数据抽象和信息隐蔽技术,将这个整体抽象成一种新的数据类型 类,并且考虑不同类之间的联系和类的重用性。类的集成度越高,就越适合大型 应用程序的开发。另一方面,面向对象程序的控制流程由运行时各种事件的实际 发生来触发,而不再由预定顺序来决定,更符合实际。事件驱动程序执行围绕消 息的产生与处理,靠消息循环机制来实现。更重要的是,可以利用不断扩充的框 架产品m f c ( m i c r o s o f tf o u n d a t i o nc l a s s e s ) ,在实际编程时可以采用搭积木 的方式来组织程序,站在“巨人”肩上实现自己的愿望。面向对象的程序设计方 法使得程序结构清晰、简单,提高了代码的重用性,有效地减少了程序的维护量, 提高了软件的开发效率。 在结构上,面向对象程序与面向过程程序有很大不同,面向对象程序由类的 定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的 规律,程序中的一切操作都是通过向对象发送消息来实现的,对象接到消息后, 启动消息处理函数完成相应的操作。 类与对象是面向对象程序设计中最基本且最重要的两个概念,有必要仔细理 解和彻底掌握。它们将贯穿全书并且逐步深化。 与人们认识客观世界的规律一样,面向对象技术认为客观世界是由各种各样 的对象组成,每种对象都有各自的内部状态和运动规律,不同对象间的相互作用 和联系就构成了各种不同的系统,构成了客观世界。在面向对象程序中,客观世 界被描绘成一系列完全自治、封装的对象,这些对象通过外部接口访问其他对象。 可见,对象是组成一个系统的基本逻辑单元,是一个有组织形式的含有信息的实 体。而类是创建对象的样板,在整体上代表一组对象,设计类而不是设计对象可 以避免重复编码,类只需要编码一次,就可以创建本类的所有对象。 对象( o b j e c t ) 由属性( a t t r i b u t e ) 和行为( a c t i o n ) 两部分组成。对象 只有在具有属性和行为的情况下才有意义,属性是用来描述对象静态特征的一个 数据项,行为是用来描述对象动态特征的一个操作。对象是包含客观事物特征的 抽象实体,是属性和行为的封装体,在程序设计领域,可以用“对象= 数据十作 用于这些数据上的操作这一公式来表达。 9 第二章操作票系统的总体设计 类( c l a s s ) 是具有相同属性和行为的一组对象的集合,它为属于该类的全 部对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分,类是对象 集合的再抽象。 类与对象的关系如同一个模具与用这个模具铸造出来的铸件之间的关系。类 给出了属于该类的全部对象的抽象定义,而对象则是符合这种定义的一个实体。 所以,一个对象又称作类的一个实例( i n s t a n c e ) 。 在面向对象程序设计中,类的确定与划分非常重要,是软件开发中关键的一 步,划分的结果直接影响到软件系统的质量。如果划分得当,既有利于程序进行 扩充,又可以提高代码的可重用性。因此,在解决实际问题时,需要正确地进行 分“类”。理解一个类究竟表示哪一组对象,如何把实际问题中的事物汇聚成一 个个的“类,而不是一组数据。这是面向对象程序设计中的一个难点。 类的确定和划分并没有统一的标准和固定的方法,基本上依赖设计人员的经 验、技巧以及对实际问题的把握。但有一个基本原则:寻求一个大系统中事物的 共性,将具有共性的系统成分确定为一个类。确定某事物是一个类的步骤包括: 第一步,要判断该事物是否有一个以上的实例,如果有,则它是一个类;第二步, 要判断类的实例中有没有绝对的不同点,如果没有,则它是一个类。另外,还要 知道什么事物不能被划分为类。不能把一组函数组合在一起构成类,也就是说, 不能把一个面向过程的模块直接变成类,类不是函数的集合。 消息( m e s s a g e ) 是描述事件发生的信息,事件( e v e n t ) 由多个消息组成。 消息是对象之间发出的行为请求。封装使对象成为一个相对独立的实体,而消息 机制为它们提供了一个相互间动态联系的途径,使它们的行为能互相配合,构成 一个有机的运行系统。 对象通过对外提供的行为在系统中发挥自己的作用,当系统中的其他对象请 求这个对象执行某个行为时,就向这个对象发送一个消息,这个对象就响应这个 请求,完成指定的行为。 程序的执行取决于事件发生的顺序,由顺序产生的消息驱动,不必预先确定 消息产生的顺序,更符合客观世界的实际。 面向对象程序设计具有很多优点:开发时间短、效率高、可靠性强。由于面 向对象编程的可重复应用性,可以在应用程序中大量采用成熟的类库,从而缩短 开发时间。应用程序易于维护、更新和升级。所以本系统采用了面向对象的程序 设计方法。 ( - - ) 面向对象的程序设计语言v i s u a lc h 2 0 0 5 v i s u a lc + + 是美国m i c r o s o f t 公司推出的4 g l 软件开发工具,目前已成为国内 应用最广泛的高级程序设计语言之一。在过去的十几年间,m i c r o s o f t 公司发布了 1 0 第二章操作票系统的总体设计 v c 的多个版本,最新的一个版本是v c 2 0 0 5 。v c 2 0 0 5 是一款比较理想的可视化 面向对象开发工具。所谓可视化编程,是指在软件开发过程中,用直观的具有一 定含义的图标按钮、图形化的对象取代原来手工抽象的编辑、运行、浏览操作, 软件开发过程表现为鼠标单击按钮、拖放图形化的对象以及制定对象的属性、行 为的过程。这种可视化的编程方法易学易用,而且大大提高了工作效率。v c 2 0 0 5 提供了一个支持可视化编程的集成开发环境( i d e ) v i s u a ls t u d i o2 0 0 5 。通过利 用i d e ,程序员可以方便地创建、运行、测试和调试程序。因此,可以将生产一 个工作程序所需的时间减少为不用i d e 时所需时间的一小部分。v c 2 0 0 5 支持标 准的c + + 和c + + 托管扩展( m c + + ) ,本系统的源代码主要由标准c + + 语言编写, 而标准c + + 语言是一种从c 语言发展演变而来的一种面向对象的程序设计语言, 其全面兼容c 语言。v i s u a lc + + 2 0 0 5 除了具有可视化的图形编辑界面之外,还提 供了强大的微软基础类库( m f c ) ,同时随着v c n e t 的发布,m i c r o s o f t 公司还 提供了另一种库( n e t 的f c l ) 。本系统的开发过程中主要使用的是适于开发非 托管代码的m f c 库1 2 睨7 1 。 m f c 类库是微软为w i n d o w s 程序员提供的一个面向对象的w i n d o w s 编程接 口,它大大简化了w i n d o w s 编程工作。使用m f c 类库的好处是:首先,m f c 提供了一个标准化的结构,这样开发人员不必从头设计创建和管理一个标准 w i n d o w s 应用程序所需的程序,而是“站在巨人肩膀上,从一个比较高的起点 编程,故节省了大量的时间;其次,它提供了大量的代码,指导用户编程时实现 某些技术和功能。m f c 库充分利用了m i c r o s o f t 开发人员多年开发w i n d o w s 程序 的经验,并可以将这些经验融入到你自己开发的应用程序中去。对用户来说,用 m f c 开发的最终应用程序具有标准的、熟悉的w i n d o w s 界面,这样的应用程序 易学易用;另外,新的应用程序还能立即支持所有标准w i n d o w s 特性,而且是 用普通的、明确定义的形式。总之,利用m f c 类库开发程序为我们提供了大量 的可重用代码,隐藏了程序设计中许多复杂工作,为我们节省了大量的开发时间, 并提高了代码的准确性。 正是基于v c 的以上优点,在众多的面向对象开发软件中,本文选用了 v c 2 0 0 5 作为开发工具。 ( 四) 数据库管理系统 数据库管理系统( d a t a b a s em a n a g e m e n ts y s t e m ,d b m s ) q b 存储了大量的数据 信息,其目的是为用户提供数据信息服务,包括对数据进行查询、插入、删除、 修改等基本操作。d b m s 通过结构化查询语言( s t r u c t u r e d q u e r yl a n g u a g e ,s q l ) 对数据库里的数据进行查询,修改等操作。 d b m s 按功能大小可以分为两种:本地数据库,远程数据库。本地数据库位于 本地磁盘或局域网上。如果有几个用户同时访问数据库,本地数据库采取基于文 第二章操作票系统的总体设计 件锁定策略,因此,本地数据库又叫做基于文件的数据库。本地数据库一般是单 机使用,没有网络连接功能,而且数据的存储量较远程数据库的小? ,但是因为是 单机运行环境,所以不存在网络阻塞或延时等问题,故数据库的访问速度比较快。 当数据库采用本地数据库时,通常开发出来的数据库应用程序也是和数据库位于 同一机器中。常见的本地数据库系统有p a r a d o x 、d b a s e 、f o x p r o 、a c c e s s 笺箜 2 9 ,3 0 ,5 2 ,6 2 甘寸。 远程数据库通常位于远程计算机( 般为数据服务器) 上,用户通过命名管道 或者网络连接协议,例如利用t c p i p 网络协议进行多机连网,实现多用户的远 程数据库访问连接。远程数据库较本地数据库提供更为强大的功能,主要表现在 本地数据库所不具有的网络功能。值得一提的是,它提供了基于事务的多用户支 持。远程数据库因为访问量大,所以它的存储容量也超出本地数据库许多。 远程数据库通常驻留在性能较高的服务器上,保证服务器在繁忙的时候,数 据处理的正确性和及时性。而数据库应用程序则遍布在各个客户机上,数据库应 用程序通过连接服务器,对数据库进行远程访问。常用的远程数据库有s q l s e r v e r 、o r a c l e 等。 本系统采用s q ls e r v e r2 0 0 5 作为操作票专家系统的后台数据库,我们就 以s q ls e r v e r2 0 0 5 为例介绍s q ls e r v e r2 0 0 5 数据库的连接和访问技术。 通常数据库的连接访问有多种方式,主要有通过a d o 接口进行连接访问、通过 d a o 组件模型进行连接访问和通过配置o d b c 数据源进行连接访问。其中配置 o d b c 数据源最为常用,这里就介绍如何通过配置o d b c 数据源连接访问s q l s e r v e r2 0 0 5 数据库。o d b c 提供统一的数据库a p i ,所有的应用程序通过调 用o d b c 程序与功能调用能与不同的数据库服务器通讯。 应用程序通过o d b c 这个统一的接口实现对数据管理系统的访问,在o d b c 驱动管理程序层所定义的o d b c 数据源不是具体的数据库数据存储体,而是指定 与某特定用户数据库的连接方式,包含的信息有:登录用户名、登录密码、数据 库类型以及数据库的位置。在程序设计中提供了上述连接信息后,就可以登录到 目标数据库中,根据登录人的角色权限进行相应权限范围内的操作。系统管理员 具有对数据库操作的最大权限,包括可以对数据库进行表的创建,表字段的修改 等等 2 4 - 2 6 。 2 2 操作票系统的主要模块 2 2 1 操作票系统的总体设计要求 利用计算机开列操作票一直是现场运行人员非常关心的问题,尤其在目前运 行值班人员减少和运行设备自动化水平不断提高的阶段,此项工作更有意义。虽 1 2 第二章操作票系统的总体设计 然操作票开票系统的开发已有多年,但真正在现场投入实际运行的系统并不多。 因此,我们开发这套系统的指导思想就是使系统达到实用化要求,具体地说, 就是: 1 通用性强。系统能广泛适用于各种电压等级和接线形式的厂站。一套系 统可支持多个厂站的开票任务,以适应现在个操作大队负责数个厂站操作的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年青少年领袖营夏令营教官领袖才能服务协议3篇
- 基于人工智能的2025年度智能客服代理协议3篇
- 二零二五版服装辅料加工承揽合同模板3篇
- 2025版双方协商离婚书样本编制与执行细则3篇
- 二零二五苗木种植与乡村旅游开发合作协议3篇
- 二零二五年度茶叶品牌电商数据分析合作合同2篇
- 二零二五版寄卖合同范本:二手家具寄卖代理合同3篇
- 二零二五版商业街区开荒保洁及环境卫生维护协议3篇
- 2025年度智能出租车共享平台服务合同书4篇
- 2025年度个人车辆贷款担保服务协议书4篇
- 2024企业答谢晚宴会务合同3篇
- 中华人民共和国文物保护法
- 节前物业安全培训
- 高甘油三酯血症相关的器官损伤
- 牙膏项目创业计划书
- 单位食堂供餐方案
- 运动技能学习与控制课件第三章运动能力与个体差异
- 人教A版必修五《斐波那契数列》教案及教学反思
- 风电工程需要编写的专项施工方案及危大工程目录
- 商业计划书(BP)财务计划风险控制资本退出与附录的撰写秘籍
- 七年级下册《Reading 1 A brave young man》优质课教案牛津译林版-七年级英语教案
评论
0/150
提交评论