基于XML的公路养护管理系统通用设计技术

2019-06-15 03:31乔旭勾妍妍卢士军
现代电子技术 2019年12期
关键词:用户界面公路养护管理系统

乔旭 勾妍妍 卢士军

摘   要: 为满足不同公路养护单位的管理需求并适应需求的变化,提出基于XML文件的公路养护管理系统通用化生成技术。该技术在SSH框架基础上,将生成系统的文件分为两层:静态信息层与参数层。静态信息层用于保存生成系统所需的各种数据,包括基础数据与标识符。参数层用于存储用户的参数信息,包括界面元素类型和数据实体信息等参数。根据实际需求在参数层配置界面元素类型和数据实体信息等参数,结合静态信息层的基础数据,生成通用公路养护管理系统。应用实例表明,通过XML文件生成系统既能够实现用户界面的自动配置,又可以配置相关的数据库操作。因此,增强了公路养护管理系统的通用性。

关键词: 公路养护; SSH框架; XML文件; 管理系统; 用户界面; 数据库

中图分类号: TN919?34; TP315                 文献标识码: A                    文章编号: 1004?373X(2019)12?0144?04

Abstract: A general generation technology of the highway maintenance management system based on XML files is proposed to meet the management requirements of different highway maintenance units and adapt to the changing requirements. On the basis of the SSH framework, the files for generating the system are divided into two layers: the static information layer and parameter layer. The static information layer is used to store the various data needed to generate the system, including the basic data and identifiers. The parameter layer is used to store users′ parameter information, including the interface element type and data entity information. The interface element type, data entity information, and other parameters are configured in the parameter layer according to the practical demand. The general highway maintenance management system is generated by combining with the basic data of the static information layer. The application examples show that the system generated by using XML files can not only realize the automatic configuration of the user interface, but also configure relevant database operations, thus increasing the universal performance of the highway maintenance management system.

Keywords: highway maintenance; SSH framework; XML file; management system; user interface; database

0  引  言

公路是城市最重要的基礎设施之一。在经年累月的运营过程中,公路常出现路面破损和路基病害等问题。通过养护工程,可以保证公路持久通畅。公路养护工程包括路面养护、路肩养护、路边养护、人行道养护、桥梁和交通服务设施等的养护。在养护过程中,需要调动大量人力物力,涉及多单位多部门相互协作。公路养护管理系统为多单位多部门任务管理和公路养护科学化提供帮助。为同时满足不同养护单位的需求并适应需求的变化,公路养护管理系统采用通用化设计技术。

目前,通用管理系统的设计开发主要有代码生成技术和用户界面自动生成技术。Aven提出了自动化管理系统开发的形式化和标准化方法[1]。在该方法的基础上,Paul提出了代码生成技术。通过代码生成技术,系统可以根据模板生成代码和界面,使管理系统初步具备通用性[2]。代码生成方法众多,Mao针对快速开发特定领域管理系统的需求,提出一种基于操作模式的代码生成方法[3]。Spink提出一种基于区域动态二进制翻译器的代码生成方法,利用分支类型和控制流提高代码质量[4]。在方法的评价和改进过程中,Viviana从有效性、生产率、安全性和满意度等方面对自动化软件开发及自动代码生成的工具进行了分析评估[5]。Bhullar通过UML统一建模语言对代码生成方法进行了规范[6]。受到开发平台和成本的制约,自动生成的代码难以保证系统完整性[7]。

为满足用户的个性化需求,简化界面开发。用户界面采用自动生成方法,提高管理系统的通用性。Gamecho采用基于模型的方法为盲人和认知障碍患者自动生成定制用户界面[8]。Bandirmali提出一种基于内存表的内容管理框架,为用户提供友好的向导和自适应结构[9]。为了增强界面多设备支持,提高自适应能力,杜一等人提出一种可扩展的用户界面描述语言。该语言遵循层次化、模块化的设计原则,支持多设备、多通道的用户界面描述[10]。目前,用户界面自动生成方法仅用于用户界面的自动修改,较少涉及用户的数据库操作,系统的通用性仍有待提高。

为避免代码生成和用户界面生成中存在的问题,公路养护管理系统在SSH(Struts Spring Hibernate)框架基础上,采用基于XML文件的通用系统设计技术。通过修改XML配置文件生成用户界面并更新涉及的数据库操作,增强系统通用性。

1  公路养护管理系统

公路养护工作频次高、周期长,以往的公路养护管理方法难以满足现代养护工作需要。计算机管理系统的发展为养护管理科学化提供了有效手段。目前,管理系统开发框架主要有Struts,EasyJWeb,Tapestry,Jpublish和SSH等。其中,SSH具有良好的可扩展性、可维护性和解耦性,能够有效缩短开发周期[11],普遍用于开发各类管理系统。

公路养护管理系统主要包括文件审批管理、部门信息管理和养护工程管理等主要模块。每个模块又包含多项具体功能,如表1所示。

通过SSH构建和维护公路养护管理系统过程中,常遇到界面元素与数据库操作修改频繁等问题。在代码生成与用户界面生成研究的基础上,提出基于XML的通用系统设计技术,通过参数配置减少源码修改,实现系统的通用化目标。

2  通用设计技术

2.1  SSH框架

SSH框架是目前主要的Web应用程序开源框架之一[12]。在SSH框架基础上搭建公路养护管理系统,可以缩短开发周期,实现业务逻辑、数据与界面显示分离。SSH框架由Struts,Hibernate和Spring三部分组成。Struts作为系统基础架构控制业务流转,Hibernate实现对象持久化,Spring協同管理Struts与Hibernate。基于SSH框架的Web应用程序分为表示层、业务逻辑层、数据持久层和实体层等层次。SSH框架为系统功能的复用和业务数据的流转提供了支持,但在表示层等层面上的开发和维护复杂度仍较高。为满足不同养护单位的需求并适应需求的变化,基于XML文件的通用系统设计技术通过对用户需求的抽象提出具体参数,再通过用户配置参数自动生成代码,获得相应的功能。

表1  公路养护管理系统主要功能模块

2.2  设计原理

基于XML的通用系统设计技术分为两层:静态信息层与参数层。静态信息层用于保存生成系统所需的各种数据,包括基础数据与标识符。文件的基础数据是指项目中必需的数据和程序,标识符是根据XML规则定义的一组用于识别不同配置参数的标识。通过静态信息层存储系统基础数据,利用标识符实现自动匹配。参数层用于存储用户的一系列参数信息,包括界面元素类型和数据实体信息等参数,这些参数按照一定规则存于XML文件中。基于XML的通用系统设计技术在SSH框架基础上,根据实际需求在参数层配置界面元素类型和数据实体信息等参数,结合静态信息层的基础数据,生成通用管理系统。

通用管理系统的静态信息层文件为stafile.xml,参数层文件为parfile.xml。stafile.xml文件中界面元素类型和数据实体信息标识符分别如表2和表3所示。

与stafile.xml文件中的标识符相对应,将界面元素类型和数据实体信息保存在parfile.xml文件中。当用户需求发生改变时,修改parfile.xml文件中对应的参数,系统的功能将发生相应改变。通用管理系统构建流程如图1所示。构建流程步骤如下:

1) 将需要的基础数据和标识符保存在stafile.xml文件中,利用分隔标识符分成不同的片段。

表2  界面元素类型标识符

表3  数据实体信息标识符

2) 依据stafile.xml文件内某一片段的顺序,组织parfile.xml文件中的参数。

3) 系统构建时,以parfile.xml文件中参数的顺序遍历stafile.xml文件。当stafile.xml文件中出现标识符时,系统从parfile.xml文件中读取对应的参数,生成相应的文件。

图1  通用管理系统构建流程

3  应用实例

参数层存储用户界面元素类型和数据实体信息等参数。通过修改参数,实现用户界面和数据实体的自动配置。下面分别以配置界面元素和配置数据实体为例,说明通用公路养护管理系统的构建方法。

3.1  配置界面元素

验证码是用户登录时需要填写的必要信息。通常情况下,验证码由数字和字母组成。对于仅提供数字键盘的应用环境,有必要采用纯数字验证码。生成验证码的数据和程序保存在stafile.xml中,如下:

当参数为Num时,系统提供纯数字验证码;当参数为Norm时,系统提供数字和字母混合的验证码。采用两种验证码的用户界面,分别如图2a)和图2b)所示。

图2  用户界面 (一)

3.2  配置数据实体

通用公路养护管理系统通过修改数据实体,改变相应的数据库操作。界面元素与数据实体相适应,增强了系统的灵活性和通用性。在系统设计时,表单属性难以充分覆盖,在应用过程中常需要增加表单属性。生成表单属性的程序保存在stafile.xml文件中,通过在parfile.xml文件中修改ProNum参数的大小增加表单属性。stafile.xml中的数据和程序如下:

表单属性增加前有5个属性,用户界面如图3a)所示。增加后,出现“病害测线尺寸”属性列。此时,用户界面中出现该属性,如图3b)所示。

图3  用户界面 (二)

4  结  语

通过基于XML的通用系统设计技术,提高了公路养护管理系统的通用性,降低了界面元素与其涉及的数据库操作修改的难度。利用静态信息层文件stafile.xml保存界面元素和数据实体的基础数据与标识符,参数层文件parfile.xml保存参数信息。在应用实例中,通过配置myCho参数改变了验证码的类型;通过修改ProNum和Property参数,增加了“病害测线尺寸”属性列。对于非程序开发人员,也可进行系统的配置,系统的通用性得到增强。

参考文献

[1] AVEN O I. Formalization and standardization of automated management system development [J]. Automation and remote control, 1969, 1(5): 108?129.

[2] BIGGAR P, VRIES E D, GREGG D. A practical solution for scripting language compilers [C]// Proceedings of the 2009 ACM Symposium on Applied Computing. Honolulu: ACM, 2009: 1916?1923.

[3] MAO F, CAI X, SHEN B, et al. Operational pattern based code generation for management information system: an industrial case study [C]// Proceedings of 17th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing. Shanghai: IEEE, 2016: 425?430.

[4] SPINK T, WAGSTAFF H, FRANKE B, et al. Efficient code generation in a region?based dynamic binary translator [C]// Proceedings of the 2014 SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems. New York: ACM, 2014: 3?12.

[5] ROSALES?MORALES V Y, ALOR?HERN?NDEZ G, GARC?A?ALCAR?Z J L, et al. An analysis of tools for automatic software development and automatic code generation [J]. Revista Facultad de Ingeniería Universidad de Antioquia, 2015(77): 75?87.

[6] BHULLAR N S, CHHABRA B, VERMA A. Exploration of UML diagrams based code generation methods [C]// Proceedings of 2016 International Conference on Inventive Computation Technologies. Coimbatore: IEEE, 2016: 1?5.

[7] ELSON M, RAKE S T. Code?generation technique for large?language compilers [J]. IBM systems journal, 1970, 9(3): 166?188.

[8] GAMECHO B, MI??N R, AIZPURUA A, et al. Automatic generation of tailored accessible user interfaces for ubiquitous services [J]. IEEE transactions on human?machine systems, 2015, 45(5): 612?623.

[9] BANDIRMALI N. MtCMF: a novel memory table based content management framework for automatic website generation [J]. Computer standards & interfaces, 2017, 58(5): 43?52.

[10] 杜一,邓昌智,田丰,等.一种可扩展的用户界面描述语言[J].软件学报,2013,24(5):1127?1142.

DU Yi, DENG Changzhi, TIAN Feng, et al. Extensible user interface description language [J]. Journal of software, 2013, 24(5): 1127?1142.

[11] 承林,王海宁,高春成.微服务在电力交易系统中的应用研究[J].电网技术,2018,42(2):441?446.

CHENG Lin, WANG Haining, GAO Chuncheng. Research on application of micro service in power transaction system [J]. Power system technology, 2018, 42(2): 441?446.

[12] 杜景林,喻亚楠.基于SSH框架的NC数据可视化验证系统研究[J].现代电子技术,2018,41(2):166?169.

DU Jinglin, YU Yanan. Research on NC data visualization verification system based on SSH framework [J]. Modern electronics technique, 2018, 41(2): 166?169.

猜你喜欢
用户界面公路养护管理系统
自然用户界面在智能家居系统中的应用路径创新研究:生成式人工智能技术的调节作用
基于James的院内邮件管理系统的实现
基于CiteSpace的国外用户界面体验图谱量化分析
基于LED联动显示的违停管理系统
UI用户界面色彩设计研究
海盾压载水管理系统
公路养护施工中的交通控制及管理分析探讨
交通行业内部控制制度建设若干问题探讨
分析如何做好公路养护部门的思想政治工作
浅谈公路养护的科学管理