STLH:

"THE BEST WAY TO MAKE YOUR DREAMS COME TRUE IS TO WAKE UP..."

Search This Blog

Software Development Life Cycle (SDLC)

 

SOFTWARE DEVELOPMENT LIFE CYCLE 

(SDLC)

                              Software Development Life Cycle: The phases of SDLC - TestLodge Blog


Introduction to SDLC
SDLC: Software Development Life Cycle is a combination of various stages when developing a new software from start to finishSDLC is a systematic procedure of developing any application or software from beginning to end. SDLC consists of a detailed plan which explains how to plan, build, and maintain specific software. Every phase of the SDLC life cycle has its own process and deliverables that feed into the next phase. It is a process which is used by different organizations to check whether the development process of an application is going on in a proper manner or not. It is a combination of different phases. These phases are as following:

 
Phases of SDLC
         
     


1. Planning & Requirement gathering : 
          “What are the current problems?” 
           This is the first and the most important stage in the SDLC process. A phase where Client share their requirement about the application. This stage gives a clearer picture of the scope of entire project and the anticipated issues, opportunities, and directives which triggered the project. Business requirements are gathered in this phase. Business analyst and Project Manager set up a meeting with the customer to gather all the information like what the customer wants to build, who will be the end-user, what is the purpose of the product. Before building a product a core understanding or knowledge of the product is very important.
 
              The objective of this phase is to ensure that there is a somewhat reasonable expectation that a reliable, effective solution can be built on time and within cost to meet the customer request.
 
           Finally a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model. The testing team follows the Software Testing Life Cycle and starts the  Test Planning phase after the requirements analysis is completed.


2. Analysis & Feasibility Study:
          “What do we want?”  
            The best possible way to do work. Once the requirement analysis phase is completed the next step is to define and document software needs. This process conducted with the help of 'Software Requirement Specification' document also known as 'SRS' document. It is a joint work done by group of people. Here they discuss about the Software and Hardware which supports the application with their platforms. This phase converts the client/user language into Technical Language.


3. Designing: 
           “How will we get what we want?” 
            This phase of the SDLC starts by turning the software specifications into a design plan called the Design Specification. In this phase the testers comes up with the Test strategy, where they mention what to test, how to test. This design phase serves as input for the next phase of the model.
 
            There are two kinds of design documents developed in this phase:

        1. High Level Design (HLD): It describes the Architecture of an application’s module look and how each and every module communicated with each other. It describes each module into brief. Exactly like what back-end and front-end to be used. What language is used for both front & back-end
  •              Brief description and name of each module
  •              An outline about the functionality of every module
  •              Interface relationship and dependencies between modules
  •              Database tables identified along with their key elements
  •              Complete architecture diagrams along with technology details
          It is developed by Tech. Architect, Professional Architect or Tech. Managers who have 10+  years of experience.

         2. Low Level Design (LLD): This is more emphasized on format and appearance. It describes each module in details. 
  •              Functional logic of the modules
  •               Database tables, which include type and size
  •               Complete detail of the interface
  •               Addresses all types of dependency issues
  •               Listing of error messages
  •               Complete input and outputs for every module
           It is done by Senior Developers, Senior Software Engineer who has min. of 4+ years of experience.

(HLD is a Macro Level Design where LLD is Micro Level Design)



4. Development / Coding: 
            “Let’s create what we want.” 
           This is the stage where the actual development starts. Based on the requirement, developers generate Pseudo Code against LLD in machine readable form.
 
            In this stage, developers test for defects and deficiencies, they fix those issues until the product meets the original specifications.

5. Integration & Testing: 
           “Did we get what we want?” 
           To ensure that the application is working as per client/user requirement specifications. Testing team checks whatever the Pseudo Code, is accessible or not and also to ensure that the application developed by developers is working correctly or not. If testing team finds the Defect, they communicate with the development team and then developer modifies the code as per the requirement. This process is repeated till the source code is defect free or it matches the requirement.
 
           The testing has to be done methodically using a defined process and variety of tests have to be conducted on the software to see that the software meets the requirements specifications.

6. Implementation: 
          “Let’s start using what we got.”
          Software/ Application installed at client’s premises, after development gets over. At this stage, the goal is to deploy the software to the production environment so users can start using the product.

7. Maintenance: 
            “Let’s get this closer to what we want.”
           Services provided to client/user after the delivery of software/application. The plan almost never turns out perfect when it meets reality. Further, as conditions in the real world change, we need to update and advance the software to match.