购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3.1 软件工程的概念

1.软件工程概念的提出

为了克服软件危机,1968年在北大西洋公约组织(NATO)召开的计算机科学会议上,Fritz Bauer首先提出“软件工程”的概念,试图用工程的方法和管理手段,将软件开发纳入工程化的轨道,以便开发出成本低、功能强、可靠性高的软件产品。几十年来,人们一直在努力探索克服软件危机的途径。

许多计算机和软件科学家尝试,把其他工程领域中行之有效的工程学知识运用到软件开发工作中来,主要思想都是强调在软件开发过程中需要应用工程化原则的重要性。经过不断实践和总结,最后得出一个结论:按工程化的原则和方法组织软件开发工作是有效的,也是摆脱软件危机的一个主要出路。

Fritz Bauer 曾经为软件工程下了定义:“软件工程是为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则。”

1983年IEEE给出的定义为:“软件工程是开发、运行、维护和修复软件的系统方法。”其中,“软件”的定义为:计算机程序、方法、规则、相关的文档资料及其在计算机上运行时所必需的数据。

GB/T 11457—2006《信息技术 软件工程术语》中将“软件工程”定义为“软件开发、运行、维护和引退的系统方法”,目的就是为软件全生存周期活动提供工程化的手段,从而提高软件质量、降低成本和缩短开发周期等。

软件工程是一门综合性的交叉学科,它涉及计算机科学、工程科学、管理科学和数学等。计算机科学中的研究成果都可以用于软件工程,但计算机科学着眼于原理和理论,软件工程着眼于如何建造一个软件系统。此外,软件工程要用工程科学中的技术来进行成本估算、安排进度及制订计划和方案;软件工程还要利用管理科学中的方法原理来实现软件生产的管理;并用数学的方法建立软件开发中的各种模型和算法,如可靠性模型、形式化模型等。

由于军用软件本身所固有的高复杂性、研制的高风险性及管理的高难度,使军用软件的发展一直在曲折中前进,军用软件质量和生产率无法满足军事要求、预算严重超支、项目延期或中途下马等事件屡见不鲜。

军用软件工程就是研究军用软件开发、运行、维护和管理的系统方法,是软件工程理论和方法在军事领域中的应用。军用软件工程由于其在有效提高军用软件质量方面发挥了重要作用而迅速发展起来。

2.软件工程的要素

针对军用软件的特殊应用和特点,军用软件工程主要包括4个要素:方法与技术、工具与环境、管理与控制、标准与规范。

软件工程方法与技术提供关于软件开发的一般原则、工作框架、开发策略和若干实用技术。其中包括软件生存周期模型、自顶向下方法、结构化开发方法、面向对象的方法、需求工程和测试技术等。

软件工程工具与环境为软件工程方法提供自动或半自动的软件支撑环境。它可用于提高软件的生产率,保证软件质量,便于软件测试和集成,提高软件开发过程的可见性和可控性。

软件工程管理与控制是将软件工程的方法和工具综合起来,以达到合理、及时地进行计算机软件开发的目的。软件工程管理主要包括项目、配置、文档、质量、经费、人员与进度等方面的内容。

软件工程标准与规范是为软件开发和管理的过程及软件产品规定的共同准则,它通常包括术语和符号标准、产品标准、方法和技术标准及管理标准等。 lf28k12KedqADbFsjtTraIAqxZnO8FNVGLYw3nn39BnU+UIUw65gdPoQuTGjsnlR

点击中间区域
呼出菜单
上一章
目录
下一章
×