S.D.L.C (Software Development Life Cycle.)


Published on

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

S.D.L.C (Software Development Life Cycle.)

  1. 1. Software Development Life Cycle (SDLC) Jayesh Buwa GlobalTech Solutions, Nashik
  2. 2. Software Development Life Cycle  Systems development life cycle (SDLC) Provides overall framework for managing systems development process  Two main approaches to SDLC Predictive approach – assumes project can be planned out in advance Adaptive approach – more flexible, assumes project cannot be planned out in advance  All projects use some variation of SDLC
  3. 3. SDLC Architecture
  4. 4. Working of SDLC  Systems analysis, requirements definition: Defines project goals into defined functions and operation of the intended application. Analyzes end-user information needs.  Systems design: Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudo code and other documentation.  Development: The real code is written here.  Integration and testing: Brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability.  Acceptance, installation, deployment: The final stage of initial development, where the software is put into production and runs actual business.  Maintenance: What happens during the rest of the software's life: changes, correction, additions, moves to a different computing platform and more. This is often the longest of the stages.
  5. 5. Working of SDLC (Cont.)
  6. 6. SDLC Model  A framework that describes the activities performed at each stage of a software development project.  There are various software development approaches defined and designed which are used/employed during development process of software, these approaches are also referred as "Software Development Process Models".
  7. 7. Waterfall Model
  8. 8. Waterfall Strengths  Easy to understand, easy to use  Provides structure to inexperienced staff  Milestones are well understood  Sets requirements stability  Good for management control (plan, staff, track)  Works well when quality is more important than cost or schedule
  9. 9. Waterfall Deficiencies  All requirements must be known upfront  Deliverables created for each phase are considered frozen – inhibits flexibility  Can give a false impression of progress  Does not reflect problem-solving nature of software development – iterations of phases  Integration is one big bang at the end  Little opportunity for customer to preview the system (until it may be too late)
  10. 10. When to use the Waterfall Model  Requirements are very well known  Product definition is stable  Technology is understood  New version of an existing product  Porting an existing product to a new platform.
  11. 11. V-Shaped SDLC Model
  12. 12. Incremental SDLC Model
  13. 13. Spiral SDLC Model
  14. 14. Other Models  COCOMO Model  Rapid Application Development (RAD)  Phased Model  Prototyping SDLC  Throwaway Prototyping Model
  15. 15. Some Agile Methods  Adaptive Software Development (ASD)  Feature Driven Development (FDD)  Crystal Clear  Dynamic Software Development Method (DSDM)  Rapid Application Development (RAD)  Scrum  Extreme Programming (XP)  Rational Unify Process (RUP)
  16. 16. Strength & Weakness of SDLC Strength  Control  Monitor Large Projects  Detailed Steps  Easy To Maintain Weakness  Increased Development Time & Cost  Rigidity  Hard To Estimate Project Overruns
  17. 17. Conclusion  Without an SDLC Model to follow, developers can have a free hand of developing software. There are so many programs out there that were created with a vision of need instead of following a certain model.  On the other hand SDLC will ensure everything is laid out. Businesses will have a clear idea of what will happen and what is expected from a software.  Maintenance and development of the software is also possible since parts could be possibly be reused in different programs.