第 1章 软件工程概述 计算机学科是 20世纪发展最快的新兴学科,在短暂的 50年里,计算机已经渗透到社会的各个领域,有力地推动了整个社会信息化的发展。进入 21世纪以来,经济全球化的趋势加速,现代科学技术突飞猛进,市场竞争更加剧烈,人类面临着巨大的社会经济变革。在这个复杂多变的时代,每个人、每个社会组织对信息资源的开发利用能力已成为其竞争力的主要标志之一。 随着技术进步,计算机性能在不断地提高,计算机的体积、功耗、价格却不断下降。今天的计算机在科学计算、数据处理、过程控制、计算机辅助系统、人工智能等领域得到广泛的应用。尤其计算机与全球 Internet相连接,使今天的社会进入了以计算机为核心的信息社会。在信息社会中,信息的获取、处理、交流和决策都需要大量高质量的计算机软件,软件系统无所不在。这样就促使人们对计算机软件的品种、数量、功能、质量、成本和开发时间等提出越来越高的要求。 为了使世界上丰富的软件资源为人类共享,人们越来越重视软件、软件开发及运行环境的标准化。计算机的各类程序设计语言和多媒体人机交互工具已被越来越多的人所掌握,成为世界性的文化现象。 软件工程是在 20世纪 60年代末期提出的。这一概念的提出,其目的是倡导以工程的原理、原则和方法进行软件开发,以期解决当时出现的“软件危机”。 1.1 软件工程中常见问题 本节讨论软件工程的常见问题,并希望根据国内外专家的观点,按照“FAQ(常见问题表)”给出简明的答案,然后逐次加以简述,深入的研究在各章节进行。 表 1 .1 软件工程中常见问题(一) 问题 答案 什么是软件? 计算机程序和相关文档。软件产品可为特定客户或通用市场开发。 什么是软件危机? “软件危机”一词在 IT 界广为流传,主要针对软件代价高和软件错误多现象。 什么是软件工程? 软件工程是关于软件生产的各个方面的工程学科 软件工程和计算机科学有何区别? 计算机科学侧重理论和基础,而软件工程侧重于软件开发和交付的实际活动 续表1.1 软件工程和系统工程有何区别? 系统工程侧重基于计算机系统开发的所有方面,包括硬件、软件和处理工程。软件工程只是它的一部分 什么是软件过程? 以软件开发和进化为目的的一系列活动 什么是软件生命周期? 软件生命全过程。分为可行性研究、需求分析、概要设计、详细设计、实现、组装测试、确认测试、使用和维护8 个阶段。 什么是软件过程模型? 从特定角度提出的软...