System Development Methodologies (1) Flashcards
Define Rapid Application Development (RAD)
RAD (Rapid Application Development) offers a solution by enabling systems to be developed in a much faster time frame, often less than six months from start to finish.
Discuss 4 ways a project can be completed faster using RAD:
Idea 1: Use workshops and focus groups to gather requirements rather than a formal Requirement Document
Idea 2: Use prototyping to refine the system with heavy involvement of the user.
Idea 3: Allocate strict time limits to develop each part of the system. The intent is to develop a system that is ‘good enough’ rather than one bloated with bells and whistles.
Idea 4: Re-use software components already to hand.
What are the pros of using the RAD method of developing a computer system?
Benefits
User involvement
The use of collaborative workshops means the user is heavily involved with the design and development of the system
Evolutionary requirements
Users are not expected to understand everything they require at the beginning of the project. Requirements evolve.
Speed up projects
RAD makes use of a number of techniques to encourage good time management, efficient software development and reduce the chances of late changes
What are the cons of using the RAD method of developing a computer system?
Problems
Not everyone happy
The workshops may not include all types of user. Some users may have been left out and so the system may not meet their expectations
System is not optimal
Time boxing encourages good time management, but the it may not have been realistic to develop some requirements in the time provided resulting in a system that does what it says but is actually less than what it should be.
Prototyping Define:
A prototype represents some aspect of the full system - for instance a mock-up of the graphical user interface.
Evolutionary prototyping
The idea behind this is that an initial prototype is presented to the user. They provide feedback and suggestions for improvements.
These are actioned by the developer who then presents a more refined prototype. The user once more provides feedback. The process is repeated.
Throwaway prototyping
With ‘throw-away’ prototyping a small part of the system is developed and then given to the end user to try out and evaluate. The user provides feedback which can quickly be incorporated into the development of the main system.
The prototype is then discarded or thrown away. This is very different to the evolutionary approach.
The objective of throw-away prototyping is to ensure that the system requirements are validated and that they are clearly understood.
Discuss the stages used to create a project using the prototyping
- Prototype is designed with user’s requirements
- Prototype is built with user’s requirements
- User tests the prototype
- Feedback is provided to the developer
- Developer refines prototype based on feedback
- User tests new prototype
- Process is repeated until final product is achieved
Waterfall methodology
The waterfall model is a non-iterative design process, used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, production/implementation and maintenance.