基本概念
软件工程是指导计算机软件开发和维护的一门工程学科,将合理的管理技术和前沿的技术方法结合起来,经济地开发出高质量的软件并有效地维护。
软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。
——1993年IEEE对软件工程的定义
软件工程具有的本质特性:
-
软件工程关注于大型程序的构造
-
软件工程的中心课题是控制复杂性
- 控制复杂性的方法是“分而治之”
-
软件经常变化
-
开发软件的效率非常重要
-
和谐地合作是开发软件的关键
-
软件必须有效地支持它的用户
-
在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品
基本原理
-
用分阶段的生命周期计划严格管理
-
坚持阶段评审
-
实习严格品控
-
采用现代程序的设计技术,如面向对象
-
结果应能清除地审查
-
开发小组成员少而精,从而减少额外的沟通成本
-
承认不断改进软件工程实践的必要性
方法论
软件工程开发基本分为三个步骤:方法、工具、过程。
-
方法:软件开发中应用的开发技术,如传统顺序式开发,面向对象技术等
-
工具:软件开发过程中,支持开发的半自动或自动开发环境
-
过程:整个开发周期中,各项任务的工作步骤,是开发工程的基本工作框架