1 .瀑布模型
瀑布模型是一个经典的软件生命周期模型,一般将软件开发分为可行性分析(计划)、需求分析、软件设计(概要设计、详细设计)、编码(含单元测试)、测试、运行维护等几个阶段,如图所示。
瀑布模型中每项开发活动具有以下特点:
( l )从上一项开发活动接受其成果作为本次活动的输入。
( 2 )利用这一输入,实施本次活动应完成的工作内容。
(
3 )给出本次活动的工作成果,作为输出传给下一项开发活动。
( 4 )对本次活动的实施工作成果进行评审。
缺点: 过程基本不可迭代,需求在开始的不确定性,错误到最后才能发现,开发进程呈现塞阻状态
2 . V 模型
如图所示
V 模型的左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即各测试过程的各个阶段。
V 模型的优点在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发各阶段的对应关系。
3 .原型化模型
原型化模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,经过和用户针对原型的讨论和交流,弄清需求以便真正把握用户需要的软件产品是什么样子的。充分了解后,再在原型基础上开发出用户满意的产品。
如图所示:
增量模型也是原型化开发方法。如图所示
模型要点:瀑布和原型模型相结合,强调版本升级。
4.螺旋模型
螺旋模型是一个演化软件过程模型,将原型实现的迭代特征与线性顺序(瀑布)模型中控制的和系统化的方面结合起来。使得软件的增量版本的快速开发成为可能。在螺旋模型中,软件开发是一系列的增量发布。螺旋模型的整个开发过程如图所示。
图中的螺旋线代表随着时间推进的工作进展;开发过程具有周期性重复的螺旋线形状。4个象限分别标志每个周期所划分的4 个阶段:制定计划、风险分析、实施工程和客户评估。螺旋模型要点:统一了瀑布模型与原型模型,与增量模型相似,更强调风险分析。
5 .迭代模型
喷泉模型:体现认识事物的循环迭代性,强调开发活动之间的无间隙性,无明显的活动阶段划分,适用于面向对象的开发过程。如图所示:
RUP ( Rational Unified Process )软件统一过程是一种“过程方法”,它就是迭代模型的一种。如图所示。
RUP中的软件生命周期在时间上被分解为4 个顺序的阶段,分别是:初始阶段(
Inception)、细化阶段(Elaboration )、构建阶段(Construction )和交付阶段(Transition )。这4 个阶段的顺序执行就形成了一个周期。每个阶段结束于一个主要的里程碑(Major
Mileslones )。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否己经满足。
信息系统的生命周期也可以分为4个阶段:立项、开发、运维、消亡。
1.立项阶段
即其概念阶段或需求阶段,这一阶段分为两个过程:一是概念的形成过程,根据用户单位业务发展和经营管理的需要,提出建设信息系统的初步构想;二是需求分析过程,即对企业信息系统的需求进行深入调研和分析,形成《需求规范说明书》,经评审、批准后立项。
2.开发阶段
(1)总体规划阶段:是系统开发的起始阶段,以立项阶段所做的需求分析为基础,明确信息系统在企业经营战略中的作用和地位,指导信息系统的开发,优化配置并利用各种资源,包括内部资源和外部资源,通过规划过程规范或完善用户单位的业务流程。一个比较完整的总体规划应当包括信息系统的开发目标、总体结构、组织结构、管理流程、实施计划、技术规范。
(2)系统分析阶段:目标是为系统设计阶段提供系统的逻辑模型,内容包括组织结构及功能分析、业务流程分析、数据和数据流程分析及系统初步方案。
(3)系统设计阶段:根据系统分析的结果设计出信息系统的实施方案,主要内容包括系统架构设计、数据库设计、处理流程设计、功能模块设计、安全控制方案设计、系统组织和队伍设计及系统管理流程设计。
(4)系统实施阶段:是将设计阶段的成果在计算机和网络上具体实现,即将设计文本变成能在计算机上运行的软件系统。由于系统实施阶段是对以前全部工作的检验,因此用户的参与特别重要。
(5)系统验收阶段:通过试运行,系统性能的优劣及其他各种问题都会暴露在用户面前,即进入了系统验收阶段。
3.运维阶段
信息系统通过验收,正式移交给用户以后,就进入运维阶段,系统长时间的有效运行是检验系统质量的试金石。
要保障系统正常运行,系统维护是不可缺少的工作。维护可分为4种类型:排错性维护、适应性维护、完善性维护、预防性维护。
4.消亡阶段
开发一个信息系统并希望它一劳永逸地运行下去是不现实的。企业的信息系统经常不可避免地会遇到系统更新改造、功能扩展,甚至报废重建等情况。对此,用户单位应当在信息系统建设的初期就注意系统消亡条件和时机,以及由此而花费的成本。