The document discusses the Software Development Life Cycle (SDLC), which is a framework for developing software in a systematic and efficient manner. It involves several phases from planning and requirements analysis to development, testing, deployment, and maintenance. SDLC helps estimate timelines, test software thoroughly, and develop applications in a disciplined way. The key phases include initiation, planning, requirements analysis, design, development, integration and testing, implementation, deployment, and maintenance.
INTRODUCTION:
ASoftware 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 WENEED 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
Planning:
Developsa 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:
datastructures, 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:
Implementationis 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:
–sourcecode, 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
Deployment:
Thefinal 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- Correctivemaintenance - 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 - Reasonsfor 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