2.7 信息系统项目典型生命周期模型
2.7.1 瀑布模型
可行性分析(计划)、需求分析、软件设计(概要设计、详细设计)、编码(含单元测试)、测试、运行维护
特点
(l)从上一项开发活动接受其成果作为本次活动的输入。
(2)利用这一输入,实施本次活动应完成的工作内容。
(3)给出本次活动的工作成果,作为输出传给下一项开发活动。
(4)对本次活动的实施工作成果进行评审。
缺点: 过程基本不可迭代,需求在开始的不确定性,错误到最后才能发现,开发进程呈现塞阻状态
适用于较小费用的开发软件,需求明确,改动较小
2.7.2 螺旋模型
4个象限分别标志每个周期所划分的4 个阶段:制定计划、风险分析、实施工程和客户评估。
螺旋模型要点:统一了瀑布模型与原型模型,与增量模型相似,更强调风险分析。
强调了风险分析,适用于庞大而复杂的、高风险的系统
2.7.3 迭代模型
喷泉模型:体现认识事物的循环迭代性,强调开发活动之间的无间隙性,无明显的活动阶段划分,适用于面向对象的开发过程。
2.7.4 V模型
V 模型的优点在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发各阶段的对应关系。
适用于需求明确和需求变更不频繁的情形
2.7.5 原型化模型
模型要点:瀑布和原型模型相结合,强调版本升级。
适用于用户需求开始时定义不清、管理决策方法结构化程度不高的系统开发,开发方法更易被用户接受,但如果用户配合不好,盲目修改,就会拖延开发过程
2.7.6 敏捷开发模型
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,更加强调程序员团队与业务专家之间的紧密协作、面对面沟通、频繁交付新的软件版本、紧凑而自我组织性的团队、能够很好的适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。