Saturday, December 22, 2018



SDLC:  A Framework containing the Processes, Activities, and the Tasks involved in the development, operation and maintenance of a software project (spanning the life of the system) from the definition of its requirements to the termination of its use.
                                                   (or)
The Software Development lifecycle is a systematic process for building software that ensures the quality product is built.
Below are the different phases in Software Development Life Cycle:
1.   Requirements Gathering or (Initiation)
2.   Analysis
3.   Designing
4.   Coding
5.   Testing
6.   Delivery & Maintenance
In every phase of SDLC, four important things have to be discussed. For every phase there will be an out put in the form of Document.
                      -> Responsibilities or Objectives
                      -> Role
                      -> Process (Guide lines for the roles)
                      -> Documentation
  1. Requirement Gathering:
    1. Responsibility: Collecting all the specifications or requirements from the customer.
    2. Role: This job will be done by Business Analyst (BA) and Engagement Manager Assist BA. BA deals with requirements and EM estimates excess cost for this project.
    3. Process: BA must follow the guide lines
      • Taking appointment before meeting with customer.
      • What to talk what not to talk must be given.
      • Work has to be done in consistent manner.
    4. Documentation: While dealing with the CEO of Bank, BA must get the entire requirement, note it down and then this requirement must document. He/She must follow the pre format (Template) provided by the company. This document is known as BD/ BDD/ FRS/ BRS. (BD - Business Document, BDD - Business Design Document, FRS - Functional Requirement Specification, BRS - Business Requirement Specification)
  2. Analysis: In this phase the requirements in BDD are analyzed. In this phase, the out come is SRS. This SRS is designed in the next phase.
    1. Responsibility:
      • Analysis of Requirement: Analyse explicit requirements and implicit requirements
      • Feasibility Study: states whether requirement is possible or not
      • Tentative Planning: rough planning of the requirement
      • Technology Selection: Analysis system requirements. e.g: for web dev Java, for documentation MS-Word etc.,
    2. Role: System Analyst (SA)
    3. Process: Guidelines will be provided to analyst to follow.
    4. Documentation: In order to develop the product, the system requirements are documented and send to design phase. This document is known as SRS (System Requirement Specifications).
  3. Design: 
    1. Responsibility: Designing of the project. In this Design there are two levels HLD (High Level Design) and LLD (Low Level Design). 
    2. Role: HLD is done by CA (Chief Architect). LLD is done by TL (Technical Leads)
    3. Process: Guidelines will be provided to follow.
    4. Documentation: The document designed in this phase is called Technical Design Document (TDD)
  4. Coding: 
    1. Responsibility: In this phase programming is the responsibility
    2. Role: Developer
    3. Process: Developer must follow some guide lines called Coding  standards. Some Coding Standards: 
      • Code space margin has to be left
      • Write comments at every program function so that readability enhanced.
      • Color coding etc…
    4. Documentation: All the coding files are documented in a document called Program File or Source Code Document (SCD).
  5. Testing: Testing goes in this phase. After testing in this phase, application is send to Delivery phase.
    1. Responsibility: Testing of the Application
    2. Role: Test Engineers (TE, STE)
    3. Process: 
      • Understanding Requirements (e.g: BRS, FRS)
      • Writing Test cases (either manual or Automation)
      • Executing Test cases
      • analyse the test results
    4. Documentation: Documentation in this phase is Defect Profile.
  6. Delivery(Deployment)&Maintenance: The objective of deployment phase is to make the developed software operational in a live environment. A deployment in the operational environment comes only after the product is fully tested and accepted by the business in the acceptance stage of the testing phase
    Once the software passes through all the stages without any issues, it is to undergo a maintenance process wherein it will be maintained and upgraded from time to time to adapt to change

Related Posts:

  • What is Manual Testing and its Advantages, Limitations Manual testing is a testing process that is carried out manually(executing test cases) in order to find defects without the usage of tools or automation scripting. It is the most primitive of all testing types and… Read More
  • Retrieve Test Data from an Excel file with Apache POI A Java Program to retrieve the data from an excel file?   Below is the code to read .xlsx file.                                XSSFWorkbo… Read More
  • ArrayList vs LinkedList Difference between ArrayList and LinkedList? Similarities: Both implements List interface(linkedlist also implements deque interface), maintains insertion order and can contain duplicate elements. Both are non synchroni… Read More
  • Encapsulation in Java Encapsulation is to make sure that "sensitive" data is hidden from users. To achieve this, you must: declare class variables/attributes as private (only accessible within the same class) provide public setter and getter m… Read More
  • Why String is Immutable? What is mean by immutable object/class? Assume we have a below class A as mutable: Class A{ int i = 10; int j = 20; A a = new A(); } a.i = 30; a.j = 40; Changing state of objects, so A is mutable. Immutable: once o… Read More

Selenium Training in Realtime

Blog helps to a student or IT employee to develop or improve skills in Software Testing.

Followers

About Me

My photo
Hyderabad, Andhra Pradesh, India
I am Automation Testing Professional. I have completed my graduation in B.Tech (Computers) from JNTU Hyderabad and started my career in Software Testing accidentally since then, I passionate on learning new technologies

Contact Form

Name

Email *

Message *

Popular Posts