欢迎来到天天文库
浏览记录
ID:20704156
大小:57.00 KB
页数:7页
时间:2018-10-15
《软件开发方法97763》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3、系统开发的过程模型(1)瀑布模型(Waterfallmodel)由BarryBoehm于20世纪70年代年提出的,它是最早的系统开发模型,也被称为生命周期模型。模型将系统开发分为三个时期:规划时期、开发时期和运行时期,每个时期又分为若干个阶段。其开发过程可用下图表示。瀑布模型是连续无反馈的过程,其中,只有前一阶段工作完成以后,后一阶段工作才能开始。由于需要对每一个阶段进行验证,瀑布模型要求每一个阶段都有明确的文档产出,前一阶段的输出文档是后一阶段的输入文档,在该模型控制之下的开发工作就像瀑布的流水一样,一旦结束就不再重新开始。瀑布特性使后一阶段工作的
2、正确性以前一阶段工作正确无误为前提,因此该模型并不适合于需求不易确定或多变的软件项目的开发。此外,瀑布模型还存在其也一些不足,如严格的阶段划分和表示的形式不统一、基于文档的驱动等,这都给开发带来困难。虽然瀑布模型存在很多的问题有待解决,但瀑布模型仍然是最基本和非常有效的一种可供选择的系统开发模型。(2)快速原型开发原型(Prototype)是所开发系统的一个可执行模型或引导性版本,它可为用户和开发各阶段的人员提供系统的原始蓝本,它可能只是目标系统的一个式样,或只包含目标系统的某些功能,或仅仅是具有目标系统的一个结构。原型可以帮助得到系统需求,促进用户和系
3、统人员之间的有效交流。建造原型需要花费额外的开销,但是可以得到准确、完整的需求信息,有利于保证系统开发的速度和质量。原型的使用减少了需求分析的时间和调试阶段的工作量,所以成功的原型法可以降低开发的总成本。建立原型的主要步骤为:(1)确定需求:根据所要完成的任务,确定要建立何种原型,用原型来解决何种问题,以此来决定在构造原型时重点要验证及解决的问题及忽略的细节。(2)快速设计:在基本的需求分析的基础上,做必要的设计工作。(3)构造原型:用某种语言或原型开发工具实现原型,得到可执行的原型。(4)评价原型:通过运用原型,对所要解决的问题进行验证,并可以提出新的
4、要求,通过调整当前原型实现。(5)实现系统:将运行原型和评价原型所得的结果,运用到系统开发中,从而实现系统,得到所要开发的软件产品。(3)螺旋模型1988年,Boehm提出螺旋模型(SpiralModel),因在其指导下的开发呈现为一个螺旋式上升的过程而得名。它将瀑布模型和快速原型方法结合起来,强调了其他模型所忽视的风险分析。其过程如图1-5所示。螺旋模型的价值在于整个开发过程是迭代和风险驱动的。通过将瀑布模型的多个阶段转化到多个迭代过程中,以减少项目的风险。其中的每一次迭代都包含了以下六个步骤:(1)决定目标,替代方案和约束;(2)识别和解决项目的风险
5、;(3)评估技术方案和替代解决方案;(4)开发本次迭代的交付物和验证迭代产出的正确性;(5)计划下一次迭代;(6)提交下一次迭代的步骤和方案。(4)迭代增量模型迭代增量开发是一种渐进式的开发方法。其中的增量是指系统开发过程中,先开发基本功能。迭代是指开发采用多次重复开发的方式,每次递增地实现开发任务,直到最终产品被完成。在迭代方法中,系统的开发目标被分解成为一些更易于完成和达到的阶段性小目标,这些小目标都有一个定义明确的阶段性评估标准。迭代就是为了完成一定的阶段性目标而所从事的一系列开发活动。这些小目标形成一系列功能递增的软件版本,通过不断渐进的开发过程
6、,在循环往复中逐步完善软件系统统一过程(RationalUnifiedProcess,RUP)是实施迭代增量开发的一种方法,这种方法旨在利用面向对象技术应用于系统开发的所有过程,包括需求分析、系统分析、系统设计和系统升级维护等所有过程,使系统开发所有过程全面结合,最大限度适应用户不断变化的需求,达到软件系统开发的最大灵活性。统一过程不仅仅是一个过程,而且是一个通用过程框架。它往往采用可视化建模标准,如统一建模语言(UnifiedModelingLanguage,UML),通过用例驱动,以构架为中心,借助构架规划出每次迭代的内容和将要到达的目标,验证相关的
7、交付和产出。其实UseCase就是对系统功能的描述而已,不过一个UseCase描述的是整个系统功能的一部分,这一部分一定要是在逻辑上相对完整的功能流程。在使用UML的开发过程中,需求是用UseCase来表达的,界面是在UseCase的辅助下设计的,很多类是根据UseCase来发现的,测试实例是根据UseCase来生成的,包括整个开发的管理和任务分配,也是依据UseCase来组织的。统一过程中,系统开发生命周期根据时间和工作流划分为二维空间:横轴是时间维,表示开发生命周期的各个阶段,体现开发过程的动态结构,纵轴为开发中的工作内容,体现开发过程的静态结构,包
8、括统一过程的9个工作流,这9个工作流又可以分成“核心过程工作流”和“核心支持工作
此文档下载收益归作者所有