310 likes | 1.06k Views
Software Development Life Cycle (SDLC). Manoj V. Nikum Ahinsa Polytechnic,Dondaicha. Software Development Life Cycle. Systems development life cycle (SDLC) Provides overall framework for managing systems development process Two main approaches to SDLC
E N D
Software Development Life Cycle (SDLC) Manoj V. Nikum AhinsaPolytechnic,Dondaicha
Software Development Life Cycle • Systems development life cycle (SDLC) • Provides overall frameworkfor 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
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.
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".
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
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)
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.
Other Models • COCOMO Model • Rapid Application Development (RAD) • Phased Model • Prototyping SDLC • Throwaway Prototyping Model
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)
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
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.