2. INTRODUCTION:
A Software Development Life Cycle (SDLC) is
any logical process used by a systems analyst to
develop an information system, including
requirements, validation, training, and user
(stakeholder) ownership
A framework that describes the activities
performed at each stage of a software
development project.
S.K.Ahsan
3. WHY DO WE NEED SDLC?
SDLC has made the development of software
more easy than earlier.
Because software can be very difficult and
complex. SDLC works as a framework to guide
the development to make it more systematic and
efficient.
By SDLC we will be able to tell how long it will
take to complete the project, to test and deploy.
S.K.Ahsan
10. Planning:
Develops a project management plan and other
planning documents.
Provides the basis for acquiring the resources
needed to achieve a solution.
S.K.Ahsan
11. Requirement Analysis:
defines needed information, function,
behavior, performance and interfaces.
Analyses user needs and develops user
requirements
Create a detailed functional requirements
document.
Refines project goals into defined functions and
operation of the intended application. Analyzes end-user
information needs.
S.K.Ahsan
12. Design:
data structures, software architecture,
interface representations, algorithmic
details.
Transform detailed requirement into
complete, detailed systems design
document focuses on how to deliver the
required functionality.
System design Describes desired features and
operations in detail, including screen layouts,
business rules, process diagrams, pseudo code
and other documentation.
S.K.Ahsan
13. Development:
Implementation is the part of the process where
software engineers actually program the code for
the project.
Converts a design into a complete information
system includes acquiring and installing systems
environment; creating and testing databases
preparing test case procedures ;preparing test
files, coding compiling, refining programs.
S.K.Ahsan
14. Integration and testing:
Brings all the pieces together into a special
testing environment, then checks for errors, bugs
and interoperability.
Software testing is an integral and important part
of the software development process. This part of
the process ensures that bugs are recognized as
early as possible.
Documenting the internal design of software for
the purpose of future maintenance and
enhancement is done throughout development.
S.K.Ahsan
15. Implementation:
–source code, database, user documentation,
testing.
Implementation of the system in the real
environment
Resolution of the problem in the integration and
the test phase
S.K.Ahsan
17. Deployment:
The final stage of initial development, where the
software is put into production and runs actual
business.
Deployment starts after the code is appropriately
tested, is approved for release and sold or
otherwise distributed into a production
environment.
S.K.Ahsan
18. Maintenance
1- Corrective maintenance - To fix errors
2 -Adaptive maintenance - To add new
capability and enhancements
3- Perfective maintenance - To improve
efficiency
S.K.Ahsan
19. SDLC – Advantages:
Focus on goals
Controls: milestones, checklist,
accountability
Tools, models, CASE
Hierarchical decomposition
Designed for user & manager
involvement
S.K.Ahsan
20. SDLC - Reasons for Failure:
Scope too broad or too narrow
Lack of needed skills
Incomplete specifications
No control/no framework
Lack of management/user involvement
Too time-consuming
S.K.Ahsan
21. SDLC models:
To over come the problems following models
were introduced:
1. Waterfall models.
2. Spiral models.
3. Iterative models.
4. JDA ( Joint Development Application )
5. RDA ( Rapid Development Application )
S.K.Ahsan