What is RAD (Rapid Application Development) model ?

RAD model is Rapid Application Development model. It is a type of incremental model. The RAD model is based on prototyping and iterative development with no specific planning involved.  In RAD model the components or functions are developed in parallel as if they were mini projects. Since there is no detailed pre-planning, it makes it easier to incorporate the changes within the development process. The developments are time boxed, delivered and then assembled into a working prototype. This can quickly give the customer something to see and use and to provide feedback regarding the delivery and their requirements.

RAD projects follow iterative and incremental model and have small teams comprising of developers, domain experts, customer representatives and other IT resources working progressively on their component or prototype. The most important aspect for this model to be successful is to make sure that the prototypes developed are reusable. To develop the fully functional system within short time period using this model, it is necessary to understand the requirements fully and to have a restricted project scope.

The phases in the rapid application development (RAD) model are:

1. Business modeling : In business modeling, the information flow is modeled into various business functions. These business functions collect following information.

  • Information that drives the business process.
  • The type of information being generated.
  • The generator of information.
  • The information flow.
  • The processor of information.

2. Data modeling : The information gathered in the Business Modeling phase is reviewed and analyzed to form sets of data objects vital for the business. The attributes of all data sets is identified and defined. The relation between these data objects are established and defined in detail in relevance to the business model.

3. Process modeling : In this phase the data objects are transformed into processes. These processes are to extract the information from data objects and are responsible for implementing business functions. The process model for any changes or enhancements to the data object sets is defined in this phase. Process descriptions for adding, deleting, retrieving or modifying a data object are given.

4. Application generation : For creating software various automation tools can be used. RAD also makes use of reusable components or creates reusable components to have rapid development of software.

5. Testing and Turnover : The data flow and the interfaces between all the components need to be thoroughly tested with complete test coverage. Since most of the programming components have already been tested, it reduces the risk of any major issues. As RAD uses reusable components the testing efforts are reduced. But if new components are added in software development process then such components need to be tested. It is equally important to test all the interfaces.

The Applications of RAD model :

The RAD model can be applied successfully to the projects in which clear modularization is possible. If the project cannot be broken into modules, then the RAD model can be applicable there. Below are some example where we can use RAD model successfully :
  • RAD should be used when there is a need to create a system that can be modularized in 2-3 months of time.
  • It should be used if there’s high availability of designers for modeling and the budget is high enough to afford their cost along with the cost of automated code generating tools.
  • RAD SDLC model should be chosen only if resources with high business knowledge are available and there is a need to produce the system in a short span of time (2-3 months).

Advantages of RAD model :

1. It reduces development time as all prototypes are developed in parallel.
2. It is useful when you have to reduce the overall project risk.
3. Due to code generators and code reuse, there is a reduction of manual coding.
4. Iteration time can be short with use of powerful RAD tools.
5. Encourages customer feedback as the customer gets early visibility.
6. With less people, productivity can be increased in short time.

Disadvantages of RAD model :

1. Dependency on technically strong team members for identifying business requirements.
2. RAD can be useful only on the products that can be divided into functional modules.
3. Requires highly skilled developers/designers.
4. It cannot be used for cheaper projects as cost of modeling and automated code generation may be very high.
5. Management complexity is more.
6. Requires user involvement throughout the life cycle.

Next Topic :

No comments:

Post a Comment