You are on page 1of 3

RAD Model:

1. Rapid application development 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. Requirements need not to be well understood and project scope has to be constrained for using this model. It is used primarily for information systems applications, the RAD approach encompasses the following phases. Business modeling: Information flow among business functions, the source of information, etc. Information flow among business functions is modeled in such a way that answers the following questions. What information derives the business process? What information is generated? Who generates it? Where does the information go? Who processes it? Data Modeling: Information flow is defined above is refined into a set of data objects that are needed to support the business. Attributes of each object are identified along with the relationships between the objects. Process Modeling: The data objects defined in the data modeling phase are transformed to get processing descriptions for adding, modifying, deleting, or retrieving a data object . Application generation: RAD assumes the use of fourth generation techniques and automated tools. This involves reuse of existing program components (when possible) or creation of reusable components. Testing and turnover: since the RAD process emphasizes reuse, many program components have already been tested. This reduces overall testing time. Only new components need to be tested. If a business application can be modularized in such a way that enables each major functions to be completed in less than three months then it is a candidate for RAD. Each major function can be addressed by a separate RAD team and then integrated to form a whole.

2. 3. 4. 5. -

Disadvantages:
For large and scalable projects. RAD requires sufficient human resources to create the right number of RAD teams. RAD requires developers and customers who are committed to rapid fire activities. Not all types of applications are appropriate for RAD. If a system cant be properly modularized, building the components necessary for RAD will be problematic. RAD is not appropriate when technical risks are high. This occurs when a new application makes heavy use of new technology.

Advantages:
Buying may save money compared to building. Early visibility. (Because of prototyping) Greater flexibility. (Because developers can redesign almost at will) Greatly reduced manual coding (Because of wizards and code generators) Increased user involvement. (Because they are represented on the team) Possibly fewer defects. (CASE tools generate much of the code) Short development cycle.

Concurrent Development Model


The concurrent development model is sometimes called as concurrent engineering, can be represented schematically as a series of major technical activities, tasks and their associated states. Development and QA/Testing are performed concurrently. The following figure provides a schematic representation of one activity with the concurrent process model. The activity-analysis may be in any one of the states noted at any given time. Similarly, other activities can be represented in an analogous manner. All activities exist concurrently but reside in different states. The analysis activity (which existed in the none state while initial customer communication was completed) now makes a transition into the under development state. If , however, the customer indicates that changes in requirements must be made, the analysis activity moves from the under development state into the awaiting changes state. The concurrent process model defines a series of events that will trigger the transition form state to state for each of the software engineering activities. For e.g. during early ages of design, an inconsistency in the analysis model is uncovered. This generates the event analysis model correction which will trigger the analysis activity from the done state into the awaiting changes state. The concurrent process model is often used as the paradigm for the development of client/server applications. The concurrent process model is applicable to all types of software development and provides an accurate picture of the current state of a project.

Advantages:
Its flexible the number incremental releases can be determined by the project team. Immediate feedback from testing. New features can be added late in the project. No surprises during formal validation because testing has been continuous.

Disadvantages:
The SRS (Software Requirements Specification) must be continually updated to reflect changes. It requires discipline to avoid adding too many new features too late in the project.

You might also like