0% found this document useful (0 votes)
33 views6 pages

Overview of the Waterfall Model

SDLC is the software development lifecycle, which is a process or procedure followed to develop software. It involves stages like requirements collection, feasibility study, design, coding, testing, installation, and maintenance. The waterfall model is a traditional SDLC model where progress flows in a linear sequential order like a waterfall, from one stage to the next. It is not flexible and does not allow for backtracking between stages. However, it ensures a stable product if requirements do not change.

Uploaded by

Harshitha G
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views6 pages

Overview of the Waterfall Model

SDLC is the software development lifecycle, which is a process or procedure followed to develop software. It involves stages like requirements collection, feasibility study, design, coding, testing, installation, and maintenance. The waterfall model is a traditional SDLC model where progress flows in a linear sequential order like a waterfall, from one stage to the next. It is not flexible and does not allow for backtracking between stages. However, it ensures a stable product if requirements do not change.

Uploaded by

Harshitha G
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

SDLC –Software Development Life Cycle

What is SDLC?
SDLC is a procedure followed to develop a software.

Stages of SDLC

Why we should go for SDLC?/ What happens if SDLC is not followed?


1. We will not know how much money has to be invested.
2. We will not know what resources are required.
3. We will not get any detailed document of requirement.
4. There may be delay in releasing the software.
When we should go for SDLC?
Whenever we want to develop a software as a company.
Models of SDLC
1. Waterfall Model
2. Spiral Model
3. V Model
4. Prototype Model
5. Agile Model

WaterFall Model
It is a traditional Model. It is a procedure to develop the software.
Stages of Waterfall Model

Requirement Collection:
Here the business analyst /product analyst will go to the customer place and
collect the requirement. Requirement is in the form of CRS (customer
requirement specification) CRS is converted to SRS meaning “business
language” is converted to “software language “by BA /PA
Who can become a Business Analyst?
Domain Expert -> Person who have worked on the same domain for more
around 10-15 years
Senior Developer -> Developer who have worked on the same project domain
for more than 6 to 7 years
Senior Test Engineer -> A test Engineer who has tested in the same project
same for more than 6 to 7 years
CRS:
Customer Requirement Specification is the requirement document in the form
of customer business language
SRS:
Software Requirement Specification is the requirement document in the form of
the software language

BA:
He will Converts CRS to SRS in Service based Company.
PA:
He will Converts CRS to SRS in Product Based Company.
Service Based Company:
They provide service and develop software for other companies, according to
their requirement
Ex: Infosys, Wipro
Product Based Company:
They develop their own software and sell it to other companies for profit.
Ex: Microsoft, Oracle
Feasibility Study
After requirement collection feasibility study is done by a team.
The team consists of Business Analyst, Project Manager, Architect, Hr Team
and finance Team
Here we check for ,
Technical feasibility: here we check technology is available or not to develop
the software
(It is done by architect)
Architect: He will do the technical feasibility study and tell which technology
to use for developing the software. Any Sr. Dev can become an architect.
Financial Feasibility: Here we check budget is available or not to develop the
software.
(It is done by Finance Team)
Resource Feasibility: Here we check resource is available or not to develop the
software.
(It is done by HR Team)

Design:
Designing is done by the Architect, Senior Architect.
In Designing we have 2 sub stages
1. High Level Design
Designing the architecture of the software

App Server-1 dB Server -1

Browser Web Server

App Server-2 dB Server -2

2. Low Level Design


It is done by [Link]. It describes how each and every feature in the software
should work.
Example: In browser ->> [Link] ->> [Link] ->> [Link]
………….
Coding
Here we start building the software or writing the code for the product.
It is done by Sr. Dev, Jr. Dev as well as Freshers.
1. Senior Developer: Critical features
2. Junior Developer: Major features
3. Freshers: Minor features
Testing
Testing is done by the test Engineers to check if the software is working as per
the requirement and log defects against it.
Note: In waterfall model, developers are involved in testing.
Why Developers should not be involved in testing?
1. Developers consume most of the time for developing the software rather
than testing and testing will have no time
2. Developers see the product from the positive point of view and not from
negative point of view
3. Developers will have over confidence on the software that they have
built.
4. Developers might find the defects while testing but still end up not fixing
it.
Installation:
Once the software is developed and tested it will be installed in the customer’s
place. It is done by the Installation Engineers, IT Engineers, Field Engineers,
Implementation Engineers, Release Engineers.
Maintenance
After the software is installed in the customer place and used, If customer finds
any defect, the software company will fix it according to the agreement that is,
If the defect is found within the maintenance period, then defect is fixed for
free, else the customer will be charged for fixing the defect.
Why do we call it as waterfall model?
Here the progress is seen as flowing downwards like a waterfall therefore this is
called as Waterfall Model.
Backtracking Is not possible-Means once the requirements are freezed, we
cannot change the requirement.
Advantages:
1. Requirement or Design or Code doesn’t change so we get a stable
product.
2. Quality of the software is good.
Drawbacks:
1. Backtracking is not possible i.e for example we cannot change the
requirement once the design stage is completed, means the requirement is
freezed. Hence this model is not flexible.
2. Requirement is not tested, Design is not tested, if there is any bug in the
requirement it does till the end & leads to lot of rework.
3. It is a traditional model, where developers were involved in testing.
Applications:
1. We go for waterfall Model to develop simple applications where the
requirements are fixed.
2. We got for Waterfall model to develop short term products where the
requirements are fixed. Ex: Alarm, Calculator.

Common questions

Powered by AI

Testing Engineers in the Waterfall model are dedicated to verifying that the software meets requirements and identifying defects, whereas developers focus on building the software. Developers, when involved in testing, may overlook defects due to positive bias or confidence in their work. This emphasizes the need for a separate testing team to ensure objective evaluation and thorough bug reporting .

Senior developers are tasked with implementing critical features of the software, leveraging their experience for complex tasks. Junior developers handle major features that require less experience but still substantial expertise. Freshers focus on minor features, gaining experience in the development process and learning under supervision .

Backtracking is not possible in the Waterfall model because each phase must be completed before the next one begins. Once requirements are finalized, they cannot be changed after the design stage is completed. This inflexibility means that any errors or changes in requirements are costly and time-consuming to address, often leading to substantial rework and reduced adaptability to new information or changes .

Advantages of involving developers include leveraging their familiarity with the system for thorough testing. However, drawbacks include limited time allocation for testing due to their primary focus on development, positive bias towards their own work, and potential overconfidence that can lead to defects being overlooked or unfixed .

The main stages of the Waterfall model include Requirement Collection, Design, Coding, Testing, Installation, and Maintenance. Requirement Collection gathers client needs, Design splits into high and low levels for architecture and feature details, Coding involves developing the system, Testing ensures the product meets specifications, Installation involves deploying the software, and Maintenance addresses post-release defects .

The feasibility study in SDLC assesses technical, financial, and resource feasibility, crucial for determining whether a project should proceed. The study involves checks on technology availability (by architects), budget sufficiency (by finance teams), and resource capability (by HR teams). Conclusions drawn influence decision-making and planning in the initial stages, ensuring the project is viable before significant resources are committed .

The Waterfall model is beneficial for developing simple applications where requirements are firmly established and unlikely to change. It is also suitable for short-term projects with fixed requirements, such as an alarm or calculator application, because it enables stable, high-quality product development without the need for iteration or flexibility .

In service-based companies, a Business Analyst (BA) converts Customer Requirement Specifications (CRS) into Software Requirement Specifications (SRS). In product-based companies, this role is typically performed by a Product Analyst (PA). The BA translates the customer language into a software language for service providers, while the PA performs this function for companies developing their own products .

If the SDLC is not followed during software development, several issues may arise, including a lack of clarity on the financial investment needed, uncertainty about the required resources, absence of detailed requirement documentation, and potential delays in software release .

High-level design in the SDLC is responsible for designing the architecture of the software, defining system components, and their interactions. This phase is mainly conducted by the architect or senior architect, laying the groundwork for the detailed specifications to be defined in the low-level design by senior developers .

You might also like