際際滷

際際滷Share a Scribd company logo
Software
Development
Life Cycle (SDLC)
Just starting of a software is not enough ,designing , implementing, testing,
delivering and maintenance is also necessary .
RamanDeep Singh
B.Tech,2nd Year
GTBIT
Contents For the Presentation
1.Introduction
2.Importance
3.Various Phases
4.Models
Introduction
 A Software Development Cycle is a conceptual model used in
software project management which includes various stages
involved in making of a software.
 Another definition says that it is a framework that defines all the
activities performed at each stage of the software development
project.
Importance
 The success and failure of any software product can be traced back to
the software development life cycle used.
 SDLC as a framework helps to guide the development of a software to
make it more systematic and efficient.
 It helps us to figure out the requirements for the given problem
statement .
 It helps in improving our estimate regarding the budget and other
resources to be used.
 With testing and maintenance given a separate stage , SDLC provides
a good time to be spent on these phases.
Phases in a typical SDLC
 Requirement gathering and analysis.
 Designing
 Implementation/Coding
 Testing
 Deployment
 Maintenance
Requirement gathering and analysis
 This is the most fundamental stage of SDLC.
 It is done by the big stakeholders and senior members involving in the
project like the project manager and business analyst.
 This is done in order to determine the requirements from the client.
 After getting the requirements ,these are analyzed for their feasibility to
get them incorporated into the project.
 Here in this stage What will the software will do  is determined rather
than how will it do.
 At last a Requirement Specification document is made which guides
next phases of the SDLC.
Designing
 The purpose of the Design Phase is to transform the requirements into
complete and detailed design specifications.
 There are several tools and techniques used for describing the design of
the software.
 These tools and techniques are: Flowchart, Data flow diagram (DFD),
Data dictionary ,Decision table and Decision tree.
 The Design approach must clearly define all the architectural modules of
the software product along with its communication with any other
external or third party module.
 In this phase the SDLC process moves from the what questions to the
how questions.
Implementation/Coding
 The design of the previous phase needs to be implemented in a technical
system which demands the coding of the design.
 A team of programmers are assigned by the organization to work on the
software.
 The work is generally divided in modules/units and actual coding is started.
 This is the longest phase of the SDLC.
 The programming language chosen depends on the type of software being
developed and the design phase ,it may be C,C++,java, etc.
 A well written code reduces the efforts in the testing and the maintenance phase of
the SDLC.
 Unit Tests are also performed in this phase by the developer to see whether the
software performs its task as per requirements.
Testing
 Testing is necessary to check whether the software product fulfills
the requirements specified .
 After the software is ready it is sent to the Quality assurance team for
further testing.
 This stage refers to the testing only the stage of the product where products
defects are reported, tracked, fixed and retested, until the product reaches the
quality standards defined in the SRS.
 The testing can be manually as well as automated with the help of scripts.
 During this phase integration testing ,system testing and acceptance testing
are done.
Deployment
 In this stage the software is deployed to the customers to run on their
machines.
 Here in this stage installation of hardware and software is done on the
client side.
 During deployment user training is also provided to the concerned
users with the help of documentation prepared.
 If the software is released first in the limited audience then based on
the feedback the software is enhanced and released in the targeting
market segment.
Maintenance
 This process where the care is taken for the developed product is known as
maintenance.
 After the software product have been deployed on the client side then the
real problems starts creeping up.
 The bugs and the enhancement which may come up from time to time from
the client needs to be addressed by the programmers.
 Maintenance is necessary to eliminate errors in the system during its working
life and to tune the system to any variations in its working environments.
 Maintenance must meet the scope of any future enhancement, future
functionality and any other added functional features to cope up with the
latest future needs.
SDLC Models
Some famous SDLC models which are used in the industry are :
 Waterfall Model.
 Iterative Model.
 Spiral Model.
 V-Model.
 Agile Model.
Different Models will be discussed in the
next slides to come.

More Related Content

Software development life cycle (sdlc) part1

  • 1. Software Development Life Cycle (SDLC) Just starting of a software is not enough ,designing , implementing, testing, delivering and maintenance is also necessary . RamanDeep Singh B.Tech,2nd Year GTBIT
  • 2. Contents For the Presentation 1.Introduction 2.Importance 3.Various Phases 4.Models
  • 3. Introduction A Software Development Cycle is a conceptual model used in software project management which includes various stages involved in making of a software. Another definition says that it is a framework that defines all the activities performed at each stage of the software development project.
  • 4. Importance The success and failure of any software product can be traced back to the software development life cycle used. SDLC as a framework helps to guide the development of a software to make it more systematic and efficient. It helps us to figure out the requirements for the given problem statement . It helps in improving our estimate regarding the budget and other resources to be used. With testing and maintenance given a separate stage , SDLC provides a good time to be spent on these phases.
  • 5. Phases in a typical SDLC Requirement gathering and analysis. Designing Implementation/Coding Testing Deployment Maintenance
  • 6. Requirement gathering and analysis This is the most fundamental stage of SDLC. It is done by the big stakeholders and senior members involving in the project like the project manager and business analyst. This is done in order to determine the requirements from the client. After getting the requirements ,these are analyzed for their feasibility to get them incorporated into the project. Here in this stage What will the software will do is determined rather than how will it do. At last a Requirement Specification document is made which guides next phases of the SDLC.
  • 7. Designing The purpose of the Design Phase is to transform the requirements into complete and detailed design specifications. There are several tools and techniques used for describing the design of the software. These tools and techniques are: Flowchart, Data flow diagram (DFD), Data dictionary ,Decision table and Decision tree. The Design approach must clearly define all the architectural modules of the software product along with its communication with any other external or third party module. In this phase the SDLC process moves from the what questions to the how questions.
  • 8. Implementation/Coding The design of the previous phase needs to be implemented in a technical system which demands the coding of the design. A team of programmers are assigned by the organization to work on the software. The work is generally divided in modules/units and actual coding is started. This is the longest phase of the SDLC. The programming language chosen depends on the type of software being developed and the design phase ,it may be C,C++,java, etc. A well written code reduces the efforts in the testing and the maintenance phase of the SDLC. Unit Tests are also performed in this phase by the developer to see whether the software performs its task as per requirements.
  • 9. Testing Testing is necessary to check whether the software product fulfills the requirements specified . After the software is ready it is sent to the Quality assurance team for further testing. This stage refers to the testing only the stage of the product where products defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS. The testing can be manually as well as automated with the help of scripts. During this phase integration testing ,system testing and acceptance testing are done.
  • 10. Deployment In this stage the software is deployed to the customers to run on their machines. Here in this stage installation of hardware and software is done on the client side. During deployment user training is also provided to the concerned users with the help of documentation prepared. If the software is released first in the limited audience then based on the feedback the software is enhanced and released in the targeting market segment.
  • 11. Maintenance This process where the care is taken for the developed product is known as maintenance. After the software product have been deployed on the client side then the real problems starts creeping up. The bugs and the enhancement which may come up from time to time from the client needs to be addressed by the programmers. Maintenance is necessary to eliminate errors in the system during its working life and to tune the system to any variations in its working environments. Maintenance must meet the scope of any future enhancement, future functionality and any other added functional features to cope up with the latest future needs.
  • 12. SDLC Models Some famous SDLC models which are used in the industry are : Waterfall Model. Iterative Model. Spiral Model. V-Model. Agile Model.
  • 13. Different Models will be discussed in the next slides to come.