Software Development Life Cycle – SDLC SY Software Engineering

Software Development Life Cycle – SDLC 

    - Software Development Life Cycle is a process followed by software industries to design,implement and test the software products. SDLC is the acronym for Software DevelopmentLife Cycle. 

   - SDLC has six stages while each phase has its own deliverables which serve as the input forthe next phase.

Six stages of SDLC

1. Requirement gathering & Analysis

2. Design

3. Implementation & Coding

4. Testing

5. Deployment

6. Maintenance


 



           1.      Requirement gathering & Analysis

Requirement   gathering   and   analysis   is   the   fundamental   phase   of   software   development.Business requirements and specifications are gathered during this phase.

 

Top level management of the company like project managers, directors, sales, consulting,marketing and other stakeholders are mainly involved in drafting the requirements of thesoftware.  Answers   to   the   following   general   questions   are   answered   during   the   projectmeeting.

👉What is the purpose of the system?

👉How will the system be used?

👉Who will use the system?

👉What is the required data?

👉What is the outcome/usage of the system?


Deliverable:  Business   Requirement   Documentation   (BRD),   Software   RequirementSpecifications (SRS), Technical  Requirement  Specifications   documents are   created  whichserves as the input for next phase- Design.

 

       2. Design

The   design   phase   is   the   second   phase   of  software   development.   System  Architecture   isdesigned  during  this  phase.  Design   architects,  Business Analysts   are  mainly  involved  indrafting the design of the software.

 

High-level design (HLD) and Low-level design (LLD) are designed with the help of therequirements gathered in the first phase of the software development. Following are some ofthe design documents that helps in developing the software effectively.

👉Use case Diagram

👉Class Diagram

👉Entity-Relationship (ER) Diagram

👉Component Diagram

👉Workflow diagram

👉Activity Diagram

Design documents serve as the input for the implementation/coding phase. Testers come upwith test strategy during this phase like what to test and how to test

 

Deliverable:  System Architecture,   HLD,   LLD,   Detailed  Design  Specifications  (DDS) arecreated which serves as the input for next phase – Coding.

 

    3. Implementation/Coding

 

Coding is the third phase of software development. Detailed design specifications are used asthe   input   by   developers   to   build   the   software   product.   The   main   focus   of   this   phaseis development. Entire   design will  be  broken  into  modules  and  developers  will  work onindividual modules, then they will integrate the separate modules into one system finally.

 

Deliverable: Working software is developed which serves as the input for the next phase –Testing.

 

    4. Testing

Testing is the fourth phase of software development. Working software is used for testing.The main focus of this phase is to ensure quality and to validate the tests against the customerrequirements to make sure the product satisfies the customer needs. Test cases and test scriptsare used for testing to validate the requirements. Following types of testing are done but thelist is not limited:

👉System testing

👉System Integration testing

👉Component testing

👉Component Integration testing

👉Performance  testing

👉Usability testing

👉Acceptance testing

Software product bugs, issues, defects are tracked, reported and retested until the productachieves quality.

 

Deliverable: Test Summary Report, Test results, QA plan, Revised bugs list, User Acceptancetest are submitted which serves as the input for the next phase – Deployment.

    5. Deployment

Deployment is the fifth phase of software development. Once the product is successfullytested, the software product can be released or deployed to the customers for their usage. If any changes or enhancements required for the software is also conveyed to the team so thatthe changes will be incorporated in their subsequent releases.

 

Beta testing is done at the customer’s site before the final deployment to ensure the productmeets customer requirements. Beta testing feedbacks and  issues are reported  back to theengineering team to ensure they address them sooner or later.

 

Once the issues are fixed, then the product is finalized and will be ready for final deployment.

 

Deliverable: Deployed software, Customer’s review, Live Production environment, and Dataare submitted which serves as the input for the next phase – Maintenance.

 

    6.  Maintenance

 

Maintenance   is   the   sixth   phase   of   software   development.   Once   the   product   is   used   bycustomers, the issues faced by them are addressed during the maintenance phase. Supportprovided for the deployed software is called Maintenance. Handling of bugs those are missedin the testing phase are taken care of during this phase.

 

If the deployed system is modified for the new needs, then the existing system should bemaintained. If existing system cannot be maintained once the new needs are being added,then the whole software system should be re-designed to accommodate the new changes. Theperformance of the system is also monitored during this phase. Maintenance phase ensureswhether the customer is satisfied with the product that has been delivered.

 

Deliverable: Updated version of the product, Code maintenance, Live system

 

Types of SDLC Models

 

SDLC Models are developed based on the phases of SDLC. The difference between each model would be the sequence in which they happen and the interaction between phases. Common and most popular SDLC Models are,

👉Waterfall Model 

 👉Agile Model 

 👉Iterative Model

👉V-Model

👉Spiral Model

👉Big Bang Model


Post a Comment

Previous Post Next Post