瀑布模型
又叫经典生命周期。
传统的软件工程学。系统的、顺序的软件开发方法。从策划、建模、构建和部署一步一步顺序执行。
它是软件工程最早的范例,但是一直 被人们指摘。它有点迂腐吧:
特点:
- 强迫软件人员必须用规范的技术方法;
- 严格规定每个阶段必须提交的技术文档;
- 每个阶段结束前必须进行严格的技术审查和管理复审。
缺点:
- 在可运行的软件产品交互给用户之前,用户只能通过文档来了解未来的产品是什么样的;
- 开发人员和用户之间缺乏有效的交流,可能最终产品不能满足用户需求。
原型开发(需求)
用原型快速描述用户需求;当需求比较模糊的时候,原型可以帮助用户和开发人员迅速理解需要做什么;原型集中在用户可以看到的地
方。
优点:使用这种软件过程开发出的软件产品通常能满足用户的真实需求
增量模型(构件)
把软件产品当做一系列增量构件来设计、编码、集成和测试。
每个构件由若干个模块构成,能够完成相对独立的功能。
优点:能够在较短时间内向用户提交可完成部分工作的产品
逐步增加产品的功能,用户可以逐步学习产品的功能,减少一个全新的产品给用户带来的设计。
缺点:对软件开发工程师要求比较高,要求他们开发出较为开放的软件产品。
螺旋模型(风险)
使用原型,每个阶段之前都增加了风险分析过程。
优点:
利用已有软件的重用
有助于把软件质量作为软件开发的一个重要目标;
减少了过多测试或者测试不足的风险;
喷泉模型
描述面向对象的软件开发过程。认为软件开发各个周期自下而上各个阶段是无间隙相互迭代。以用户需求为动力,以对象为驱动。