Software Development Life Cycle (SDLC):
Our focus here about software development life cycle (SDLC). So, due to that different types of projects have different requirements.
SDLC aims to produce high quality systems that meet or exceed customer expectations,reaches completion within times and cost estimates. based on customer requirements, by delivering systems which move through each clearly defined phase.
Definition:SDLC is the process in which software project is developed in systematic and scientific manner to ensure quality to the project.
SDLC contains six phases they are
- Initial/ requirements gathering phase.
- Analysis phase
- Design phase
- Coding Phase
- Testing Phase
- Delivery & Maintenance Phase.
1) Initial/Requirements gathering Phase:
Roles: Business analyst (BA)
Engagement manager (EM)
Process: First of all the business analyst(BA) will collects the templates from the company, meets the customer on appointed day, gathers the requirements with the help of template. The engagement manager (EM) will check whether the customer given any extra requirements or confused requirements. In case of extra requirements, he deals the excess cost of the project. In case of confused requirements, again they will gather the requirements clearly.
Proof: The proof document of this phase is Business Requirement Specifications (BRS). It has different names in different companies.
- FRS (Functional Requirements Specification)
- CRS (Customer Requirement Specification)
- URS (User Requirement Specification)
- BDD (Business Design Document)
- BRD: Business Requirement Document.
Templates: It is a pre defined format, which contains the predefined fields, and used for preparing a document in an easy, comfort and perfect manner.
2) Analysis Phase:In this phase BRS is used to do analysis
Roles: System Analyst
I) Feasibility Study: It is detailed study of the requirements in order to check whether the requirements are possible or not.
II) Tentative planning: In this section the resource planning and the time planning (scheduling) is done temporarily.
IIA) Technology Selection: The list of all the technologies that are required to accomplish this project. Successfully will be analyzed and listed out in this section.
IIB) Requirement Analysis:The list of all the requirements that are required to accomplish this project. Successfully will be analyzed and listed out here in this section.
Proof: The proof of this phase is “System Requirement Specifications (SRS)”.
3) Design Phase: To develop the blue-print (design) for the project development.
Roles: Chief Architect (CA)
Technical Lead (TL)
I) High level designing
II) Low level designing
High-level designing is done by the chief Architect (CA) ,he will be drawing some diagrams using unified modeling language in order to divide the whole project in to modules.
Low level designing is done by the Technical Lead (TL),he will also draw some diagrams in order to divide the modules in to sub modules.
Proof: The proof document of this phase is “Technical design document (TDD)”.
4) Coding phase: Developing or Programming (Implementation of the design)
Roles: Developers or Programmers
Process: Developers will develop the actual code by using the technical design document as well as following the coding standards like Proper indentation, color coding, proper commenting and etc.. as per company requirements.
Proof: The proof document of this phase is” source code Document (SCD)”.
5) Testing Phase: validate the functionality through make it defect free.
Roles: Test Engineers
Process: Testing process is associated with following steps
I) BDD Review: First of all the test engineers will collect the requirements document and try to understand all the requirements
II) Preparation of Review Report: While understanding it at all they get any doubts they will list out all of them in a review report.
III) Sending Review Report to BA: They will send the review report to the author of the requirements document for clarifications.
IV) TCD Preparation: Once the clarifications are given and after understanding all the requirements clearly, they will take the test case template and writes the test cases.
V) TCD Execution: Once the build is released then they will execute the test cases
VI) Identification of bugs and Isolation of bugs: If at all any defects are found. They will list out all of them in a defect profile document (DPD)
VII) Bug Reporting: They will send the DPD to the development department and then will be waiting for the next build to be released.
VIII) Once the next build is released then they re-execute the test cases.
IX)If at all any defects are found they will update the profile document and sent it to the development department and will be waiting for the next build to be released.
X)This process continues till the product is defect free.
Proof: The proof of the testing phase is Quality Product.
Test Case: Test case is an idea of a test engineer based on the customer’s requirements in order to test a particular feature (or) a function.
6) Delivery & Maintenance Phase:
Roles: Deployment engineer/ Software Quality manager/ Project Manager
Delivery: To deliver the product to the client.
Task: Installing the application into the client’s environment
Process: deployment engineer will go to the client’s place and install the application in their environment.
Documents associated with the delivery process:
- Certification document (to ensure its quality)
- User manual (to guide the user how to use it)
- Deployment document (to guide the user how to install it)
Some clients may request for the continuous maintenance in such situations a group of people from the software company will be continuously working on the clients place and taking care of the software.