RAD(Rapid Application Develop,
快速应用开发)模型是一个增量型的软件开发过程模型,强调极短的开发周期。该模型是
瀑布模型的一个“高速”变种,通过大量使用可复用
构件,采用基于构件的建造方法赢得了快速开发。如果正确地理解了需求,而且约束了项目的范围,利用这种模型可以很快创建出功能完善的信息系统。其流程从业务建模开始,随后是数据建模、过程建模、应用生成、测试及反复。RAD目的是快速发布系统方案,而技术上的优美相对发布的速度来说是次要的。
采用RAD模型的
软件过程如图所示。
RAD模型各个活动期所要完成的任务如下。
⑴业务建模
确定驱动业务过程运作的信息、要生成的信息、如何生成、信息流的去向及其处理等,可以辅之以
数据流图。
⑵数据建模
为支持业务过程的数据流查找
数据对象集合、定义数据对象属性,并与其他数据对象的关系构成数据模型,可辅之以E-R图。
⑶过程建模
使数据对象在信息流中完成各业务功能,创建过程以描述数据对象的增加、修改、删除、查找,即细化数据流图中的处理框。
⑷应用程序生成
利用第4代语言(4GL)写出处理程序,重用已有
构件或创建新的可重用构件,利用环境提供的工具自动生成以构造出整个的应用系统。
⑸测试与交付
由于大量重用,一般只做
总体测试,但新创建的构件还是要测试的。
与
瀑布模型相比,RAD模型不采用传统的第3代
程序设计语言来创建软件,而是采用基于构件的开发方法复用已有的程序结构(如果可能)或使用可复用构件和或创建可复用的构件(如果需要)。在所有情况下,均使用自动化工具辅助软件创造。很显然,加在一个RAD模型项目上的时间约束需要“一个可伸缩的范围”。如果一个业务能够被模块化使得其中每一个主要功能均可以在不到3个月的时间内完成,则其是RAD的一个候选者。每一个主要功能可由一个单独的RAD组来实现,最后集成起来形成一个整体。
按照Wood and Silver (1995) 的观点, RAD组合了5个方面的技术:
⒈进化原型
⒉CASE工具(可进行
正向工程和反向工程)
⒊拥有能使用先进工具的专门人员(一个RAD开发小组)
⒋交互式JAD
⒌时间表
RAD模型通过大量使用可复用
构件加快了开发速度,对信息系统的开发特别有效。但是与所有其他软件过程模型一样,RAD模型也有不足之处:
⒈ 对大型项目而言,RAD需要足够的人力资源。
2 、开发人员和客户必须在很短的时间内完成一系列的
需求分析,任何一方配合不当都会导致RAD项目失败。
⒊ 并非所有系统都适合:不能合理模块化的系统、高性能需求并且要调整构件接口的系统均不适合。 4 、 RAD只能用于信息系统开发,不适合技术风险很高的情况。当一个新应用要采用很多新技术或当新软件要求与已有的计算机程序的高
互操作性时,这种情况就会发生。