Software Development through – RAD Model

What is RAD Model ?

Rapid application development (RAD) is an incremental software development process model that emphasizes an extremely short development cycle.
The RAD model is a ―high-speed adaptation of the linear sequential model in which rapid development is achieved by using component-based construction.

Situation When RAD Model is Useful:

RAD should be used when there is a need to create a system that can be required 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
enables a development team to create a ―fully functional system within very short time periods (e.g., 60 to 90 days).

Phases

1. Communication:

Communication phase is used to understand the requirements of the project.

2. Planning:

Planning is very essential because multiple project teams are working parallel in RAD model

3. Modeling:

a) Business modeling:

The information flow among business functions is represented.

b) Data modeling:

The information flow defined as part of the business modeling phase is refined into a set of data objects that are needed to support the business.

c) Process modeling:

The data objects defined in the data modeling phase are transformed to achieve the information flow necessary to implement a business function.

4. Construction:

RAD process model reuses the existing program components (when possible) or create reusable components (when necessary).

5. Deployment:

Modules developed by different RAD teams are integrated to develop final complete product.

Advantages


Faster implementation of Project
Parallel implementation
Increases re usability of components
Encourages customer feedback
Projects divided into small teams results into better implementation

Disadvantage


•Limited Time for system implementation results into inadequate analysis of project.
•Less time for testing.
•If user is unclear with the system project may fail.
•If developers and customers are not committed to the rapid model, the RAD project fails.
•Time is the major constraint in RAD.
•RAD has to be modularized in a proper way otherwise creates a lots of confusions and problems.
•In case of high performance requirement, RAD cannot be ideal model.

Conclusion

RAD Model is fast and is also based on Component Based Construction so, there is faster implementation of the project and increases re usability of the components. But also, if the user is unclear with the system the project may fail, this may lead to loss of time and cost.

Software Development through – Incremental Model

What is Incremental Model ?

The incremental model uses the “Linear and Parallel” process flow, uses linear sequential flow like waterfall model to develop working release of software.

Situation Where Incremental Model is Useful:

When customer needs limited set of features and functionalities quickly and then they want enhancement in functions in later releases of the software, then incremental model is useful.

Flow

Each linear sequence produces a deliverable “increment” of the software.
It should be noted that the process flow for any increment can uses the prototyping paradigm.
When incremental model is used, the first increment is often the core product (that is only basic requirements are implemented), the next increments are modifications of the core product.

Advantages:


This model is useful when staff required is unavailable.
This model is useful to handle technical risk.
Provide better support for process iteration.
Reduces rework in the software construction process.
Some decisions on requirements may be delayed.
Allow early delivery of parts of the system.
Support easier integration of sub-systems.
Risk of project failure is low.

Disadvantages:


Increments need be relatively small
Needs good planning and design.
Needs a clear and complete definition of the whole system before it can be broken down and built incrementally.
Mapping of requirements to increments may not be easy.
Total cost is higher than waterfall

Conclusion

This model provides better support for iteration and the phases in this model goes on linearly as well as parallelly but their may cause confusion in the output of the phases if proper and sorted planning is not done. As well as, the total cost of this model is also higher than the waterfall model so, if their is any confusion among the output of different phases it may lead to wastage of time as well as cost.