软件开发模型优点缺点:
模型 | 优点 | 缺点 |
边做边改模型 | 编写小程序的效率高 | 缺少规划和设计环节,忽略需求环节, 没有考虑测试和程序的可维护性 |
瀑布模型 | 严格按照线性方式进行, 强调文档的作用 | 大量的文档极大地增加了工作量,开发的风险大 |
快速原型模型 | 快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果 | 可能导致系统设计差、效率低,难于维护 |
增量模型 | 风险发早期反馈及时,易于维护 | 需要开放式体系结构,可能会导致效率低下 |
螺旋模型 | 将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,适应于内部的大规模软件开发 | 软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险 |
演化模型 | 从初始的原型逐步演化成最终软件产品的过程。演化模型特别适用于对软件需求缺乏准确认识的情况。 | 开发周期长 |
喷泉模型 | 提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。 | 需要大量的开发人员,因此不利于项目的管理; 要求严格管理文档,使得审核的难度加大 |
智能模型 | 高效的程序代码、智能缺省假设、完备的数据库和应用程序生成器 | 主要限于事务信息系统的中、小型应用程序的开发 |
混合模型 | 选择面多,易于最优化,它允许一个项目能沿着最有效的路径发展 | 过程中异常因素多,需要做很多分析 |
RAD模型 | 强调极短的开发周期 | 大型项目RAD需要足够的人力资源 不能合理模块化的系统、高性能需求并且要调整构件接口的系统均不适合 |