#1 瀑布模型
由可行性分析与计划入手,然后进行需求分析、设计、编码、测试,直至用户确认产品符合要求,之后进行维护。
每个阶段过程的开始,都是上个阶段过程结束的结果。
特点: 简单、严格、顺序、一次性、质量保证。
#2 原型模型
软件开发人员根据不明确的需求开发出系统原型,然后与用户进行交流,再做进一步修改与补充,最终至完成。
特点: 快速、符合用户预期。
#3 增量模型(渐进式开发模型)
非整体开发模型,将需求分解为若干部分,每部分按照类似于瀑布模型开发。
逐步提交系统可用的部分,功能会随时间增加而增加,通过用户反馈弥补缺点与不足。
特点: 灵活、降低风险。
#4 螺旋模型
引入风险分析机制,迭代式开发过程,适合大型复杂项目的开发。
每个迭代过程的活动: 制定计划、风险分析、实施工程、客户评估(验收测试与用户体验)和下一次的迭代评估。
特点: 风险分析、适合大型复杂项目的开发(容易发现风险并今早解决)。
#5 喷泉模型
过程中每个阶段相互重叠,没有明显界限。
特点: 开发阶段相互重叠、支持重用、不严格的阶段划分与增量式开发、对象驱动