实践中的增量开发 |
增量式软件开发的应用开发如图1所示。 图1中增量式开发计划将项目划分为四个增量部分,在一些增量中重用已存在的组件,在增量1中创建了顶层体系结构,定义了三个低层子系统,其中一个已实现。实现的子系统含一个可重用组件,子系统中使用的桩(stubs)将在后续增量中实现。桩不仅仅是占位符,它包含一个接口规范和函数规范,从而实现函数和桩函数之间的相互关系被很好地定义。在完成时,增量1由用户评估。作为用户反馈的结果,增量1中的组件为增量2的变化做铺垫。 在增量2中第二个子系统被实现,代替了增量1 中的桩。其他已存在部件在增量2中重用,通过修改满足增量2中一个增加的功能。增加的功能在增量2中定义,但直到最后增量才实现。 第三个子系统实现开始于增量3,第三个子系统包含一个新组件,一个重用组件和一个桩。增量3的用户评价导致增量4 中一个组件的变化。 增量4像所有前述增量一样,是迄今为止所有工作的累积,加上一些新的工作。在增量4期间,所有保留的桩都要实现。作为最后的增量,增量4代表整个完整的系统。 系统剩余部分的处理对设计的集成很重要。每一步增量的正确性验证要求,后续增量的规范表现在恰当执行点的程序逻辑上。每一步增量设计的完全性确保新工作进展的平衡集成。 图2显示了项目的增量开发的进度分配。顶层规范后,建立起一个增量开发计划。规范和增量开发计划在每一步增量后,根据开发经验、质量测定和用户反馈做相应地修改。当每一步增量完整定义、设计和验证后,将被提交用于独立的认证测试。认证测试中的质量度量(如失效的间隔时间、可靠性、每千行代码的错误数)是开发过程控制的度量规范。如果已度量的质量符合建立标准,开发继续下去。如果不符合,找出原因,采取行动改进开发过程。 当增量1交付认证测试后,嵌入了增量1的规范开始增量2的开发。如果有多个开发小组,增量3也可以同时开始并行开发。 可扩展系统的增量开发提供用户的反馈,技术工作的智能控制,进度和预算的管理控制。关于每一个增量的用户反馈是确定一个正确系统是否被建立的评判准则,每个增量中的质量度量是判断一个系统是否正确建立的评判准则。该方法同时支持产品质量和过程控制。 |