is a software development process developed initially by James Martin in 1991. The methodology involves iterative development, and the construction of prototypes. Traditionally the rapid application development approach involves compromises in usability, features, and/or execution speed. It is described as a process through which the development cycle of an application is expedited. Rapid Application Development thus enables quality products to be developed faster, saving valuable resources.
Steps/Process
1. Requirements Planning
The Requirements Planning stage consists of a review of the areas immediately associated with the proposed system. This review produces a broad definition of the system requirements in terms of the functions the system will support.
The deliverables from the Requirements Planning stage include an outline system area model (entity and process models) of the area under study, a definition of the system's scope, and a cost justification for the new system.
2. User Design
The User Design stage consists of a detailed analysis of the business activities related to the proposed system. Key users, meeting in workshops, decompose business functions and define entity types associated with the system. They complete the analysis by creating action diagrams defining the interactions between processes and data. Following the analysis, the design of the system is outlined. System procedures are designed, and preliminary layouts of screens are developed. Prototypes of critical procedures are built and reviewed. A plan for implementing the system is prepared.
3. Construction
In the Construction stage, a small team of developers, working directly with users, finalizes the design and builds the system. The software construction process consists of a series of "design-and-build" steps in which the users have the opportunity to fine-tune the requirements and review the resulting software implementation. This stage also includes preparing for the cutover to production.
In addition to the tested software, Construction stage deliverables include documentation and instructions necessary to operate the new application, and routines and procedures needed to put the system into operation.
4. Implementation
The implementation stage involves implementing the new system and managing the change from the old system environment to the new one. This may include implementing bridges between existing and new systems, converting data, and training users. User acceptance is the end point of the implementation stage.
Pros and Cons of RAD
Pros
Increased speed of development through methods including rapid prototyping, virtualization of system related routines, and other techniques.
Decreased end-user functionality (arising from narrower design focus), hence reduced complexity
Larger emphasis on simplicity and usability of GUI design
Cons
Reduced Scalability, and reduced features when a RAD developed application starts as a prototype and evolves into a finished application
Reduced features occur due to time boxing when features are pushed to later versions in order to finish a release in a short amount of time
The data needed should already be existing
Spiral model
is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. Also known as the spiral lifecycle model, it is a systems development method (SDM) used in information technology (IT). This model of development combines the features of the prototyping model and the waterfall model. The spiral model is intended for large, expensive and complicated projects.
The spiral model, also known as the spiral lifecycle model, is a systems development method (SDM) used in information technology (IT). This model of development combines the features of the prototyping model and the waterfall model. The spiral model is intended for large, expensive, and complicated projects.
Steps:
The aim of customer communication is to establish effective communication between developer and customer.
The planning objectives are to define resources, project alternatives, time lines and other project related information.
The purpose of the risk analysis phase is to assess both technical and management risks. The engineering task is to build one or more representations of the application.
The construction and release task – to construct, test, install and provide user support (e.g., documentation and training).
The customer evaluation task - to obtain customer feedback based on the evaluation of the software representation created during the engineering stage and implemented during the install stage.
Advantages
Software is produced early in the software life cycle.
High amount of risk analysis
Good for large and mission-critical projects.
High amount of risk analysis
Good for large and mission-critical projects.
Disadvantages
Doesn't work well for smaller projects.
Can be a costly model to use.
Risk analysis requires highly specific expertise.
Project's success is highly dependent on the risk analysis phase.
Can be a costly model to use.
Risk analysis requires highly specific expertise.
Project's success is highly dependent on the risk analysis phase.
Done by LiSui, 7/01/2008
2 comments:
-Is "prototyping" a software process?
- Are there different types of "prototyping"? Explain the different types and pros and cons.
- Why are there so many spirals in the spiral model?
- How many prototypes can be developed in the spiral model?
- Is the spiral model useful for Mr. Chong & Sonium?
Post a Comment