304x Filetype PDF File size 0.32 MB Source: journals.indexcopernicus.com
IJETST- Vol.||02||Issue||04||Pages 2202-2208||April||ISSN 2348-9480 2015
International Journal of Emerging Trends in Science and Technology
A Comparative Study between Waterfall and Incremental Software
Development Life Cycle Model
Authors
1 2 3
Deepti Singh , Ankit Thakur , Abhishek Chaudhary
1M.Tech (CSE) Scholar, Bhagwant University, Sikar Road, Ajmer, Rajasthan, India
Email: deepti.singh426@gmail.com
2M.Tech (CSE) Scholar, Bhagwant University, Sikar Road, Ajmer, Rajasthan, India
Email: ankit.thakur1011@gmail.com
3Assistant Professor (CSE), Bhagwant University, Sikar Road, Ajmer, Rajasthan, India
Email: abhishek02mar@rediffmail.com
Abstract
Software development life cycle or SDLC for short is a methodology for designing, building, and maintaining
information and industrial systems. There are various SDLC models widely used for developing software.
SDLC models give a theoretical guide line about development of the software. Software Development Life
Cycle (SDLC) methodologies are mechanisms to assure that software meet established requirements. These
methodologies impose various degrees of discipline to the software development process with the goal of
making the process more efficient and predictable. SDLC models are very important for developing the
software in a systematic manner such that it will be delivered within the time deadline and should also have
proper quality. Each SDLC has its advantages and disadvantages according to which we decide which model
should be implemented under which conditions. In the present scenario all software systems are imperfect
because they cannot be built with mathematical or physical certainty. According SDLC each and every model
has the advantage and drawbacks. The concept of system lifecycle models came into existence that emphasized
on the need to follow some structured approach towards building new or improved system. For this we need to
compare SDLC models. In this paper we will compare two different famous life cycle models like-waterfall
model & incremental model.
Keywords: Increment model, waterfall model, Software engineering, Software process model and Software
1. INTRODUCTION itself. However, the early programming stages have
In today’s life computer is considered a time- saving created a number of problems turning software an
device and its progress helps in executing complex, obstacle to software development particularly those
long, repeated processes in a very short time with a relying on computers. Software consists of
high speed. In addition to using computer for work, documents and programs that contain a collection
people use it for fun and entertainment. Noticeably, that has been established to be a part of software
the number of companies that produce software engineering procedures. Moreover, the aim of
programs for the purpose of facilitating works of software engineering is to create a suitable work that
offices, administrations, banks, etc, has increased constructs programs of high quality. A software
recently. During the previous few decades, software development process, also known as a software
has been developed from a tool used for analyzing development life cycle (SDLC), is a structure
information or solving a problem to a product in imposed on the development of a software product.
The process of building computer software and
Deepti Singh et al www.ijetst.in Page 2202
IJETST- Vol.||02||Issue||04||Pages 2202-2208||April||ISSN 2348-9480 2015
information systems has been always dictated by This paper focused on the comparative study
different development methodologies. A software between two different models-waterfall and
development methodology refers to the framework incremental model. In the Section -2, SDLC phases
that is used to plan, manage, and control the process are discussed, Section -3 summarizes waterfall
of developing an information system. Software model, Section-4 summarizes incremental model
development life cycle (SDLC) is a method by and Section – 5, includes the conclusion.
which the software can be developed in a systematic
manner and which will increase the probability of 2. SDLC PHASES
completing the software project within the time Software development life cycle (SDLC) is a
deadline and maintaining the quality of the software method by which the software can be developed in a
product as per the standard. The System systematic manner and which will increase the
Development Life Cycle framework provides a probability of completing the software project
sequence of activities for system designers and within the time deadline and maintaining the quality
developers to follow for developing software. It is of the software product as per the standard. Software
often considered as a subset of system development life cycle models describe phases of the software
life cycle. Any software development process is cycle and the order in which those phases are
divided into several logical stages that allow a executed. Each phase produces deliverables required
software development company to organize its work by the next phase in the life cycle. Requirements are
efficiently in order to build a software product of the translated into design. Code is produced according
required functionality within a specific time frame to the design which is called development phase.
and budget. After coding and development the testing verifies
The development models are the various processes the deliverable of the implementation phase against
or methodologies that are being selected for the requirements.
development of the project depending on the
project’s aims and goals. There are many There are following six phases in every Software
development life cycle models that have been development life cycle model:
developed in order to achieve different required
objectives. The models specify the various stages of 2.1 Requirement gathering and analysis:
the process and the order in which they are carried Business requirements are gathered in this phase.
out.The selection of model has very high impact on This phase is the main focus of the project managers
the testing that is carried out. It will define the what, and stake holders. Meetings with managers, stake
where and when of our planned testing, influence holders and users are held in order to determine the
regression testing and largely determines which test requirements like; Who is going to use the
techniques to use.There are various Software system? How will they use the system? What data
development models or methodologies. They are as should be input into the system? What data should
follows: be output by the system? These are general
1. Waterfall model questions that get answered during a requirements
2. V model gathering phase. After requirement gathering these
3. Incremental model requirements are analyzed for their validity and the
4. RAD model possibility of incorporating the requirements in the
5. Agile model system to be development. Finally, a Requirement
6. Iterative model Specification document is created which serves the
7. Spiral model purpose of guideline for the next phase of the model.
Deepti Singh et al www.ijetst.in Page 2203
IJETST- Vol.||02||Issue||04||Pages 2202-2208||April||ISSN 2348-9480 2015
2.2 Design: In this phase the system and software software requirements and continues with
design is prepared from the requirement architectural design, detailed design, coding, testing,
specifications which were studied in the first phase. and maintenance. The waterfall model serves as a
System Design helps in specifying hardware and baseline for many other lifecycle models. In some
system requirements and also helps in defining organizations, a change control board maintains the
overall system architecture. The system design quality of the product by reviewing each change
specifications serve as input for the next phase of the made in the maintenance stage. Consider applying
model. the full waterfall development cycle model when
correcting problems or implementing these
2.3 Implementation /Coding: On receiving system enhancement requests. In each stage, documents that
design documents, the work is divided in explain the objectives and describe the requirements
modules/units and actual coding is started. Since, in for that phase are created. At the end of each stage, a
this phase the code is produced so it is the main review to determine whether the project can proceed
focus for the developer. This is the longest phase of to the next stage is held. Many people believe that
the software development life cycle. this model cannot be applied to all situations. In
real-world development, however, one can discover
2.4 Testing: After the code is developed it is tested issues during the design or coding stages that point
against the requirements to make sure that the out errors or gaps in the requirements. The waterfall
product is actually solving the needs addressed and method does not prohibit returning to an earlier
gathered during the requirements phase. During this phase, for example, returning from the design phase
phase unit testing, integration testing, system testing, to the requirements phase. However, this involves
acceptance testing are done. costly rework. Each completed phase requires
formal review and extensive documentation
2.5 Deployment: After successful testing the development. Thus, oversights made in the
product is delivered / deployed to the customer for requirements phase are expensive to correct later.
their use. Because the actual development comes late in the
process, one does not see results for a long time.
2.6 Maintenance: Once when the customers starts This delay can be disconcerting to management and
using the developed system then the actual problems customers. Many people also think that the amount
comes up and needs to be solved from time to time. of documentation is excessive and inflexible.
This process where the care is taken for the Although the waterfall model has its weaknesses, it
developed product is known as maintenance. is instructive because it emphasizes important stages
of project development. Even if one does not apply
this model, he must consider each of these stages
3. WATERFALL MODEL and its relationship to his own project.
Waterfall model was proposed by Royce in 1970
which is a linear sequential software development
life cycle (SDLC) model. The waterfall model is the
classical model of software engineering. This model
is one of the oldest models and is widely used in
government projects and in many major companies.
As this model emphasizes planning in early stages, it
ensures design flaws before they develop. Hence it
is not very much useful when the project
requirements are dynamic in nature The model
begins with establishing system requirements and
Deepti Singh et al www.ijetst.in Page 2204
IJETST- Vol.||02||Issue||04||Pages 2202-2208||April||ISSN 2348-9480 2015
fig1. Waterfall Model
3.1 Advantages: 4. INCREMENTAL MODEL
Easy to understand and implement. 2. The Incremental approach is a method of software
Widely used and known (in theory!). development where the model is designed,
Reinforces good habits: define-before- design, implemented and tested incrementally (a little more
design-before-code. is added each time) until the product is finished. It
Identifies deliverables and milestones. involves both development and maintenance. The
Document driven, URD, SRD, … etc. Published product is defined as finished when it satisfies all of
documentation standards, e.g. PSS-05. its requirements. The incremental model is an
Works well on mature products and weak teams. intuitive approach to the waterfall model. Multiple
development cycles take place here, making the life
3.2 Disadvantages: cycle a “multi-waterfall” cycle. Cycles are divided
Idealized, doesn’t match reality well. up into smaller, more easily managed iterations.
Doesn’t reflect iterative nature of exploratory Each iteration passes through the requirements,
development. design, implementation and testing phases. The
Unrealistic to expect accurate requirements so incremental model divides the product into builds,
early in project. where sections of the project are created and tested
Software is delivered late in project, delays separately. This approach will likely find errors in
discovery of serious errors. user requirements quickly, since user feedback is
Difficult to integrate risk management. solicited for each stage and because code is tested
Difficult and expensive to make changes to sooner after it's written. In incremental models, as in
documents. sequential models, the overall requirements of the
Significant administrative overhead, costly for final system or product are known at the start of the
small teams and projects development. In incremental models however a
limited set of requirements is allocated to each
increment and with each successive (internal)
release more requirements are addressed until the
final (external) release satisfies all requirements. A
Deepti Singh et al www.ijetst.in Page 2205
no reviews yet
Please Login to review.