1、软件的生命周期
需求分析阶->设计–>开发–>测试–>维护–>升级–>废弃
2、软件开发模型
1)瀑布模型
①优点:
A、为项目提供了按阶段划分的检查点
B、当前阶段完成后,后续只要关注后面的阶段即可
C、可以再迭代模型中应用瀑布模型
②局限性:
A、在项目的各个阶段之间极少有反馈
B、只有在项目生命的后期才能够看到结果
C、通过过多的强制条件来完成日期和里程碑来跟踪各个项目阶段
2)V模型
①优点:明确的标明了测试过程化存在的不同级别,清楚的描述了测试阶段和开发过程期间各个阶段的对应关系
②局限性:
A、仅仅是把测试过程作为在需求分析、系统设计以及编码之后的一个阶段
B、忽略了测试对需求分析以及系统设计的重要性,有些问题直到后期的才被发现
3)W模型
①优点:
A、利于尽早的全面发现问题
B、需求测试时,也有利于及时了解项目难度以及测试风险,可以及早的制定应对措施,这将减少总体测试时间,从而加快项目进度
②局限性:将需求、设计、编码等活动视为串行的,同时,测试和开发活动保持着一种线性的前后关系,上一阶段完全结束后才正式开始下一阶段的工作,该模型无法支持迭代。对于软件开发复杂多变的情况,该模型不能接触测试管理面临的困惑
4)敏捷开发模型
①优点:以客户为核心、迭代、循序渐进的开发方法;让产品接触市场,快速纠错
②局限性:注重了人员的沟通,但在一定程度上忽略了文档的重要性