为了更加了解项目以及对测试提高更高的要求,需要简单的了解软件研发模型,不作深入讨论,软件研发模型是软件生产过程中分析、设计、研发活动所遵循的框架模式。不同的项目团队在不同的业务背景下,采用合适的研发模型将会提高软件研发效率,降低研发成本,提高产品质量。

一个常见的软件研发活动包括需求分析、概要设计、详细设计、编码、集成、联调等多个环节,依据某个研发模型框架,定义每个人活动可度量输入输出,项目团队应关注到研发活动可能存在的错误,及时调整、优化,从而保证产品或项目的研发成功率。
目前较为流行的研发模型有瀑布模型、原型模型、螺旋模型、RUP模型和敏捷模型。
瀑布模型
瀑布模型将软件生命周期分为计划、需求分析、设计、编码、测试与运行着六个基本活动阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
模型优缺点
瀑布模型有以下优点
1)为项目提供了按阶段划分的检查点。
2)当前一阶段完成后,您只需要去关注后续阶段。
3)可在迭代模型中应用瀑布模型。
4)它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
瀑布模型有以下缺点
1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
4)瀑布模型的突出缺点是不适应用户需求的变化。
原型模型
原型模型是在瀑布模型基础上演进的一种较为先进的研发模型,在瀑布模型需求分析阶段多了评价评审,差异看图就能明白。
快速原型模型优缺点编辑优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。
敏捷模型
敏捷软件开发又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。
敏捷开发技术的几个特点
1.个体和交互胜过过程和工具
2.可以工作的软件胜过面面俱到的文档
3.客户合作胜过合同谈判
4.响应变化胜过遵循计划
优势:
敏捷确实是项目进入实质开发迭代阶段,用户很快可以看到一个基线架构版的产品。敏捷注重市场快速反应能力,也即具体应对能力,客户前期满意度高。
劣势:
但敏捷注重人员的沟通,忽略文档的重要性,若项目人员流动大太,又给维护带来不少难度,特别项目存在新手比较多时,老员工比较累。需要项目中存在经验较强的人,要不大项目中容易遇到瓶颈问题。


还没有评论,来说两句吧...