RAD Model or Rapid Application Development model is a software development process based on prototyping without any specific planning. In RAD model, there is less attention paid to the planning and more priority is given to the development tasks. It targets at developing software in a short span of time.
SDLC RAD modeling has following phases
It focuses on input-output source and destination of the information. It emphasizes on delivering projects in small pieces; the larger projects are divided into a series of smaller projects. The main features of RAD modeling are that it focuses on the reuse of templates, tools, processes, and code.
There are following five major phases of Rapid Application Development Model
RAD Model Phases | Activities performed in RAD Modeling |
---|---|
Business Modeling | On basis of the flow of information and distribution between various business channels, the product is designed |
Data Modeling | The information collected from business modeling is refined into a set of data objects that are significant for the business |
Process Modeling | The data object that is declared in the data modeling phase is transformed to achieve the information flow necessary to implement a business function |
Application Generation | Automated tools are used for the construction of the software, to convert process and data models into prototypes |
Testing and Turnover | As prototypes are individually tested during every iteration, the overall testing time is reduced in RAD. |
Advantages of RAD Model | Disadvantages of RAD Model |
---|---|
Flexible and adaptable to changes | It can’t be used for smaller projects |
It is useful when you have to reduce the overall project risk | Not all application is compatible with RAD |
It is adaptable and flexible to changes | When technical risk is high, it is not suitable |
It is easier to transfer deliverables as scripts, high-level abstractions and intermediate codes are used | If developers are not committed to delivering software on time, RAD projects can fail |
Due to code generators and code reuse, there is a reduction of manual coding | Reduced features due to time boxing, where features are pushed to a later version to finish a release in short period |
Due to prototyping in nature, there is a possibility of lesser defects | Reduced scalability occurs because a RAD developed application begins as a prototype and evolves into a finished application |
Each phase in RAD delivers highest priority functionality to client | Progress and problems accustomed are hard to track as such there is no documentation to demonstrate what has been done |
With less people, productivity can be increased in short time | Requires highly skilled designers or developers |