一、开发模型
1.瀑布模型
每一个阶段都只执行一次,适用于稳定的项目;风险往往迟至后期的测试阶段才显露。
2.螺旋模型
适用于需求明确有一定风险的项目
3.增量模型和迭代模型
增量∶第一周 完成AB模块 第二周完成CD模块;
迭代∶第一周完成A BC D四个功能模块的基础功能,第二周A BC D四个功能模块功能的升级和细化。
4.敏捷模型:强调迭代,每一个迭代中也是一个完整的软件开发周期;降低开发风险,随时都可以根据需求变动。
(1)敏捷教练特点∶
一是轻文档,轻流程,重目标,重产出;二是拥抱需求变化
(2)敏捷流程 Scrum 角色∶
PO(product owner):客户的代表方,整理客户需求,形成user story
SM(scrum master):项目经理,管理整个开发流程,保证敏捷开发流程的顺利实施。
ST(Scrum Team)研发团队:各种技能人员组成,开发,测试,目标是交付一个高质量可用软件。
(3)敏捷流程:
1)发布计划会议∶PO整理需求,形成user Story,所有的user Story会形成 product backlog,对user story 进行排序,选出这一次迭代需要做的user story。
2)迭代计划会议∶SM ST 细化需求,分配任务,具体到任务完成的具体的时间。
3)开发过程中的每日站会:三件事,昨天做了什么,今天的计划,以及遇到的问题;
4)产品演示会议:客户会根据演示的结果会提出一些修改意见,由产品经理记录,整理成user story,放到下一期迭代。
5)回顾会议∶总结
二、测试模型
1.v模型
前期问题后期才能发现(瀑布模型变种)
优点∶左边的每一个阶段和右边每一个阶段——对应,左边的每一个阶段是右边每一个测试阶段的依据。
缺点∶测试介入晚,会失去前期错误及时纠正的机会;每一个阶段是一个单一串行的过程,不能适应需求的变化,无法应用到敏捷开发。
2.w模型
双v模型,测试与开发的并行关系
优点:测试进入比较较早,前期的风险可以及时发现,及时纠正。
缺点:不能够适应需求变化,无法进行敏捷开发。