舰船科学技术  2017, Vol. 39 Issue (8): 185-188   PDF    
舰船装备信息系统敏捷原型顶层设计方法
李皓, 徐文元, 郭丽, 张生晓, 许鹏     
中国船舶工业系统工程研究院,北京 100094
摘要: 针对国内舰船装备信息系统总体设计存在的体系结构描述不直观、需求难于完备等问题,参考软件工程的敏捷软件开发方法,本文提出敏捷原型顶层设计方法,并对方法的内含、实现步骤、支撑手段进行了描述。该方法可为用户与设计人员提供共同交互、共同理解系统需求的原型系统,实现系统设计与系统需求之间的逐步完善、逐步深化、逐步逼近,为实现舰艇装备信息系统总体快速设计提供理论依据.
关键词: 舰船装备信息系统     敏捷原型     顶层设计    
The agile prototype top-level design on warship equipment information system
LI Hao, XU Wen-yuan, GUO Li, ZHANG Sheng-xiao, XU Peng     
Systems Engineering Research Institute, Beijing 100094, China
Abstract: Aiming at problems that the architecture description is not intuitive, the demand is difficult to complete during the overall design of Warship Equipment Information System (WEIS), the method of the agile prototype top-level design is introduced based on the system engineering method in this paper. And the content of the method, the realization steps, the support means are described. This method can provide a prototype system of mutual interaction and mutual understanding between users and designers, and realize the system design and system requirements gradually improve, gradually deepen, gradually approaching, which is a theoretical basis for the overall rapid design of WEIS.
Key words: warship equipment information system (WEIS)     the agile prototype     top-level design    
0 引 言

舰船装备信息系统随着作战需求的变化,其组成、功能、关系也越来越复杂,为了使其更好地符合军事需求,实现系统设计最优化,同时,也为了降低研制成本,必须有一种有效的设计方法来指导舰船装备信息系统的设计,能尽早的与用户方进行交流沟通,进一步明确和挖掘需求;能尽早的发现系统设计的缺陷,减少后期修改量,降低研制成本;能形象的展示设计理念和设计方案,可准确地指导下一步工作。

针对这类复杂系统,国外普遍采用体系结构设计方法开展系统设计,如美国国防部的 DoDAF(Department of Defense Architecture Framework)、英国国防部的 MoDAF(Ministry of Defense Architecture Framework)、北约的 NAF(NATO Architecture Framework)等,都是体系结构设计方法,能够为体系结构的设计提供指导,能规范体系结构的设计过程、设计内容和设计形式,使系统的组成关系、流程和信息接口的描述得以统一,便于系统分析、设计和实现人员及使用维护人员对系统体系结构设计的理解、比较和交流,提高系统总体设计的效率。同时,为很好地使用这些体系结构方法,提供了相应的设计工具,如 SA,Rhapsody 等。

但这类方法和工具在舰船装备信息系统设计过程中,仍然存在以下不足:1)体系结构设计方法要求需求一步到位,即需求具备完备性,否则无法设计出各视图产品,但舰船装备信息系统的需求都是逐步明晰、逐步细化的过程;2)体系结构设计出的视图产品主要采用软件描述语言如UML进行描述,即使采用 SysML 描述,也是由软件描述语言演化的,不能做到所见即所得,无法直接将设计结果与用户沟通,无法在设计过程中不断捕获和修正需求,实现需求的多次迭代、反复渐进。因此,需要在体系结构设计方法基础上,补充一种能快速实现可操作、可演示的原型系统顶层设计方法——敏捷原型顶层设计方法,弥补体系结构设计方法的不足。敏捷原型顶层设计方法主要参考了软件的敏捷开发方法,结合舰船装备信息系统顶层设计的特征而提出的。敏捷开发方法是针对传统瀑布式开发模式中的弊端而产生的一种开发模式,它以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。具有开发精确、高质量、高速度、高投资回报、高效率等优点,目标是提高开发效率和响应能力。

1 敏捷原型顶层设计方法

敏捷原型顶层设计方法同样是以用户的需求演进为核心,采用迭代、循序渐进的方式进行设计。即在需求不是很完备的情况下,抓住系统的重点和主要矛盾,快速实现一个可操作、可演示的原型系统——为用户与设计人员提供共同交互、共同理解系统需求的原型系统,从而不断捕获需求、修正设计方案,实现系统设计方案的逐步完善、逐步深化、最终逼近真实系统。敏捷原型顶层设计方法具有灵活性、高效性、动态性等特点,从而保证设计方案的快速逼近和用户需求变化的快速响应。

敏捷原型顶层设计方法不同于传统的原型系统,原型系统应体现最终目标产品的主要和基本功能,是具有可运行、可演示性质的早期版本;敏捷原型法不要求是否体现主要功能,它只需对系统进行简单、快速的需求捕获,重点从人机交互角度进行功能实现,而且,核心是借助开发工具快速实现原型系统。它也不同于软件设计中的界面原型,界面原型主要采用静态的方法设计出目标系统的每个界面,界面之间的相互关系、界面的操作流程、界面显示的信息等都无法描述。而敏捷原型设计方法则采用动态的方法将目标系统的界面进行实现,将与界面显示、界面关联、人机交互等方面相关的功能进行实现。

2 敏捷原型顶层设计方法的特点

敏捷原型顶层设计方法相对于传统的设计方法具有以下特点:

1)需求的不完备性和不确定性。传统的设计方法要求用户需求完整和明确,只有在正确完整的需求下才能得到正确的结果。但是在实际的舰船装备信息系统设计过程中,需求往往是变化的、逐步挖掘出来的,造成这种原因,大部分是用户自己无法准确地提出自己的需求,需随时间变化而不断明确,当然,有时是用户不能很好地表达自己的需求,或者是用户和设计者理解上的差异。传统的设计方法很难适应这种变化,而敏捷原型顶层设计方法拥抱变化,允许变化随时随地发生,通过对变化的快速响应达到需求的逐渐完备和确定。

2)用户参与设计。传统设计方法中用户的参与度不高,与设计团队之间相对割裂,是导致最终研制出的系统与用户理想的系统差距较大的重要原因。而敏捷原型顶层设计方法通过提供便利的交互环境——敏捷原型系统,促使用户参与到设计过程中,用户通过操作和使用快速原型系统,提出修改意见和建议,不断的修正和完善系统设计方案。

3)理解的一致性。传统的设计方法往往采用文字和图表的方式,在用户和设计人员之间以及设计人员内部进行交流沟通,文字的理解具有二义性,图表方式虽然相对直观,但也需要在统一规范下才能达到一致的理解,而且需要具备一定的计算机软件知识。而敏捷原型顶层设计方法通过提供可操作、可演示的敏捷原型系统,使不同人员之间达到一致的理解,大大提高沟通交流的有效性和准确性。

4)整体可评价性。传统的设计方法是一种静态设计方法,对设计方案优劣的判断大部分采用专家研讨的方式,属定性评价方式,而且评价的内容跟专家的知识结构和水平强相关,无法保证每次评价的内容、评价的粒度相同。敏捷原型顶层设计方法无论是系统的功能、数据要求及数据结构、操作性能、特点以及系统的体系结构等方面均可进行定性或定量的评价,将评价结果快速反馈到设计中。

3 敏捷原型顶层设计方法实现步骤

敏捷原型顶层设计方法的实现步骤分为:快速分析、原型构造(以界面为主的功能)、运行评价原型、修改原型 4 步,再构造、再运行评价、再修改,直到获取到满意的需求,具备充分指导装备设计工作为止。

图 1 敏捷原型法开发模型 Fig. 1 The model of th agile prototype top-level design

1) 快速分析:分析人员和用户通过界面原型方法快速确定系统的基本要求,编写需求规格说明书,以备开发模型使用。

2) 原型构造:使用原型开发工具对系统进行建模、集成测试,快速产生出敏捷原型。

3) 运行评价原型:运行敏捷原型系统,通过用户的操作,体验目标装备系统的操作方式、交互流程、指挥关系、部分功能特征等,从而评价敏捷原型与用户需求的吻合程度,提出修改意见。

4) 修正和改进原型:根据修改意见进行修改。修改完后,再次进入运行评价原型阶段,2 个阶段是一个不断迭代、交替进行的过程。

当然,若修改意见属于颠覆性或需求的大幅增加,就需要从新开始分析-构造-运行与评价-修改。

4 敏捷原型顶层设计方法

根据原型辅助的敏捷体系结构设计方法,研制出界面原型设计和集成运行环境、原型信息生成与运行环境,为设计人员提供一个可视化的且方便、快捷的软件界面原型设计和集成运行环境,提供 1 套基于作战系统协议的接口、流程生成和运行环境,弥补体系结构设计工具 SA 描述的不直观、非动态的缺点,统一和规范概念原型的开发,提高开发效率。

1)界面原型设计和集成运行环境

界面原型设计和集成运行环境主要由开发平台、UI 设计器、工程模板构件等 3 部分组成。每部分包含的功能如图 2 所示。

图 2 界面原型设计和集成运行环境组成图 Fig. 2 The composition picture of the interface prototyping design and integrated runtime enviroment

开发平台集成相关模板框架和组件,使平台具备自定义向导功能;提供工程模板构件管理,使平台具备识别自定义构件并解析自定义构件功能;利用 Visual Studio SDK 使开发平台具备定制扩展接口。同时,开发平台提供测试用例的管理功能,开发人员可根据新建项目向导选择是否加载原型模拟数据,用户可以对原型测试数据进行更新及删除等管理功能。

UI 设计器是为设计人员提供的一款设计工具,用户可利用设计器对各个面板组件进行拖拽式布局、支持对拖拽的元素组件进行属性设置、支持自定义多个显示器数量及位置,是否自适应屏幕大小、支持多个界面元素以 TAB 栏的方式进行堆叠、支持界面占位元素,用户也可向组件添加自定义标题文字及图片。

工程模板构件包含以组件形式存在的若干种项目模板。每套模板包括控件库、资源库、新建项目向导等,均存在组件库中,供设计人员使用,并扩展到其他模板框架中去。

因此,界面原型设计和集成运行环境面向 3 类人员使用:设计人员、开发人员、维护人员,设计人员主要使用界面编辑器进行界面设计工作,并将设计的结果基于 xml 格式以资源配置文件形式导出,生成的资源配置文件提供开发人员进行应用程序开发。开发人员主要使用开发平台进行组件业务逻辑的开发,通过使用开发平台集成的自定义工程模板向导功能,对工程模板构件进行解析,若符合需求直接使用工程模版构件,若不符合则进行二次开发形成新的工程模版。维护人员主要使用控件库管理进行资源组件和工程模板构建,累积控件库资源,让资源得以复用。

图 3 系统各部分关系图 Fig. 3 The relationships of system composition

图 4 界面原型设计和集成运行环境部分界面示意图 Fig. 4 User interface sketches of the interface prototyping design and integrated runtime environment

2)原型信息生成与运行环境

设计环境还根据研究内容 1 中研究的某典型舰艇装备防空反导系统的系统结构成果,利用 DODAF 工具建立全局视图、作战视图、系统视图、技术视图等产品形成设计模型库实现统一管理,通过将基于敏捷原型设计工具和开发环境生成的界面元素,系统设计模型等,存入模型库实现统一管理。

5 结 语

舰船装备信息系统作为一个复杂的工程系统,各组成部分之间耦合紧密,需求捕获困难,方案设计工作繁杂,本文参考软件敏捷开发方法,并结合我国舰船装备系统设计的实际特点,创新性地提出了敏捷原型顶层设计方法,为舰船装备信息系统的顶层设计提供理论依据和手段,从而提高舰船装备信息系统设计的合理性和效率。

参考文献
[1] 沈长云. 舰船系统工程的顶层设计[J]. 舰船科学技术, 2011, 33 (6): 22–25.
[2] DoD Architecture Framework Working Group. DoD Architecture Framework Version 1.0. The United States: Department of Defense, 2004
[3] DoD Architecture Framework Working Group. DoD Architecture Framework Version 1.5. The United States: Department of Defense, 2007
[4] DoD Architecture Framework Working Group. DoD Architecture Framework Version 2.0. The United States: Department of Defense, 2009
[5] COOLAHAN J E. Modeling and simulation at APL[J]. Johns Hopkins APL Tech. Dig., 2003, 24 (1): 63–74.
[6] 姑新生, 李玉建. 快速原型法与并行工程法在快速开发现代化管理软件中的应用[J]. 东莞理工学院学报, 1996, 3 (1): 22–28.
[7] 刘玉仁, 董震曜. 快速原型法在软件设计中的应用[J]. 光电对抗与无源干扰, 2002, 4 : 6–9. DOI: 10.3969/j.issn.1673-1255.2002.04.003
[8] 赵国平. 敏捷铸造中的快速原型技术[J]. 铸造设备研究, 1999, 6 : 4–39.
[9] 王冲. 敏捷开发与传统瀑布模型的比较及教学[J]. 福建电脑, 2011, 4 : 61–62. DOI: 10.3969/j.issn.1673-2782.2011.02.032