RAD
Monday, June 30th, 2008RAD - Rapid Application Development
-is an incremental software development process model that emphasizes an extremely short development cycle.
Activities:
- Business Modeling
- Data Modeling
-Process Modeling
-Application Generation
-Testing and Turnover
Business Modeling
-What information drives the business process?
-What information is generated?
-Who generates it?
-Where does the information go?
-Who processes it?
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. The characteristics (called attributes) of each object are
identified and the relationships between these objects defined.
Process Modeling
-The
data objects defined in the data modeling phase are transformed to
achieve the information flow necessary to implement a business
function. Processing descriptions are created for adding, modifying,
deleting, or retrieving a data object.
Application Generation
-RAD
assumes the use of fourth generation techniques. Rather than creating
software using conventional third generation programming languages the
RAD process works to reuse existing program components (when possible)
or create reusable components (when necessary). In all cases, automated
tools are used to facilitate construction of the software.
Testing and Turnover
-Since
the RAD process emphasizes reuse, many of the program components have
already been tested. This reduces overall testing time. However, new
components must be tested and all interfaces must be fully exercised.
RAD Drawbacks
-For large but scalable projects, RAD requires sufficient human resources to create the right number of RAD teams.
-RAD
requires developers and customers who are committed to the rapid-fire
activities necessary to get a system complete in a much abbreviated
time frame. If commitment is lacking from either constituency, RAD
projects will fail.
-Not all types of applications are appropriate
for RAD. If a system cannot be properly modularized, building the
components necessary for RAD will be problematic. If high performance
is an issue and performance is to be achieved through tuning the
interfaces to system components, the RAD approach may not work.
-RAD
is not appropriate when technical risks are high. This occurs when a
new application makes heavy use of new technology or when the new
software requires a high degree of interoperability with existing
computer programs.



