??在了解软件的开发模型之前。我们先来介绍一下软件生命周期。
软件生命周期是指从软件产品的设想开始到软件不再使用而结束的时间,软件的生命周期可以分为6个阶段:需求分析、计划、设计、编码、测试、运行维护。
软件的开发模型
软件的开发模型共有四类:
- 瀑布模型;
- 螺旋模型;
- 增量、迭代模型;
- 敏捷开发;
瀑布模型
瀑布模型是其他所有模型的基础框架,它的每一个阶段只执行一次,它是线性顺序进行的软件开发模式;它在软件工程中占有重要地位。
优点:
- 强调开发的阶段性;
- 强调早期计划及需求调查;
- 强调产品测试;
缺点:
- 依赖于早期进行的唯一一次需求调查,不能适应需求的变化;
- 是单一流程,开发中的经验不能反馈应用于本产品的过程;
- 风险往往在后期的测试阶段才能显现出来,失去了最早纠正的机会,给项目带来了很大的风险。
螺旋模型
螺旋模型采用渐进式的开发模式,一般在软件开发初期阶段需求不是很明确时。
适合于规模大、复杂度高、风险大的项目,这样的迭代模式对软件测试带来了新的要求,他不允许有一段独立的测试时间和阶段,测试必须跟随开发的迭代而迭代。
优点:
- 强调严格的全过程风险管理;
- 强调各开发阶段的质量;
- 提供机会检讨项目是否有价值继续;
缺点:
- 引入非常严格的风险识别、风险分析和风险控制,这对风险管理的技能水平提出了很高的要求;
- 需要人员、资金和时间的投入;
增量、迭代模型
增量开发模型,在每个迭代过程中,促使开发小组以一种循环的、可预测的方式驱动产品的开发,增量开发能够显著降低项目的风险,构成了当今流行的软件工程最佳实践之一。
迭代意味着每一次的迭代都可能会有新的需求的更改,意味着测试人员与开发人员更加密切的进行协作。
增量通常和迭代混为一谈,增量是逐块建造的概念,而迭代是精益求精的概念。
敏捷开发
敏捷开发有一定的渊源,而在这一开发的形成过程中又形成了如下价值观:
个体与交互重于过程和工具
可用的软件重于完备的文档
客户协作重于合同的谈判
响应变化量重于遵循计划
在每对比中,后者并非全无价值,但我们更看重前者
敏捷开发有很多的方式,而scrum是比较流行的一种,
scrum
scrum的角色
由产品经理、项目经理和研发团队组成
- 其中产品经理负责整理用户故事、定义其商业价值、对其进行排序、制定发布计划、对产品进行负责;
- 项目经理负责召开各种会议,协调项目、为研发团队进行服务;
- 研发团队则有不同技能的成员组成,通过紧密协同,完成每一次的迭代产品,交付产品。
scrum的基本流程

scrum的基本流程详解大家可以参考这里的讲解
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!