SlideShare una empresa de Scribd logo
1 de 12
Software Development
       Lifecycle

“You’ve got to be very careful if you don’t know where
   you’re going, because you might not get there.”

                     Yogi Berra




                                                         1
SDLC Stages
                      1: Determine
                          Scope

      8: Review                        2: Gather
      & Maintain                     Requirements



   7: Write                                 3: Write
Documentation                             Specification




       6: Test the                     4: Design
        program                        Solution

                       5: Code the
                          design
                                                          2
1: Determine the Scope
Also called the Problem Domain
Describe the boundaries of the problem
Identify what is and what is not covered
Include those who are affected (stakeholders)
and describe how they are affected.
 what functions is the product supposed to have
  i.e. how the interface should be, what should the
  product do, how will the user use the product.
                                                      3
2: Gathering Requirements




                            4
2: Gathering Requirements
A common failure of IT projects worldwide
The Functional Requirements must be
known
 What is wanted by those who are affected
Gathering techniques:
   Existing Documentation
   Observation
   Interview
   Questionnaires
                                             5
3: Write Specification
A categorised list of elements required to
start designing a solution, inc:
   Inputs
   Outputs
   Processing
   Storage
   User interface
   Constraints

                                             6
4: Design Solution
Using design tools, inc
   Forms design
   Flowcharts
   Structure diagrams
   DFDs and ERDs
   UML diagrams
   Class schemas


                              7
5: Code the design
Designs are converted into program code
Language will have been selected
depending on program function
Teams of programmers may work on
different modules or classes
Teams must adopt similar working
practices and understand how their modules
fit into larger solution
                                             8
6: Test the program
Testing is a critical part of the quality
assurance process,
2 common methods for module testing are:
 Black Box - doesn’t care about how the
  program was written, only if it does what it’s
  supposed to do.
 White Box – examines performance of code.
  Ensures code generates correct results
White box starts after Black box and takes
longer.
                                                   9
6: Test the program
A thorough test plan should include:
 All possible outcomes (check flowcharts
  logical pathways e.g. Loops & True/False)
 Sufficient test data which checks Normal,
  Extreme and Erroneous data.
 Trace table inc; Date, Test, Expected result,
  Actual Result, Corrective action and
 Screen captures
Debugging tools include:
 Breakpoint & Trace (run program line-by line),
 Watches (changes to variable contents)
                                                   10
7: Write Documentation
Three types of documentation
Internal (inside code)
 Meaningful variable names,
 Tidy layout & good comments (why not how)
Technical (for maintenance)
 Requirements specification, Design diagrams,
  Test strategy, fully commented code,
  Troubleshooting guide.
User (step-by step instructions)
 Text files (e.g. Readme.txt), PDF files,
  Sceencasts and animations.                     11
8: Review & Maintain
Reviewing
 Looking at the solution and comparing it with
  the original requirements
 Have they been met? and How well is the
  solution working?
Maintenance
 Keeping the solution working
 Expanding the scope of the program to add
  extra features and functionality
 Over 80% of the lifecycle can be maintenance
                                                  12

Más contenido relacionado

Destacado

Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof language
nicky_walters
 
Design documentation
Design documentationDesign documentation
Design documentation
nicky_walters
 
Event oriented programming
Event oriented programmingEvent oriented programming
Event oriented programming
Ashwini Awatare
 
Event+driven+programming key+features
Event+driven+programming key+featuresEvent+driven+programming key+features
Event+driven+programming key+features
Faisal Aziz
 
Pseudocode flowcharts
Pseudocode flowchartsPseudocode flowcharts
Pseudocode flowcharts
nicky_walters
 
Algorithmsandflowcharts1
Algorithmsandflowcharts1Algorithmsandflowcharts1
Algorithmsandflowcharts1
luhkahreth
 

Destacado (18)

Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof language
 
Decisions
DecisionsDecisions
Decisions
 
Design documentation
Design documentationDesign documentation
Design documentation
 
Simple debugging
Simple debuggingSimple debugging
Simple debugging
 
Event driven theory
Event driven theoryEvent driven theory
Event driven theory
 
Data types vbnet
Data types vbnetData types vbnet
Data types vbnet
 
Algorithms
AlgorithmsAlgorithms
Algorithms
 
Event driven programming amazeballs
Event driven programming amazeballsEvent driven programming amazeballs
Event driven programming amazeballs
 
Controls
ControlsControls
Controls
 
Event oriented programming
Event oriented programmingEvent oriented programming
Event oriented programming
 
Best Practices Frameworks 101
Best Practices Frameworks 101Best Practices Frameworks 101
Best Practices Frameworks 101
 
Using loops
Using loopsUsing loops
Using loops
 
(WRK302) Event-Driven Programming
(WRK302) Event-Driven Programming(WRK302) Event-Driven Programming
(WRK302) Event-Driven Programming
 
Event+driven+programming key+features
Event+driven+programming key+featuresEvent+driven+programming key+features
Event+driven+programming key+features
 
Event driventheory
Event driventheoryEvent driventheory
Event driventheory
 
Writing algorithms
Writing algorithmsWriting algorithms
Writing algorithms
 
Pseudocode flowcharts
Pseudocode flowchartsPseudocode flowcharts
Pseudocode flowcharts
 
Algorithmsandflowcharts1
Algorithmsandflowcharts1Algorithmsandflowcharts1
Algorithmsandflowcharts1
 

Similar a Software development lifecycle

Introducing Systems Analysis Design Development
Introducing Systems Analysis Design DevelopmentIntroducing Systems Analysis Design Development
Introducing Systems Analysis Design Development
bsadd
 
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdfsoftwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
SanRock2
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
Nesrine Shokry
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
Swarnima Tiwari
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx
14941
 

Similar a Software development lifecycle (20)

Software development lifecycle
Software development lifecycleSoftware development lifecycle
Software development lifecycle
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptx
 
Introducing Systems Analysis Design Development
Introducing Systems Analysis Design DevelopmentIntroducing Systems Analysis Design Development
Introducing Systems Analysis Design Development
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development Methodologies
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
HCI Chapter_2.ppt
HCI Chapter_2.pptHCI Chapter_2.ppt
HCI Chapter_2.ppt
 
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdfsoftwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
 
HCI Chapter_2.pdf
HCI Chapter_2.pdfHCI Chapter_2.pdf
HCI Chapter_2.pdf
 
Software engineering -core topics
Software engineering -core topicsSoftware engineering -core topics
Software engineering -core topics
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
ppt chapter 1.ppt
ppt chapter 1.pptppt chapter 1.ppt
ppt chapter 1.ppt
 
Unit 2 SEPM_ Requirement Engineering
Unit 2 SEPM_ Requirement EngineeringUnit 2 SEPM_ Requirement Engineering
Unit 2 SEPM_ Requirement Engineering
 
Sdlc model
Sdlc modelSdlc model
Sdlc model
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
4 sdlc and stlc
4 sdlc and stlc4 sdlc and stlc
4 sdlc and stlc
 
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICECODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
 
Build for the future
Build for the futureBuild for the future
Build for the future
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx
 
Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)
 

Más de nicky_walters (7)

Data types vbnet
Data types vbnetData types vbnet
Data types vbnet
 
Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof language
 
Debugging
DebuggingDebugging
Debugging
 
Input output
Input outputInput output
Input output
 
Decisions
DecisionsDecisions
Decisions
 
Intro to visual studio 2008
Intro to visual studio 2008Intro to visual studio 2008
Intro to visual studio 2008
 
Input output
Input outputInput output
Input output
 

Software development lifecycle

  • 1. Software Development Lifecycle “You’ve got to be very careful if you don’t know where you’re going, because you might not get there.” Yogi Berra 1
  • 2. SDLC Stages 1: Determine Scope 8: Review 2: Gather & Maintain Requirements 7: Write 3: Write Documentation Specification 6: Test the 4: Design program Solution 5: Code the design 2
  • 3. 1: Determine the Scope Also called the Problem Domain Describe the boundaries of the problem Identify what is and what is not covered Include those who are affected (stakeholders) and describe how they are affected.  what functions is the product supposed to have i.e. how the interface should be, what should the product do, how will the user use the product. 3
  • 5. 2: Gathering Requirements A common failure of IT projects worldwide The Functional Requirements must be known  What is wanted by those who are affected Gathering techniques:  Existing Documentation  Observation  Interview  Questionnaires 5
  • 6. 3: Write Specification A categorised list of elements required to start designing a solution, inc:  Inputs  Outputs  Processing  Storage  User interface  Constraints 6
  • 7. 4: Design Solution Using design tools, inc  Forms design  Flowcharts  Structure diagrams  DFDs and ERDs  UML diagrams  Class schemas 7
  • 8. 5: Code the design Designs are converted into program code Language will have been selected depending on program function Teams of programmers may work on different modules or classes Teams must adopt similar working practices and understand how their modules fit into larger solution 8
  • 9. 6: Test the program Testing is a critical part of the quality assurance process, 2 common methods for module testing are:  Black Box - doesn’t care about how the program was written, only if it does what it’s supposed to do.  White Box – examines performance of code. Ensures code generates correct results White box starts after Black box and takes longer. 9
  • 10. 6: Test the program A thorough test plan should include:  All possible outcomes (check flowcharts logical pathways e.g. Loops & True/False)  Sufficient test data which checks Normal, Extreme and Erroneous data.  Trace table inc; Date, Test, Expected result, Actual Result, Corrective action and  Screen captures Debugging tools include:  Breakpoint & Trace (run program line-by line),  Watches (changes to variable contents) 10
  • 11. 7: Write Documentation Three types of documentation Internal (inside code)  Meaningful variable names,  Tidy layout & good comments (why not how) Technical (for maintenance)  Requirements specification, Design diagrams, Test strategy, fully commented code, Troubleshooting guide. User (step-by step instructions)  Text files (e.g. Readme.txt), PDF files, Sceencasts and animations. 11
  • 12. 8: Review & Maintain Reviewing  Looking at the solution and comparing it with the original requirements  Have they been met? and How well is the solution working? Maintenance  Keeping the solution working  Expanding the scope of the program to add extra features and functionality  Over 80% of the lifecycle can be maintenance 12