瀑布模型
分支主题
缺点:1. 软件需求的完整性、正确性很难确定,甚至是不可能和不现实的。2.瀑布模型是一个严格串行化的过程模型,使得用户和软件项目负责人要相当长的时间才能得到一个可以看得见的系统。3.瀑布模型的基本原则是在每个阶段一次性地完全解决该阶段的工作。
统一过程模型(RUP)
分支主题
特点:1. 用例驱动 2. 以体系结构为中心 。3.迭代与增量
敏捷模型
特点:1.敏捷型方法是“适应性”而非“预设性”的;2.敏捷型方法是“面向人的”而非“面向过程的”。
核心思想:1. 敏捷方法是适应型,而非可预测型;2.敏捷方法以人为本,而非以过程为本;3.迭代增量式开发过程。
主要敏捷方法
1. 极限编程(XP)
基础和价值观: 交流、朴素、反馈、勇气
XP是一种螺旋式的开发方法,它将复杂的开发过程分解为一个个相对简单的小周期;通过积极的交流、反馈以及其他一些方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。
2. 水晶系列方法
3. Scrum
Scrum方法侧重于项目管理,它是迭代式增量软件开发过程。
Scrum使用Backlog来管理软件需求,Backlog是一个按照商业价值排序的需求列表。
4. 特征驱动开发方法(FDD)
FDD是一个迭代的开发模型