APP下载

基于构件的装备管理综合信息系统软件开发

2012-10-08杨学强

装甲兵工程学院学报 2012年2期
关键词:构件装备领域

杨学强,黄 静,白 勇,黄 俊

(装甲兵工程学院技术保障工程系,北京100072)

陆军部队装备管理综合信息系统(以下简称系统)具有体系结构复杂、业务功能覆盖面广、用户需求多样、应用集成要求高等特点,传统的“手工作坊”式软件开发方式效率低,重复开发量大,成本高,质量难以保证[1],不能满足系统软件可扩展性和可维护性的需要。

基于构件的软件开发是利用已开发完成的商用构件(或可复用构件),按照应用需求组装形成软件应用系统的软件开发方法[2],它以面向对象技术为基础,通过对构件的选择、实例化、组装和集成来构造应用系统,已经在许多应用软件开发中得到了应用[3-4]。采用基于构件的软件开发方法进行装备管理信息系统软件设计与实现,是提高系统开发效率和质量的重要途径。

1 基于构件的软件开发过程与模型

1.1 软件开发过程

构件是能独立地开发、获取、发布的功能单元,是软件开发、复用和组装的基本模块,它封装了数据和功能,在运行时能够通过参数进行配置。构件具有复用性、封装性、组装性、扩展性等基本性质[5-6]。

基于构件的软件开发基本思想是将应用软件分解成为一个个独立的单元,将软件开发过程转变成为各种不同构件单元的开发与搭建过程,通过组装不同的构件单元实现软件的集成,如图1所示。

由图1可见:基于构件的软件开发过程与传统的软件开发有着很大不同,其显著特点是软件开发不再是“算法+数据结构”,而是“构件开发+基于构件的组装”[1]。

图1 基于构件的软件开发过程

1.2 软件开发模型

软件开发模型是软件开发活动和任务的结构框架,清晰直观地表达了系统软件开发的全过程,明确规定了需要完成的主要任务[7]。基于构件的软件开发过程主要包括:软件需求分析、软件功能分解、基于构件的系统设计、专用功能构件开发、非构件代码编写、系统组装与集成、系统测试等,其开发模型如图2所示。

图2 基于构件的系统软件开发模型

图2中:专用功能构件开发是针对装备管理要求开发相应的可重用业务构件;通用构件库用于提供装备管理通用功能构件。

2 基于构件的系统分析

2.1 系统业务需求分析

业务需求分析是对装备管理各业务领域进行分析,识别各业务领域的共同特征和可变特征,并对构成这些特征的对象与操作进行选择和抽象,它是针对一类业务应用的共同领域及用户需求的共同点进行分析[6]。具体步骤如下。

1)业务领域需求定义。对装备管理各业务领域需求定义进行分析,明确各业务领域具体业务需求,为每种业务能力初步定义相应术语,确定各业务领域范围和边界,收集各业务领域相关信息。

2)业务领域共性分析。对各领域的业务过程进行抽象和精化,归纳共同需求,识别和表示各业务领域共同需求的特征,完善和调整领域术语字典。

3)业务领域差异性分析。识别各业务领域的差异性,确定各种特性需求的类型。

按照上述步骤,可以建立系统三维应用需求视图:一是专业维,包括通用装备5个专业和专用装备6个专业;二是业务维,包括装备日常管理、维修管理、调配供应、训练管理、战备管理、资源管理、业务总览等各项业务;三是应用级别维,包括集团军、师(旅)、团3个层次。

系统所有业务领域的共性需求包括报表打印、图形支持、基础数据维护、数据传输、文电处理、安全保密服务、应用系统设置、地理信息支撑等,各业务领域差异性主要是各级别管理对象的范围、粒度不同。

2.2 系统功能分解

系统功能分解主要是对装备管理各业务功能的信息进行收集、抽象及组织,识别和构造出各种可重用的功能模块,使这些模块能够得到最大限度利用,从而提高软件开发效率。具体步骤如下。

1)确定功能范围。合理界定装备管理各业务功能的具体范畴和处理流程,形成功能结构文档。

2)建立功能模型。标志装备管理各功能实体,实体的特征、属性及实体间的关系,形成系统功能分析文档。

按照上述步骤,对装备管理各业务领域的各项业务处理功能进行分析,如:对装备日常管理功能的分解,首先确定其业务功能范围,包括动用使用、封存启封、保管保养、爱装管装教育、检查考评、技术革新等;然后,对各项业务具体功能进行细化,建立业务功能模型,形成相应的业务功能分析文档。

3 基于构件的系统设计

采用面向构件技术和基于MVC(Model-View-Controller,MVC)模式的多层体系架构[8-10],设计系统软件体系结构,包括数据管理层、通用支撑软件层、共性软件层、专用软件层、系统应用层和软件集成开发框架等6个部分,如图3所示。

1)数据管理层。用于存储装备管理数据资源,按照数据用途从逻辑上分为基础数据库、业务数据库和综合数据库。

图3 系统软件体系结构

2)通用支撑软件层。为装备管理业务构件开发提供公共基础服务,包括报表打印、图形支撑、基础数据维护、数据传输、文电处理、安全保密服务、地理信息支撑、应用系统设置等通用支撑构件。

3)共性软件层。是装备管理共性业务构件的集合。共性业务构件是指2个以上专业通用的业务构件,利用软件集成开发框架提供的技术环境和通用支撑构件提供的服务开发,主要包括日常管理、维修管理、调配供应、训练管理、战备管理、资源管理和业务总览等7类共性业务构件。

4)专用软件层。是装备管理专用业务构件的集合。专用业务构件是指某个专业专用的业务构件,不具备通用性,是结合各专业具体业务需求进行开发,主要包括军械、装甲、工程、防化、车辆、情报、通信、电子对抗、机要、气象、测绘等专用业务构件。

5)应用系统层。是装备管理应用系统的集合。基于专用软件层提供的功能,根据用户需要对各类构件进行组装,形成面向不同级别装备管理部门的应用系统,包括集团军、师、旅团3级。各应用系统界面风格统一、操作方式统一,面向特定用户提供业务管理功能。

6)软件集成开发框架。是基于构件的系统软件开发的核心支撑平台,用于提供构件开发、集成和软件运行的环境,使系统软件可以快速高质量地搭建,并具有较强的可维护能力和良好的需求变化响应能力。其总体结构如图4所示。

图4 软件集成开发框架总体结构

图4中:构件集成开发环境提供各种构件可视化开发、调试、组装、发布、管理等功能;工作流管理工具提供业务流的定义、引擎、管理监控等功能;页面开发管理工具提供可视化页面开发与调试功能;构件库提供支撑快速开发、部署应用系统的一组预制构件集合;构件运行环境提供引擎服务,对开发的各种构件进行解析,使构件成为标准应用,并提供对构件应用时数据总线的管理;构件管理控制台提供各种运行监控服务。

综上所述,采用基于构件的系统软件多层体系结构,可以保证系统软件适应装备管理业务的需求,降低系统软件开发难度,减少系统软件编程工作量。同时,可以根据系统性能及功能需求进行功能模块配置,实现装备管理业务处理分布式部署。

4 基于构件的系统实现

4.1 业务构件的开发

业务构件开发是在具体业务流程拆解、抽象、合并的基础上,构建一系列构件实现业务功能的过程,是基于构件的系统软件开发的核心内容和关键环节。利用基于构件的软件开发平台(如普元EOS构件化平台[11]),可以完成装备管理业务构件开发工作,主要包括以下方面。

1)业务构件开发原则。业务构件通常是支撑构件与业务流程的特定组合,开发时必须遵循以下原则:(1)构件的标准应满足高内聚、低耦合的统一要求;(2)构件的抽象分类应在功能模型和功能框架设计的基础上进行;(3)构件的设计应根据子系统或子功能来划分,使每个构件与系统内实体相对应;(4)构件的接口要规范友好,既要满足信息隐藏的要求,又要符合框架内的通信要求,便于开发人员使用;(5)构件的适应性要强,可根据不同要求进行投影和组合;(6)构件的文档必须齐全,构件使用前必须充分测试、审查,确保构件质量。

2)业务构件开发过程。包括语义抽象、模型分解、粒度设计、结构设计、性能度量等步骤,如图5所示。

图5 业务构件开发过程

图5中:语义抽象为业务构件的可变点设计,对不同业务模型内包含的相似服务进行抽象,使业务构件可应用于多个业务场合,以提高构件的复用度;模型分解是依据特定的分解原则,将领域模型分解为一组子模型,并将每一个子模型映射为一个独立构件;粒度设计是实现粒度的调整与优化,将经常需要共同复用的构件合并在一起,得到大粒度的业务构件,以提高业务构件复用时的效率和降低复用成本,相关的合并技术包括共同复用原则、基于继承/组合关系的合并等;结构设计是设计每一个业务构件的内部功能结构和外部接口,以及与其他业务构件之间的逻辑关系;性能度量是对最终构件集合选取特定性能度量指标进行度量。

利用基于构件的软件开发平台提供的集成开发环境,可以完成系统业务的构件开发或选择工作,为快速搭建应用系统功能模块奠定基础。

3)业务构件存储管理。主要是将开发的业务存入构件库,以满足构件复用、组装的需要。它是基于构件的系统软件开发的重要环节。

4.2 系统软件集成

系统软件集成主要是通过构件选择、构件剪裁、软件流程衔接、构件组装等工作,最终构成具体业务应用系统。其中,构件组装是以系统软件框架为蓝图,通过构件实例将软件框架具体化的过程。成功的构件组装必须以开放构件模型和规范的构架描述(包括对构件连接和交互协议的严格定义)为基础,构件实例必须符合系统中其他部分的要求[5]。利用基于构件的软件开发平台提供的集成环境,可以快速搭建运行级的业务系统,完成系统软件集成工作。

5 结论

基于构件的系统软件不再是由上百万行的代码组成的,而是由几千个稳定的业务构件经过可视化组装而成的。因此,基于构件的系统软件开发核心是“构件开发+基于构件的组装”,不仅可以缩短系统软件开发周期,提高系统软件开发效率和质量,而且能够适应用户需求变化,提升系统软件的灵活性、可维护性和可扩展性。

[1]王伟.基于构件的软件工程理论与方法研究[J].信息技术与信息化,2009(4):48-52.

[2]陈霞,基于构件的舰艇作战系统软件开发技术研究[J].舰船电子工程,2008,28(7):40-42.

[3]贺小辉,李雪晖,应志雄.基于构件的远程服务与故障诊断系统[J].制造业自动化,2009,31(7):86-89.

[4]吴立松,杨根兴,蔡立志.基于构件的测试脚本复用技术研究[J].计算机应用研究,2009,26(4):1324-1326.

[5]许桢.基于构件的软件开发方法及实现[J].软件导刊,2009,8(11):17-19.

[6]牛景春,申利民,杨化林.基于构件的柔性软件开发方法研究[J].计算机技术与发展,2009,19(9):72-75.

[7]黄坤,闵绍荣.基于构件的潜艇作战系统软件体系结构[J].中国舰船研究,2009,4(2):65-68.

[8]王丹,张帆,张志鸿.基于构件的多层体系结构的研究与应用[J].计算机工程与设计,2010,31(6):1255-1256.

[9]胡阔见,魏长江.基于构件的领域工程实现[J].计算机工程与科学,2008,30(4):92-94.

[10]宁静峰,张丽杰,唐培丽.基于构件的敏捷软件开发管理工具的研究与设计[J].长春工业大学学报:自然科学版,2008,29(1):95-98.

[11]焦桂芝,向凯全,陈军广.基于构件的Web-MIS的设计与实现[J].四川兵工学报,2009,30(6):27-29.

猜你喜欢

构件装备领域
电子战领域的争锋
这些精锐与装备驰援泸定
钢筋混凝土构件裂缝控制
港警新装备
将现代科技应用于Hi-Fi领域 Perlisten S7tse
BIM模型相连构件获取方法
防晒装备折起来
2020 IT领域大事记
领域·对峙
基于J2EE架构的构件化集成*