Development Methadologies (Agile Development (Benefits of using the agile…
Rapid Application Development(RAD)
RAD consists of four stages
Requirement Planning Phase - Similar to the analysis stage, but users managers and IT staff discuss and agree on the requirements of the project. No need for a legally binding software specification
User Design Phase - Developers work with the users to turn their requirements into a prototype. This allows the users to understand and modify the the system
Construction Phase - Similar to implementation and testing, but users may still be involved.
Cutover Phase - The software is installed and tested on the new system and user training and maintenance starts
It involves the users at all stages of the development process and changes can be made at any time. This results in a faster and more flexible development process.
It is more useful for smaller projects
Benefits of using the agile method are: reduced development time, increased responsiveness to changes and reduced cost as efficiency is increased by the small groups of developers.
Makes use of prototyping, where models of the system are tested throughout development. This allows client feedback to be taken into account as soon as possible
Version management system keeps track of issues and bugs and to give feedback.
Some people believe that is is too extreme in comparison to the waterfall model. Also, clients don't have to think about an exact specification at the beginning but rather can constantly make changes throughout the project.
Waterfall model has seven iterative stages
Analysis - This turns a rough idea into an exact specification, which is up to the systems analyst to do. This may be difficult as the client may not be able to accurately describe the software they want or it may be unrealistic. The software specification is a legally binding document. Errors at this stage may be detrimental to the other stages
Design - Stage to turn the analysis stage into a design that can be used by the programmers
This can include wire framing, structure diagram, data flow diagram, pseudocode
Implementation - Turning the design into high level code
The language used will depend upon the experience of the team, the type of problem and the OS.
Testing - Check if the program meets the specification and if it is robust and reliable.
Testing should demonstrate the presence of error s and not the lack of them.
There are two types of testing: alpha and beta. Alpha testing is done within the organisation and beta testing is done by the users
Documentation - User guide and technical guide are produced. The user guide details how to user the software. The technical guide details the minimum specifications
Evaluation - Involves both clients and developers to evaluate if the software is efficient, robust, reliable, maintainable and user friendly
Maintenance takes part after the software has been created and the software is already being used by the clients.
Perfective - Extra features for the software that are usually paid for by the users.
Corrective - Fixing errors or bugs in the program, which is paid for by the company
Adaptive - Software needs to be changed as it is being used in a different OS, which is usually paid for by the clients