第一章 概述
学习目标
- 什么是软件工程,为什么它很重要
- 开发不同类型的软件系统可能需要不同的软件工程方法
- 道德和职业问题对于软件工程的重要性
现代社会离不开软件。软件是抽象的,因此软件工程得以简化,软件的潜能不受物理因素的限制。但由于缺乏自然约束,软件系统也容易变得极为复杂、理解困难、价格高昂。
软件失败的原因
- 不断增长的需求:用户需求随着系统的构建而不断改变。
- 期望值太低:不使用软件工程将导致实际费用高且不可靠。
1.1 专业化软件开发
软件工程的目的是支持专业化的软件开发,而非个体编程。软件工程支持程序描述、设计和进化的相关技术,这些并非个体软件开发所需。
软件工程常见问题
软件包括程序和所有使程序正常运行所需要的相关文档和配置信息。这是专业软件开发与业余软件开发的一个重要区别。
软件产品有两类
- 通用软件产品