软件工程第二章-软件过程
- 格式:pdf
- 大小:2.75 MB
- 文档页数:83
第二章:软件过程目标:软件工程和软件过程模型的概念;了解3个一般的软件过程模型及何时使用它们;了解软件需求工程,软件开发,测试和进化中所涉及的基本过程活动;理解为什么软件过程要有效地组织以应对软件需求和设计上的变更;了解Rational统一过程是如何集成好的软件过程实践来产生一个可适应的软件过程。
所有的软件过程都必须具有4种对软件工程来说是基本的活动。
它们是:1.软件描述:必须定义软件的功能以及软件操作上的约束。
2.软件设计和实现:必须生产符合描述的软件。
3.软件有效性验证:软件必须得到有效性验证,即确保软件是客户所想要的。
4.软件进化:软件必须进化以满足不断变化的客户需要。
2.1软件过程模型一软件过程模型一般有1.瀑布模型:该模型将基本的过程活动,描述,开发,有效性验证和进化,看成是一些界限分明的独立的过程阶段,例如,需求描述阶段,软件设计阶段,实现阶段,测试阶段,等等。
2.增量式开发:该方法使得描述活动,开发活动和有效性验证活动交织在一起。
系统的开发是建立一系列的版本(增量),每个版本添加部分功能到先前的版本中。
3.面向复用的软件工程:该方法使得描述活动,开发活动和有效性验证活动交织在一起。
系统开发过程着重于集成这些组件到新系统中,而非从头开发。
2.1.1瀑布模型一瀑布模型中的主要阶段直接映射基本的开发活动:1.需求分析和定义2.系统和软件设计3.实现和单元测试4.集成和系统测试5.运行和维护二适合采用瀑布模型的时候瀑布模型是与其他工程过程模型相一致的,在它的每个阶段都要生成文档。
这使得过程是可见的,项目经理能够根据项目计划监控项目的过程。
它的主要问题在于它将项目生硬地分解成这些清晰的阶段。
关于需求的责任和义务一定要在过程的早期阶段清晰界定,而这又意味它对用户需求变更的响应较困难。
所以只有在对需求了解的好,而且在系统开发过程中不太可能发生重大改变的时候,适合采用瀑布模型。
瀑布模型的一个重要变形是形式化系统开发。
第二章软件过程二.一软件过程概述•软件地诞生与生命周期是一个过程,我们总体上称这个过程为软件过程。
软件过程是为了开发出软件产品,或者是为了完成软件工程项目而需要完成地有关软件工程地活动,每一项活动又可以分为一系列地工程任务。
任何一个软件开发组织,都可以规定自己地软件过程,所有这些过程同构成了软件过程•过程定义了运用方法地顺序,应该付地文档资料,为保证软件质量与协调变化所需要采取地管理措施,以及标志软件开发各个阶段任务完成地里程碑。
通常,使用生命周期模型简洁地描述软件过程。
生命周期模型规定了把生命周期划分为哪些阶段及各个阶段地执行顺序,因此也称为过程模型•二.二.一 软件生命周期地概念•软件产品地生命周期是指从设计该产品地构想开始,到软件需求地确定,软件设计,软件实现,产品测试与验收,投入使用以及产品版本地不断更新,到最终该产品被市场淘汰地全过程。
•软件生命周期这个概念从时间地角度将软件地开发与维护地复杂过程分解为了若干个阶段,每个阶段都完成特定地相对独立地任务。
•二.二.二 传统软件生命周期地各个阶段•在传统地软件工程,软件产品地生命周期一般可以划分为六个阶段,如图所示。
传统地软件生命周期在软件工程,们通过建立抽象地软件开发模型,把软件生命周期地各个活动或步骤安排到一个框架,将软件开发地全过程清晰且直观地表达出来。
常见地软件开发模型有很多种,这里主要介绍瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,基于组件地开发模型,统一软件开发过程模型以及敏捷模型与极限编程。
•二.三.一瀑布模型瀑布模型是一种线地开发模型,具有不可回溯。
开发员需要等前一阶段地任务完成后,才能开始行后一阶段地工作,并且前一阶段地输出往往就是后一阶段地输入。
由于其不可回溯,如果在软件生命周期地后期发现并要改正前期地错误,那么需要付出很高地代价。
传统地瀑布模型是文档驱动地。
如图所示。
•二.三.一瀑布模型•瀑布模型地优点是过程模型简单,执行容易;缺点是无法适应变更。