欢迎来到天天文库
浏览记录
ID:59129511
大小:37.35 KB
页数:5页
时间:2020-09-12
《软件过程模型的优缺点对比.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件过程模型的比较瀑布模型瀑布模型(经典生命周期)提出了软件开发的系统化的、顺序的方法。其流程从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供一个完整的软件并提供持续的技术支持。优点:1.强调开发的阶段性,各阶段具有顺序性和依赖性2.强调早期调研和需求分析,推迟编码实现的观点3.提供了一个摸板,这个摸板使得分析、设计、编码、测试和支持的方法可以在该摸板下有一个共同的指导缺点:1.文档驱动,用户无法及时了解产品的情况2.依赖早期调研和需求分析,很难适应在许多项目开始阶段必然存在的不确定性。3.流程单一,必须要完成前一阶段的任务
2、,才能进行下一阶段,开发过程中的成功经验无法用于本产品。4.测试在后期引入,对于系统存在的重大缺陷,如果在可执行程序评审之前没有被发现,将可能造成重大损失。5.组织庞大,人员闲置。适用范围:需求确定,工作能够采用线性的方式完成的软件。增量过程模型增量过程模型包括增量模型、RAD模型。(一)增量模型增量过程模型以迭代的方式运用瀑布模型,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。使用增量模型时,第一个增量往往是核心功能。优点:1.能在较短的时间内向用户提交可完成部分工作的产品
3、。2.逐步增加产品功能可以使用户有充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。3.规避技术风险4.可并行开发构件,加快开发的进度缺点:1.没有考虑软件的整体质量和长期的可维护性。2.大部分情况是不合适的操作算法被采用目的为了演示功能,不合适的开发工具被采用仅仅为了它的方便,还有不合适的操作系统被选择等等。3.由于达不到质量要求产品可能被抛弃,而采用新的模型重新设计适用范围:项目在既定的商业要求期限之前不可能找到足够的开发人员;(二)RAD模型RAD模型是一种侧重于短暂的开发周期的增量软件过程模型,它是瀑布模型的
4、“高速”变体,通过基于构建的构建方法实现快速开发。开发团队能够在非常短的时间内创造出“全功能系统”优点:1.开发速度快,质量有保证。2.对信息系统特别有效。缺点:1.对于大型的可伸缩的项目,RAD需要大量的人力资源来创建多个相对的独立的RAD团队2.如果开发者和用户没有为短时间内急速完成整个系统做好准备,RAD项目将会失败。3.如果一个系统不能合理的模块化,RAD构件建立会有很多问题。4.如果系统需求是高性能,并且需要通过调整构件接口的方式来提高性能,不能采用RAD模型5.技术风险很高的情况下适用范围:1、不适合技术风险很高的开发,不适合系统
5、需求是高性能,并且需要通过调整构件接口的方式来提高性能的产品开发。2、适用于工期紧张,又可细分功能,还要有合适的构件演化过程模型演化过程模型包括原型开发,螺旋模型,协同开发模型。(一)原型开发从需求收集开始,开发者和客户在一起定义软件的总体目标,标识已知的需求并且规划出需要进一步定义的区域。然后是“快速设计”,它集中于软件中那些对客户可见的部分的表示,这将导致原型的创建,并由客户评估并进一步精化待开发软件的需求。逐步调整原型使其满足客户的需求,这个过程是迭代的。其流程从听取客户意见开始、随后是建造/修改原型、客户测试运行原型、然后回头往复循环
6、直到客户对原型满意为止。由于这种模型可以让客户快速的感受到实际的系统(虽然这个系统不带有任何质量的保证),所以客户和开发者都比较喜欢这种过程模型(对于那些仅仅用来演示软件功能的公司而言或从来不考虑软件质量和不害怕长期维护的公司而言)。优点:1、能让人(开发者或客户)很快见到产品,有成就感。2、能渐进地启发客户提出新的要求或任务。缺点:1、没有考虑软件的整体质量和长期的可维护性。2、大部分情况是不合适的操作算法被采用目的为了演示功能,不合适的开发工具被采用仅仅为了它的方便,还有不合适的操作系统被选择等等。3、由于达不到质量要求产品可能被抛弃,而
7、采用新的模型重新设计。(二)螺旋模型螺旋模型是一种演进式软件过程模型,结合了原型的迭代性质和瀑布模型的系统性和可控性的特点,具有快速开发越来越完善软件版本的潜力。开发步骤:沿螺线自内向外,每旋转一圈便开发出更为完善的一个新的软件版本。例如,在第一圈,确定了初步的目标、方案和限制条件以后,转入右上象限,对风险进行识别和分析。如果风险分析表明,需求有不确定性,那么在右下的工程象限内,所建的原型会帮助开发人员和客户,考虑其它开发模型,并对需求做进一步修正。客户对工程成果做出评价之后,给出修正建议。在此基础上需再次计划,并进行风险分析。在每一圈螺线上
8、,风险分析的终点做出是否继续下去的判断。假如风险过大,开发者和用户无法承受,项目有可能终止。多数情况下沿螺线的活动会继续下去,自内向外,逐步延伸,最终得到所期望的系
此文档下载收益归作者所有