您的位置: 网站首页 > 公共课 > 计算机软件技术基础 > 第5章 软件开发基础 > 【5.2 软件工程技术】

5.2 软件工程技术

 

5.2  软件工程技术

521  有关的术语

1.软件危机

 

20世纪60年代末,由于计算机应用的普及,软件的数量、规模几复杂程度增加,原来个体化生产的方式使得软件的质量难以保证,开发、维护费用不断增加,并常常由于软件质量问题造成大量人力、物力浪费,软件开发陷入了不能自拔的恶性循环中。

2.软件工程

 

软件工程是为了解决“软件危机”,在计算机技术领域中出现的一门新兴学科,它主要研究软件生产方法学,认为软件开发应该是一种组织良好、管理严密、各类人员相互配合共同完成的工程项目。

3.软件生命周期

 

软件从产生、发展到淘汰的整个时期称为软件的生命周期。一般要经历定义、开发和维护三大阶段。

 

522  软件开发方法

 

软件开发方法很多 ,目前常用的有:

 

1.生命周期法

 

   这是最早采用的开发方法,它把软件的整个生命周期再细分为若干个阶段:

l     可行性论证   }     定义阶段    

l     需求分析

l     概要设计

l     详细设计           开发阶段

l     编码

l     测试

l     维护         }      维护阶段

每个阶段有相对独立的任务,对每个阶段规定了严格的标准,在每个阶段结束前,要进行严格的审查,合格后才能开始下一阶段工作。它使软件开发工作有条不紊地进行。

1)特点

l  开发的阶段性:每一阶段都以一个确认的工作告终,减少了每一阶段的不确定因素。

l  结构清晰、简单明了:开发中使用比较成熟的结构化分析(SA)、设计(SD)和编程(SP)方法,每个阶段有确认的评议及相应的文档,使开发人员及用户易于使用、维护。

2)问题

l  由于实际开发过程中用户不可能一开始就把需求描述清楚,因此开发过程中不可避免地会出现“回溯”现象,这与生命周期法的顺序、阶段性的开发方式有矛盾。

l  生命周期法只在开发初期的需求分析阶段与用户交流,以后各阶段均由开发人员完成,因此开发成的系统与用户的需求不一定完全符合,往往形成大返工。

l  开发周期长,容易使刚开发出来的软件迅速变为陈旧的。

 

2.快速原型法

 

快速原型法是根据被开发软件的基本需求快速构筑出一个能表现目标系统的功能和行为特性的原型,系统开发人员与用户可以通过对原型的操作、改进及确认最终达到建立系统的方法。

1)特点

l  提供了用户参与开发的环境,允许用户在系统开发过程中不断完善对系统的需求,密切了解开发人员和用户间的关系,同时整个开发过程也是用户接受培训的过程,对软件的维护有利。

l  快速原型法允许系统需求分析及设计多次反复,这种方法特别适合应用在用户需求不容易很快分析清楚的场合。

2)问题

l  频繁的需求变化,会使开发进度难以管理,花费人力、物力较多。

l  快速构筑原型的工具尚不理想,如高度模块化的可重用软件、非过程化语言、可作原型的程序库、共享数据库等。

 

3.         面向对象方法

 

面向对象方法改变了传统的结构化分析、设计中侧重对过程的处理,即主要按照系统的功能来进行模块划分,这样系统功能一旦有改变,就会影响系统的结构。面向对象方法认为系统中最稳定的部分是系统的对象,而客观世界就是由对象与对象之间相互联系和作用构成。

面向对象方法是以对象作为分析问题与解决问题的核心,以描述对象的数据结构作为它的静态特性,以作用于对象上的各种操作作为它的动态特性。

(1)       特点

l  可重用性   面向对象方法通常有包含各类基本对象的库和子库,基本对象可以被其他新系统重复使用,称为对象的继承性。

l  可维护性   对象类的结构比较稳定,当系统需要扩充时,可以保持系统的结构不变,比较容易维护。

l  开发过程的一致性   在整个开发过程中采用一致的表示方法(面向对象分析、设计、编程),加强了开发过程内在的一致性。

 

523  软件开发管理技术

 

   软件开发管理技术有下列四方面:

(1)       质量管理

(2)       计划管理

(3)       人员管理

(4)       文档管理