当前位置:首页 > 工作计划 > 【几种软件开发方法在城市照明监控系统中的应用】
 

【几种软件开发方法在城市照明监控系统中的应用】

发布时间:2019-01-01 07:23:28 影响了:

  SCADA系统简介      城市照明监控系统是一种SCADA(Supervisory Control and Data Acquisition)系统,即监视控制与数据采集系统,是以计算机为基础的监测控制与调度管理自动化系统,能实现远程数据采集、故障诊断,设备控制、测量、参数调节以及信号报警等各项功能。
  SCADA系统自诞生之日起就与计算机技术的发展紧密相关,至今已发展了三代。
  第一代是基于计算机和专用操作系统的SCADA系统,70年代~80年代初主要采用第一代SCADA系统。
  第二代是基于通用计算机的SCADA系统,广泛采用VAX小型计算机以及其它通用工作站,操作系统一般是采用通用UNIX操作系统。
  第三代SCADA系统开始采用PC机和网络技术,同时系统逐步从集中式结构转向客户机/服务器结构。
  第四代S CA DA系统的雏形已经出现,它以智能化、网络化为标志。主要特征是采用因特网技术、面向对象技术、模糊控制及数据挖掘等技术,实现了SCADA系统与其它信息系统的增值集成,实现控制和管理过程的现代化和自动化。
  SCADA系统一般采用分散式测控、集中式管理的方式,整个系统由监控中心、若干个分散的远程测控终端RTU(Remote Terminal Unit)和通信介质三部分组成。监控中心又称主站,是SCADA系统的核心,负责控制管理整个系统的运行。本文针对监控中心实时监控软件的开发方法进行论述。
  
  几种软件开发方法在项目中的应用
  
  照明监控领域的软件开发从九十年代初期至今尚未完全摆脱手工艺的开发方式,很大程度上还依靠单兵作战。由于应用的城市多,用户水平有高有低,在软件版本上也是种类繁多,完全没有适应软件工程的开发需要。
  随着客户需求的越来越多、越来越高,造成现有的软件开发难度越来越大,特别是软件版本的统一问题、软件编程的重复性劳动问题、软件开发团队的协调工作问题等等,在许多方面都无法适应现有的需求和形式。
  
  增量开发
  
  由于增量模型特别适用于需求经常变化的软件开发,以及市场急需而开发人员和资金不能在设定的市场期限前实现一个完善的软件。这种情况在软件开发中经常发生。其原则:尽量采用软件重用技术、算法的时/空开销方面可以让步、充分展示软件的可见部分等,也经常在现有团队已有的软件开发方法中有一定的应用。
  然而,由于从事的软件属于实时监控软件,在可靠性、稳定性、健壮性、运行效率和可维护性上要求又较高,而增量模型的一些固有缺点,如缺少项目标准,有点像编码修正;缺少控制,由于用户可能不断提出新要求,因而迭代的周期很难控制;运行效率可能会受影响等等。这些缺点使得这种开发模型并不适用于团队现有的软件开发模式。
  
  面向对象开发
  
  面向对象方法模拟人类思维习惯,即问题域与求解域在结构上一致,以数据或信息为主线,把数据和处理结合构成统一体:对象。使得程序不再是一系列工作在数据上的函数集合,是相互协作又彼此独立的对象集合。
  很明显,面向对象的开发方法能够有效地利用自身具有的多种属性,如继承、多态、封装以及消息机制,最大程度地减少了系统的重复性工作、提高了系统可维护性和可读性。
  面向对象开发方法优点很多,但由于现有人员还不具备相关知识能力,原有系统如果推翻重来,涉及到的用户以及软件较多,故只能作为下一步努力的方向。
  
  基于构件的开发模型
  
  基于构件的软件开发方法通过软件复用,利用预先包装好的软件构件来构造应用系统,从而减少重复工作量、减少软件现场工作量。通过可复用的软组件(称为构件),复用这些软构件,组装应用系统,从而降低软件开发和维护费用,提高软件生产率,同时也提高软件质量。
  基于构件的开发从客户处导出需求,选择合适的体系结构风格来满足待建造系统的目标,然后选择潜在的可复用构件,认证这些构件以确信它们能够合适地符合系统的体系结构,为了更好地集成,对构件进行适应性修改,集成构件以形成子系统和完整的应用。此外,对系统中不能被现存构件实现的那些方面,还需开发定制的构件。
  通过以上一些步骤, 实现软件开发。可见,如何选择合适的部分构造构件、构件编制工作由谁来完成、如何测试等等,都是很重要的环节。而恰恰在这几个重要环节上,对于现有团队而言,正是缺少相应支持的环节,如在整体上能够把握系统关键环节的团队、软件的质量监督与管理等等。所以,基于构件的开发模型对于现有软件开发团队(软件编程人员6~8人,4人为具有实践经验的编程人员,2~4人为尚无实践经验的新进人员),同样需要通过人员调整、制定合适的严格的软件质量监督机制,才能逐步实现。适合于团队现有软件开发机制的构想这种机制不完全是以上任何一种,而更多地像多种软件开发方法的综合体。
  首先,追溯以前的软件开发工作,通过结构化思想、采用构件开发模型,完成现有构件库,并逐步应用到已有系统中。对于一些较难的构件构造与测试,应有多人共同参加。
  第二,构件的开发由实践经验丰富的编程人员实施,每一个构件应具有面向对象的一些属性,如封装特性、接口与信息等。
  第三,构件的组装由多人协同参与,组装的目的主要是逐步替代现已应用的软件系统,完成软件系统的逐步归一化。
  第四, 对于用户经常提出的新需求,尽量不在现场完成,而是在了解需求、上报构件库后再视情况完成。若情况紧急,可先在软件现场的可视部分与基本部分完成基础功能,如界面交互上、基本运行条件上等,而详细的最终解决方案还是应由构件组成员结合现有构件情况后制定。
  
  VB中构件的开发与应用
  
  由于现有团队的编程语言基本使用VB6.0,而VB中最关键的就是对控件的应用。除了使用开发系统自带的控件以外,还可以自己开发控件,作为构件库的一部分,向软件系统集成提供支持。对于控件的选用与开发,必须注意以下几点:
  第一,要考虑控件的实际功能。功能强、接口多的控件可以增强应用软件的质量,也可减少编程工作量,当然,这要结合应用需求来定,并不是功能越多越好。提供的功能多了,控件本身就很大,占好几兆空间,增加了程序的冗余代码。另外,一些功能闲置、灵活性太强也可能导致最终用户不易掌握使用。
  第二,控件的稳定性要强。作为应用程序的基石,不应选用那些控件本身容易出错,补丁太多的版本。
  第三,控件的易用性要高。选用那些属性配置合理,事件触发机制明晰流畅,易于设计和使用,项目组中的程序员都容易接受掌握的控件。
  如同样是网格控件,Grid和DBGrid就有许多不同。Grid只是提供了一个预览的功能,便于数据的修改,在需要对数据库进行大量数据的操作时,为了减少对数据库的直接操作,提高数据库的安全性,使用Grid控件,非常方便。Grid是VB在早期版本中就带有的控件,但现在与其它控件比较起来功能有些不足。
  DBGrid控件是专用来操作数据库的网格控件,可以绑定到Data控件,几乎不用写代码就可方便地对数据进行显示,增加、删除或修改记录,DBGrid具有OnAddNew、BeforeDelete等事件,可在增加新记录或删除修改时对数据进行有效性检验,来实现事务处理功能。DBGrid也可以在设计时编辑网格格式,指定显示字段等,增强了显示和操作数据的能力。
  综上所述,在软件工程实际运行过程中,应该通过软件工程知识,灵活应用各种方法与开发模型,制定适合自己开发团队的有效方法,只要紧密围绕可维护性、健壮性、可靠性、高效性等方面,就可逐步适应软件工程的发展需要。
  (本文作者卢强系中国电子科技集团公司第五十研究所工程师,蒋琦系中国电子科技集团公司第五十研究所高级工程师)

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3