Software Development Life 
Cycle(SDLC)
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
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
SDLC – Characteristics: 
 Disciplined approach 
 Systems approach 
 Iterative (not sequential) 
 Cyclical 
S.K.Ahsan
SDLC PHASES 
S.K.Ahsan
SDLCPHASES 
S.K.Ahsan
SDLCPHASES 
 Initialization 
 Planning 
 Requirement Analysis 
 Design 
 Development 
 Integration and testing 
 implementation 
 Deployment 
 Maintenance 
S.K.Ahsan
Initiation & feasibility: 
Project objectives & Scope 
Preliminary survey & feasibility 
Technical 
Economic 
Operational 
Project proposal and schedule 
Identify assumptions & 
constraints 
S.K.Ahsan
Initiation & feasibility: 
S.K.Ahsan
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
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
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
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
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
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
S.K.Ahsan
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
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
SDLC – Advantages: 
 Focus on goals 
 Controls: milestones, checklist, 
accountability 
 Tools, models, CASE 
 Hierarchical decomposition 
 Designed for user & manager 
involvement 
S.K.Ahsan
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
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

System Development Life Cycle

  • 1.
  • 2.
    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
  • 4.
    SDLC – Characteristics:  Disciplined approach  Systems approach  Iterative (not sequential)  Cyclical S.K.Ahsan
  • 5.
  • 6.
  • 7.
    SDLCPHASES  Initialization  Planning  Requirement Analysis  Design  Development  Integration and testing  implementation  Deployment  Maintenance S.K.Ahsan
  • 8.
    Initiation & feasibility: Project objectives & Scope Preliminary survey & feasibility Technical Economic Operational Project proposal and schedule Identify assumptions & constraints S.K.Ahsan
  • 9.
  • 10.
    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
  • 16.
  • 17.
    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