background image

(7)软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

 

为了探寻摆脱 软件危机 的对策,北约的科技委员会提出了 软件工程 的概

念,并在之后的几十年中不断完善和提高,以下是 软件工程 的定义: 

软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行

软件的开发和维护的学科。  

软件工程包括两方面内容:软件开发技术和软件项目管理。  
软件开发技术包括软件开发方法学、软件工具和软件工程环境。

二、软件工程的三段论

如上所说软件工程是客服软件危机而提出的一种概念,并在实践中不断的探

索它的原理,技术和方法,在此过程中,人们研究和借鉴了工程学的某些原理和
方法,并形成了软件工程学。

软件工程活动是 生产一个最终满足需求且达到工程目标的软件产品所需要的

步骤 。这些活动主要包括开发类活动,管理类活动和过程类活动,在这里将它定

义为 软件工程的三段论 或者 软件工程的三线索 。一段论是 软件项目管理论 ,

二段论是 软件项目过程论 ,三段论是 软件过程的改进论 。这三段可以用一个三
角形表示,他们类似于相互支撑的三角形的三个边。我们知道三角形是最稳定的,
要保持三角形的稳定性,三角形的三个边必不可少,而且要保持一定的相互关系。

其中开发过程是软件人员生产软件的过程,例如需求分析,设计,编码,测

试等,相当于生产线上的生产过程。

管理过程是项目管理者规划软件开发,控制软件开发的过程,相当于生产线

上的管理过程,管理过程是伴随开发过程进行的过程。

过程改进,也就是维护,相当于对软件开发和管理过程的 工艺流程 进行管

理和改进,如果没有好的生产不出好的产品,它包括对开发过程和管理过程的定
义和改进。

为了保证软件管理,软件开发过程的有效性,应该保证这些过程的高质量和

过程的持续性改进和维护。

二、软件工程控制的重要性

软件工程的七条基本原理: 

1、 用分阶段的生命周期计划严格管理

   

有人经统计发现,在不成功的软件项目中有一半左右是由于计划不周造成的,

可见把建立完善的计划作为第一条基本原理是吸取了前人的教训而提出来的。  在
软件开发与维护的漫长的生命周期中,需要完成许多性质各异的工作。

这条基本原理意味着,应该把软件生命周期划分成若干个阶段,并相应地制

定出切实可行的计划,然后严格按照计划对软件的开发与维护工作进行管理 。
Boehm 认为,在软件的整个生命周期中应该制定并严格执行六类计划,它们是项
目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划,运行维护
计划。    不同层次的管理人员都必须严格按照计划各尽其职地管理软件开发与维
护工作,绝不能受客户或上级人员的影响而擅自背离预定计划。  

2、 坚持进行阶段评审

   

 当时已经认识到,软件的质量保证工作不能等到编码阶段结束之后再进行。

这样说至少有两个理由:第一,大部分错误是在编码之前造成的,例如,根据
Boehm 等人的统计,设计错误占软件错误的 63%,编码仅占 37%;第二,错误发