Introduction to Software Development Life Cycle


Manoharparakh1001

Uploaded on Nov 10, 2020

Category Technology

SDLC gives a complete idea about developing, designing, and maintaining a software project ensuring all the functionalities along with user requirements, objectives, and end goals are addressed. Have a look at the PPT to know more.

Category Technology

Comments

                     

Introduction to Software Development Life Cycle

ESDS Software Solution Pvt. Ltd. The Digital Transformation Catalyst https://www.esds.co.in SSeeccttioionn BBrreeaakk To IInttroducttiion tto Soffttware Devellopmentt Liiffe Cyclle:: Phases & Modells https://www.esds.co.in SDLC stands for Software Development Life Cycle. It is a process that gives a complete idea about developing, designing, and maintaining a software project by ensuring that all the functionalities along with user requirements, objectives, and end goals are addressed. With SDLC, the software project’s quality and the overall software development process get enhanced. https://www.esds.co.in Benefits of SDLC 1. Address the goals and problems to implement the project with the highest precision and accuracy 2. SDLC does not allow the project members to proceed ahead before completion & approval of the prior stages 3. Installation in the project executed with SDLC has necessary checks to be tested with precision before entering the installation stage 4. With a well-defined SDLC in place, project members can continue the software development process without incurring any complications\ 5. SDLC offers optimal control with minimum problems, allowing the project members to run the project smoothly https://www.esds.co.in Stages of SDLC ReDqeupirloeymmeennt tG aanthde Mrianign taennda Ancnealysis DevelToepsDmteinesniggtn Phase https://www.esds.co.in Stage 1 Requirement Gathering & Analysis Phase In an SDLC, this is the first and most crucial phase for a software project’s success. In this phase, communication takes place between stakeholders, end-users, and project teams, as both functional and non- functional requirements are gathered from customers. https://www.esds.co.in The Requirement Gathering & Analysis Phase of SDLC involves the following 1. Analysis of functionality and financial feasibility 2. Identifying and capturing requirements of stakeholders through customer interactions like interviews, surveys, etc. 3. Clearly defining and documenting customer requirements in an SRS (Software Resource Specification Document) comprising of all product requirements that need to be developed 4. Creating project prototypes to show the end-user how the project will look https://www.esds.co.in Stage 2 Design Phase In the design phase of an SDLC, the architectural design is proposed for the project based on the SRS Document requirements. The Designing Phase of SDLC involves the following 1. Separation of hardware and software system requirements 2. Designing the system architecture based on gathered requirements 3. Creating Unified Modelling Language (UML) diagrams like- use cases, class diagrams, sequence diagrams, and activity diagrams https://www.esds.co.in Stage 3 Development Phase In the entire SDLC, the development phase is considered to be the longest one. In this phase, the actual project is developed and built. The Development Phase of SDLC involves the following 1. Actual code is written 2. Demonstration of accomplished work presented before a Business Analyst for further modification of work 3. Unit testing is performed, i.e., verifying the code based on requirements https://www.esds.co.in Stage 4 Testing Phase Almost all stages of SDLC involves the testing strategy. However, SDLC’s testing phase refers to checking, reporting, and fixing the system for any bug/defect. In this phase, the on-going system or project is migrated to a test environment where different testing forms are performed. This testing continues until the project has achieved the quality standards, as mentioned in the SRS document during the requirement gathering phase. The Testing Phase involves the following- 1. Testing the system as a whole 2. Performing different types of test in the system 3. Reporting and fixing all forms of bugs & defects https://www.esds.co.in Stage 4 Deployment & Maintenance Phase In this SDLC phase, once the system testing has been done, it is ready to be launched. The system may be initially released for limited users by testing it in a real business environment for UAT or User Acceptance Testing. The Deployment & Maintenance Phase involves the following- 1. The system is ready for delivery 2. The system is installed and used 3. Errors are rectified that might have been previously missed 4. Enhancing the system inside a data center https://www.esds.co.in SDLC Models Various SDLC models are defined and designed to follow the software development process. These models are also known as Software Development Process Models. Each of these models follows a series of steps for ensuring the complete success of a project. https://www.esds.co.in Agile Rapid Action Development Model Some of the most popular SDLC (RAD) Model models used for software development include Iterative- Incremental Spiral Model Model Waterfall Model https://www.esds.co.in Waterfall Model This model is the most commonly used SDLC model. In this model, each phase starts only after the previous step has been completed. This is a linear model having no feedback loops. https://www.esds.co.in Waterfall Model Requirement Analysis Design Coding Software Product https://www.esds.co.in Defines requirements Software delivered stability towards the end of the Works well when the project only project Quality is Testing begins only after Easy to Understand important Difficult to the development phase and Use make changes is complete Achievements are well-defined It cannot match reality well Strengths of the Weaknesses of the Waterfall Model Waterfall Model https://www.esds.co.in Iterative- Incremental Model In this model, in the initial stages, a partial implementation of the complete system is constructed such that it will be present in a deliverable form. Increased functionalities are added and for any defects, they are fixed with the working product delivered at the end. This process is repeated until the product development cycle gets completed. These repetitions of processes are known as iterations. With each iteration, a product increment gets delivered. https://www.esds.co.in Iterative-Incremental Model https://www.esds.co.in An early definition of a complete, as well Lower initial as fully functional system, is needed for delivery costs allowing increments definition Changes in Efficient design is The initial delivery of requirements can be required for including the product is faster easily adjusted the required Clear module interfaces functionalities are required Prioritized There are requirements can requirements for be initially effective iterations developed planning Strengths of the Weaknesses of Iterative- the Iterative- Incremental Incremental Model Model https://www.esds.co.in Spiral Model The spiral model combines risk analysis along with RAD prototyping to the Waterfall model. Each of the cycles has the same steps as in the case of the Waterfall model. https://www.esds.co.in Spiral Model https://www.esds.co.in It may be hard to set the objectives, verifiable An early indication of the risks can be milestones for indicating preparedness to go provided, without incurring much cost ahead with the next iteration Critical & high-risk Time spent on addressing Users are involved in all functionalities are The spiral model can be risks can be large for lifecycle stages initially developed complex to understand smaller & low-risk Users can have for new members involved projects a look at their system early The spiral may go on due to rapid indefinitely prototyping tools Strengths of the Weaknesses of Spiral Model the Spiral Model https://www.esds.co.in Agile Model The agile model is the combination of the iterative-incremental model that depends on process adaptability along with customer satisfaction through the delivery of software products. In this model, the project is broken down into smaller time frames for delivering certain features during a release. https://www.esds.co.in Agile Model https://www.esds.co.in Regular communication takes place between customers and developers Functionalities can be Teams need to have the developed quickly and desired experience levels demonstrated to customers for adhering method rules Easy to accommodate changing Not ideal for requirements handling complex dependencies Strengths of the Weaknesses Agile Model of the Agile Model https://www.esds.co.in Rapid Application Development (RAD) Model The RAD SDLC model is based on prototyping and iterative development, with no involvement of a defined planning structure. In this model, different function modules are parallelly developed as prototypes and then integrated to speed up product delivery. https://www.esds.co.in Rapid Application Development (RAD) Model https://www.esds.co.in Reduced cycle time and enhanced productivity with minimal team members Customer’s continuous involvement Heavily dependent on technically ensures minimal risks of not strong members for identifying achieving customer satisfaction business requirements Easy to accommodate Hard to use and any user implement with changes legacy systems Strengths of RAD Weaknesses Model of RAD Model https://www.esds.co.in Thank You https://www.esds.co.in