基于构件的EIMS系统开发

2018-06-02 08:50杨薇
电脑知识与技术 2018年10期

杨薇

摘要:EIMS系统是自主研发的综合电子设备管理系统,该文对EIMS系统基于构件的开发过程进行了介绍,主要内容包括构件平台的选择,几种COM构件的开发方法和系统的实现过程。基于构件的开发方法在保证系统软件质量的前提下,缩短了系统开发周期,节约了开发成本,增强了软件的可维护性和扩展性。

关键词: EIMS;COM; 构件平台

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)10-0099-02

Abstract: The EIMS system is a self developed integrated electronic equipment management system. This article introduces the development process of the system based on component. The main content includes the selection of component platform, the development methods of several COM components and the realization process of the system. The component-based development method shortens the development cycle of the system, saves the development cost and enhances the maintainability and expansibility of software under the premise of guaranteeing the quality of software.

Key words:EIMS; COM; component platform

EIMS系统是我单位自主研发的综合性在线式基于WEB的远程电子设备管理系统,此前,在单位进行过的多个软件开发项目中,软件的开发方法一直在不断的改进与更新。随着软件复杂度的增加,以及对人机交互要求的提高,开发方法由从最初的面向过程的开发方法转为现在的面向对象的开发方法,实现了界面化編程以及操作交互的可视化,大幅提升了开发效率;但是这种开发方法也有其不足之处,主要是在多个开发项目之间不能进行资源复用,虽然在部分开发过程中偶尔可以有能复用的模块类,但很多类似的项目相互之间可以共用的资源很少,造成了相同功能的重复开发,资源浪费等情况,因此,在该系统的设计与实现中,采用构件式开发方法,将多个软件可以通用的功能设计成构件,以实现资源的复用,提高开发效率。

1 系统概述

EIMS系统整体策略是采用专用平台软件完成系统软件基础平台的搭建,并在此基础上进行用户化定制以满足实践需求。系统整体框架设计,采用国际市场上较为完善和成熟的数据管理软件SQL Server2010作为基础平台。由于单位现有的其他软件系统都是基于Windows平台开发的,开发人员比较熟悉C#语言,因此,采用微软COM构件技术来开发该系统。系统运行于Windows Server2012,系统采用三层结构,底层为物理数据库,中间层为IIS服务器、文件应用服务器和数据库接口,上层为WEB客户端和其他系统接口。软件平台服务器端操作系统为Windows 2008 Server或更高版本,客户端操作系统为任何支持IE6浏览器或更高版本的操作系统,Web服务为Microsoft IIS 7.0。

EIMS系统的功能模块主要包括测控装备日常管理、测控装备维修管理、测控装备实力管理、技术基础管理和系统管理。其中测控装备的日常管理主要包括测控装备基本信息管理、配套物品管理、物资消耗管理、故障事故管理、检测检查管理五部分;其中,设备维修管理主要是对维修过程中各个阶段的进度的提醒,并对各个阶段产生的文档资料进行管理。同时,维修管理还负责设备维修计领标准的管理与维护;设备实力与质量状况查询,主要是为各级管理人员提供服务,以便他们能够很方便地查看所管设备实力、各个设备的质量状况、各设备主要部件的质量状况等。

系统在装备信息的管理方面采用结构化和非结构化两种方式进行。结构化管理是指将数据存储在数据库中,将数据保存为数据库中的一条条记录,在系统软件中对数据库中的数据进行操作以进行管理。非结构化管理是指对于系统中的技术基础管理等功能在实现时将数据以文件的形式存储到数据库中,同时在数据库中保存文件对应的装备等信息,在文件和装备之间建立关联。两种管理方式各取其长,互为补充,满足装备信息管理的多种需求。

2 COM构件的实现

COM构件是微软公司的开发技术。采用COM构件进行开发,可以实现多种功能专一的构件,在系统开发过程中,可以依据需要使用它们或将它们进行组合,构成复杂的应用系统。COM构件具有很强的灵活性,可以用新构件替换系统中原有的构件,以进行系统的功能升级和定制,也可以在多个应用程序中使用相同的构件,以达到资源的复用。COM构件既可以被嵌入动态WEB页面,还可以在LAN或多种编程语言中使用。构件具有若干对外接口,即属性和方法,可以根据不同的需求,有选择地使用不同接口。

EIMS系统以在线服务为主,在其主要功能模块中基本都包括用户交互,装备资料录入,装备资料管理,装备数据存储等操作,因此,根据系统的功能特点,在进行开发时,将各个功能中可以共用的代码模块都做成构件,以节省开发时间和提高维护效率。例如,装备基本信息的操作,如装备基本信息的增加、修改、删除等;采用ADO技术,把同数据库的连接做成连接构件,由于ADO采用了OLE-DB技术,可以访问多种数据库并提高了访问性能;把用户与系统之间交互时产生的错误等做成异常处理构件。各种构件采用C#语言进行编写,并制作成DLL文件,再注册成为COM程序,以供调用。在EIMS系统的开发过程中,主要设计和实现了以下COM构件:

1)用户管理构件

用户管理构件的设计主要用来实现两个功能,一是确认用户身份,在用户登录时对其身份进行验证,以保证系统安全;二是区分用户的人员类别,如用户是装备操作人员、装备分管领导,还是系统管理员等。

该构件设计为四个接口,分别代表构件的某个属性或方法。该构件对用户的登录请求做出相应的处理;如果是非法登录人员就进行系统提示同时不允许其登入系统,如果是合法人员,根据其用户的人员类别分别转入不同的登录界面,如果是设备操作手用户登录则转入操作手界面,如果是分管领导登录则转入分管界面,如果是系统管理员登录则转入系统管理员界面。

2)信息交互构件

信息交互构件的设计主要用来实现两个功能,一是根据用户人员类别的不同为不同的用户返回其所属权限的装备查询结果信息;二是供用户提交新的装备基本信息。

该构件设计为两个接口,分別代表构件的一个属性和方法。如果用户提交的是查询功能,则根据用户所在的人员类别,按照其相应权限对其查询请求做出相应的处理,并将查询结果集返回给用户。如果用户提交的是新增装备信息,则对其提交的信息请求做出相应处理,并将结果提示返回给用户。

3)数据库连接构件

该构件的设计主要用来实现与数据库的连接。该构件只有一个接口,当用户调用该构件时,即通过该接口确定数据源,并自动连接至后台数据库。

4)异常处理构件

该构件的设计主要是用来在系统出现异常时确定错误的类集,该构件只有一个接口,当用户调用该构件时,通过该接口进行错误定位,并输出错误结果信息,以便用户进行错误排除。

3 COM构件的使用

COM构件的使用是指将编译好的构件在系统的MST中注册,然后将其发布在服务器上,之后就可以在系统开发过程中调用这些构件。在EIMS系统中,我们主要通过以下两种方式使用COM构件:

1)直接调用,即在ASP页面中直接调用构件,在程序中通过代码creatobject(”类名”)来调用,使用这种方法调用的二进制构件可以在服务器端运行。

2)构件集成,即如果一个构件的执行过程中需要调用另一构件的方法时,就在需要调用的构件中直接引用另一个构件的方法。例如在调用信息交互构件的查询方法时就需要先调用数据库连接构件。

在EIMS系统中我们通过上述两种方式使用COM构件,以系统登录操作为例,在用户端我们提供的界面由asp实现,包括两个文本输入框和一个提交按钮。当用户通过登录界面的提交按钮提交信息时,服务器端需要根据用户输入的信息来调用各种构件进行处理。首先,需要对用户是否合法进行判断,如果用户非法,则调用用户管理构件,异常处理构件和数据库连接构件,返回非法用户的信息;如果用户合法,调用用户管理构件和数据库连接构件。

同时,在开发过程中也总结了一些应该注意的问题,比如对构件开发过程的控制不够理想,其原因是划分构件时有所不当,划分时应该将版本变化相对同步且一致的部分划分到同一个构件中去,这样每变更一次,就可以比构件上确定不同阶段软件的改动状况,也就是所谓的版本,这样可以在不同的版本上明确软件的整个开发进度,有效控制了软件开发的过程,有益于系统的管理。其次,项目开发时不要与已有的构件契合太紧密,防止构件升级对项目带来影响。第三,使用构件时一定要进行严格测试,如果只是要使用某个较大构件中的微小部分,虽然功能上适合应用,但很可能影响软件效率,因此,这种情况下不建议使用该构件。第四,新项目开发时必须注意构件库的积累,这样可以为后续项目开发提供技术支持,才能充分体现基于构件开发的便利。第五,在开发新构件时要注意功能要完整,文档和接口定义要明确,否则难以复用。

4 结束语

采用COM构件技术进行系统开发,减少了重复输入代码的工作,缩短了软件的开发周期。在进行系统维护时,我们只关心构件的接口参数,而不用再考虑构件内部的具体实现,提高了系统的可维护性;在后续的系统功能扩展过程中,也可以重复利用这些构件,提高了系统的可复用性。本系统开发工作相比以往的开发项目,周期明显缩短,软件的质量明显提高,用户软件维护要求减少,软件扩展性增强,目前已应用。

参考文献:

[1] 潘爱民.COM原理与应用[M].北京:清华大学出版社,2000.

[2] KIRTLAND M,北京博彦科技发展有限公司.基于组件的应用程序设计[M]. 北京:北京大学出版社,1999.

[3] 初宇.基于COM技术开发软件组件的研究[J].信息技术,2013(2):90-92.

[4] 梁琰.基于COM组件技术的嵌入式智能控制系统软件编程设计[J].信息与电脑,2017(7):108-109.