监控软件的开发模式探讨

来源:互联网 发布:vga视频矩阵切换器调试 编辑:程序博客网 时间:2024/05/16 15:49

监控软件的开发模式探讨
刘胜雄


  目前国内的软件发展已经从小型的MIS系统开发转到了较为大型的监控管理软件开发。例如各种电信网络管理软件,楼宇监控软件,交通道路监控,机房的环境监控等等。应该说监控软件在目前的软件公司里是很流行的。而就个人的经验而言,我认为这些监控软件的开发都有一个相同的开发模式。

监控软件的分类

  监控软件大致可分为设备监控和非设备监控,设备监控一般是对诸如电信等通信设备或其他无人看守的机械的运行情况的监控,监控重点是设备的故障情况和设备的一些性能指标。而非设备监控一般是指那些诸如交通道路,网络安全,楼宇以及环境的监控,这类软件一般监控的重点在于实景的图片或者是周围的一些例如温度,空气质量指标等等,并能在得到的图像的基础上做出分析。

监控软件的流程
  一般的监控软件分为三层,图示如下:

  在上图中数据采集层采集到相应的监控信息,在不同的行业和不同软件系统要求由于监控的目的不一样采集的数据不一样。但采集的方法也不相同。例如通信设备的故障采集一般在设备本身增加采集数据的硬件模块,并能通过固定的通信信道把采集的数据上报数据库或直接呈现于界面。楼宇监控的交通监控都采用云台采集场景图片。
数据库层负责记录采集的历史数据和界面的配置数据等,已便于查询,统计。

  上层界面呈现采集层采集的数据,并实现监控对象的配置。将设备的配置信息存入数据库的同时又是要求直接配置设备。 界面的呈现一般采用两种方法:应用程序界面和web界面。相对来说web界面比较受欢迎,也是一种发展的趋势。

监控软件开发功能模块

  监控软件一般要实现的功能有配置管理,故障管理,性能管理,用户管理,日志管理等。具体要视用户和软件系统本身的需要来决定。

  配置管理要实现管理对象的配置。要求能唯一标识每一个管理元素。

  故障管理和性能管理是基本的功能,要求能准确定位,快速的故障的位置。并能查看管理对象的性能状况。对于非设备监控软件则要求能准确快速的采集到用户想要查看的图片等数据。

  用户管理主要是要限制用户非法或越权使用监控软件系统。用户要分级别并分别设定其使用的权限。

  日志管理主要完成记录用户对软件系统的重要的操作。

监控软件涉及的技术领域

  监控软件的开发设计的技术领域有硬件和软件两部分。硬件包括的组网,路由器技术和交换技术等。软件部分包括网络协议, Unix(主要是Soleris)平台下标准C语言的程序编码和一些Xwin相关的图形界面包的开发,COM或CORBA接口技术,Windows平台的VC++语言以及Web开发相关的一些诸如ActiveX, ASP, Jscript, Vbscript ,XML等技术。

监控软件开发流程

  监控软件的开发有三个原则,一是要了解行业的要求,一是要考虑用户的需求,再次要考虑项目开发小组的技术力量。

1.如何写好需求分析

  我们在开发监控软件之前要先了解行业和用户的需求, 行业的标准包括ITU建议和相关行业制定的标准和规范。由于监控软件的特殊性,不同的工程有不同的用户,其需求自然就不同,所以最好和尽量多的用户多次交流具体的需求。这样我们才可以设计一个便于以后根据不同的用户来定制我们的产品的方案。

2.系统设计

  对监控软件的系统分析一般采用先针对功能模块的具体设计思想,通常,安全管理和日志管理的模块是通用的,一般要能有软件的用户登录功能,能进行用户的添加,删除和用户对系统的操作权限的分配管理。日志管理要能准确的的记录用户对软件的操作情况,要能设置条件对日志数据库进行查询,呈现。

  配置管理要能配置整个系统的设备等监控对象。故障和性能要能用报表和图形等方式来表示。

  系统设计的关键是如何设计各种数据结构和制定数据库的表结构。监控软件的数据库一般表比较多,数据量也比较大,要选好数据库,目前常用的是Informix, Oracle等大型关系行数据库。设计者要根据功能的需求制定好相应的数据结构和表结构。也要充分考虑到数据量大的时候如何能使界面调用的时间最少。一般采用一些缓存或目前流行的数据仓库等用空间换时间技术来实现系统的优化。

  软件的界面是系统设计很重要的一部分,要考虑界面的布局,要求能的做到使用方便,从用户的角度出发进行设计,当然也要考虑能否实现。 等界面设计好了要明确需要做那些中间控件,每一个控件要完成那些具体的属性和方法以及事件,接口如何定义。数据库的条用方式都要详细写成文档。

  一份好的设计会为以后的工作生很多的事,所以一定要认真设计好。

3.编码要求

  编码阶段要安排好项目组人员的分工,一般需要分成做数据库的,底层采集的,上层界面的三部分。上层界面要分配专门的人员做控件,例如常用的表格和树控件。数据库人员最好负责做表和提供接口。
编码过程中要对源代码进行控制,避免多人开发时对源代码修改时造成混乱。

4.测试

  最好安排专门人员在编码进入一定时期后定期检查进度和对软件进行测试评审。以便及时解决一些编码过程的问题。

监控软件开发前景展望

  就目前的情况来看,监控软件已经深入各行各业,非常活跃。但是就发展前景来看,如何扩大监控软件的管理能力,包括一个软件管理成千上万的管理对象,最终真正做到足不出户能监控全国。从地区级的监控到省级向国家级的监控软件发展。就业务来说目前的监控软件监控的对象还比较单一,如何集成各种监控对象到一个软件平台也是一个发展的方向,总之,随着网络带宽的扩大,随着设备的不断增加和更新,监控软件的前景是相当看好的。

原创粉丝点击