软件工程2软件工程的发展历程
目录
【软件工程】2、软件工程的发展历程
下图所示,随着计算机技术的快速发展,软件的开发和维护面临着各种挑战。
为了应对这些挑战,解决软件危机给软件行业发展带来的种种威胁。人们开始尝试将工程化的方法应用到软件领域,软件工程由此诞生。
软件工程的发展经历了以下几个阶段:
- 原始阶段(1940年代-1960年代):在这个阶段,计算机编程主要是由个人完成的,没有完整的软件开发生命周期,也没有专门的软件开发方法论。
- 结构化编程阶段(1960年代-1970年代):在这个阶段,人们开始意识到软件开发需要遵循一定的规范和结构,提出了结构化编程的概念,主要通过模块化、顺序、选择和循环结构来组织代码。
- 软件危机阶段(1970年代-1980年代):随着软件规模的增大和复杂性的提高,软件开发面临了许多挑战和问题,如进度延迟、质量低下等,这被称为软件危机。为了解决这些问题,出现了不同的方法和模型,如结构化方法、面向对象方法等。
- 软件工程阶段(1980年代-现在):在这个阶段,软件开发逐渐形成了一门专业化的学科,并建立了一套完整的软件开发生命周期,包括需求分析、设计、编码、测试、部署和维护等环节。同时,还出现了一系列的软件开发方法和模型,如瀑布模型、迭代模型、敏捷开发等,以提高软件开发的效率和质量。
- 现代软件工程阶段(2000年代-现在):随着互联网和移动互联网的发展,软件工程也面临了新的挑战和需求,如大规模分布式系统、云计算、DevOps等。为了应对这些挑战,出现了一系列新的软件开发方法和技术,如微服务架构、容器化、持续集成和持续交付等。这些新技术和方法在改进软件开发的同时,也提升了软件工程的发展水平。
需要注意的是,软件工程的发展是一个不断演化和迭代的过程,各个阶段的变化并不是绝对的划分,而是相互渗透和影响的。同时,随着技术和需求的不断变化,软件工程的进一步发展还将继续。
软件工程的提出
软件工程是一种以工程化的方法来开发和维护软件系统的学科和实践。它的提出源于对软件开发中问题的深刻认识和需求的增长。
在1968年,由于软件项目的失败率和成本的快速增长,美国计算机科学家在NATO(北大西洋公约组织)的软件工程会议上,首次提出了软件工程的概念。软件工程的目标是将工程学的原则和方法应用于软件开发过程,以提高软件的质量、可靠性和可维护性。
软件工程的提出主要是由于传统的软件开发方法无法满足市场对软件的需求。传统的方法主要是基于个人经验和直觉来开发软件,缺乏明确的开发过程和规范,容易导致软件项目的失败和延期。
软件工程的提出也是为了应对软件系统规模的增长和复杂性的增加。随着计算机技术的发展,软件系统的规模越来越大,功能越来越复杂,开发人员需要更加系统化的方法来管理软件开发过程,确保软件系统的质量和可维护性。
软件工程的提出还受到了其他工程学科的启发,例如电气工程和机械工程。这些工程学科有着明确的开发过程和规范,软件工程借鉴了这些经验,并将其应用于软件开发过程中。
总而言之,软件工程的提出是为了应对软件开发中的问题和需求,以提高软件的质量、可靠性和可维护性。它借鉴了其他工程学科的方法,将工程学的原则和方法应用于软件开发过程中。