软件工程定义

来自计算思维百科
跳转至: 导航搜索

软件危机的出现表明,必须寻找新的技术和方法来指导大型软件的开发。考虑到机械、建筑等领域都经历过从手工方式演变成严密、完整的工程科学的过程,人们认为大型软件的开发也应该向“工程化”方向发展,逐步发展成一门完整的软件工程学科。

由于认识到软件的设计、实现、维护和传统的工程规则有相同的基础,1967年北大西洋公约组织首次提出了“软件工程(Software Engineering)”的概念。关于编制软件与其他工程任务类似的提法,得到了1968年在德国召开的NATO软件工程会议的认可。软件工程应使用已有的工程规则的理论和模式,来解决所谓的“软件危机”。

Fritz Bauer曾经为软件工程下了定义:“软件工程是为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则。”1983年IEEE给出的定义为:“软件工程是开发、运行、维护和修复软件的系统方法。”因此,软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。其中,“软件”的定义为计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据。软件工程的重要思想是强调在软件开发过程中需要应用工程化原则的重要性。