前言
学习软件开发的五个模型,充分了解开发过程,更好的完成测试。
一、瀑布模型
-
瀑布模型在软件工程中占有重要地位,是所有其他模型的基础框架。瀑布模型的每一个阶段都只执行一次,因此是 线性顺序进行的软件开发模式。
-
优点:
- 每一个阶段都比较独立,强调早期计划及需求调查;
- 强调产品测试;因为测试是产品质量的最后一道把关,如果有问题,就会直接展示给客户;
-
缺点:
- 串行,有去无回,测试介入晚,导致项目前期的问题后面才发现,失去了错误及时修改;
- 不支持需求频繁变动的项目;
二、螺旋模型
-
一般在软件开发初期阶段需求不是很明确时,采用渐进式的开发模式。螺旋模型是渐进式开发模型的代表之一。 这对于那些规模庞大、复杂度高、风险大的项目尤其适合。
-
优点:
- 每个迭代都做风险分析,讨论项目是否有价值继续;
- 强调各开发阶段的质量,一个项目分了很多层小迭代;
- 适用于风险比较大并且整个项目也比较庞大
-
缺点:
扫描二维码关注公众号,回复: 13584368 查看本文章- 风险分析要求比较高,需要投入专业的人 员,导致时间、项目支出费用会比较高;
- 风险分析对测试人员和开发人员要求比较高;
三、 增量模型
- 例如:四周时间开发系统的A模块,B模块,C模块,D模块的功能;第一周完成A模块;第二周完成B模块;第三周完成C模块;第四周完成D模块;
四、迭代模型
- 如上例子描述,第一周完成A、B、C、D四个模块的基础框架部分;第二周完成基础功能的开发和测试;第三周进一步开发复杂的功能;第四周完善细节;
五、敏捷开发模型(常用)
- 特点:
- 重目标、重产出、轻文档、轻流程;
- 注重和客户的沟通,整个研发团队有效沟通,注重产品的质量,注重产品规定的交付日期;(拥抱变化,客户可以在项目开发过程中改变需求)
- 敏捷开发周期很短(1~4周时间),团队研发人员少;
- 举例说明:Scrum流程:
- 角色:
-
PO(product Owner)产品经理:负责整理用户需求,形成userstory;
-
SM(scurm Master)项目经理:负责保证整个敏捷开发流程的顺利实施,开发和各种协调等;
-
ST(scrum team)研发团队,负责整个项目的研发,各种技能的人组成,测试、开发、UI设计等;
-
发布计划会:产品经理需求整理成userstory,形成product backlog,会议上讨论userstory的重要性排版,决定本期迭代要开发的userstory;
-
迭代计划会议:研发团队确认迭代任务,分解userstory,将userstory分解成为一个个的任务,确定任务完成的时间,具体的人员等;
-
每日站会:(重点在于总结和解决出现的问题,以及了解整个研发的进展)解决三个问题:昨天完成了什么?解决了什么问题?今天的计划;
-
产品展示会议:给客户和Boss演示产品研发的成果,PO整理后形成新的userstory,放到下一次的迭代中;
-
项目总结:总结这个迭代的优缺点,不足的改进,优化这个敏捷开发流程;
-
- 角色: