一、软件工程概念的提出与发展
1、软件工程的定义
软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度满足用户要求的软件产品的工程,或以此为研究对象的学科。
2、软件工程的发展
软件工程的发展大体可以分为两个时期:
① 20世纪60年代末到80年代初
这一时期主要围绕软件项目,开展了有关开发模型、开发方法和支持工具的研究。主要成果体现为:提出了瀑布模型,试图为开发人员提供有关活动组织方面的指导;开发了诸多过程式语言(如C语言等)和开发方法(如结构化方法、Jackson方法等),试图为开发人员提供好的需求分析和设计手段,并开发了一些支持工具(如测试工具等);开始出现各种管理方法(如费用估算、文档审核等),开发了一些相应的支持工具(如计划工具、配置管理工具等)。
这一时期的主要特征是:前期主要研究系统实现技术,后期则开始关注软件质量和软件工程管理。
② 20世纪80年代以来
这一时期的主要成果是提出了《软件生存周期过程》等一系列软件工程标准;大力开展了计算机辅助软件工程的研究和实践,各类CASE产品相继问世;在工程技术方面,出现了最引人注目的面向对象语言(如C++),提出了面向对象软件开发方法;在工程管理方面,开展了一系列过程改进项目。
这一时期的主要特征是:在软件产业的实践中,建立一种量化的评估程序,判定软件组织和过程的成熟度,提高组织的过程能力。