网络系统开发生命周期

开发一个新系统或修改一个现有系统的过程叫作生命周期。在这个周期中,一个新的网络或新的特征被设计、实现和维护。这个过程在修改后又重新开始。这种周期与软件工程及系统分析的周期很相似。

尽管没有哪个生命周期能完美地描述所有开发项目,但有两种基本的生命周期模型得到了广泛认可:流程周期和循环周期。它们对所有网络开发项目都有一定程度的描述。

流程周期

流程周期是一种较为常见的迭代周期划分方法,它将一次迭代划分为需求规范、流量规范(通信规范)、逻辑设计、物理设计、工程实施5个阶段,每个阶段都是一个工作环节,每个环节完毕后再进入下一个环节,如图1.1所示。系统投入运行以后,其生命周期就会因更新而重新开始。

img

图1.1 流程周期

当按照这种流程模型开发项目时,每个阶段必须在下一个阶段开始之前完成,一般要回到前一个阶段是不允许的。在当前开发周期中做不到的将被安排在下一个周期。当不允许返回前面的阶段时,经常会有一些不良影响,工期会被拖延,而且常常会带来严重的超支。

流程周期的优点是所有计划在较早的阶段完成。该系统的拥有者知道具体情况以及工作进程。这样可以较早知道工期,协调起来也更为简单。

尽管流程方法的固定性得到了很多开发者的认同(可以用它来回绝那些想做改动的用户),但它会显得很死板,除非是做很小的项目。而且,在项目完成之前,其需求常常会变化,流程周期不灵活的特点会使得开发大受挫折。

循环周期

循环周期(或称漩涡周期),是流程周期的改进。它包括4个阶段:构思与规划、分析与设计、实施与构建、运行与维护,如图1.2所示。循环周期常用于多版本软件开发,但它的一些原则也可以用于网络开发。

循环周期的指导性原则是变化管理。与流程周期不同,循环周期可以很快适应新的需求。这是通过几次重复所有阶段来实现的,每个轮回产生一个有限的新版本。

通过在网络设计中的每个轮回完成最终性能的一个子集,用户就有机会在项目完成前反馈他们的意见。他们的反馈意见将在循环的新一轮中被考虑。在每次轮回中,都会有新性能被加入,原先的问题被修正。

img

图1.2 循环周期

尽管循环生命周期在处理变化的需求方面优于流程周期,但也有许多不足之处。因为没有办法预知用户会再要求些什么,就很难估计最终经费和完成时间。而且,需要更长时间来开发的主要性能很难完成。最糟糕的是,按循环周期法进行开发,很容易陷入无休止的更新之中。