一种基于数据驱动的装备信息系统软件快速设计框架
2021-12-07陈思源
陈思源 李 烨 孔 鑫 郑 鑫
中国运载火箭技术研究院, 北京 100076
0 引 言
信息化时代的大背景下,信息技术的发展极大地推动了新世纪军事的革新,现代化军队建设的重要标志就是信息化程度的提高,在信息化、大数据、网络化基础设施的支撑下,下一代作战装备的数据化发展成为必然。装备信息系统旨在为装备信息的准确、可靠、快速、高效的采集、传输和管理提供有效手段的信息系统,它利用计算机和网络技术,实现武器系统综合保障决策的科学化和快速化,全面提升装备综合保障效率和效益。
软件开发方法不断更替变化,追求高质量和高效率的软件开发是软件工程演化的核心目标[1],许多面向不同种类软件的开发方法被提出,如基于构件的软件开发方法[2]、模型驱动的软件设计开发方法[3]、基于数学的形式化软件开发方法[4]等。对于装备信息系统软件,其设计核心是装备数据,目前装备信息数据越来越呈现出“海量异构”、“动态实时”、“复杂多源”等特征。面向该类软件,围绕数据的用途和流向开展软件设计是更加合理有效的设计模式。
随着云计算、大数据时代的到来,许多以数据驱动软件设计的思维和模型被提出,如面向数据的体系结构[5-6],基于大数据的软件设计模型[7-8]等。这些方法的核心思想都是将数据作为设计的中心,从面向流程的开发转变为面向数据的开发,从软件结构上去适应和解决具有大数据特征信息系统的研制问题。本文借鉴相关思想,结合装备信息系统的对象特征,提出了一种基于数据驱动的装备信息系统软件快速设计框架,为相关软件的设计提供了基础理论和方法技术支撑。
1 开发框架总体设计
武器装备的信息数据涉及装备生产、测试、使用、维修、销毁全寿命过程中各方面数据的产生、维护、管理和使用,包含数值、文字、图片、文档、影像、音频等各种类型的数据格式。不同武器装备根据自身特性不同,其信息系统作用和使命各不相同,其所包含的数据模态也有较大的不同。数据不同导致装备信息管理软件的整体业务流程和运行模式差异很大。但对于各类装备信息系统软件,它们的共同特征均为“数据定义业务”的运行模式,即以数据驱动业务需求为基本设计依据。本文提出的装备信息系统软件开发框架,通过构建面向该类软件设计的数据驱动指导模式,形成一套辅助开发工具集合和解决方案,提高该类软件开发的效率、可靠性和安全性。
装备信息系统软件开发框架的核心设计思路是实现数据“土壤”生长服务“森林”的机制,使设计人员的精力集中于复杂信息数据的分析和结构设计上,所有依附于数据的业务服务由框架提供的辅助开发工具快速具象化,并建立各服务间的逻辑交互关系,使其生成为一个面向用户使用的完整系统软件。开发框架没有基于任何商业框架,自身实现了基于Java Web的MVC(模型-视图-控制器)三层设计模式,从框架层面实现了软件的前后台解耦,简化了设计人员的开发和配置。
2 数据驱动的敏捷开发设计模式
2.1 表单型业务设计模式
表单型业务是用户基于某一组表或单界面进行数据处理的业务服务,是处理装备信息最常用的手段,如查看装备的关键指标、健康状态、出厂信息、配套关系等。基于开发框架进行该类业务的开发模式如图1所示。
2.1.1 映射1过程
图1中映射1表示由数据库中的业务表生成一个基于该表的业务服务的过程,这个过程是一对多的,即一个业务表可以通过框架生成数个服务。
图1 表单型业务开发设计流程
开发框架通过映射1实现了一键式驱动生成业务服务的功能,当前阶段该服务会被进行初始参数配置,同时可以按默认配置直接运行。
2.1.2 映射2过程
映射2表示配置服务控制层的过程,控制层是当前服务的中枢,控制当前服务中数据的基本流转规则,负责连接视图层和模型层交互,具体配置信息如下:
1) 配置服务基本信息:基本信息包括服务的标识、服务的从属关系、服务运行的基本策略等。其中基本策略主要是指如“多用户同时修改业务的同一条数据时的修改策略”这种业务数据增删改查时的基本规则;
2) 配置服务字段信息:服务字段信息中的标识信息可由数据库表信息直接映射获取,框架可对其二次修改;
3) 配置服务权限信息:配置可访问该服务界面的权限规则;
4) 配置服务过滤规则:配置当前服务中需要被过滤的数据项;
5) 配置关联子服务:选择已有服务与当前服务,建立从属关系,这里需要匹配当前服务和已选子服务间的外键连接数据项。
2.1.3 映射3过程
映射3表示配置服务视图层的过程,视图层负责当前服务的人机交互部分,实现对交互过程展示细节的配置,具体配置信息如下:
1) 配置页面展示规则:开发框架对表单型业务实现了基本页面框架(如图2所示),包含了两级展示界面,一级界面(列表界面)以列表形式概要显示该服务对应的数据表项,二级界面(卡片界面)以卡片界面样式详细显示列表项中每个字段;开发框架可对每个页面的全局效果进行配置调整,如每页显示列表项条数等;
图2 表单型业务基本页面框架
2) 配置字段展示规则:配置每个字段在列表界面和卡片界面的显隐关系、排列顺序、检索规则和显示样式等,每个字段可以选择文本框、下拉框、树形框、字典项等表现形式,还可以配置手动输入、查询选择、日期选择等人机交互方式;
3) 配置人机交互接口:配置当前服务可以点击的人机交互操作按钮;
4) 配置自定义视图文件:可以通过载入用户自定义的JavaScript文件,重写当前服务的展示页面。
2.1.4 映射4过程
映射4表示配置服务模型层的过程,模型层实现当前服务的后台逻辑运算,每个“模型单元”通过控制层的连接与视图层人机交互接口一一对应;开发平台本身提供了增加、删除、复制、保存等“固有模型”,同时用户通过该配置过程也可实现“自定义模型”与人机交互接口的绑定。
2.2 流程型业务设计模式
流程型业务指对于业务数据的处理需要在多用户间流转进行的业务服务,如处理装备的维修过程、保养过程、定检过程、出入库过程等。基于开发框架进行该类业务的开发模式如图3所示。
图3 流程型业务开发设计流程
流程型业务同样通过开发框架基于数据驱动生成业务界面,对于界面的配置过程与表单型业务基本一致,而对于流程型业务最重要的是配置业务的流程形态。开发框架提供可视化的开发工具,通过拖拽连线的方式实现流程的节点和流转关系设置。
对于流程中每个节点,可以进行的配置如下:
1) 节点基本信息:如节点的名称、节点界面的显隐关系等;
2) 操作权限:配置当前节点可以增删改哪些数据项或发起哪些操作,如打回操作、办结操作、注释操作等;
3) 数据权限:配置当前节点可以查看与当前业务相关的数据种类;
4) 超时配置:配置节点超过处理时限后的操作;
5) 附加变量配置:配置业务流转时节点间传递的附加参数。
对于流程中每条连接线,可以配置线(线表示流转过程)的基本信息,、条件表达式(流转条件判断)、参数映射关系和一些附加事件。
2.3 可视化统计型业务设计模式
可视化统计型业务指将各类数据及其统计结果以一种直观、容易理解的形式呈现给用户的业务。通过开发框架的数据维护引擎,开发人员可以将数据库数据直接进行相应处理后与可视化功能连接,通过一定配置,快速形成高展示度界面,开发设计流程如图4所示。
图4 可视化统计型业务开发设计流程
装备信息系统软件开发框架将数据引擎与数据可视化模块建立直接关联,极大提高了数据展示效率。开发人员可以从感知与认知系统特性、数据本身属性和目标任务决定数据的呈现方式,可以通过柱状图、饼状图、折线图、散点图等二维、三维图形对数据进行多样化呈现,向用户展示不同数据集的动态变化趋势,统计数据集的规模和变化方向,通过图形图像的可视化手段达到帮助用户辅助分析决策的目的。
3 装备信息数据规范模型
3.1 规范模型设计
装备信息系统软件开发框架旨在为所有该类型软件提供基础开发支撑,针对各类装备不同的数据管理需求,在充分分析装备数据的构成、共有属性、业务基本模式等的基础上,设计装备数据的规范模型,通过该模型形成装备数据的解析范式,实现各类装备信息数据的本质一致性存储、检索和业务使用,保证开发框架的通用性。装备数据的规范模型基于航天装备数据的信息化标准,充分考虑装备涉及的各类型各专业异构多源数据的实际情况,形成统一的数据描述与封装标准,规范模型结构如图5所示。
图5 装备数据规范体系结构
元数据用于存储各种类型的数据本身,元信息用于描述元数据的定义,即描述数据的数据,装备数据规范模型的核心是元信息的结构,其中:
1) 数据字典用于指示元信息中各类数据的物理意义,如在安全等级字段,字典会将“1”翻译成“一级”,字典会将“2”翻译成“二级”;
2) 分类定义用于指示不同字段数据的基本类型,如文本、图片、音频、视频等;
3) 维度定义与分类定义配合使用,对数据的一些详细信息进行描述,如文件后缀名、文件大小、文件的存储位置和方式等;
4) 接口定义用于指示用户访问该数据的方式,如只读、读写、下载本地等;
5) 安全标准与接口定义配合使用,划分不同权限对应不同的数据访问方式。
本文的元信息结构中还设计了一定的预留字段,在后续使用中,当增加了某些不在元信息描述范畴内的元数据时,可以方便开发人员进一步扩展。
3.2 数据维护引擎
开发框架包含基于数据规范模型的数据维护引擎,该引擎可以实现对各种类型的装备数据的封装、存储和索引;通过封装后的所有装备数据可以实现“自识别”,即数据本身通过系统元数据库功能可以实现跨专业、跨格式、跨应用查询、检索、获取、解析和利用。数据维护引擎的作用流图如图6所示。
图6 数据维护引擎工作示意图
开发人员通过引擎在规范模型的约束下建库,简化了专业业务人员的建库工作,为系统提供了良好的可操作性。软件使用时,在导入外部数据阶段,需为当前文件配置一个xml格式的索引文件,引擎通过索引文件将原始外部文件封装;在用户访问阶段,引擎通过解析元信息将数据还原。基于本文设计的元数据引擎,可为开发框架提供高灵活性、适应性的数据处理接口,是开发框架保持通用性的核心方法。
4 实践效果
利用开发框架可以实现基于底层数据表结构一键式快速生成含有人机交互界面的业务模块,业务呈现形式可以根据数据使用需求在多种模态间切换。开发框架可以将在框架外部实现的复杂业务处理方法与业务服务快速关联(图7~8分别为表单型和流程型业务配置界面),进一步通过界面的配置实现软件整体的敏捷搭建。
图7 表单型业务配置界面
图8 流程型业务配置界面
开发人员通过数据引擎提供信息数据集中注册和管理的平台,按照数据规范模型的约束和指导,实现对于所有信息数据在逻辑上的创建、存储、管理及检索操作,数据注册过程具有很强的通用性,通过权限配置和过滤规则模块实现数据权限的快速设置。
目前,本文提出的快速设计框架已有效应用于数个运载火箭以及导弹装备的装备信息系统中;尤其在装备全寿命保障体系的研制论证阶段,利用本框架可以实现1-2天内快速形成原型软件系统,相比传统开发模式研制效率提升5倍以上。
5 结 论
本文提出的装备信息系统软件快速设计框架,形成了一套基于数据驱动的信息管理类软件设计模式以及配套的辅助开发工具,具备支撑软件快速研发、规范装备性数据结构、增强大数据呈现效果的优点。基于数据驱动的开发模式与装备信息类软件设计过程的高度匹配,增强了系统可靠性、降低了研制成本,是该类软件研发的一种高效的技术手段和整体解决方案。