GROUP NAME
PRIME HEED DARB
TOPIC
SOFTWARE DEVELOPMENT LIFE CYCLE
GROUP MEMBER
AZMAT ALI DILSHAD
ESHA RAIS SHAGUFTA
ADNAN SALAM AZHAR SALEEM
Contents
What is SDLC?
SDLC Phases
Popular SDLC models
Conclusion
SOFTWARE DEVELOPMENT
LIFECYCLE
SOFTWARE DEVELOPMENT
LIFECYCLE (SDLC) is a
systematic process for building
software that ensures the
quality and correctness of the
SDL C
software built.
PHD
SDLC Phases
The entire SDLC process divided into the following stages:
Requirement collection and
analysis
Feasibility study
Design
Coding
Testing PHD
Installation/Deployment
Maintenance:
1# Requirement collection
and analysis
The requirement is the first stage in the SDLC process. It is conducted
by the senior team members with inputs from all the stakeholders and
domain experts in the industry. Planning for the quality assurance
requirements and recognization of the risks involved is also done at
this stage.
This stage gives a clearer picture of the scope of the entire project
and the anticipated issues, opportunities, and directives which
triggered the project.
2# Feasibility study
Once the requirement analysis phase is completed the next step is to
define and document software needs.
Economic: Can we complete the project within
the budget or not?
Legal: Can we handle this project as cyber law
and other regulatory framework/compliances.
Operation feasibility: Can we create operations
which is expected by the client?
Technical: Need to check whether the current
computer system can support the software
Schedule: Decide that the project can be
completed within the given schedule or not.
3# Design
In this third phase, the system and software design documents are
prepared as per the requirement specification document. This helps
define overall system architecture
There are two kinds of design documents developed in this phase:
High-Level Design (HLD)
Brief description and name of each module
An outline about the functionality of every module
Interface relationship and dependencies between modules
Database tables identified along with their key elements
Complete architecture diagrams along with technology details
3# Design (Continue)
Low-Level Design(LLD)
Functional logic of the modules
Database tables, which include type
and size
Complete detail of the interface
Addresses all types of dependency
issues
Listing of error messages
Complete input and outputs for every
module
4# Coding
Once the system design phase is over, the next phase is coding.
In this phase, developers start build the entire system by writing
code using the chosen programming language. In the coding
phase, tasks are divided into units or modules and assigned to
the various developers. It is the longest phase of the Software
Development Life Cycle process.
In this phase, Developer needs to follow
certain predefined coding guidelines.
They also need to use programming tools
like compiler, interpreters, debugger to
generate and implement the code
5# Testing
Once the software is complete, and it is deployed in the testing
environment. The testing team starts testing the functionality of
the entire system. This is done to verify that the entire
application works according to the customer requirement.
During this phase, QA and testing team may
find some bugs/defects which
they communicate to developers. The
development team fixes the bug and
send back to QA for a re-test. This process
continues until the software
is bug-free, stable, and working according
to the business needs of
that system.
6# Installation/Deployment
Once the software testing
phase is over and no bugs or
errors left in the system then
the final deployment process
starts. Based on the feedback
given by the project manager,
the final software is released
and checked for deployment
issues if any.
7# Maintenance
Once the system is deployed, and customers start using the
developed system, following 3 activities occur
Bug fixing - bugs are reported
because of some scenarios which are
not tested at all
Upgrade - Upgrading the application
to the newer versions of the Software
Enhancement - Adding some new
features into the existing software
Popular SDLC models
Waterfall model
Incremental Approach
V-Model
Agile Model
Spiral Model
Big bang model
Any
Question?