2.3.2 项目开发模型的选择
1)瀑布模型
瀑布模型的优点有:通过设置节点目标,明确每阶段的任务与目标。可为每阶段制定开发计划,进行成本预算,组织开发力量。通过阶段评审,将开发过程纳入正确轨道。严格的计划性保证软件产品的按时交付。
但是瀑布模型存在着一系列的缺点,例如:缺乏灵活性,不能适应用户需求的改变。开始阶段的小错误被逐级放大,可能导致软件产品报废。另外返回上一级的开发需要十分高昂的代价。随着软件规模和复杂性的增加,软件产品成功的几率大幅下降。
因此瀑布模型主要适应于小规模的软件开发。
图2-1 瀑布模型开发流程
2)原型模型
原型模型的基本思想是在获取一组基本的需求定义后,利用高级软件工具的可开发环境,快速地建立一个目标系统的最初版本,并把它交给用户试用、补充和修改,再进行新的版本开发。反复进行这个过程,直到得出系统的“精确解”,即用户满意为止。经过这样一个反复补充和修改的过程,应用系统的“最初版本”就逐步演变为系统的“最终版本”。
所谓原型是指一个具体的可执行模型,它实现了系统的若干功能。
所谓原型法是指不断地运行系统“原型”来进行启发、揭示和判断的系统开发方法。
原型法的主要思路是根据用户的需求迅速构造一个低成本的用于演示及评价的试验系统(原型),然后再由用户对原型进行评价,在用户评价的基础上对原型进行修改或重构。有了满意的系统原型,同时也积累了使用原型的经验,用户常会提出新目标,从而进一步重新构造原型周期。新目标的范围要比修改或补充不满意的原型大。
快速原型法的特点:
(1)有直观的系统开发过程。
(2)用户参与系统开发的全过程。
(3)可以逐步明确用户需求。
(4)用户直接掌握系统的开发进度。
(5)用户接受程度高。
快速原型法也存在一些不足,例如:不适用于拥有大量计算或控制功能的系统,不适用于大型或复杂的系统,容易掩盖需求、分析、设计等方面的问题,结果不确定——随原型构造评价过程而定,整体考虑较少,因此快速原型法主要适应于:
(1)适用于解决有不确定因素的问题。
(2)适用于对用户界面要求高的系统。
(3)适用于决策支持方面的应用。
(4)适用于中型系统。
3)螺旋模型
在原型基础上,进行多次原型反复并增加风险评估,形成螺旋模型。
图2-2 螺旋型开发流程
(1)螺旋模型分析:
在螺旋模型结构中,维护只是螺旋模型的另一个周期,在维护和开发之间本质上并没有区别,从而解决了做太多测试或未作足够测试所带来的风险。
(2)螺旋模型的适用条件:
①内部的大规模软件的开发,不太适合合同软件。
②一般只适用于大规模软件的开发。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。