Waterfall Vs Phased Software Development Methodology

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 21

WATERFALL VS PHASED

SOFTWARE DEVELOPMENT
METHODOLOGY
WATERFALL METHODOLOGY
• Also known as the Waterfall Model/Linear-Sequential Life-cycle
Model, is a model whose process represented as a downward
mechanism similar to that of a waterfall.
• The whole process is divided into sequential stages, and it is
imperative to complete each phase successfully in order to move onto
the next one
WATERFALL METHODOLOGY
• The waterfall methodology is divided into 6 steps:
1. Requirements Analysis
• In this phase, all requirements of the project are analyzed and
documented in a specification document and a feasibility analysis is
done to check if these requirements are valid.
• It is essential to consider any limitations and constraints (e.g. time,
budget constraints) which can affect the development process.
WATERFALL METHODOLOGY
2. System Design
• In this phase, the system design is prepared which specifies hardware
and system requirements, such as data layers, programming
languages, network infrastructure, user interface etc.
• It helps define the overall system architecture.
WATERFALL METHODOLOGY
3. Implementation
• In this phase, the source code is written as per requirements. The
physical design specifications are turned into a working code.
• The system is developed in small programs called units, after which
these units are integrated.
• Sometimes, functionality of each unit is tested before integration
WATERFALL METHODOLOGY
4. Testing
• The code is then handed over to the testing team. Testers check the
program for all possible defects, by running test cases either manually
or by automation.
• The client is involved in the testing phase as well, in order to ensure
all requirements are met.
• All Flaws and bugs detected during this phase are fixed to ensure
Quality Assurance.
WATERFALL METHODOLOGY
5. Deployment
• In this phase, the software is deployed into a live environment
(client’s server) in order to test its performance.
• Once the software is deployed, it becomes available to end-users.
• Sometimes, this phase also includes training of real-time users to
communicate benefits of the system.
WATERFALL METHODOLOGY
6. Maintenance
• After the deployment phase, the next step is to provide support and
maintenance for the software, making sure it runs smoothly.
• If the client and users come across errors/defects/bugs during use,
fixing them is the main purpose of this stage.
WATERFALL METHODOLOGY
Waterfall Methodology can be used when:
• Requirements are not changing frequently
• Application is not complicated and big
• Project is short
• Requirement is clear
• Environment is stable
• Technology and tools used are not dynamic and is stable
• Resources are available and trained
PHASED SOFTWARE METHODOLOGY
• A development process consists of various phases, with each phase
ending with a defined output with the phases performed in an order
specified by the software development process model.

• The primary reason for using a phased approach to software


development process is that it breaks the problem of developing
software into successfully performed set of phases, each handling a
different concern of software development.
PHASED SOFTWARE METHODOLOGY
• Example is that one team can focus on the code and another with the
user interface. Each phase is done separately and does not follow the
standard waterfall model, thus reducing cost in production.
PHASED SOFTWARE METHODOLOGY
• The following activities are performed during the phased software
methodology:
1. Requirements Analysis:- Requirements analysis is done in order to
understand the problem the software system is to solve.
• The emphasis in requirements analysis is on identifying what is
needed from the system, not how the system will achieve its goals.
• The goal of the requirements activity is to document the
requirements in a software requirements specification document.
PHASED SOFTWARE METHODOLOGY
2. Software Design:- The purpose of the design phase is to plan a
solution of the problem specified by the requirements document.
• This phase is the first step in moving from the problem domain to the
solution domain. In other words, starting with what is needed; design
takes us toward how to satisfy the needs.
• The design of a system is perhaps the most critical factor affecting the
quality of the software.
PHASED SOFTWARE METHODOLOGY
3. Coding:- The goal of the coding phase is to translate the design of
the system into code in a given programming language. For a given
design, the aim in this phase is to implement the design in the best
possible manner.
PHASED SOFTWARE METHODOLOGY
4. Testing:- It is the major quality control measure used during software
development. Its basic function is to detect defects in the software.
• After coding, computer programs are available that can be executed
for testing purposes. This implies that testing not only has to uncover
errors introduced during coding, but also errors introduced during the
previous phases.
• Thus, the goal of testing is to uncover requirement, design, and
coding errors in the programs.
PHASED SOFTWARE METHODOLOGY
5. Conversion: during this phase, the old system is substitute by the new system
that has been developed.
• Parallel: in this approach both the old and new system are run together until
everyone involve in the project is convinced that the old one can be safely taken
out of operation.
• Direct Cutover: at this stage, the old system is discarded and replaced by the new
one, all at the same time.
• Pilot study: during the pilot study approach, the new system is introduced into a
very limited area of the organization. It is not introduced any further into the rest
of the organization as long as the pilot system does not begin running smoothly.
• Phased: the phased approach involve the introduction of the new system in
stages. The pilot study approach can be considered as a special case of this
approach.
PHASED SOFTWARE METHODOLOGY
6. Maintenance: Software maintenance process is the modification of a
software product after delivery to correct faults, to improve
performance or other attributes, or to adapt the product to a modified
environment.
• At this stage the system has to be kept operational. The nature and
extent of activity during this process depend on the type of software
being developed.
• For some support software, the maintenance and operation phase
may be very active due to changing user needs.
PHASED SOFTWARE METHODOLOGY
Reasons for using phased software methodology
• Prioritizing the features ensures that the first version of your software
can be useful to your users. Not to all of them, perhaps, or in the
depth you prefer. But it's usable.
• A phased approach makes budgets easier to cope with, especially
when you haven't done a project like this before and aren’t sure how
extensive it will be.
• Once people are using the initial versions of the software, priorities
will change. A phased approach lets you and the developer adjust the
features that need to be added next. You can put the most time,
attention (and budget) on the things that matter most.
PHASED SOFTWARE METHODOLOGY
Reasons for using phased software methodology(cont’d)
• If the developer screws up on Version 1.0, you have something to
work with while you find another developer.
• It can minimize "scope creep," wherein you add "just one more thing"
to the project requirements (and somehow expect the budget and
delivery time to be unaffected).
• Can be used in small or large projects
• Phased allows flexibility while budget remains unaffected
• Can be used in either new system or an old system
KEY DIFFERENCES BETWEEN THE
TWO
WATERFALL PHASED
Used in new development projects Can be used in either new system or an old system
Used in small projects Can be used in small or large projects
Phases are processed and completed one at a time Phases are done in accordance to user needs.
Projects are rigid and don’t allow flexibility Phased allows flexibility while budget remains
unaffected
Very expensive software methodology project Cheap software methodology project
Very low risk of total system failure. High chance of total system failure.
Primarily focuses on what the software does Primarily focuses on what features are to be added.
REFERENCES
• Database, M. K. (2021). A Phased Approach to Software Development.
Retrieved from MBA Knowledge Database:
https://www.mbaknol.com/information-systems-management/a-
phased-approach-to-software-development/
• Engineers, R. (2021). Phased Development Process. Retrieved from
Radoo Engineers: http://www.faadooengineers.com/online-
study/post/cse/software-engineering/188/phased-development-process
• Zulqabad, A. (2019). SDLC Waterfall Model: The 6 phases you need to
know about. Retrieved from Rezoid: https://rezaid.co.uk/sdlc-waterfall-
model/

You might also like