软件开发模型
在历史上,软件开发模型经历了“边做边改”、瀑布、原型、螺旋、敏捷等模式的变更。
一、瀑布模型:计划→需求分析→设计→编码→测试→运行维护
特点:
1.软甲开发的各项活动严格按照线性方式进行
2.当前活动接受上一项活动的工作结果
3.当前活动的工作结果需要进行验证
缺点:
- 由于开发模型是线性的,增加了开发的风险
- 早期的错误可能要等到开发后期的阶段才能发现
二、原型模型:客户与开发公司紧密联系,开发周期长。开发会受到需求变更的影响。
特点:
1.实现客户与系统的交互
2.进一步细化待开发软件需求
3.开发人员可以确定客户的真正需求是什么
三、螺旋模型:制定计划→风险分析→实施工程(需求确认、软件需求。软件产品设计、设计确认与认证、详细设计、开发、测试)→客户评估
特点:
1.螺旋模型是将瀑布模型与快速模型结合起来
2.强调了其他模型所忽视的风险分析
3.每一次螺旋包括4个步骤:制定计划、风险分析、实施工程、客户评估
缺点:强调风险分析,但要求许多客户接受并相信这种分析,是不容易的
四、敏捷模型:敏捷开发是一种以人为核心、迭代、循序渐进的开发方法
特点:
1.短周期开发
2.增量开发
3.由程序员和测试人员编写的自动化测试来监控开发进度
4.通过口头沟通、测试和源代码来交流系统的结构和示意图
5.编写代码之前先写测试代码,也叫做测试先行
缺点:
1.团队的组建较难,人员素质要求较高
2.对测试人员要求完全掌握各种脚本语言编程,能执行单元测试、自动化测试