Rapid Application Development Model
Rapid application development model is a software development methodology that uses minimal planning in favor of rapid prototyping.
- The functional modules are developed in parallel as prototypes and are integrated to make the complete product for faster product delivery.
- Since there is no detailed preplanning, it makes it easier to incorporate the changes within the development process.
- It follows iterative and incremental model
- Have small teams comprising of developers, domain experts, customer representatives and other IT resources working progressively on their component or prototype.
- 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 model distributes the analysis, design, build and test phases into a series of short, iterative development cycles.
Following are the various phases of the RAD Model:
- Business model is designed in terms of flow of information and the distribution of information between various business channels.
- The information flow is identified between various business functions.
- Complete business analysis is performed to find the vital information for business
- Takes information gathered through many business related sources.
- Information gathered in the Business Modeling phase is reviewed and analyzed to form sets of data objects vital for the business.
- The quality of every group of information is carefully examined and given an accurate description.
- Attributes of all data sets is identified and defined.
- Relation between these data objects are established and defined in detail in relevance to the business model.
Fig: The RAD model of Software development lifecycle
- The data object sets defined in the Data Modeling phase are converted to establish the business information flow needed to achieve specific business objectives as per the business model.
- 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.
- Stage changes and optimizations can be done and the sets of data can be further defined.
- The actual system is built and coding is done by using automation tools to convert process and data models into actual prototypes.
- Data models created are turned into actual prototypes that can be tested in the next step.
Testing and Turnover
- The overall testing time is reduced in the RAD model as the prototypes are independently tested during each iteration.
- However, 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.
Advantages of the RAD model:
- Reduced development time.
- Increases reusability of components.
- Quick initial reviews occur.
- Encourages customer feedback.
- Integration from very beginning solves a lot of integration issues.
Disadvantages of RAD model:
- Depends on strong team and individual performances for identifying business requirements.
- Only system that can be modularized can be built using RAD.
- Requires highly skilled developers/designers.
- High dependency on modeling skills.
- Inapplicable to cheaper projects as cost of modeling and automated code generation is very high.
When to use Rapid Application Development Model :
- 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).
272 total views, 1 views today
A Soon-to-be Computer Engineer by profession, he has profound devotion to add Data Scientist as a prefix to his name. He’s been to the nooks of the web (at least of the surface web) and planning to add some real figures in his pocket!