Lecturer details • Systems Development Life Cycle • Phases and Activities in the SDLC • Variations of the SDLC models
System development life cycle (SDLC) • SDLCProvides overall framework for managing systems development process • Two main approaches to SDLC • Predictive approach – assumes project can be planned out in advance • Adaptive approach – more flexible, assumes project cannot be planned out in advance
Stages of SDLC • Project planning – initiate, ensure feasibility, plan schedule, obtain approval for project • Analysis– understand business needs and processing requirements • Design – define solution system based on requirements and analysis decisions • Implementation – construct, test, train users, and install new system • Support– keep system running and improve
Stage 1&2: Project planning/Analysis • Define business problem and scope • Produce detailed project schedule • Confirm project feasibility / • - Economic, organizational, technical, resource, and schedule • Staff the project (resource management) • Launch project official announcement • --------------------------------------------------------------------------------- • Gather information to learn problem domain • Define system requirements • Build prototypes for discovery of requirements • Prioritize requirements • Generate and evaluate alternatives • Review recommendations with management
Stage 3&4: Project design/ Implementation • 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 system controls • --------------------------------------------------------------------------------- • Construct software components • Verify and test • Convert data • Train users and document the system • Install the system
Stage 5: Support • Maintain system • Small patches, repairs, and updates • Enhance system • Small upgrades or enhancements to expand system capabilities • Larger enhancements may require separate development project • Support users • Help desk and/or support team
SDLC approaches: Waterfall (1) • Each life cycle phase is completed in sequence • No going back once the phase is completed (like a waterfall) • The key deliverables are typically produced on paper (hundreds of pages in length) • The decisions made at each phase are frozen
Waterfall model pros and cons The two key advantages of the waterfall model: • Identifying system requirements long before programming begins • It minimizes changes to the requirements as the project proceeds The key disadvantages: • The design must be completely specified on paper before programming begins • A paper document is often a poor communication mechanism, so important requirements can be overlooked in the hundreds of pages of documentation • Users rarely are prepared for their introduction to the new system, which occurs long after the initial idea for the system was introduced. • A system may require significant rework because of changes in business environment since the time the analysis phase occurred
SDLC approaches: Parallel Model (2) • TheParallel Model is doing the design and implementation in sequence, it performs a general design for the whole system • It then divides the project into series of distinct subprojects that can be designed and implemented in parallel • Once all subprojects are complete, the final integration of the separate pieces is delivered
Parallel model pros and cons Primary advantages: • Can reduce the schedule time required to deliver a system • There is less chance of changes in the business environment causing rework • Key disadvantages: • Still suffers from problems caused by paper documentation • A new problem: sometimes the subprojects are not completely independent; design made in one subproject may affect another and the end of the project may require significant integrative efforts
SDLC approaches: Spiral model (3) • Project cycles through development activities over and over until project is complete • Prototype created by end of each cycle • Focuses on mitigating risk
SDLC approaches: Iteration model (4) • Iteration: the process of looping through the same development activities multiple times, sometimes at increasing levels of details or accuracy • Assumes no one gets the right results the first time (version) • Do some analysis, then some design, then some implementation, then do some further analysis, etc until you get it right • the amount of iteration depends on the complexity of the project.
SDLC approaches: Phased model (5) • Breaks the overall system into a series of versions that are developed sequentially • The analysis phase identifies the overall system concept. The project team, users and system sponsors categorize the requirements into a series of versions • The most important and fundamental requirements are bundled into the first version of the system.
Pros and cons of Phased model • Advantages: • Quickly getting a useful system into the hands of users. Although it does not perform all the functions the users need, it helps them sooner to identify important additional requirements • Disadvantages: • The users begin to work with systems that are incomplete. It is critical to identify the most important and useful features and include them in the first version.
SDLC approaches: Prototyping model (6) • Performs analysis, design and implementation phases concurrently, • All three phases are performed repeatedly in a cycle until the system is completed. • The basics of analysis and design are performed, and work immediately begins on a system prototype
Prototyping model pros and cons The key advantages: • Very quickly provides a system for users to interact with. It reassures the users that the project team is working on the system. • The users can interact with the prototype to better understanding what it can and cannot do rather than attempting to understand a system specification on paper. The major disadvantages: • Fast-paced system releases challenge attempts to conduct careful, methodical analysis. Often the prototype undergoes such significant changes that many initial design decisions become poor ones
End Thank you ??????