-
原型实现模型:
- 定义:迭代创建客户满意的原型来收集完整需求再进行开发。
- 缺点:(1)限制开发人员的创新;(2)快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。
- 优点:减少由于软件需求不明确带来的开发风险。
- 应用场景:(1)熟悉快速的原型开发工具;(2)项目招投标DEMO;(3)进行产品移植或升级时,或对已有产品原型进行客户化工作。
-
增量模型:
- 定义:从不完整的需求识别出核心需求进行迭代开发,每个迭代结束能交付一个可运行的产品。
- 缺点:使软件过程的控制失去整体性。
- 优点:(1)人员分配灵活,刚开始不用投入大量人力资源;(2)提升用户满意度(如:在较短的时间内向用户提交有用产品;用户有较充分的时间学习和适应新的产品)
- 应用场景:(1)进行已有产品升级或新版本开发;(2)对完成期限严格要求的产品;(3)对所开发的领域比较熟悉而且已有原型系统。
-
RAD(快速应用开发)模型:
- 定义:是瀑布模型的“高速”变种,通过使用可复用构件快速增量式开发。
- 缺点:(1)对模块化要求比较高,(如如果有哪一个功能不能被模块化,那么建造RAD所需要的构件就会有问题:);(2)开发人员和客户必须在很短的时间内完成一系列的需求分析,任何一方配合不当都会导致RAD项目失败。
- 优点:极短的开发周期。
- 应用场景:
-
螺旋式模型:
- 定义:通过“风险分析”把项目分解为多个小项目(每个项目都标识主要风险)进行迭代开发,支持需求的动态变化。
- 缺点:过多的迭代次数会增加开发成本,延迟提交时间。
- 优点:(1)项目估算简单(因为小的分段来构建大型系统);(2)便于风险控制和需求变更(保证了项目不偏离正确方向以及项目的可控性);(3)客户认可。
- 应用场景:只适合于大规模且的软件项目。
常用开发模型的小结
最新推荐文章于 2024-09-30 14:57:30 发布