1
 软件工程
1.4.2 2.2 软件过程概念

2.2 软件过程概念

软件过程是在软件工程发展到一定阶段时,传统的软件工程难以解决愈发复杂的软件开发问题而提出的新的解决办法,它使软件工程环境进入了过程驱动的时代。软件过程有效地推动了软件开发的高速发展。

软件过程也称为软件生存周期过程或软件过程组,是指软件生存周期中的一系列相关过程。过程是活动的集合,活动是任务的集合,任务则起到把输入加工成输出的作用。活动的执行可以是顺序的、迭代的(重复的)、并行的、嵌套的或是有条件引发的。

软件过程涉及软件生存周期中相关的过程与活动,其中“活动”是构成软件过程的最基本的成分之一。此外,软件开发是由多人分工协作并使用不同的硬件环境和软件环境来完成的,软件过程还包括支持人与人之间进行协调与通信的组织结构、资源及约束等因素。因而,过程活动、活动中所涉及的人员、软件产品、所有资源和各种约束条件是软件过程的基本成分。

软件生存周期的各个过程可以分成3类,即主要生存周期过程、支持生存周期过程和组织的生存周期过程,开发机构可以根据具体的软件项目进行剪裁。

1.主要生存周期过程

主要生存周期过程包括5个过程,供各当事方在软件生存周期期间使用。相关的当事方有软件的需求方、供应方、开发者、操作者和维护者。主要生存周期过程如下。

(1)获取过程:确定需求方和组织向供应方获取系统、软件或软件服务的活动。

(2)供应过程:确定供应方和组织向需求方提供系统、软件或软件服务的活动。

(3)开发过程:确定开发者和组织定义并开发软件的活动。

(4)操作过程:确定操作者和组织在规定的环境中为其用户提供运行计算机系统服务的活动。

(5)维护过程:确定维护者和组织提供维护软件服务的活动。

2.支持生存周期过程

支持生存周期过程包括8个过程,其目的是支持其他过程,有助于软件项目的成功和质量的提高。

(1)文档编制过程:确定记录生存周期过程产生的信息所需的活动。

(2)配置管理过程:确定配置管理活动。

(3)质量保证过程:确定客观地保证软件和过程符合规定的要求及已建立的计划所需的活动。

(4)验证过程:根据软件项目要求,按不同深度确定验证软件所需的活动。

(5)确认过程:确定确认软件所需的活动。

(6)联合评审过程:确定评价一项活动的状态和产品所需的活动。

(7)审核过程:确定为判断符合要求(计划)和合同所需的活动。

(8)问题解决过程:确定一个用于分析和解决问题的过程(包括不合格的内容)。

3.组织的生存周期过程

组织的生存周期过程包括4个过程,它们被一个软件组织用于建立和实现构成相关生存周期的基础结构和人事制度,并不断改进这种结构和过程。

(1)管理过程:确定生存周期过程中的基本管理活动。

(2)建立过程:确定建立生存周期过程中的基础结构的基本活动。

(3)改进过程:确定一个组织为建立、测量、控制和改进其生存周期过程所需开展的基本活动。

(4)培训过程:确定提供经适当培训的人员所需的活动。

每个开发机构都可以定义自己的软件过程,同一个开发机构也可以根据项目的不同采用不同的软件过程。

就一个特定的软件项目而言,软件过程可被视为开展与软件开发相关的一切活动的指导性的纲领和方案,因而软件过程的优劣对软件能否成功开发起决定作用。另外,工程组织是否合理、相互的协作是否紧密也是项目能否成功的关键。