1 Different Development methodologies Waterfall Spiral Structured systems analysis and design methodology(SSADM) Rapid Application Development (RAD) Prototyping Object-oriented analysis and design
2 Waterfall Traditional life cycle model. Series of phases, each of which must be completed and signed off before progressing to the next. Problems Increased costs when problems identified. Users do not see the system for a long time. User involvement minimal. Rigid in a changing environment and may not be fit for purpose when complete Advantages processes are compartmentalised Good control No repetition
3 Spiral Model Evaluate Alternatives Identify, Resolve Risks Develop, Verify Next Level Product Plan Next Phases Determine Objectives, Alternatives, Constraints
4 Spiral Constantly cycle through the phases at different levels of detail. Smaller sub projects. Delivery to user quicker. Changes can be rectified and incorporated into next phase. Testing effort increased as different phases will need to be tested in isolation and then together.
5 Systems development life cycle Highly linked set of phases Products from one phase are needed in the next. Can return to previous phases if required. Development could be broken into sub projects so there are several loops of the methodology to go through for each project.
6 RAD Businesses need to respond quickly to changing requirements. Fixed time and resources but requirements can change as the project develops. Borrows from other approaches and uses prototyping, participation and CASE tools. Recognises importance of User participation – Business Buy In Evolutionary approach to development.
7 RAD process Central to RAD is the role of clearly defined workshops. Include users and IT personnel. Independent Facilitator – controlling meeting, setting agenda and responsible for steering the meeting to deliverables.
8 RAD process 4 Phases Requirements Planning Joint requirements planning to establish high-level management and strategic objectives Application development Joint application development(JAD) involves user participation in the workshops. Follows a top-down approach and may use prototyping tools. JAD workshops short-circuit the traditional life- cycle approach. Momentum not lost and several focused workshops held in quick succession.
9 RAD process 4 Phases Systems construction Design specifications produced in JAD used to develop detailed designs and generate code. Series of prototypes are created, which are then assessed by end users, which may result in further iterations and modifications. Focus on CORE functionality Graphical user interface building tools, database management system development tools, 4GLs and Case tools are used to aid the process. Time Boxed approach to development.
10 RAD process 4 Phases Cutover Users are trained and system tested comprehensively. Objective is to have the core functioning effectively.
11 RAD assumptions Businesses face continuous change and uncertainty. Information requirements and therefore information systems need to change to meet the above challenge. Information system development should be driven by business requirements Information systems should be built quickly Users should participate in the development. Prototyping and development tools are necessary to ensure quick responses.
12 Prototype Initial Investigation Requirements Definition System Design Coding, testing,... Implementation Maintenance Systems analysis
13 Prototyping Involves end users Quick build of the system’s core functionality so that users can get a feel for the application. Can help to define requirements and allow the users to relate better to the end product. Different types Throwaway prototyping Evolutionary prototyping
14 Throwaway prototyping Rapid development to try a process and clarify user requirements. Quick build with little analysis or documentation. Used as a learning experience and thrown away after being built. Useful for eliciting difficult requirements and trying new technology.
15 Evolutionary prototyping Quick build with core functions for users to see and evaluate Modified to include all the required functionality. Goes through many cycles of enhancements to form the final system
16 Object Oriented Analysis and Design Defines system in terms of Objects and the properties of the objects instead of processes. Supported by Case tools and prototyping. Analysis focuses on the structure of the object types and the analysis of the object behaviour.