软件工程发展综述
第3l卷第4期 2009年4月
现代雷达
Modem Radar
V01.3程・
中图分类号:TP311.5
文献标识码:A
文章编号:1004—7859{2009)04—0019—05
软件工程发展综述
吴迤
(南京电子技术研究所, 南京210013)
摘要:软件工程主要研究内容是软件开发范型、软件设计方法、工程支持技术和工程管理技术。其中,软件开发范型涉及 软件工程的方向,主要研究正确解决软件的计算逻辑;软件设计方法涉及软件工程的途径,主要研究高层概念模型和处理 逻辑到低层概念模型和处理逻辑的映射;工程支持技术和工程管理技术涉及工程过程质量和产品质量,主要研究管理学 理论在软件工程中的应用。该文详细介绍了美军军用软件发展现状,概述了软件工程中存在的问题,指出了其软件实现 的关键技术点。 关键词:军用软件;数据获取;信息处理;专用软件
Development Renew of Software Engineering
WU Yi
(Nanjing
Research Institute of Electronics
Technology,Nanjing 210013,China)
Abstract:Software engineering mainly includes software development pattern,software design method,engineering support technol- ogy and engl。neering nmnagement rithmetie logic of software;the ping of high-layer concept nology
are
management theory in
status
of military
software in US is discussed in
are
detail,and the existing problems in software engineering ted,too.
Key words:military
统,系统工程和软件工程的寿命周期、过程和产品不总 是具有良好的协调性和一致性;系统开发方法不能适 当地利用软件能力来迅速部署改进能力,而这是采办 环境发展的一项重要需求等。 建议:在所有系统工程活动中,使软件工程的参与 和集成制度化。其中包括软件工程师从系统工程开始 时就参与项目计划;为强化软件工程参与采办、技术、 管理决策等的项目全寿命周期,应修订政策、标准、指 南和培训内容;促进软件工程师与系统工程师的沟通 交流;培养系统工程的软件工程师和软件工程的系统 工程师;充分利用快速软件开发周期的采办策略和开 发方法(复用能力和可维护能力)等。 问题3:采办方和供货方缺乏有效的软件寿命周 期规划和管理。其主要表现是在项目计划编制与管理 过程中,对软件风险和软件寿命周期的成本无法前后 始终一致和预先确定并适应之;快速采购作战人员所 需新能力的压力,限制了通过对寿命周期成本、进度和 性能的权衡实施有效管理;可用于计划编制与管理的 软件工程专业知识匮乏,并将更趋恶化;不能正确地选 择、定制、执行与监控软件过程和方法,导致项目运行 效率低下;没有有效使用和发挥软件度量的作用等。 建议:利用经验证的有关软件寿命周期中的协同 决策程序,建立可量化的计划编制和管理文化。其中 包括在采购与供应方(所有级别)之间建立协作的合 同关系;加强对供应商的选择,以及运用正确的软件项 目计划编制与管理规程和方法;确保在项目计划和审 查中核实寿命周期前景并反复决策,克服短期思想;确 保项目计划规定的度量始终与工业标准和最佳范例相 一致,以实现正确决策等。 问题4:软件工程专业技术人员的数量和质量不 足以满足政府部门和国防工业部门的需求。其主要表 现是具有适当软件领域经验的、有资质的高级和高技 能的软件专业技术人员(如软件工程师和软件设计 师)的数量不足以满足政府和国防工业领域不断增长 的需求;资金约束限制了熟练软件人员的安置机会;政 府部门和国防工业基础设施不足,限制了软件工作人 员在技术迅速发展的环境中迅速掌握和运用所需的新 技能;系统全寿命周期的软件人员数量不足,无法始终 如一地支持项目的计划编制、系统/软件体系结构的定 义、软件管理问题的解决方案。 建议:在恰当级别就创新人才策略开展合作,吸引 和留住合格人才,以满足政府和工业部门对软件工程 的需求。其中包括开发并支持软件能力路线图;组建 由政府部门、国防工业以及学术界组成的联合协作工
000万行;1名进入数字化、信息化战场的美军士兵。
至少有5万个功能点为其服务,500万行源代码为其 行动提供支撑。美军一般军事装备的软件工程项目缺 陷清除率已达95%,而先进军事装备系统的软件缺陷 清除率高达98%。如今美军已能将大规模软件的缺
一20一
万方数据
・总体工程・
吴迤:软件工程发展综述
程序接口等,提高了软件的重用性、复用度,从而降低 软件的开发成本,缩短软件开发周期,提高软件的质
通信作者:吴迤 收稿日期:2008.11—15
Emali:wy@nriet.corn
修订日期:2009-02-24
一19—
万方数据
现代雷达
越高,如美军20世纪60年代的F-14“鬼怪”飞机,软 件对功能的支持度(指功能依靠软件支持比率)仅为 8%,70年代的F一1 11增至20%,1982年的F-16增至 45%,1990年的B.2已l高达65%.而21世纪初的F.22 则更高达80%。此外,在武器装备的研究开发、论证、 设计、定型、试验、验证、评估等各阶段也都离不开软件 的支持。据统计,美军B-2战略轰炸机的研制、设计、 定型、生产过程中,90%以上工作是由计算机直接或辅 助完成;在C-130运输机的工程研制阶段中,美国防部 利用仿真软件完成了多于60
5
000行左右的Ada编码,以提高其智能程度。在部
分装备中,嵌入式软件实现了以往只有依靠硬件来实 现的功能,如为了降低雷达截面积以提高隐身性能,B一 2战略轰炸机取消了尾翼,采用软件控制来保护飞机 飞行的稳定性。 与嵌入式软件一样,C3I系统软件的功能也越来 越强大,在C4ISR系统中的含量也越来越高。20世纪 90年代,美军已成功开发了全球指挥控制系统 (GCCS)软件,1995年GCCS 2.0版软件开发成功,基 本实现了各军兵种C4I系统的互连、互通和丐=操作,
of the
software engineering and focuses
on
the map-
model
to
lower-Layer concept
model
and processing
logic;engineering
support teeh-
on
and engineering management technology deals with engineering process quality and product quality and mainly focuses software engineering application.In this paper,development
000
陷从每百万行源代码500个降到250个。 自20世纪60年代起至21世纪初的40年间,美 军飞机、导弹、航天器领域的软件规模几乎增长了100 倍,预计2035年美军软件规模将达到100亿条指令 (1995年为1亿条指令),每个软件功能点的开发成本 将从2000年800美元到2020年降为200美元,2030 年降为100美元。美国防科学技术委员会还提出,军 事装备的软件的开发周期不得超过18个月。 1.3应用范围广。功能强 随着军事装备中电子信息含量的不断增大,软件 开发水平的不断提高,使软件在美军军事装备中的应 用范围越来越广,应用水平越来越高,软件功能也更趋 强大,其专用软件和共性软件均得到了迅速发展。 据统计,截至1995年,美军直接用于军事装备的 专用软件源代码总量已达2.38亿行,美陆军中软件密 集型武器装备系统的源代码总量从20世纪70年代的 100万行发展到1995年的l亿行以上。在专用软件 的发展中,嵌入式软件和C3I系统软件更发展迅速。 如美军“海狼”级潜艇的AN/BSY一1综合作战系统软 件耗资就达14亿美元,源代码总量超过460万行。嵌 入式软件除装备大型武器装备平台外,还广泛用于单 兵武器和弹药,甚至计划在下一代武器弹药中嵌入
1997年采用了联合作战规划与实施系统(JOPES)软
件,使GCCS具备了支持联合作战的功能;2002年
GCCS软件已升级到5.0版本,使GCCS具有了情报分
析以及与盟军指挥控制系统互操作的能力;2003年升 级到6.0版本,实现了监视、侦察与C4I的集成,形成 了名副其实的C4ISR系统。因此,可以说GCCS的发 展主要是软件的升级发展,是软件化推动了美军 C4ISR系统的发展。目前,美军C4I系统的研制经费 中,约有90%是用于软件的开发和采办的。 共性软件的迅速发展已使其成为构建信息系统和 信息装备的基础,尤其是国防信息基础设施公共操作 环境(DII COE),其通过提供可重用的软件部件、应用
软件工程是应用计算机科学理论和技术,以及工 程管理的原则和方法,实现满足用户需求的软件产品 的定义、开发、发布和维护的工程。其主要研究内容包 括软件的工程目标,工程原则和工程活动。开发和生 产具有_ⅡT用性、正确性和经济性的软件产品是软件工 程的基本目标。其中,可用性是指软件的基本结构、实 现文档达到用户可用的程度;正确性是指产品达到预 期功能的程度;经济性是指软件开发、运行、维护的费 用用户可以承受。 软件工程活动是生产一个达到工程目标要求能满 足用户需求的软件产品的过程或步骤,包括需求、设 计、实现、认可和维护。需求活动是在一个抽象层上建 立系统模型的活动,该活动的主要产品是需求规约,是 软件开发人员与客户之间的契约基础。设计活动定义 实现需求规约所需的结构,其主要产品是软件体系结