1.3.2 软件工程的定义

更新于 2026年10月10日 版权声明
1.3.2 软件工程的定义

为了克服软件危机,人们从其他产业的工程化生产得到启示,采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验且被证明正确的管理技术和方法结合起来,这就是软件工程(Software Engineering,SE)。

1968年,Fritz Bauer在北大西洋公约组织NATO召开的计算机科学会议上,对软件工程的定义是:“软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件,而确立和使用的健全的工程原理(方法)。”除了这个定义,还有几种比较有代表性的定义。

美国著名软件工程专家B.W.Boehm给出的定义是:“运用现代科学技术知识来设计并构造计算机程序及开发、运行和维护这些程序所必需的相关文件资料。”此处“设计”一词广义上理解应包括软件的需求分析和对软件进行修改时所进行的再设计活动。

软件工程是计算机科学中的一个重要分支,国家标准GB/T 11457—2006《信息技术软件工程术语》对软件工程的定义为:“软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度,实现满足用户要求的软件产品的定义、开发、发布和维护的工程或进行研究的学科。”

IEEE对软件工程的定义为:①将系统化、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件:②对①中所述方法的研究。(https://www.daowen.com)

具体来说,软件工程是以借鉴传统工程的原则和方法,以提高质量、降低成本为目的指导计算机软件开发和维护的工程学科。它是一种层次化的技术,如图1.4所示。

图示

图1.4 软件工程层次图

软件工程的根基就在于对质量的关注,其中过程、方法和工具是软件工程的三要素。软件工程的基础是过程层,它定义了一组关键过程区域的框架,使得软件能够被合理和及时地开发;软件工程的方法层提供了建造软件在技术上需要“做什么”,它覆盖了一系列的任务,包括需求分析、设计、编程、测试和支持等;软件工程的工具层对过程和方法提供了自动的或半自动的支持。而软件工程本身是一个交叉学科,涉及多种学科领域的相关知识,包括工程学、数学、计算机科学、经济学、管理学和心理学等。

因而,软件工程采用工程的概念、原理、技术和方法来开发与维护软件。软件工程的目标是实现软件的优质高产。软件工程的目的是在规定的时间和开发费用内,开发出满足用户需求的、高质量的软件产品。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)