《软件工程方法与实践》—— 2.2 什么是软件过程

本节书摘来自华章出版社《软件工程方法与实践》一 书中的第2章,第2.2节,作者窦万峰,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.2 什么是软件过程

2.2.1 软件过程的定义

软件的诞生及其生命周期是一个过程,我们总体上称这个过程为软件过程。软件过程是为了开发出软件产品,或者是为了完成软件工程项目而需要完成的有关软件工程的活动,每一项活动又可以分为一系列的工程任务。任何一个软件开发组织,都可以规定自己的软件活动,所有这些活动共同构成了软件过程。
必须有科学、有效的软件过程才能获得高质量的软件产品。因此,科学、有效的软件过程应该定义一组适合于所承担的项目特点的任务集合。通常,一个任务集合包括一组软件工程任务、里程碑和应该交付的产品。事实上,软件过程是一个软件开发机构针对某一类软件产品为自己规定的工作步骤,它应当是科学的、合理的,否则必将影响软件产品的质量。
软件过程是一个为了构造高质量软件所需完成的一系列活动的过程框架,即形成软件产品的一系列步骤,包括中间产品、资源、角色及过程中采取的方法、工具等范畴。软件过程是指软件整个生存周期,从需求获取、需求分析、设计、实现、测试到发布和维护的一个过程模型。一个软件过程定义了软件开发中采用的方法,还包含该过程中应用的技术—技术方法和自动化工具。过程定义一个框架,为有效交付软件工程技术,这个框架必须创建。软件过程构成了软件项目管理控制的基础,并且创建了一个环境以便于技术方法的采用、工作产品(模型、文档、报告、表格等)的产生、里程碑的创建、质量的保证、正常变更的正确管理。

2.2.2 软件过程框架

过程的制度化需要过程框架的支持。框架是实现整个软件开发活动的基础,那些与过程有关的角色、职责的定义以及实现都离不开框架的支持。框架是一个十分重要的概念。通常,框架中的角色可以为过程活动的执行提供帮助与指导,并且为过程活动的实施与监控提供工具与渠道。
任何一个过程都应该包含两个方面的内容:一是组织及管理框架,这包括实现软件过程改进活动时所涉及的角色与职责;二是方法及工具框架,这包括实现过程活动自动化以及实现不同角色及其职责时所需的设备与工具。
对于软件过程,我们将软件过程框架定义为企业运行的基本框架,并且能对软件过程改进活动提供支持与帮助。
为了实现一个有效的软件过程环境,软件过程框架应当设置相应的角色与职责。这些角色和相应的职责还应涵盖软件过程中所有的关键领域。对于软件过程改进环境而言,一个有效的框架应包含两部分:一是组织、管理的角色和职责,二是技术环境。
软件过程框架定义了若干小的框架活动,为完整的软件开发过程建立了基础。软件过程框架还包括了一些适用于各个软件过程的普适性活动,主要包括:

  • 沟通:软件相关共利益者之间大量的交流和协作。
  • 计划:为软件开发工作制订计划。
  • 建模:创建软件开发所涉及的各种模型和设计方案。
  • 构建:编码和测试活动。
  • 部署:将软件部署到运行环境中,并交付给用户。
    《系统和软件工程 软件生存周期过程》(ISO/IEO 12207:2008)标准将一个系统的生存周期过程分为两大类:系统语境的过程和针对软件开发的过程。系统语境的过程类包括4个过程组,分别是协议过程组、项目过程组、技术过程组和组织上项目使能过程组。针对软件开发的过程类包括3个过程组,即软件实现过程组、软件支持过程组和软件复用过程组。这些过程组又分别包含一组过程和相关的一系列活动。表2-1给出了这些过程和活动以及任务数。


表2-1 软件过程内容
《软件工程方法与实践》—— 2.2 什么是软件过程
《软件工程方法与实践》—— 2.2 什么是软件过程
《软件工程方法与实践》—— 2.2 什么是软件过程
上一篇:《团队软件过程(修订版)》—第2章2.3节团队是什么


下一篇:Mac下IDEA写Servlet碰到的问题