APP下载

软件复用技术在工业控制设备软件开发中的应用

2015-04-02林明涛

软件导刊 2015年2期
关键词:软件开发

摘要:随着我国工业信息化的发展,建立工业控制系统已成为大型工业企业进行产业管理的必然选择。开发工业控制设备软件是建立工业控制系统的前提,而传统的软件开发成本高、周期长,难以满足工业产业的软件开发需求。对软件复用技术进行分析,探讨了软件复用技术在工业控制设备软件开发中的应用。提出了一个三层软件系统分层构造,分析了该构造对于开发可复用工程控制设备软件的作用。

关键词关键词:软件复用技术;工业控制系统;软件开发

DOIDOI:10.11907/rjdk.143905

中图分类号:TP319

文献标识码:A文章编号

文章编号:16727800(2015)002011103

作者简介作者简介:林明涛(1970-),男,海南琼海人,海南软件职业技术学院软件工程系讲师,研究方向为计算机软件。

0引言

我国已经进入了信息时代,社会信息化程度不断提高,软件在人们的生活、生产中发挥的作用越来越明显。作为我国的经济支柱之一,工业产业管理业也进入了信息化阶段。随着工业产业管理信息化的进一步推进,工业控制设备软件的需求量急剧增加。利用传统方式开发的软件成本高、工作量大、开发周期长。随着软件产业的发展,传统软件开发方式已明显不能适用于当前的软件需求。另外,传统方式开发出来的软件系统庞大复杂,许多功能之间相互联系,不能进行单独升级或者拆卸,灵活度不高。软件复用技术的出现改变了这一状况,它可以有效提高软件的开发效率,提高软件的开发质量,增强软件的可维护性\[1\]。因此,将软件复用技术应用于工业控制设备软件开发中,有利于满足我国工业对控制设备软件开发的需求。

1软件复用技术概述

软件复用是指在软件开发时不需要重新编写软件的全部内容,而是通过事先构造好的软件成果来实现软件开发。这里“已构造好的软件成果”不仅包括软件程序,还包括软件的项目计划书、可行性报告、需求分析、概要分析等软件开发不同阶段的实现制品。软件复用技术的设计理念就是将各软件元素视为独立的组件。在软件开发过程中只要将对应的组件连接上,就可以实现所需要的功能,不必重新编写软件程序。因此,软件复用可以发生在软件开发的任何一个阶段。

软件复用的关键在于实现软件构件的提取\[23\]。软件构件是将相关联的函数及有关数据封存在其中的、功能相对独立的、可支持复用的软件单元。软件构件提取是指在基于构件的软件开发中提取可复用的软件构件的过程。

软件构件提取是软件复用的前提。软件提取的方式主要有以下几种:

(1)从现有软件中提取合适的构件,通过适当地修改后进行使用。这种方式的成本最低,但是适用范围不大。因为在现有的软件中提取符合条件的构件的条件比较苛刻,而且后续的修改工作量也比较大。

(2)直接购买现成的商业构件。目前,市面上已经出现了现成的可用于软件复用的构件,商业构件的使用难度比第一种方式中提取的构件低。软件开发商根据市场的需求开发出的商业构件在使用时不需要再进行修改就可以直接使用,可以省去许多繁琐的工作。不过这种方式的成本较高,而且缺乏针对性,而且商业构件还可能受到版权、后期维护等因素的影响。

(3)重新开发一种新的软件构件。这种方式的成本较低,而且开发出来的构件比较有针对性,不会存在版权等问题,集合了第一、第二种构件的优点。但这种方式对技术开发人员的要求比较高,如果技术人员的技术水平不足,开发出来的软件构件可能会出现性能不佳、不兼容等问题。受开发水平限制,一般是在第一、第二种方式无法实施的情况下,才实施第三种方式。考虑到开发软件与其它设备的匹配问题,本文开发的工业控制设备软件选择了第三种方式。

常见的软件复用技术主要包括软件组合技术、软件生成技术和面向对象技术等\[4\]。软件组合技术是将可复用软件成果组合在一起。软件生成技术是利用可复用的软件模式生成一个新的程序或程序段。可复用的软件模式包括代码模式和规则模式。面向对象技术是将技术中的对象作为软件复用的构件。在这3种方法中,面向对象技术是最适合软件复用的方法。面向对象技术与软件复用技术有异曲同工之处。面向对象技术是将相关联的函数和代码封存在一个对象内,再将对象作为构建系统的基础单位。可复用构件也是将相关函数和代码封存在一个构件内,通过构件的连接形成一个新的软件。对象与构件的相似之处使得面向对象技术可以更加适合实现软件复用。本文采取面向对象技术来实现软件复用。

2软件复用技术应用于工业控制设备软件开发的必要性

随着我国的经济不断发展,我国工业发展规模逐渐扩大。为了适应日益激烈的市场竞争,许多大型企业都开始投入资金,建立起或者准备建立工业控制系统,实现工业生产管理信息化。工业控制系统的出现,可以加强技术人员对工业机器设备运行情况的监控,减少人员工作量,也可以降低工厂的人工成本,提高工厂的生产效率。建立工业控制系统需要开发工业控制设备软件。与其它软件相比,工业控制设备软件需要与多台设备接口相连接,运行环境较复杂,功能要求较高。由于软件要求比较高,所以工业控制设备软件开发的工作量较大。而随着我国工业生产管理信息化的深入和推广,对工业控制设备软件的需求量会越来越高。如果软件开发人员对每个软件进行单独开发,整个行业的工作量将很大,工作效率也非常低。如果可以开发出一个可复用的工业控制设备软件,软件开发人员在设计新软件时只需要在该工业控制设备软件上补充或修改内容,无需从头开始,从而大大减少软件开发的工作量。另外,运用软件复用技术可以实现行业内软件标准化,有利于统一行业标准,提高软件质量,减少软件运行时出现的问题。

软件复用是提高软件开发效率和质量的有效方法。与传统工业相比,软件开发无法通过简单的复制来完成,这是由软件的物理性质和客户需求而决定。

(1)软件的物理性质决定了软件无法通过简单的复制程序来完成开发工作。软件是一种数字化产品,包含了大量数据和函数,内在构造比较复杂。另外,不同的运行环境对软件的要求不同。目前,开发软件的编程语言种类非常多,软件开发平台也各不相同。软件编程师往往掌握一种以上的编程语言,根据运行环境选择合适的编程语言和开发平台。因此,每一个软件都具有其独特性,无法简单通过复制来完成开发工作。

(2)软件的开发需求具有多样性特点。软件开发都是有针对性的,需要根据对象客户的需求进行开发。而不同客户的需求都不相同,因此无法像传统工业产业那样大量地复制和生产。

在软件开发过程中,软件开发人员往往花费很多时间和精力去完成软件的框架和每一个组成部分。而通过观察可以发现,在需求相似的情况下,软件内容存在一定的共通性。随着软件的应用范围不断扩大,社会上对软件开发的需求急剧增加,传统的软件开发方式已不能满足软件产业发展的客观需求,因此有必要对软件开发方式进行改革。软件复用技术就是提高软件开发效率和质量目的的有效途径。

3工业控制设备软件开发中的软件复用技术应用

本文采用C++作为开发语言,使用Microsoft Visual Studio2010作为软件开发平台,运用面向对象的方法,通过软件复用技术的应用来完成工业控制设备软件的开发,提高软件开发的质量和效率。

3.1工业控制设备软件设计

工业控制设备软件连接了需要控制的各项机器设备。在接通电源,采集系统通电后,系统自动完成初始化工作,软件进行初始化设置,用户登录信息验证无误后进入系统主界面。工业控制设备软件的程序模块主要包括用户管理、通信管理、信息记录管理和数据库信息设置管理等模块。用户的登录信息传到数据库后,与数据库的信息进行核对,数据库再将核对后的信息反馈到系统,系统根据数据库的反馈信息确定登录用户的权限。用户在权限范围内访问相关模块,进行操作。该工业控制设备软件连接到各台设备的串口,收集各串口的信息,及时反馈到软件的显示界面上。当设备运行情况超过软件设置数值时会向软件系统发出警告,系统可以及时反馈出现异常设备的运行情况,并将该情况进行记录并发送到数据库,形成历史记录。通过工业控制设备软件,可以实现技术人员对机器设备的实时监管,并且可以运用计算机处理并存储机器运行过程中的大量数据,避免人工处理数据时出现的失误,减少员工的工作量。

3.2软件复用技术应用

软件复用技术在工业控制设备软件开发中的应用主要体现在通过设计一个面向复用的工业控制设备软件,使得在以后的工业控制设备软件开发中,可以直接将复用软件中的构件用于软件中形成一个新的软件,减少工业控制设备软件开发的工作量。而要实现这一目的,就要运用分层次的体系结构模式,来搭建一个可重用的软件构架。

软件分层次体系结构是软件设计的发展趋势\[5\]。在软件分层次体系结构中,每一层软件都建立在下层软件之上,下层对上层提供服务。软件分层次体系结构允许每一层软件用不同的方法来实现。每一层软件只会对上下两层软件产生影响,并且只对相邻层提供相同的接口。由于软件分层次体系结构的上述特点,运用分层次软件体系结构开发的软件可以支持扩充和重用。

从软件开发的角度而言,简单地重复软件分层次结构中的下层软件并无意义。因此,在开发复用工业控制设备软件时应该考虑上层的服务接口设计\[6\]。具体设计为,在软件的数据抽象层上建立业务对象层,将业务逻辑编入业务对象层。业务逻辑层中一般包含有确认用户登录信息、记录系统日志和数据库存取权限等功能,与数据库引擎相分离。在进行其它相关软件设计时直接将这一层连入软件结构的相应位置就可发挥业务对象层的作用。

根据软件分层次结构的有关原则,将工业控制设备软件的分层次结构设计为用户界面表示层、业务逻辑层和数据访问层的三层结构。为了保证分层次结构软件的可重用性,软件的层次功能传递是单向性的,即每一层软件可以命令下一层软件,但是每一层软件只能服务于上一层软件而不能调用上一层软件。因此,这三层软件由下到上的顺序为:用户界面表示层、业务逻辑层、数据访问层。

用户界面表示层是最下层的软件层,负有连接用户与各接口之间数据来往的功能。当用户需要更改界面内容时,只需要修改相关数据,界面内容就会自动发生改变。用户界面表示层是最下层的软件层,其更改不会影响到上面两层软件的功能。业务逻辑层在用户界面表示层之上,负责对用户界面表示层传来的数据进行处理,具有确认登录信息、记录系统日志等业务功能。数据访问层是最高软件层,负责完成业务逻辑层传来数据后的数据库操作。这三层结构之间呈现单向依赖关系,即用户界面表示层依赖于业务逻辑层,业务逻辑层依赖于数据访问层。

根据该三层软件结构设计出的工业控制设备软件,在其它工业领域的控制设备软件设计工作中同样适用。该框架是由一系列的对象和对象之间的相互联系组成,程序设计人员只要将这些对象内的函数和大量数据进行补充,就可以得到一个复用的工业控制设备软件。而在后续开发类似软件时,程序员在该复用软件的基础上根据软件运行需要对内容进行扩充就可以设计开发出一个新的软件。

4结语

随着软件行业的不断发展,软件复用技术应用是软件开发的必然趋势。软件复用技术除了可以有效地提高软件开发效率,缩短软件开发周期和提高软件开发质量外,还有利于统一行业软件的开发标准。在工业控制设备软件开发中引入软件复用技术,可以有效提高软件开发效率和质量,避免开发过程中的重复劳动。另外,基于可复用技术开发的工业控制设备软件的构件可以进行单独拆卸和升级,使得系统的维护和升级工作简易化。因此,利用软件复用技术开发工业控制设备软件对提高整个行业的管理水平具有重要意义。

参考文献参考文献:

\[1\]李晓勇,薛飞,鲁素芬,等.软件复用技术在科学计算软件中的应用研究\[J\].航空计算技术,2007,37(1):9195.

\[2\]左晓军,刘鹤灵.软件复用技术在电力企业信息系统开发中的应用\[J\].河北电力技术,2013,32(1):45.

\[3\]肖剑青,黄风华.计算机软件复用技术探究\[J\].长江大学学报,2011,8(12):8587.

\[4\]张伟,梅宏.面向特征的软件复用技术——发展与现状\[J\].中国科学,2014,59(1):2242.

\[5\]张永,李其申,江泽涛.可复用技术在工业控制系统开发中的研究\[J\].微计算机信息,2007,23(19):7678.

\[6\]刘凤龙.关于软件复用技术若干问题的研究与分析\[J\].长沙铁道学院学报:社会科学版,2008,9(2):208209.

责任编辑(责任编辑:孙娟)

猜你喜欢

软件开发
基于安卓平台的移动式教学模式研究
软件开发中JAVA编程语言的应用