软件开发模型
文章目录
前言
此文章是用来学习总结、复习使用的
软件开发模型
软件开发生命周期模型是软件产品从最初构思到退役的过程中,了解开发能够更好的有针对性的做好测试。
常见的开发模型
1.大爆炸模型
1.1直接冲过河去的模型
一大堆东西(人力和资金)放在一起,巨大能量释放,要么产生了优秀的产品,要么产生一堆废品
- 特点
- 是最简单的软件开发模式,计划、进度安排和正规开发过程都几乎没有,所有精力都花在开发软件和编写代码上
- 一般,该模型基本没有测试,即使有也要集中在产品发布前,通常都避免在此模式下进行测试
2.边写边改模型
2.1.摸着石头过河的模型
典型的非正规说明书 ----------》 编码、修改、编码、修改(反复直到得到产品) -------》最终产品
- 项目小组在未刻意采用其他开发模式时默认的开发模式
- 它在大爆炸模式基础上更进一步,至少考虑了产品的需求
- 开发小组通常最初只有粗略的想法,接着进行易写简单的设计,然后开始漫长的来回编写、测试和修改缺陷的过程,直到最后可以发布产品
- 最有可能碰到的模型
特点
- 此种模式没有计划和文档编制,项目能够迅速展现成果,所以比较适合用完就扔的项目
- 测试没有被强调,但是在编写代码和修复缺陷过程中举足轻重
- 软件测试会陷入无休止的循环往复,因为每天都在测试新版本
3.瀑布模型
1.指定周密计划的模型
- 采用这个项目从最初的构思到最终产品要经过一系列步骤,每一个步骤结束时,写好文档,项目小组组织审核,并决定是否进入下一步,如果项目未准备好进图下一步,就停滞下来直到准备好
特点
- 这个模型是更具有优势,测试对象非常明确,即程序
- 又一切都有完整细致的说明。当软件提交到测试小组,所有细节都已经确定并有文档记录,并且实现在软件之中。因此测试小组得以指定精确的计划和进度
- 此模型中测试是软件开发后期阶段进行的”一次性“活动,这有一个很大的缺点,因为测试仅在最后进行,所以一些根本性问题可能出现在早期,但是直到准备产品发布才能发现
4.螺旋模型
1.计划赶得上变化的模型
- 不必详细定义所有的细节,从小开始,定义重要的功能,努力实现这些功能,接收客户反馈,然后进入下一阶段,重复以上过程,直到得到最终产品
- 特别适合与大型复杂系统
特点
-
该模型发现问题早、成本低的特点,可以算是相当好的开发模型,
瀑布模型的:分析、设计、开发和测试步骤
边写边改模型的:螺旋模式的每一次
大爆炸模式 : 从外界观察
-
比较好的模式,通过参与最初设计阶段,可以尽早地影响到产品,可以把产品的来龙去脉弄得很清楚,在项目末期,不至于最后一分钟还在匆忙进行全面测试。测试人员一直在进行测试,所以最后一步只是个验证表面所有部分都没有问题。
5.敏捷开发模型
别称:快速原型、极限编程、进化开发
软件开发团队具有轻量化、快速工作、响应变化能力的价值观和原则,成为”敏捷联盟“,随后就有了敏捷联盟宣言,更像一份针对客户和开发个体的箴言警句集。以人为本,适应变化是敏捷开发的核心思想。
- 通过过程和工具理解个人和交流的作用
- 通过全面的文档理解运行的软件
- 通过合同和判断得到客户的协作
- 在计划的执行过程中做出对应变更的响应
特点
-
敏捷开发提倡迭代式和增量式的开发模式,更强调测试在其中的重要作用
-
以用户为中心,以客户需求为导向的开发过程,更要随时迎接变化,客户是关键
-
没有头单一固定的开发方法或过程,很多快速的开发模式都可以看作是敏捷开发。
通用特点:以来客户的参与 、测试驱动 紧凑的迭代周期
很多快速的开发模式都可以看作是敏捷开发。
通用特点:以来客户的参与 、测试驱动 紧凑的迭代周期