2. SDLC
Software development life cycle, SDLC for short, is a well-defined,
structured sequence of stages in software engineering to develop the
intended software product.
3. SDLC PHASES
•Requirements gathering and analysis
•Design
•Development
•Testing
•Implementation
•Maintenance
SDLC provides a series of steps to be followed to design and develop a software
product efficiently. SDLC framework includes the following steps:
5. SDLC PHASE
PHASE 1 : - Requirements gathering
• This step onwards the software development team works to carry on the project.
• The team holds discussions with various stakeholders from problem domain and tries to bring
out as much information as possible on their requirements.
• The requirements are contemplated and segregated into user requirements, system
requirements and functional requirements.
6. SDLC PHASES
PHASE 2 : - Design
• Next step is to bring down whole knowledge of requirements and analysis on the desk and
design the software product.
• The inputs from users and information gathered in requirement gathering phase are the inputs
of this step.
• The output of this step comes in the form of two designs : -
• Logical design, and
• Physical design.
8. SDLC PHASE
PHASE 4 : - Testing
• An estimate says that 50% of whole software development process should be tested.
• Errors may ruin the software from critical level to its own removal.
• Software testing is done while coding by the developers and thorough testing is conducted by
testing experts at various levels of code.
9. SDLC PHASE
PHASE 5 : - IMPLEMENTATION
• This means installing the software on user machines.
• At times, software needs post-installation configurations at user end.
• Software is tested for portability and adaptability and integration related issues are solved
during implementation.
10. SDLC PHASE
PHASE 6 : - MAINTENANCE
• This phase confirms the software operation in terms of more efficiency and less errors.
• If required, the users are trained on, or aided with the documentation on how to operate the
software and how to keep the software operational.
• The software is maintained timely by updating the code according to the changes taking place
in user end environment or technology.
11. SDLC MODELS
To help understand and implement the SDLC phases various
SDLC models have been created by software development
experts, universities, and standards organizations.
12. REASONS FOR USING SDLC
MODELS
•Provides basis for project planning, estimating & scheduling
•Provides framework for standard set of terminologies, activities &
deliverables
•Provides mechanism for project tracking & control
•Increases visibility of project progress to all stakeholders
13. ADVANTAGES OF CHOOSING
AN APPROPRIATE SDLC
• Increased development speed
• Increased product quality
• Improved tracking & control
• Improved client relations
• Decreased project risk
• Decreased project management overhead
14. LIFE CYCLE MODELS
• WATER FALL
• ITERATIVE
• SPIRAL
• EVOLUTIONARY PROCESS MODEL
15. LIFE CYCLE MODEL
WATER FALL MODEL
• This model is named “waterfall model” because its diagrammatic representation resembles a
cascade of waterfalls.
• This model is easy to understand and reinforces the notion of “define before design” and “design
before code”.
• The model expects complete & accurate requirements early in the process, which is unrealistic
• Follows a sequential step-by-step process from requirements analysis to maintenance.
17. PROBLEM WITH WATERFALL MODEL
•It is difficult to define all requirements at the beginning of a project
•This model is not suitable for accommodating any change
• A working version of the system is not seen until late in the project’s life
•It does not scale up well to large projects.
•Real projects are rarely sequential.
18. LIFE CYCLE MODEL
ITERATIVE MODEL
• This model leads the software development process in iterations.
• It projects the process of development in cyclic manner repeating every step after every cycle
of SDLC process.
• Every cycle produces a software, which is complete in itself and has more features and
capabilities than that of the previous one.
• it is easier to manage the development process but it consumes more resources.
20. LIFE CYCLE MODEL
SPIRAL MODEL
• Spiral model is a combination of both, iterative model and one of the SDLC model.
• This model considers risk, which often goes un-noticed by most other models.
• The model starts with determining objectives and constraints of the software at the start of one
iteration. Next phase is of prototyping the software. This includes risk analysis. Then one
standard SDLC model is used to build the software. In the fourth phase of the plan of next
iteration is prepared.
22. LIFE CYCLE MODEL
EVOLUTIONARY PROCESS MODEL
• Evolutionary process model resembles iterative enhancement model. The same phases as
defined for the waterfall model occur here in a cyclical fashion. This model differs from iterative
enhancement model in the sense that this does not require a useable product at the end of each
cycle. In evolutionary development, requirements are implemented by category rather than by
priority.
• This model is useful for projects using new technology that is not well understood. This is also
used for complex projects where all functionality must be delivered at one time, but the
requirements are unstable or not well understood at the beginning.