SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Software Development Life Cycles
A look at Other Software Development Methodologies
Copyright
This material is primarily for the use of Orange and
Bronze Software Labs, Inc.


No part of this material may be reproduced or
transmitted in any form or by any means, electronic or
mechanical, including photocopying, recording, or by any
information storage and retrieval system, without
permission in writing from the publisher.



www.orangeandbronze.com
Overview
• Introduction to SDLC
• Types of Software Development Life Cycles
• Examples of Different Software Development Life
  Cycles




www.orangeandbronze.com
Introduction to SDLC

The Software Development Life Cycle is the process,
involving multiple stages (from establishing feasibility to
carrying out post-implementation reviews), used to
convert a management need into an application system,
which is custom-developed or purchased, or is a
combination of both.




 www.orangeandbronze.com
Introduction to SDLC
• SDLC is...
       → A model of a detailed plan on how to create, develop,
         implement and deliver software
       → A complete plan outlining how a software will be born,

         raised, and turned over to its eventual users




 www.orangeandbronze.com
Introduction to SDLC
• Basic Pattern of General Life Cycle Models:
       → Planning
       → Requirements Definition and Analysis

       → Design

       → Development

       → Integration and Testing

       → Implementation


• Each phase produces output (deliverables) that will be
  the input to the next phase.

 www.orangeandbronze.com
www.orangeandbronze.com
Software Development Life Cycle Phases
• Planning
      → Helps the project team establish a bird's eye view of the
        software to be built
      → Determines the basic project structure

      → Evaluates feasibility and risks involved in the project

      → Describes appropriate management and technical

        approach to be taken




www.orangeandbronze.com
Software Development Life Cycle Phases
• Outputs:
      → Goals and Objectives of the Project
      → Configuration Management Plan

      → Quality Assurance Plan

      → Project Plan and Schedule


               • High-level estimates




www.orangeandbronze.com
Software Development Life Cycle Phases
• Requirements Definition and Analysis
      →   Goals are translated into a group of one or more
          requirements
               • Major functions / features
               • Critical processes to be managed




www.orangeandbronze.com
Software Development Life Cycle Phases
• Outputs:
      → Requirements document
      → Requirements traceability document




www.orangeandbronze.com
Software Development Life Cycle Phases
• Design
      → Requirements identified are translated into design
      → Usually depicted or illustrated through the use of

        diagrams and other supporting documents
               • Ex. ERD, Activity Diagram, Tables of Business Rules




www.orangeandbronze.com
Software Development Life Cycle Phases
• Outputs:
      →   Design documents / diagrams




www.orangeandbronze.com
Software Development Life Cycle Phases
• Development
      → Where design is translated into software artifacts
      → Results in a functional software that is traceable to the

        requirements and design elements defined




www.orangeandbronze.com
Software Development Life Cycle Phases
• Outputs:
      → Functional software
      → Test Plans / Test Cases




www.orangeandbronze.com
Software Development Life Cycle Phases
• Integration and Testing
       → Software is migrated from development environment to
         test environment
       → Execution of test cases / test suites


                • Verify correctness and completeness of software
       →   Preparation of cutover to production




 www.orangeandbronze.com
Software Development Life Cycle Phases
• Outputs:
      → Integrated software
      → Implementation plan

      → Acceptance plan


               • UAT / Final suite of test cases




www.orangeandbronze.com
Software Development Life Cycle Phases
• Implementation
      → Software is migrated to production environment
      → Initial production data is loaded to production

        environment
      → All test cases are executed once again


               • Verify correctness and completeness of software in
                 production environment
      →   UAT must have satisfactory results before customer
          formally accepts delivery


www.orangeandbronze.com
Software Development Life Cycle Phases
• Outputs:
      → Production application
      → Completed acceptance test suite

      → UAT sign off between client and project team




www.orangeandbronze.com
Types of Software Development Life Cycles
• Sequential Development
• Iterative and/or Incremental Development




www.orangeandbronze.com
Types of Software Development Life Cycles
• Sequential Development
      → A development strategy wherein a strict set of
        development phases or stages is followed in a
        sequential or linear order.
      → Only when one phase or stage is completed can

        development move on to the succeeding phase or
        stage.
      → Sometimes referred to as a classical or traditional

        method of software development


www.orangeandbronze.com
Types of Software Development Life Cycles

Incremental development is distinctly different from
iterative development in its purpose and also from its
management implications. Teams get into trouble by
doing one and not the other, or by trying to manage
them the same way.


                             – Alistair Cockburn (2008)


www.orangeandbronze.com
Types of Software Development Life Cycles
Definition:
• Incremental development is a strategy for staging and
  scheduling the integration of the different parts of a
  system being developed. Each part of the system is
  developed at its own time or pace and are then
  integrated as they are completed.
      →   The word increment fundamentally means “add onto”




www.orangeandbronze.com
Types of Software Development Life Cycles
Definition:
• Iterative development is a strategy for scheduling a
  certain amount of time for rework or revisions in order
  to improve the quality of the different parts of the
  system being built.
      →   The word iterate fundamentally means “re-do”




www.orangeandbronze.com
SDLC Examples
• Waterfall Model
• Rapid Application Development (RAD)
• Spiral Model




www.orangeandbronze.com
Waterfall Model




www.orangeandbronze.com
Waterfall Model
• Characteristics
       → Phases are executed in sequential order
       → Each phase must be completed before proceeding to

         the next
       → A formal review is conducted at the end of each phase

         to determine completion
       → No overlap between phases

       → Software is not seen until the end of the project

       → Changes are limited and tightly controlled




 www.orangeandbronze.com
Waterfall Model
• Phases
      → Requirements Specification
      → Design

      → Construction / Implementation / Coding

      → Integration

      → Testing and Debugging / Verification

      → Installation

      → Maintenance




www.orangeandbronze.com
Waterfall Model
• Advantages
      → Puts emphasis on documentation
      → Straightforward and more disciplined approach

      → Provides a structured approach

      → Provides easily markable milestones

      → Generally suited for stable projects




www.orangeandbronze.com
Waterfall Model
• Criticism / Disadvantages
       → Rigid structure
       → Impossible to achieve perfection

       → “Measure twice, cut once” does not always work

       → Planning control and risk management are not covered

         within the model




 www.orangeandbronze.com
Waterfall Model
• Criticism / Disadvantages
       → Very specific skill sets required for each phase
       → High amounts of risk and uncertainty

       → Poor model for:


                • Complex and object-oriented projects
                • Long and ongoing projects
                • Projects where requirements are at a moderate to high
                  risk of changing



 www.orangeandbronze.com
Rapid Application Development (RAD)




www.orangeandbronze.com
Rapid Application Development (RAD)
• Characteristics
       → Iterative development through prototyping
       → Iterative and incremental

       → Aimed at speeding up application development

       → Compromises functionality and performance in

         exchange for faster development




 www.orangeandbronze.com
Rapid Application Development (RAD)
• Phases
      → Requirements Planning
      → User Design

      → Construction /

        Development
      → Cutover / Deployment

      → Learning




www.orangeandbronze.com
Rapid Application Development (RAD)
• Advantages
      → Fast and efficient way of delivering software
      → Generally improves:


               • User-Designer communication
               • User cooperation
               • User commitment




www.orangeandbronze.com
Rapid Application Development (RAD)
• Criticism / Disadvantages
       → The process may become so fast that proper testing
         (especially security testing) may not be done
       → Prototypes delivered may not always result in a

         production application
       → Quality indicators such as consistency, standardization,

         reusability, and reliability are easily overlooked




 www.orangeandbronze.com
Spiral Model




www.orangeandbronze.com
Spiral Model
• Characteristics
       → Iterative model with emphasis on risk analysis
       → Combines elements of design and prototyping-in-stages

       → Aims to combine advantages of top-down and bottom-

         up concepts
       → Intended for large, expensive and complex projects




 www.orangeandbronze.com
Spiral Model
• Phases
      →   Planning
               • Determine objectives, alternatives, and constraints
      →   Risk Analysis
               • Identify and resolve risks
               • Evaluate possible alternatives




www.orangeandbronze.com
Spiral Model
• Phases
      →   Engineering
               • Develop deliverables
      →   Evaluation
               • Verify that deliverables are correct
               • Plan the next iteration




www.orangeandbronze.com
Spiral Model
• Advantages
      → High amount of risk analysis
      → Good for large and mission-critical projects

      → Software is produced early




www.orangeandbronze.com
Spiral Model
• Criticism / Disadvantages
       → Can be costly
       → Risk analysis requires high expertise

       → Success is highly dependent on risk analysis

       → Does not work well with smaller projects




 www.orangeandbronze.com
References
• Lewallen, R. (2005, July 13). Software Development Life
  Cycle Models. Message posted to
  http://codebetter.com/blogs/raymond.lewallen/archive/20
• Becerra, G. (2004). Software Life Cycle: Theory and
  Summary. Retrieved from
  http://pages.cpsc.ucalgary.ca/~ayala/SENG/seng611/Assign
• Purcell, J. (2007). Comparison of Software
  Development Life Cycle Methodologies. Retrieved from
  http://www.giac.org/resources/whitepaper/application/21

www.orangeandbronze.com
References
• Davis, W. S., Yen, D. C. (1998). Rapid Application
  Development (RAD). In The Information Systems:
  Analysis and Design. Retrieved August 6, 2008, from
  http://www.hit.ac.il/staff/leonidM/information-systems/ch
• Cockburn, A. (2008). Using Both Incremental and
  Iterative Development. CrossTalk The Journal of
  Defense Software Engineering, May 2008 Issue.
  Retrieved April 11, 2008, from
  http://www.stsc.hill.af.mil/crosstalk/2008/05/0805Cockbur


www.orangeandbronze.com
References
• Steele, J. (2001). The Software Development Life Cycle
  (SDLC). Retrieved from
  http://www.elucidata.com/refs/sdlc.pdf
•




 www.orangeandbronze.com

Weitere ähnliche Inhalte

Was ist angesagt?

Spiral Model & Requirement Validation
Spiral Model & Requirement ValidationSpiral Model & Requirement Validation
Spiral Model & Requirement Validation
Abhijat Dhawal
 
SDLC- concept and models
SDLC- concept and modelsSDLC- concept and models
SDLC- concept and models
Anjali Arora
 
software engineering (spiral process model)
software engineering (spiral process model)software engineering (spiral process model)
software engineering (spiral process model)
Khushbu SaLeem
 
Software Product Development - Simple Process flow
Software Product Development - Simple Process flowSoftware Product Development - Simple Process flow
Software Product Development - Simple Process flow
Sabina Siddiqi
 

Was ist angesagt? (19)

The Waterfall Model & RAD MODEL
 The Waterfall Model &  RAD MODEL The Waterfall Model &  RAD MODEL
The Waterfall Model & RAD MODEL
 
Rapid Application Development Model
Rapid Application Development ModelRapid Application Development Model
Rapid Application Development Model
 
Sohrab Waterfall Vs Rad
Sohrab Waterfall Vs RadSohrab Waterfall Vs Rad
Sohrab Waterfall Vs Rad
 
Rapid application development model
Rapid application development modelRapid application development model
Rapid application development model
 
SDLC RAD model
SDLC RAD modelSDLC RAD model
SDLC RAD model
 
Rapid application development
Rapid application developmentRapid application development
Rapid application development
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
 
Rapid Application Development Simplified
Rapid Application Development SimplifiedRapid Application Development Simplified
Rapid Application Development Simplified
 
Spiral Model & Requirement Validation
Spiral Model & Requirement ValidationSpiral Model & Requirement Validation
Spiral Model & Requirement Validation
 
Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)
 
SDLC MODEL
SDLC MODEL SDLC MODEL
SDLC MODEL
 
SDLC- concept and models
SDLC- concept and modelsSDLC- concept and models
SDLC- concept and models
 
software engineering (spiral process model)
software engineering (spiral process model)software engineering (spiral process model)
software engineering (spiral process model)
 
SDLC Models
SDLC ModelsSDLC Models
SDLC Models
 
Software Development Model - Waterfall, RAD & Agile
Software Development Model - Waterfall, RAD & AgileSoftware Development Model - Waterfall, RAD & Agile
Software Development Model - Waterfall, RAD & Agile
 
waterfall model
waterfall modelwaterfall model
waterfall model
 
Software Engineering - Spiral Model
Software Engineering - Spiral ModelSoftware Engineering - Spiral Model
Software Engineering - Spiral Model
 
Software Product Development - Simple Process flow
Software Product Development - Simple Process flowSoftware Product Development - Simple Process flow
Software Product Development - Simple Process flow
 
Soft lifecycle
Soft lifecycleSoft lifecycle
Soft lifecycle
 

Ähnlich wie Apt sdlc

Apt agile methodology
Apt agile methodologyApt agile methodology
Apt agile methodology
Indra
 

Ähnlich wie Apt sdlc (20)

Apt agile methodology
Apt agile methodologyApt agile methodology
Apt agile methodology
 
Software Design Architecture SDA SDLC DETAILS
Software Design Architecture  SDA SDLC DETAILSSoftware Design Architecture  SDA SDLC DETAILS
Software Design Architecture SDA SDLC DETAILS
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Agile methodologiesvswaterfall
Agile methodologiesvswaterfallAgile methodologiesvswaterfall
Agile methodologiesvswaterfall
 
softwaredevelopmentprocess
softwaredevelopmentprocesssoftwaredevelopmentprocess
softwaredevelopmentprocess
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Software development life cycle
Software development life cycle Software development life cycle
Software development life cycle
 
Introduction to computer programming.pdf
Introduction to computer programming.pdfIntroduction to computer programming.pdf
Introduction to computer programming.pdf
 
Software Development Process.pptx
Software Development Process.pptxSoftware Development Process.pptx
Software Development Process.pptx
 
From Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym FedorovFrom Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym Fedorov
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3
 
From the sandbox to production
From the sandbox to productionFrom the sandbox to production
From the sandbox to production
 
SDLC
SDLCSDLC
SDLC
 
Session 03 - SDLC
Session 03 - SDLCSession 03 - SDLC
Session 03 - SDLC
 
SDLC
SDLCSDLC
SDLC
 
SDLC
SDLCSDLC
SDLC
 
SDLC
SDLCSDLC
SDLC
 
Software Development Life Cycle - SDLC
Software Development Life Cycle - SDLCSoftware Development Life Cycle - SDLC
Software Development Life Cycle - SDLC
 
Software Development Life Cycle – SDLC – Waterfall, Iterative, V, Spiral, and...
Software Development Life Cycle – SDLC – Waterfall, Iterative, V, Spiral, and...Software Development Life Cycle – SDLC – Waterfall, Iterative, V, Spiral, and...
Software Development Life Cycle – SDLC – Waterfall, Iterative, V, Spiral, and...
 

Kürzlich hochgeladen

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Kürzlich hochgeladen (20)

ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 

Apt sdlc

  • 1. Software Development Life Cycles A look at Other Software Development Methodologies
  • 2. Copyright This material is primarily for the use of Orange and Bronze Software Labs, Inc. No part of this material may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without permission in writing from the publisher. www.orangeandbronze.com
  • 3. Overview • Introduction to SDLC • Types of Software Development Life Cycles • Examples of Different Software Development Life Cycles www.orangeandbronze.com
  • 4. Introduction to SDLC The Software Development Life Cycle is the process, involving multiple stages (from establishing feasibility to carrying out post-implementation reviews), used to convert a management need into an application system, which is custom-developed or purchased, or is a combination of both. www.orangeandbronze.com
  • 5. Introduction to SDLC • SDLC is... → A model of a detailed plan on how to create, develop, implement and deliver software → A complete plan outlining how a software will be born, raised, and turned over to its eventual users www.orangeandbronze.com
  • 6. Introduction to SDLC • Basic Pattern of General Life Cycle Models: → Planning → Requirements Definition and Analysis → Design → Development → Integration and Testing → Implementation • Each phase produces output (deliverables) that will be the input to the next phase. www.orangeandbronze.com
  • 8. Software Development Life Cycle Phases • Planning → Helps the project team establish a bird's eye view of the software to be built → Determines the basic project structure → Evaluates feasibility and risks involved in the project → Describes appropriate management and technical approach to be taken www.orangeandbronze.com
  • 9. Software Development Life Cycle Phases • Outputs: → Goals and Objectives of the Project → Configuration Management Plan → Quality Assurance Plan → Project Plan and Schedule • High-level estimates www.orangeandbronze.com
  • 10. Software Development Life Cycle Phases • Requirements Definition and Analysis → Goals are translated into a group of one or more requirements • Major functions / features • Critical processes to be managed www.orangeandbronze.com
  • 11. Software Development Life Cycle Phases • Outputs: → Requirements document → Requirements traceability document www.orangeandbronze.com
  • 12. Software Development Life Cycle Phases • Design → Requirements identified are translated into design → Usually depicted or illustrated through the use of diagrams and other supporting documents • Ex. ERD, Activity Diagram, Tables of Business Rules www.orangeandbronze.com
  • 13. Software Development Life Cycle Phases • Outputs: → Design documents / diagrams www.orangeandbronze.com
  • 14. Software Development Life Cycle Phases • Development → Where design is translated into software artifacts → Results in a functional software that is traceable to the requirements and design elements defined www.orangeandbronze.com
  • 15. Software Development Life Cycle Phases • Outputs: → Functional software → Test Plans / Test Cases www.orangeandbronze.com
  • 16. Software Development Life Cycle Phases • Integration and Testing → Software is migrated from development environment to test environment → Execution of test cases / test suites • Verify correctness and completeness of software → Preparation of cutover to production www.orangeandbronze.com
  • 17. Software Development Life Cycle Phases • Outputs: → Integrated software → Implementation plan → Acceptance plan • UAT / Final suite of test cases www.orangeandbronze.com
  • 18. Software Development Life Cycle Phases • Implementation → Software is migrated to production environment → Initial production data is loaded to production environment → All test cases are executed once again • Verify correctness and completeness of software in production environment → UAT must have satisfactory results before customer formally accepts delivery www.orangeandbronze.com
  • 19. Software Development Life Cycle Phases • Outputs: → Production application → Completed acceptance test suite → UAT sign off between client and project team www.orangeandbronze.com
  • 20. Types of Software Development Life Cycles • Sequential Development • Iterative and/or Incremental Development www.orangeandbronze.com
  • 21. Types of Software Development Life Cycles • Sequential Development → A development strategy wherein a strict set of development phases or stages is followed in a sequential or linear order. → Only when one phase or stage is completed can development move on to the succeeding phase or stage. → Sometimes referred to as a classical or traditional method of software development www.orangeandbronze.com
  • 22. Types of Software Development Life Cycles Incremental development is distinctly different from iterative development in its purpose and also from its management implications. Teams get into trouble by doing one and not the other, or by trying to manage them the same way. – Alistair Cockburn (2008) www.orangeandbronze.com
  • 23. Types of Software Development Life Cycles Definition: • Incremental development is a strategy for staging and scheduling the integration of the different parts of a system being developed. Each part of the system is developed at its own time or pace and are then integrated as they are completed. → The word increment fundamentally means “add onto” www.orangeandbronze.com
  • 24. Types of Software Development Life Cycles Definition: • Iterative development is a strategy for scheduling a certain amount of time for rework or revisions in order to improve the quality of the different parts of the system being built. → The word iterate fundamentally means “re-do” www.orangeandbronze.com
  • 25. SDLC Examples • Waterfall Model • Rapid Application Development (RAD) • Spiral Model www.orangeandbronze.com
  • 27. Waterfall Model • Characteristics → Phases are executed in sequential order → Each phase must be completed before proceeding to the next → A formal review is conducted at the end of each phase to determine completion → No overlap between phases → Software is not seen until the end of the project → Changes are limited and tightly controlled www.orangeandbronze.com
  • 28. Waterfall Model • Phases → Requirements Specification → Design → Construction / Implementation / Coding → Integration → Testing and Debugging / Verification → Installation → Maintenance www.orangeandbronze.com
  • 29. Waterfall Model • Advantages → Puts emphasis on documentation → Straightforward and more disciplined approach → Provides a structured approach → Provides easily markable milestones → Generally suited for stable projects www.orangeandbronze.com
  • 30. Waterfall Model • Criticism / Disadvantages → Rigid structure → Impossible to achieve perfection → “Measure twice, cut once” does not always work → Planning control and risk management are not covered within the model www.orangeandbronze.com
  • 31. Waterfall Model • Criticism / Disadvantages → Very specific skill sets required for each phase → High amounts of risk and uncertainty → Poor model for: • Complex and object-oriented projects • Long and ongoing projects • Projects where requirements are at a moderate to high risk of changing www.orangeandbronze.com
  • 32. Rapid Application Development (RAD) www.orangeandbronze.com
  • 33. Rapid Application Development (RAD) • Characteristics → Iterative development through prototyping → Iterative and incremental → Aimed at speeding up application development → Compromises functionality and performance in exchange for faster development www.orangeandbronze.com
  • 34. Rapid Application Development (RAD) • Phases → Requirements Planning → User Design → Construction / Development → Cutover / Deployment → Learning www.orangeandbronze.com
  • 35. Rapid Application Development (RAD) • Advantages → Fast and efficient way of delivering software → Generally improves: • User-Designer communication • User cooperation • User commitment www.orangeandbronze.com
  • 36. Rapid Application Development (RAD) • Criticism / Disadvantages → The process may become so fast that proper testing (especially security testing) may not be done → Prototypes delivered may not always result in a production application → Quality indicators such as consistency, standardization, reusability, and reliability are easily overlooked www.orangeandbronze.com
  • 38. Spiral Model • Characteristics → Iterative model with emphasis on risk analysis → Combines elements of design and prototyping-in-stages → Aims to combine advantages of top-down and bottom- up concepts → Intended for large, expensive and complex projects www.orangeandbronze.com
  • 39. Spiral Model • Phases → Planning • Determine objectives, alternatives, and constraints → Risk Analysis • Identify and resolve risks • Evaluate possible alternatives www.orangeandbronze.com
  • 40. Spiral Model • Phases → Engineering • Develop deliverables → Evaluation • Verify that deliverables are correct • Plan the next iteration www.orangeandbronze.com
  • 41. Spiral Model • Advantages → High amount of risk analysis → Good for large and mission-critical projects → Software is produced early www.orangeandbronze.com
  • 42. Spiral Model • Criticism / Disadvantages → Can be costly → Risk analysis requires high expertise → Success is highly dependent on risk analysis → Does not work well with smaller projects www.orangeandbronze.com
  • 43. References • Lewallen, R. (2005, July 13). Software Development Life Cycle Models. Message posted to http://codebetter.com/blogs/raymond.lewallen/archive/20 • Becerra, G. (2004). Software Life Cycle: Theory and Summary. Retrieved from http://pages.cpsc.ucalgary.ca/~ayala/SENG/seng611/Assign • Purcell, J. (2007). Comparison of Software Development Life Cycle Methodologies. Retrieved from http://www.giac.org/resources/whitepaper/application/21 www.orangeandbronze.com
  • 44. References • Davis, W. S., Yen, D. C. (1998). Rapid Application Development (RAD). In The Information Systems: Analysis and Design. Retrieved August 6, 2008, from http://www.hit.ac.il/staff/leonidM/information-systems/ch • Cockburn, A. (2008). Using Both Incremental and Iterative Development. CrossTalk The Journal of Defense Software Engineering, May 2008 Issue. Retrieved April 11, 2008, from http://www.stsc.hill.af.mil/crosstalk/2008/05/0805Cockbur www.orangeandbronze.com
  • 45. References • Steele, J. (2001). The Software Development Life Cycle (SDLC). Retrieved from http://www.elucidata.com/refs/sdlc.pdf • www.orangeandbronze.com