Week 11 System Development Life Cycle Methods/Approaches/Models
Approaches to System Development System Development Life Cycle Methods/Approaches/Models Waterfall Model Prototype Model Spiral Model Extreme Programming Unified Process Agile Modeling Rapid Application Development (RAD) Joint Application Development (JAD) Others methods..
This is a conceptual model describing the phases involved in an information system development project. General steps of an SDLC methodology: 1. The existing system is evaluated. 2. The new system requirements are defined. 3. The proposed system is designed. 4. The new system is developed. 5. The system is put into use. 6. The new system should be evaluated once it is up and running.
It is the process of defining clear, discrete activities, and the work needed to complete each activity within a single project. Primary objectives: identify the scope of the new system ensure that the project is feasible develop a schedule, resource plan, and budget for the project o Activities: define the problem confirm project feasibility produce the project schedule staff the project launch the project
Is the phase to better understand and document the business needs and the processing requirements of the new system. Toolkits for the job and technical methods consideration. o Activities: gather information define system requirements prioritize requirements generate and evaluate alternatives review recommendations with management
This is where we design the logical solution system based on the requirements defined and decisions made during the analysis phase o Activities: design and integrate the network design the application architecture design the user interfaces design the system interfaces design and integrate the database prototype for design details design and integrate the system controls
This is where the final system is built, tested, and installed to ensure that the users are all trained and that the organization is ready to benefit as expected from use of the system. o Activities: construct software components verify and test convert data train users and document the system install the system
At this phase we keep the system running productively during the years following its initial installation by providing upgrades or enhancements patches for the software. o Activities: maintain the system enhance the system support the users Audit the system usage Assess software performance
Describes a development method that is linear and sequential Based on the metaphor that when one phase was finished, the development proceeds to the next phase and there is no going back Does not accept the expected changes and revisions that become necessary with most projects Some alternatives include joint application development (JAD), rapid application development (RAD), and spiral model
A systems development methodology in which a prototype is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed. An iterative, trial-and-error process that takes place between developers and end users
Advantages: May provide the proof of concept necessary to attract funding Early visibility of the prototype gives users an idea of what the final system looks like Encourages active participation among users and producer Enables a higher output for user
Cost effective (Development costs reduced) Increases system development speed Assists to identify any problems with the efficacy of earlier design, requirements analysis and coding activities Helps to refine the potential risks associated with the delivery of the system being developed Disadvantages: Possibility of causing systems to be left unfinished Producer might produce a system inadequate for overall organization needs User can get too involved where as the program can not be to a high standard Structure of system can be damaged since many changes could be made Not suitable for large applications
combines the features of the prototyping model and the waterfall model shows the life cycle as a spiral, starting in the center and works its way around, over and over again, until the project is complete intended for large, expensive, and complicated projects
General steps of Spiral Model: 1. The new system requirements are defined in details. 2. An initial design is created for the new system. 3. A first prototype of the new system is constructed from the initial design. 4. A second prototype is evolved by a fourfold procedure: (1) evaluating the first prototype in terms of its strengths, weaknesses, and risks; (2) defining the requirements of the second prototype; (3) planning and designing the second prototype; (4) constructing and testing the second prototype. 5. At the customer's option, the entire project can be aborted if the risk is deemed too great.
6. The existing prototype is evaluated in the same manner as was the previous prototype, and, if necessary, another prototype is developed from it according to the fourfold procedure outlined above. 7. The preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired. 8. The final system is constructed based on the refined prototype. 9. The final system is completely evaluated and tested.
Advantages Estimates of the budget and schedule become more realistic as work progresses because of the questions that have been raised Easier to cope with the changes inherent to software development Software engineers can start working on the project earlier rather than wading through a lengthy early design process Disadvantages A drawback of a spiral model is that estimates of budget and time are harder to judge at the beginning of the project since the requirements evolve through the process.
NB: Summary: We have covered the three (3) basic SDLC models. We recommend further reading on other evolving models Thank You