软件工程:解耦与危机应对

需积分: 0 9 下载量 74 浏览量 更新于2024-07-13 收藏 3.5MB PPT 举报
软件工程是一门旨在解决软件开发过程中出现的严重问题的学科,它起源于20世纪60年代末的软件危机。软件危机主要表现为开发成本和进度难以准确预估、用户满意度低、产品质量不稳定、软件维护困难、文档缺乏以及软件成本占比持续增长,而软件开发生产率却未能跟上计算机应用的发展步伐。 软件危机产生的原因主要有两方面:一是软件本身的复杂性,比如忽视需求分析,将软件开发简单地理解为编写代码并运行;二是软件开发方法的不足,如轻视软件维护,导致在不同阶段进行修改的成本差异显著。为应对这些问题,软件工程作为一门交叉学科应运而生,它运用工程的方法和技术来研究软件开发、维护的策略、工具和管理。 软件工程的诞生是在1968年的NATO会议上,会议提出将软件开发提升到工程化的层次,即软件工程学。该学科关注的是如何系统化、规范化地设计、构建、测试和维护软件,通过推广成功的开发技术和方法、发展高效工具,以及实施良好的组织管理来改善软件开发过程。 另一方面,程序设计方法学则侧重于数学方法的应用,研究程序的内在结构、设计原理和理论,为软件开发提供更为深入的理论支持。这两者相互补充,共同构成了现代软件开发的基础框架,帮助工程师们更好地应对软件危机,提高软件质量和生产率,确保软件系统的可靠性和可维护性。 软件工程的核心目标是通过科学的方法和实践,克服软件开发中的各种挑战,从而提高软件质量,控制成本,缩短开发周期,使得软件成为计算机系统中高效、可靠的重要组成部分。