background image

(6) 健壮性:不受意外发生问题的干扰。
(7) 可维护性:过程可以根据开发组织的需求的改变而改进。
(8) 高效率:从给出软件规格说明起,就能够较快地完成开发而交付使用。

2.2 软件过程的思维

 什么是过程思维

过程思维就像是一种宗教信仰,无论你相信与否,它都会对你传统的思维方式形成挑战,并试图

加以改变。

过程思维会使大家保持行为的一致,从而实现整体能力的提升,并获得更佳的效果。
过程思维,从某种意义上讲,反映了人类的大脑对知识与经验的保存及其使用方式。是一种自然的

思维方式。

 什么是过程

从字面上,过程又很多种不同的定义。如活动与操作的集合;用于产生及软件进化的一系列的活动、

方法和实践;对于一个特定的目标所完成的一系列的操作步骤(例如软件开发过程);通过一种或多
种输入产生对用户有价值的输出的一系列活动的集合等等。

以上的定义之所以会各不相同,是因为它们各自的关注点不同。这些定义无一例外地强调了过程的

某一方面而忽略了其他方面。过程事实上有以下

3 个方面的特征。

1  

) 过程应被定义,通常是将过程所包含的活动及程序文档化;

2  

) 应将关于过程的知识传授给需要执行过程的每一个人;

3  

) 让过程的知识深入的每个执行者的头脑中去,并以此驱动他们的行为与活动,就像产品的

形成是经过一系列的工序处理后的结果一样,通过执行过程中的活动才能获得最终的过程结果

[5]

为了实现特定目标,所做的行为、活动及任务也可以反映出为实现目标所采用的目标的特点。一个

规范化的过程可以按顺序被加以细分,并且有统一活动模式,这一点无论是针对个体还是团队都是有
效的。针对特定的状态或者为实现特定的任务,过程定义了活动或事件发生时的响应方式。
2.3 软件工程过程模型

在一个具体的实际工程活动中,软件工程师必须设计、提炼出一个工程开发策略,用以覆盖软件过

程中的基本阶段,确定所涉及的过程、方法、工具。这种策略常被称为 软件工程过程模型 。

在软件工程实践中,过程模型比较流行的有:瀑布模型、原型模型、快速应用开发模型、增量模型、

螺旋模型、形式化方法模型、

RUP  

Rational Unified Process )模型、敏捷过程模型、构件组装模型、

并发开发模型等等。

” “

” “

过程模型的共性:一般都包含 定义(或计划) 、 开发 和 维护

3 类活动。定义活动主要弄清软

件 做什么 ;开发活动集中解决让软件 怎么做 ;维护活动则聚集于软件的 修改 ,即

What-How-

Change”

瀑布模型(也称线性顺序模型或软件生存周期模型),是

W.Royce 在 1970 年提出的。瀑布模型

遵循软件生存期的划分,明确规定各个阶段的任务,各个阶段的工作自上而下、顺序展开,如同瀑布流
水,逐级下落。

瀑布模型把软件生存周期划分为计划时期(或定义时期)、开发时期和运行时期。这三个时期又分

别细分为若干个阶段。参看图

2.2-1。

2