第2章软件过程
软件工程过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件生命周期的基本任务 z
瀑布模型
快速原型模型
增量模型
螺旋模型
喷泉模型
退出
软件生命周期的基本任务
概括地说,软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又可进一步划分成若干个阶段。
下面简要介绍上述各个阶段应该完成的基本任务。
问题定义阶段必须回答的关键问题是:“要解决的问题是什么”。
这个阶段要回答的关键问题是:“上一个阶段所确定的问题是否有行得通的解决办法”。
这个阶段的任务仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问题。
这个阶段的另外一项重要任务,是用正式文档准确地记录对目标系统的需求,这份文档通常称为规格说明(specification)。
这个阶段的基本任务是,概括地回答“怎样实现目标系统?”这个问题。概要设计又称为初步设计、逻辑设计、高层设计或总体设计。
首先,应该设计出实现目标系统的几种可能的方案。
概要设计的另一项主要任务就是设计程序的体系结构,也就是确定程序由哪些模块组成以及模块间的关系。
概要设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解法具体化,也就是回答“应该怎样具体地实现这个系统”这个关键问题。这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。
这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。
这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。
维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。
通常有四类维护活动:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件为将来的维护活动预先做准备。
在实际从事软件开发工作时,软件规模、种类、开发环境及开发时使用的技术方法等因素,影响阶段的划分。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。
瀑布模型
在20世纪80年代之前,瀑布模型一直是唯一被广泛采用的生命周期模型,现在它仍然是软件工程中应用得最广泛的过程模型。。
按照传统的瀑布模型来开发软件,有如下几个特点。
(1) 阶段间具有顺序性和依赖性
(2) 推迟实现的观点
清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条重要的指导思想。
传统的瀑布模型
(3) 质量保证的观点
· 每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。
· 每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。
实际的瀑布模型是带“反馈环”的,(图中实线箭头表示开发过程,虚线箭头表示维护过程)。当在后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品之后再回来继续完成后面阶段的任务。
实际的瀑布模型
北邮软件工程课件第2章_软件过程 来自淘豆网m.daumloan.com转载请标明出处.