第16卷第1期 2007年3月 计算机辅助工程 COMPUTER AIDED ENGINEERING V01.16 No.1 Mar.2OO7 文章编号:1006-0871(2007)01-0069-04 建模技术在作战辅助决策系统开发中的应用 刘小玲 , 吴爱华 , 潘巨辉 (1.上海海事大学信息工程学院,上海200135;2.海军装备研究院航空所,上海200436) 摘要:针对海军某作战辅助决策系统业务规则复杂、功能齐全的特点,依照模型驱动开发(Mod— eling—driven Development,MDD)的思想,采用UML建立该系统的需求和结构模型,使用相关工具构 建基本框架.建模技术贯穿系统设计和实现的全过程,可以控制和管理前期文档与图表,使其与系 统开发同步. 关键词:模型驱动开发;辅助决策系统;建模;UML 中图分类号:TP311.56;TP391.9 文献标志码:A Application of modeling technique in development of combat deciCO decision aided:ded system ystcLIU Xiaoling ,WU Aihua ,PAN Juhui (1.Info.Eng.College,Shanghai Maritime Univ.,Shanghai 200135,China; 2.Institute of Aviation,Naval Academy of Armament,Shanghai 200436,China) Abstract:With the complicated operation rules and complete functions of a naval combat decision aided system,the requirements and structural models are constructed by UML according to Modeling—driven De— velopment(MDD).The basic architecture is established by certain tools.Modeling technique runs through the whole development process,which can control and manage the documents and diagrams in prophase and keep synchronization with system development. Key words:modeling—driven development;decision aided system;modeling;UML 0 引 言 辅助决策系统因其功能和内部流程复杂以及与 应用领域结合紧密等特点,开发过程难以控制.为 此,开发者必须针对其应用对象的特点,分析形成相 时和无用,其结果严重影响辅助决策系统的开发.所 以如何控制和管理前期的文档或图表,并保持其与 开发系统的同步,成为系统开发成功与否的关键.目 前许多开发者将建模技术引入辅助决策系统的开发 应的业务规则,然后基于这些规则进行后续的软件 开发.过去,前期开发的业务规则只是一些文档和图 表,由于各种因素的影响,它们在开发人员与用户之 中并取得明显效果.鉴于此,本文借鉴模型驱动开发 (Modeling—driven Development,MDD) 的思想方 法,通过分析海军某作战辅助决策系统的特点,将建 模技术应用到该系统的开发全过程,所开发的系统 已在海军中得到广泛应用. 间并不一致,导致交流和协作困难;随着开发过程的 深入,这些文档和图表与实际开发逐步脱节,变得过 收稿13期:2006—03—16修回13期:2006 08—12 基金项目:中国人民解放军科技基金(YJY-2004一B2一HK019);上海海事大学重点学科项目(XL0101-1) 作者简介:刘小玲(1969.),女,湖南邵东人,讲师,硕士,研究方向为人工智能,(E-mail)xlliu@ten.shmtu.edu.ca 维普资讯 http://www.cqvip.com
70 计算机辅助工程 2007血 1建模技术介绍 MDD是基于模型进行软件开发的技术方法,模 型在整个软件开发过程中起着举足轻重的作用,每 子过程都离不开模型的构建、修改与完善. 一统的用况模型(见图1);以此模型为基础,经过与用 户多方协商,明确系统的功能,建立系统的总体框 架,形成系统的组件功能框架(见图2).于是,确立 系统的框架,并将其定位为以数据库为核心的决策 支持系统. 首先,在需求分析阶段,通过分析用户的需求, 构建需求分析模型;当系统结构和功能复杂时,建立 直观的系统需求分析模型,不仅可以帮助开发者准 确把握需求,还能指导系统的总体设计,并在开发者 署 与用户之间架设沟通的桥梁;主要的需求分析模型 为用况(User Case)模型. 在总体设计阶段,基于需求分析模型,确定系统 的功能划分、相互关系以及系统的输入输出,此时可 建立系统的组件模型并规划系统的配置模型. 在详细设计阶段,通过建立类、对象模型,以进 一步细化组件模型,逐步建立起系统的框架结构.编 码实现之前,通过建立状态/活动图细化类中的方 法,为编码实现提供程序算法.一些成熟的辅助建模 工具如Rational Rose,MagicDraw等可以直接将系统 模型转换为源程序,并能在模型和源程序之间建立 同步关系,可及时更新源程序和模型. 对象管理组织(OMG)进一步发展了MDD方 法,形成一套系统的基于模型的软件开发方法和体 系 引:模型驱动体系结构(Modeling-driven Develop- ment Architecture,MDA),其核心内容即将整个软件 开发过程中建立的各种模型关联起来,按照抽象层 次形成模型体系,开发者的关注焦点从编码过渡到 模型,在工具的辅助下将模型转换为程序. 因此,模型已成为软件开发的核心内容,建模技 术自然成为开发的关键技术;为了规范模型的描述 和表达,OMG提出统一建模语言(UML) 并形成 标准;为了适应MDD和MDA的开发要求,OMG进 一步发展UML并形成UML 2.0规范.如今,UML已 成为建模领域的公共语言和事实标准. 2 建模技术在辅助决策系统中的应用 海军某作战辅助决策系统因其功能复杂、实时 性强,开发者初期对系统的特点把握不准确,对需求 不够明确.后来借鉴MDD的思想方法对系统的要 求分析后,通过从外到内、自顶向下的分析设计,最 终完成该系统的设计与开发,并已在海军的相关部 门推广应用. 2.1系统建模 针对该作战辅助决策系统的特点,基于MDD 的思想,第一步必须明确需求,为此,首先须建立系 真 分析 战役能力分析 图1辅助决策系统用况模型 库 图2 系统的组件功能框架 2.2系统内部建模 建立系统的用况和功能框架,从总体上规划系统 的软件体系结构,接着为各个功能模块(对应系统的 各个组件)设计其内部类层次结构以及数据库结构. 在该系统中,作战方案模拟是系统的核心模块,也是 系统中最复杂的组件.在对抗条件下实现作战方案的 模拟仿真,涉及对抗双方的兵力构成、指挥决策与行 动规则等,其中首先面对的是红蓝双方的兵力构成, 为此,须建立红蓝双方的兵力构成模型,见图3. 指挥决策在蓝方则体现为蓝方的指挥机构,为 维普资讯 http://www.cqvip.com
第1期 刘小玲,等:建模技术在作战辅助决策系统开发中的应用 71 (a)红方 (b)蓝方 图3红、蓝两方的兵力构成模型 此,必须建立其指挥机构的层次结构图.通过分析, 系统建立蓝方指挥机构结构模型(见图4),图中还 给出相关类的属性和重要方法以及类的继承关系. 具体决策过程和行动规则以及红方的指挥决策处理 因保密,不便在这里详细展开. 对于数据库,UML描述能力也非常好,由于采 用的数据库模型为关系数据库模型,UML不能精确 地规定关系表之间的依赖和约束关联关系;因而,结 合UML,在中间层采用PowerDesigner建立数据库的 关系模型(相当于MDA的PIM模型). 图4蓝方兵力部署C++对象模型(部分J 维普资讯 http://www.cqvip.com
72 2.3模型变换与系统构建 计算机辅助工程 2007年 进一步发展并被许多学者描述为软件开发的一次革 命;无论是MDD还是MDA,软件开发的重心已逐步 从编码向模型转变. 针对某作战辅助决策系统的特点,依照MDD 的思想详细讨论如何使用建模技术进行该系统的开 发.开发过程中,需求分析是系统开发的第一个环 节,也是最关键的一个环节,通过采用MDD的思 想,系统用户与开发者之问通过直观的用况图明确 系统的外部功能,系统组件模块图则帮助开发者确 定系统的基本框架.系统的内部规则主要通过组件 模块内部功能的状态机图和交互图等描述,由于涉 密原因,未在此详细展开和讨论. 按照MDD与MDA的思想建立系统的各种模 型后,采用模型转换工具,即可生成更具体的模型, 乃至源代码.即使需求发生变化,只需修改初始模 型,使用模型转换工具即可让源代码与模型保持同 步.由于系统模型和模型工具有待完善,实际操作过 程中,开发者需要因时因系统采取不同的变通方法. 一塑 幽~一一一一 在该辅助决策系统的开发过程中,用户需求发 生多次变化,因而模型也经历多次更改,当模型确定 后,借助相关的模型转换工具,将其中的类结构图直 接变换为c++类和对象以及SQL Server数据库的 关系表和视图,通过这些辅助工具的逆向和正向工 程功能,实现源代码框架与模型的同步,核心的处理 逻辑需要开发者维护和修改,图5描述了红蓝双方 兵力部署模型的简单变换过程. 由于大多数的建模辅助工具仍不够完善,在建 立系统的类图、状态机图以及交互图后,借助辅助工 具的正向工程可以生成基本的代码框架,核心的功 能方法需要手工维护;虽然如此,借助辅助工具的逆 向工程功能,仍然可以在框架结构层次上保持基本 同步,方便系统分析员与直接参与项目的用户准确 把握系统的总体结构. 方兵力部署模型 由于文中讨论的作战辅助决策系统具有很强的 实时陛要求,标准UML在建立实时性要求苛刻的功 / l关系数路模型广—1 紊 襄委 SQL Server 方兵力部署模型 能模块时,显现出描述能力不够的缺陷.在数据库建 \L——变 ——磊 — I数据库 Ic++对象模型广——.1c++源叉件 图5模型变换 模上,标准UML不能很好地体现关系之间的依赖和 约束关联关系.系统开发过程中采用PowerDesigner 建模工具,准确建立系统的关系数据模型,然后在目 标数据库上形成数据库结构,数据库结构与关系数 据模型之问可以保持很好的一致性. 随着MDD和UML语言,尤其是MDA的发展成 3结论与展望 MDD是软件开发的重要方法,MDA是MDD的 参考文献: 熟,基于模型的软件开发将更加方便,模型也将在软 件开发的整个生命周期内占据更重要的地位. 1 1 J BEYDEDA S,BOOK M,GRUHN V.Mode1-driven software development l M J.springer,2005. [2] 胡东波,陈晓红,胡东滨.模型驱动的决策支持系统开发组件研究[J].系统工程,2004,22(4):77-81. [3]KLEPPE A,WARMER J,BAST W.解析MDA[M].北京:人民邮电出版社,2004. [4] 陈平,王柏.MDA——新一代软件开发方法学的挑战与发展研究fJ].计算机科学,2005,32(3) 127-131 [5] 韩超,黄健,黄柯棣.利用模型驱动体系架构开发分布仿真系统[J].计算机仿真,2004,21(7):93-95. [6]PENDER T.UML bible[M].New York:John Wiley&Sons,Inc,2003. (编辑廖粤新)
因篇幅问题不能全部显示,请点此查看更多更全内容