APP下载

设计模式的战术标图系统数据组织与管理设计*

2016-03-24陈行军刘兴林

火力与指挥控制 2016年2期
关键词:设计质量可扩展性设计模式

陈行军,刘兴林,祁 薇

(大连舰艇学院作战软件与仿真研究所,辽宁 大连 116018;大连舰艇学院基础部,辽宁 大连 116018)



设计模式的战术标图系统数据组织与管理设计*

陈行军1,刘兴林1,祁薇2

(大连舰艇学院作战软件与仿真研究所,辽宁大连116018;大连舰艇学院基础部,辽宁大连116018)

摘要:战术标图系统是军队指挥自动化的基础性工作之一,设计模式的使用有助于提高软件设计质量和开发效率。在阐述战术标图系统以数据、视图和控制器分离为基础的总体结构后,着重分析了系统在数据组织和管理方面的功能需求,结合Factory Method、Composite和State设计模式思想,提出了相应设计模型。设计模式的使用,提高了战术标图系统的稳定性、可扩展性和易维护性。

关键词:战术标图,设计模式,设计质量,可扩展性,开发效率

0 引言

战术标图是指在地形图、地形略图、航空影像或海图等底图上,用军队标号和文字标绘有关合同战术情况的工作[1]。战术标图系统则试图以数字化标图代替人工纸上标图,具有自动化程度高、更新速度快、表现形式活,操作简便,便于复制、修改、存储和输出等优点[2],与现代战争瞬息万变的节奏相适应,美、英等西方军事强国早有成熟应用。

国内战术标图系统的研究一方面是源于某些仿真系统希望以标图方式生成仿真所需要的想定[3];另一方面源于军队指挥自动化实现过程对军事标图作业自动化的需要[4]。从发展趋势看,王净[5]和杨若鹏[6]等研究了如何实现与地理信息平台和图形显示平台无关的通用军事标图系统,赵振南[7]等则研究了基于发布/订阅和消息中间件技术的分布式标图系统。从研究范围来看,上述文献主要集中于如何可视化表达复杂军标图元、如何管控所标绘出来的军标图元及如何实现军标标绘管理与电子海图的解耦,至于如何更好地支持所标绘军标图元背后的战术知识管理,则未见有相关研究。

实际上,战术标图的过程是指挥员表达、传递和交流战场情况及作战企图等相关知识的过程,但军标图元本身的表达能力有限,局限于数量及空间位置的概略表达,难以完整描述军标图元背后的战术知识,更难以满足不同指挥员、不同情况下所关注重点不尽相同的需要。因此,本文在实现通用标图功能基础上,设计了一个可收集、管理各类战术知识的战术标图系统。

好的系统设计源于对过去成功开发经验的借鉴,由于战术知识无法被穷举,为了得到良好稳定性、通用性和可扩充性,本系统采用了设计模式[8]的思想,将其他项目开发中总结的经验和自身项目的实际开发情况相结合,使开发人员可以更简单方便地复用成功的设计和体系结构。

本文工作组织如下:①先对系统的总体逻辑结构进行描述;②然后对系统的功能进行简要分析;③根据Factory Method、Composite和State设计模式思想并结合该系统的功能特点给出设计模型。

1 系统总体结构

对系统的总体结构,采用层次化、模块化的框架结构,将系统分为数据、视图和控制器三部分。数据包括海图数据、军标图元数据及战术数据;视图提供数据的展示,包括海图、海图上军标图元的显示、表页及打印输出结果;控制器实现对系统内部状态、人机交互方式、数据、视图显示同步及打印输出的管控,是系统业务逻辑的体现。其系统总体结构如图1所示。

图1总体结构图

2 系统功能需求分析

从用户使用角度来看,战术标图系统的功能包括海图操作、绘图操作、文件操作和打印操作等方面,其设计在文献[1-2,5-6]中都有讨论,因此,本文侧重于研究如何通过战术标图,实现战术知识的收集和管理,即总体结构图种数据模块的数据组织方式设计和控制器模块有关数据管理的设计。至于图元布局、复杂军标图元的显示和表页图形对话框的显示风格等有关视图模块的设计,本文不予讨论。

2.1数据组织功能需求

战术标图系统中,数据的范围涵盖海图数据、军标图元数据和战术数据。

海图数据描述了当前所使用海图和海图的显示状态,包括当前操作海图的类型、图幅名称、比例尺及图层显示选择等信息;军标图元数据描述是何种军标、军标的显示状态及组合关系,包括军标图元的类型、代码、颜色、大小、线型、线宽、标示号、位置及图元的组合关系信息;战术数据则是附加描述军标图元所承载的战术知识,根据具体情况的不同而不同。

上述数据类别中,多个军标可通过组合操作形成组合军标,根据组合军标特点,此种组合关系对系统设计有如下需求:

①组合对象需要涵盖独立军标和组合军标;

②组合军标的初始状态通过综合被组合军标的状态来确定,这些状态包括是否可移动、是否可复制和是否可删除等;

③组合军标在移动、删除、框选、复制和剪切等军标操作方面,等同于独立军标;

④取消组合后,不影响被组合军标的状态。

对于战术知识,其特点是依附于军标,可称为军标的战术属性,但并非所有军标都有战术属性,且不同军标的战术属性可能不同;考虑到作战方法的灵活性,战术知识随时都有可能被扩充。这些特点对系统设计有如下需求:

①战术属性作为军标对象属性的组成部分,需要被统一处理;

②不同类别的军标对应不同的战术属性目标;③战术属性的采集应具备良好可扩展性。

2.2数据管理功能需求

基于系统总体框架,业务逻辑主要体现在数据管理模块中,根据战术标图系统在数据采集、修改、复制和保存等环节的特点,对数据管理模块的设计有如下需求:

①针对作用于军标图元上的“属性设置”命令,数据管理模块决定是否关联/关联哪一类战术属性模板,包括属性模板中的业务逻辑,如限定可添加兵力的范围等;

②针对作用于军标图元上的移动、删除和剪切等操作,数据管理模块根据内部状态,决定军标对象的响应方式;

③需要实时控制图形和表页这两类视图内容的同步;

④需要实现绘图操作的回退/恢复控制;⑤需要实现数据的导入和导出。

3 基于设计模式的系统设计

根据需求,本文使用Factory Method模式、Composite模式和State模式来解决战术标图系统中数据组织与管理所面临问题。

3.1 Factory Method模式的应用

Factory Method(F_M)模式意义在于:定义一个用于创建对象的接口,让子类决定实例化哪一个类,即将类的实例化延迟到其子类[8],它使得客户在使用一组类的时候,可以在不改变使用方式的前提下,重新定义子类,以适应性地满足新的需求。

在战术标图系统中,战术属性的种类纷繁复杂,对应着不同种类的战术属性模板,但有关战术属性的收集、编辑和保存操作却基本一致,且都与军标图元一一对应。这样,就可以在军标图元类CZJB上,关联一个战术属性基类指针(m_pTactAttri),所有军标的战术属性类通过基类(CZJBTactAttri)派生而来,通过各自实现newObj()方法和Serialize()方法达成对战术属性对象的创建与序列号,如图2所示。最终效果是统一了不同类型战术属性的处理方式,提高了系统的可维护性和可扩展性。

图2 F_M模式在标图系统中的应用

3.2 Composite模式的应用

文献[2]阐述了Composite模式的原始结构及在固定符号、文本之间相关位置及关系中的应用,本文简述此模式在数据组织与管理中的应用,如图3所示。通过这种设计,军标组(CZJBGroup)中可包含单个军标(CZJB),也可包含军标组自身,最终效果是实现了军标和军标组在响应用户输入操作方面的统一,提高了组合的灵活性。

图3 Composite模式在标图系统中的应用

3.3 State模式的应用

State模式的意义在于:允许一个对象在其内部状态改变时,改变它的行为,一个State对象封装了一个与状态相关的行为[8],它使得相互之间耦合度较小的系统状态分布聚合于状态对象,从而简化了业务处理逻辑。

图4 State模式在标图系统中的应用

在战术标图系统中,军标图元需要根据不同的状态对用户的操作做出响应,不同军标图元之间的状态耦合度低。这样,就可以在军标图元类CZJB上,关联一个状态对象(CZJBAttriSet),如图4所示,所有军标操作,包括移动、复制、剪切、组合和属性设置等操作,都通过此类处理后,再决定军标对象的行为,并且通过与Composite模式的组合运用,实现了包括根据需要,弹出不同类型战术属性设置对话框,最终统一了军标图元在人机交互处理方面的一致性,提高了系统的可扩展性。

4 结束语

本文根据战术标图系统在数据组织与管理方面的需求,给出了结合Factory Method模式、Composite模式和State模式的系统设计模型,实现了围绕军标图元的人机交互及数据手机管理的统一处理,在满足功能设计需求的同时,有利于系统并行开发过程的分工合作,而且在战术知识发生变化需要对战术标图系统实施扩展时,只需要增加相应的军标图元和战术属性模板即可,从而使系统具有良好稳定性、可扩展性和易维护性。当然在系统的设计过程中还应用到了其他的一些设计模式,如支撑回退/撤销功能的Memento模式,以及管理系统对键盘鼠标消息的职责链模式等,其在通用标图系统中已有论述,本文不再涉及。

参考文献:

[1]李欢,孙茂印,汤晓安,等.数字化战术标图系统关键技术研究[J].系统仿真学报,2008,20(10):2624-2628.

[2]贺志国,曾俊,陈天泽,等.设计模式在标图系统中的综合应用[J].计算机应用研究,2005(9):176-179.

[3]滕宗平,俞一鸣,熊焰,等.作战模拟系统中可视化想定编辑器的设计与实现[J].火力与指挥控制,2006,31(11):107-110.

[4]姚龙海,齐锋.军事标图系统中复杂军标的实现方法[J].系统工程与电子技术,2000,22(2):60-63.

[5]王净,刘建忠.基于COM结构的军事标图组件的设计与实现[J].测绘学院学报,2004,21(4):308-310.

[6]杨若鹏,杨建军,黄伟.军事标图系统体系结构及关键技术[J].火力与指挥控制,2011,36(4):167-171.

[7]赵振南,周献中.分布式标图系统关键技术研究[J].火力与指挥控制,2009,34(3):123-127.

[8]ERICH G,RICHARD H,RALPH J,et al. Design patterns [M].北京:机械工业出版社,2002.

Data Management and Organization Design in Tactics Plotting System

CHEN Xing-jun1,LIU Xing-lin1,QI Wei2
(1.Operation Software and Simulation Institute,Dalian Naval Academy,Dalian 116018,China;2. Department of Basic Science,Dalian Naval Academy,Dalian 116018,China)

Abstract:The tactics plotting system is one of basic wok of military command automation,the use of design patterns can help to improve software quality and development efficiency. After explaining the overall structure of tactical plotting system on the basis of data、view and controller separation,analyzing the functional requirements of the system in data organization and management,this paper proposes the corresponding design ideas combined with Factory Method,Composite and State design pattern. The use of design patterns to improve the system stability,scalability and maintainability.

Key words:tactics plotting,design patterns,design quality,scalability,development efficiency

作者简介:陈行军(1982-),男,湖南咸宁人,助理研究员。研究方向:辅助决策技术和软件工程。

*基金项目:中国博士后基金资助项目

收稿日期:2015-01-08

文章编号:1002-0640(2016)02-0166-03

中图分类号:TP319,TP391.9

文献标识码:A

修回日期:2015-03-19

猜你喜欢

设计质量可扩展性设计模式
设计模式识别的特征信息分类研究
“1+1”作业设计模式的实践探索
智慧图书馆环境下的融贯式服务设计模式研究
三维协同设计模式下的航天项目管理实践与展望
恩智浦推出全新i.MX 8X 处理器,为工业应用带来更高的安全性、可靠性和可扩展性
浅谈核电项目设计质量信息收集与分析
浅析政府工程造价“超概”原因及对策
基于微软技术的高可扩展性中小企业系统解决方案研究
设计质量管控的实践与探索
可扩展数学公式编辑器的设计与实现*