Software Development Methodologies

Describing the two types of software development methodologies - prototyping & rapid application development

HideShow resource information
  • Created by: Joanna
  • Created on: 25-05-12 18:32

Prototyping

  • A software development methodology which focuses on the early delivery to end users of an incomplete, but working, system which can be changed following feedback from the client.
  • A prototype enables the end users to evaluate the proposals for the design of software by trying them rather than having to interpret and evaluate the design based on descriptions.
  • End user can find it difficult to define their exact requirements.
  • Prototyping is used to check that what the end users want and need.
  • A prototype enables design options to be tried out and problems with possible solution to be investigated.
  • There are 2 types of prototyping:
    • Evolutionary
    • Throw - away
1 of 6

Evolutionary Protyping

  • An initial prototype is developed and evaluated by the end users
  • Using this feedback a second prototype is developed and evaluated.
  • This process continues with each prototype and evaluation making the system closer to what the end users required.
  • On the last evaluation, the system should meet all the requirements.
2 of 6

Throw - away Prototyping

  • A working model of various parts of the system is developed after a short investigation.
  • The prototype is developed and evaluated by the end users but is not used in the final solution - it is thrown away.
  • This allows the end users to give, and recieve quick feedback, which means that any refinements can be done early in the development.
  • This is cost effective as there is nothing to redo.
  • If a project is changed after considerable work has been done, then small changes could require large efforts to implement since software systems have many dependencies.
3 of 6

Advantages & Disadvantages of Prototyping

  • Advantages of prototyping include:
    • Reduced time and costs
    • Improved and increased user development
    • Earlier feedback from the end user canbe obtained by the desiger
    • The avoidance of the expense and difficulty of changing a finished software product
  • Disadvantages of prototyping include:
    • End user confusion between the prototype and finished system
    • Excessive development time of the prototype

NOTE : This methodology cannot be used where user requirements are well established or the system is a standard one used by the organisation.

4 of 6

Rapid Application Development

  • A software development methodolgy based on a system life cycle that is iterative and evolutionary.
  • The aim of RAD is to produce a software solution in less than 6 months (considered to be the longest time scale over which user requirements will stay static).
  • RAD has 2 features:
    • The use of joint application design (JAD workshop)
      • Aim to develop a set of requirements that should not change before the system is implemented.
    • Use of timeboxing
      • The requirements of the system are defined in small chunks each of which is considered using a JAD.
      • 
5 of 6

Advantages & Disadvantages of RAD

  • Advantages of RAD include:
    • End users are involved at all stages with the system being implemented within 6 months.
    • End users are involed in the evaluations so this should ensure that the final system fully meets their defined requirements.
    • End users don't have to refine all the requirements of the system at the beginning of the process.
  • Disadvantages of RAD include:
    • The solution developed using RAP may, on the surface, meet the end user requirements but the funtionality may not be acceptable.
    • The project manager, who is overseeing the development of the system, will need to keep a very tight control over the whole development process and the  team, if the system is to be developed within 6 months deadline required by RAD.

NOTE : This methodology should not be used where the user requirements include safety critical components.

6 of 6

Comments

Mr A Gibson

A good level of detail to help with understanding the features of Prototyping and Rapid Application Development. Also, comparison of the two methods. Good resource for quick revision on the two development methods.

Similar ICT resources:

See all ICT resources »See all Development, Training and Testing resources »