采用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只能用于信息系统开发,不适合技术风险很高的情况。当一个新应用要采用很多新技术或当新软件要求与已有的计算机程序的高互操作性时,这种情况就会发生。