开发小组可以把软件的初期版本分发给一小部分客户进行使用,这叫beta测试。
-
软件开发模式
系统生命周期:
系统规划——系统分析——系统设计——系统实施——系统运行维护与评价
1、大爆炸模式
优点:简单。
计划、进度安排和正规开发过程几乎没有,所有精力都花在开发软件和编写代码上。
2、边写边改模式
适合意在快速制作而且用完就扔的小项目。这种模式是软件开发的入门,有助于理解
更加正规的方法。
3、瀑布流模式
简捷、精致、很有意义。
采用瀑布模式的项目从最初的构思到最终产品要经过一系列步骤。每一个步骤结束时,项目小组组织审查,并决定是否进入下一步。如果项目没有做好进入下一步,就停滞下来,直到准备好。
强调三点:
a瀑布模式非常强调产品的定义;
b瀑布模式各步骤是分立的,没有交叉;
c瀑布模式是无法回溯,一旦进入某一个步骤,就要完成该步骤的任务,然后才能向下继续,无法回溯。
缺点:测试仅在最后进行,所以一些根本性问题可能出现在早期
构思——分析——设计——开发——测试——最终产品
4、螺旋模式
强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。
步骤:确定目标、可选方案和限制条件——明确并化解风险——评估可选方案——当前阶段开发和测试——计划下一阶段——确定进入下一阶段的方法
螺旋模式中包含了一点瀑布模式(分析、设计、开发和测试的步骤)、一点边写边改模式(螺旋模式的每一次)和一点大爆炸模式(从外界观察)。
注:螺旋开发与迭代开发区别:
螺旋式过程针对逐步启发用户需求的项目,它重复执行一系列瀑布模型过程,采用一种渐进的方法推动开发过程,逐步明确用户需求。螺旋模型便于按照系统规模和复杂性定制开发过程。
迭代开发针对需求含糊不清或经常变化的项目,着重于工作流内部,强调系统生命周期中各里程碑的作用,每完成一次迭代就成功实现若干个需求。
5、敏捷软件开发(快速原型、极限编程、进化开发)
是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。