软件开发声明周期模式
软件开发声明周期模式——软件产品从最初构思到公开发行的过程。
常见的四种开发模型:
- 大爆炸模式
- 编写边改模式
- 瀑布模式
- 螺旋模式
大爆炸模式
、
与宇宙大爆发原理类似,软件开发大爆发模式过程可简述为:一堆东西(人力和资金)放在一起,巨大的能量释放——通常很野蛮——产生优秀的软件产品(或一堆废品)
大爆炸的特点:简单。计划、进度安排和正规开发过程几乎没有,所有精力都在开发软件和编写代码上。
编写边改模式
采用这种方式的小组最初只有粗略的想法,接着进行一系列简单设计,然后开始反复编写、测试和修改缺陷的漫长过程。等到觉得可以,就发布。这种方式的特点是:由于开头几乎没有计划和文档编制,展现成果迅速。与大爆炸模式类似,测试未被特别强调,但是在编写代码和修复缺陷过程中举足轻重。
瀑布模式
采用瀑布模式的项目每一步骤结束时,项目小组要进行审查,决定是否进入下一步,如果项目未准备好进入下一步,则停止,直至准备好。
瀑布模式有三点需要强调:
- 瀑布模式非常强调产品的定义。注意,开发或者代码编制阶段只是其中的单独的一块。
- 瀑布模式各步骤是分立的,没有交叉。
- 瀑布模式无法回溯,一旦进入某个步骤,就要完成该步骤的任务,然后才能向下继续——无法回溯。
特点:
该模式的目标是在编写代码之前解决所有位置问题并明确所有细节。
缺点:
在这个变化迅速、在互联网上开发产品的时代,当软件还在细细考虑和定义时,当初制造它的理由可能发生变化。
螺旋模式
螺旋从小开始,随着项目定义的明确迅速展开并得到稳定
螺旋模式每一次循环包括6个步骤:
- 确定目标、可选方案和限制条件。
- 明确并化解风险。
- 评估可选方案。
- 当前阶段开发和测试。
- 计划下一阶段。
- 确定进入下一阶段的方法。
螺旋模式包含了一点瀑布模式(分析、设计、开发和测试的步骤)、一点编写边改模式(螺旋模式的每一次)和一点大爆炸模式(从外界观察)。加上该模式发现问题早、成本低的特点,是一种较好的开发模式。
拓展:
敏捷软件开发(Agile Software Development)
过程或目的:
- 通过过程和工具理解个人和交流的作用。
- 通过全面的文档理解运行的软件。
- 通过合同和谈判得到客户的协议。
- 在计划的执行中做出对变更的响应。即在一方面有价值的时候,更应该评价它在另一方面的价值。
问题测试:
程序员开始编写代码要完成哪些任务?
开发小组需要了解客户的要求,在产品说明书定义功能特性。应建立详细的进度,使小组成员直到哪些工作已经完成,哪些工作还要做。软件应该形成体系,经过设计,测试小组应该开始计划工作。