软件开发的生命周期:
需求分析-计划-设计-编码-测试-运行维护
开发五大模型
瀑布模型
特点:
缺点:
螺旋模型
适合项目庞大,复杂,风险性高的项目
特点:
缺点:
增量模型,迭代模型
抗风险能力比较强
敏捷模型
特点:轻文档,轻流程,重目标,重产出,响应变化
敏捷开发有很多种方式,其中scrum是比较流行的一种。
scrum
scrum里面的角色
- scrum由product owner(产品经理)、scrum master(项目经理)和team(研发团队)组成。
- 其中product owner负责整理user story(用户故事),定义其商业价值,对其进行排序,制定发布 计划,对产品负责。
- scrum master 负责召开各种会议,协调项目,为研发团队服务。
- 研发团队则由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品。
迭代开发
与瀑布不同,scrum将产品的开发分解为若干个小sprint(迭代),其周期从1周到4周不等,但不会超过4 周。参与的团队成员一般是5到9人。每期迭代要完成的user story是固定的。每次迭代会产生一定的交付。
测试两大模型
软件测试V模型
特点:
-
左边每一个阶段和右边的阶段一一对应
-
左边的每个阶段是右边测试每一个阶段的依据
缺点:
-
测试在编码之后进行
-
测试介入晚,前期的问题才发现导致前期问题不能及时解决
软件测试W模型
双W模型
特点:
-
开发一个V,软件测试一个V
-
软件开发的过程和软件测试同步进行保证项目前期的问题能够及时被发现串行
缺点:
- 不支持敏捷开发