系统发展生命周期

系统发展生命周期(,),也称软件生命周期,是系统工程、信息系统和软件工程中的术语,用于描述一个信息系统从规划、创建、测试到最终完成部署的全过程。系统开发生命周期的概念对于硬件和软件系统都是適用的,这些系统可能只由硬件或软件组成,也可能两者都有。

概述
系统发展生命周期由一系列明确定义的不同工作阶段组成,有助于系统工程师和系统开发人员利用对系统的设计、构建、测试和交付进行计划。就像任何在生产装配线上制造的东西一样,SDLC的目标是根据客户需求生产满足或超越客户的期望的高质量的系统。所发布的系统经过了每一个工作阶段,其中包括了时间时限和成本估计。计算机系统是复杂的(尤其是近期兴起的面向服务的体系结构),通常涉及到多个传统系统,这些系统可能需要由不同的软件供应商提供。管理这种级别的复杂性,许多SDLC模型或方法被创建,如“瀑布模型”、“螺旋模型”、“敏捷软件开发”、“快速原型模型”、“增量模型”;和“同步及稳定”。

SDLC可以看做一个快速迭代的过程。敏捷的方法,如XP和Scrum,专注于轻量级进程,这些轻量级进程在开发周期中允许快速的变化(不一定要按照SDLC的开发模型)。迭代法,例如统一软件开发过程和,专注于有限的项目范围并通过多个迭代来扩大或改善产品由。顺序模型或预先大量设计模型(BDUF)、如瀑布模型、关注于完整和正确的规划来指导大型项目、估计取得成功的风险,保证结果的可预测性。其他模式,如变形开发(Anamorphic development),倾向于由项目范围和功能的迭代来指导系统开发。

在项目管理中一个项目既可以用项目生命周期(PLC)定义,也可以用SDLC定义,其中会有几个步骤略有不同。根据泰勒(2004)所说,“项目生命周期包括了所有專案的內容,而系统开发生命周期关注于实现产品需求”。

SDLC在开发IT项目时中被使用,它描述了完成项目所要涉及到的不同阶段。

历史
产品生命周期结构化地描述了信息系统的构建过程,重申产品生命中的每一个阶段。根据艾略特和斯特拉和雷德福(2004)所说,系统开发生命周期“起源于1960年代,用于在大型企业时代大规模地开发功能性商用系统。这些信息系统的活动将涉及大规模的数据以及数据处理例程”。

还有很多系统开发框架在一定程度上借鉴了SDLC的模型,如1980年代的结构化系统分析和设计方法(SSADM),用于生产英国政府商务办公室系统。根据艾略特(2004)所说,“传统的系统开发生命周期方法逐渐被其他方法和框架取代,这些方法试图克服传统SDLC模型的一些固有缺陷”:

  • 优势:控制;监控大型项目;步骤具体;预先评估成本和达成目标;文档完整;定义良好的用户输入;易于维护;标准化的设计和开发;能够容忍开发团队中的人员变化
  • 劣势:增加了开发时间;增加开发成本;系统必须预先定义;刻板;很难估计成本,导致项目超支;用户输入有时是受限的

快速应用程序开发(RAD)是SDLC的一个替代品,它结合原型模型,将应用程序开发和CASE工具的实现相结合。RAD的优点是速度快,降低了开发成本,并且使用户更积极地参与开发过程。

参考资料
参见

  • 敏捷软件开发
  • 迭代式开发
  • 软件开发

评论 (0)

  • 还没有评论,来抢沙发吧。