Posted on 2009-08-20 00:16
JAVA的世界 阅读(2210)
评论(0) 编辑 收藏 所属分类:
项目生命周期和组织
1. 瀑布模型
瀑布模型是一个经典的软件生命周期模型,一般将软件开发分为:可行性分析(计划)、需求分析、软件设计(概要设计、详细设计)、编码(含单元测试)、测试、运行维护等几个阶段,瀑布模型中的每项开发活动具有以下特点:
l 从上一项开发活动接受该项活动的工作成果作为输入;
l 利用这一输入,实施该项活动应完成的工作内容;
l 给出该项活动的工作成果,作为输出传给下一项开发活动;
l 该项活动的实施工作成果进行评审,若其工作成果得到确认,则继续进行下一开发活动,否则返回前一项,甚至更前项。尽量减少多个阶段间的反复,以较小的费用来开发软软件。
2. 螺旋模型
螺旋模型是一个演化软件过程模型,将原型实现的迭代特征与线性顺序(瀑布)模型中的控制结合起来。使软件的增量版本的快速开发成为可能。在这个模型中,软件开发式一系列的增量发布。在早期的迭代中,发布的增量可能是一个之上的模型或原型,在以后的迭代中,被开发系统的更完善版本逐步产生。
螺旋模型的开发过程具有周期性重复的螺旋线状。四个象限分别标志每个周期的四个阶段:制定计划、风险分析、实施工程和客户评估。螺旋模型强调了风险分析,特别是用于庞大而复杂的、高风险系统。
3. 迭代模型
大多数传统的项目生命周期中,阶段是以其中的主要活动命名的:需求分析、设计、编码、测试。传统的软件开发工作大部分强调一个序列化过程,其中一个活动需要在另一个开始之前完成。但是在迭代式的过程中,每个阶段都包括不同比例的所有活动。
迭代式开发模型从组织管理的角度将整个软件开发生命周期分析四个阶段:初始、细化、构造、移交,可进一步描述为周期(Cycle)、阶段(Phase)、迭代(Iteration)。核心工作流从技术角度描述迭代模型的静态组成部分,包括:业务建模、需求获取、分析与设计、实现、测试、部署,几乎每个部分在所有的时间段内均有工作量,只是大小不同而已。
初始阶段:系统地阐述项目的范围,选择可行的系统构架,计划和准备业务案例。
细化阶段:细化构想,细化过程和基础设施,细化构架并选择构件。
构造阶段:资源管理和控制,过程最优化,完成构件的开发并依据评价标准进行测试,根据构想的验收标准评估产品的发布。
移交阶段:同步并使开发的构造增量集成到一致的实施基线中,根据完整的构想和需求集的验收标准评估与实施有关的工程活动的实施基线。