Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

A Comparison Between Three SDLC Models Waterfall Model, Spiral Model, and Incremental/Iterative Model

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

IJCSI International Journal of Computer Science Issues, Volume 12, Issue 1, No 1, January 2015

ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784


www.IJCSI.org 106

A Comparison Between Three SDLC Models Waterfall


Model, Spiral Model, and Incremental/Iterative Model
Adel Alshamrani1 and Abdullah Bahattab2
1
Ira A. Fulton Schools of Engineering at Arizona State University
Tempe, AZ, 85281, USA
1 King Abdul Aziz University, Faculty of Computing and Information Technology-North Branch,

Jeddah, 22245, KSA


2 College of Telecommunications and Electronics (CTE),
Jeddah, 21533, KSA

Abstract Moreover, all SDLC models that have been suggested


The computer has become indispensable in today’s life, and it is share basic properties. They all consist of a sequence of
widely used in many fields of life such as commerce, education, phases or steps that must be followed and completed by
industry…etc. The computer saves time in regarding to help
solving complex, long, repeated processes in a short time and system developers and designers in order to achieve
high speed. As the software programs need to handle these developed systems and deliver required products.
features, many companies produce software programs to However, in this paper, strengths and weaknesses of The
facilitate the works for administrations, banks, offices, etc. Waterfall, Spiral, and Incremental/Iterative models will be
Moreover, software has been in used for analyzing information discussed and a brief comparison of other aspects will
or solving problems for more than four decades. Creating a
suitable work to develop programs of high quality is the main
conclude the rest of the paper.
goal of the software engineering. Usually, clients seek the
assistance from computer and software engineers to solve and 2. Waterfall Model
handle their problems. There are various models have been
widely in used to develop software products. Common models The Waterfall Model is the oldest and the most well-
will be described in this paper. known SDLC model. This model is widely used in
Keywords: SDLC Models, Software Engineering, Waterfall government projects and in many major companies. The
model, Spiral model. Iterative model. special feature of this model is its sequential steps. It goes
downward through the phases of requirements analysis,
1. Introduction design, coding, testing, and maintenance. Moreover, it
ensures the design flaws before the development of a
Software development life cycle or SDLC for short is a product. This model works well for projects in which
methodology for designing, building, and maintaining quality control is a major concern because of its intensive
information and industrial systems. So far, there exist documentation and planning [5].Stages that construct this
many SDLC models, such as the Waterfall model, which model are not overlapping stages, which means that the
waterfall model begins and ends one stage before starting
comprises five phases to be completed sequentially in
the next one.
order to develop a software solution; another model called The following steps give a brief description about the
the Spiral model, which is visualized as a process passing waterfall process:
through some number of iterations. Finally, the 1. Requirement: Is a description of a system behavior to
incremental model is any combination of both iterative be developed. Usually, it is the information provided
design or iterative method and incremental building model by clients. Hence, it establishes the agreement
for software development. It has seven phases, and they between the clients and the developers for the
are as follows: Planning, requirements, analysis, software specifications and features. In short,
implementation, deployment, testing, and evaluation [1, requirements are gathered, analyzed and then proper
3]. In effect, SDLC has been investigated by many documentation is prepared, which helps further in the
researchers and numerous models have been proposed development process.”
where their acknowledged strengths and weaknesses are 2. High Level design: The gathered information from
the previous phase is evaluated and a proper
presented. The Waterfall, spiral, incremental, rational
implementation is formulated. It is the process of
unified process (RUP), rapid application development
planning and problem solving for a software solution.
(RAD), agile software development, and rapid prototyping It deals with choosing the appropriate algorithm
are few to mention as successful SDLC models. design, software architecture design, database

2015 International Journal of Computer Science Issues


IJCSI International Journal of Computer Science Issues, Volume 12, Issue 1, No 1, January 2015
ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784
www.IJCSI.org 107

conceptual schema, logical diagram design, and data 4. Iterative and Incremental Model
structure definition [4, 5].
3. Coding: In this phase the whole requirements will be This model combines elements of the waterfall model in
converted to the production environment. an iterative fashion. Moreover, each linear sequence
4. Testing: This phase deals with the real testing and produces deliverable increments of the software. The basic
checking of the software solutions that have been requirements are addressed in the first increment, and it is
developed to meet the original requirements. Also, it the core product, however, many supplementary features
is the phase where the bugs and system glitches are (some known, others unknown) remain undeliverable at
found, fixed up, and refined. this increment. This model constructs a partial
5. Maintenance: After the software is already released, it implementation of a total system. Then, it slowly adds
may need some modifications, improvements, errors increased functionality. Therefore, each subsequent
correction, and refinement accordingly. Thus, this release will add a function to the previous one until all
phase is the process of taking care of such concerns. designed functionalities are implemented [7, 8, 9, 10].

3. Spiral Model 5. Comparison of the three SDLC Models


(Waterfall, Spiral, and incremental)
The spiral model is a software development process
combines elements of both design and prototyping in As we have already mentioned above, there are many
stages for the sake of combining the advantages of top- SDLC models each of which has different level of risk,
down and bottom up concepts. It is a meta-model, which budget, estimated completion timeline, and benefits to
means that it can be used by other models [5, 6]. In cope with the project requirements. In addition, some
addition, it focuses on risk assessment and minimizing models are preferred over others in regard to the size of
project risk. This is can be achieved by breaking a project the project either large or small while other models being
into smaller segments, which then provide more ease-of- preferred due to their flexibility to allow rapid changes
change during the development process, as well as throughout the whole life cycle of the software
providing the opportunity to evaluate risks and weigh
development [1, 2, 5, 6]. Thus, developers have to
consideration of project continuation throughout the life
consider various aspects before choosing the SDLC model
cycle. In this model, the development team starts with a
small set of requirements and then goes through each to implement the required system. They must know the
development phase (except Installation and Maintenance) strengths and weaknesses of each model, and when to use
for those set of requirements. Therefore, the development the appropriate model. Therefore, the tables (1 and 2)
team has a chance to learn new lessons from the initial provide some helpful information, which shows the
iteration (via a risk analysis process). Also, the team will comparison between the three SDLC models in regard to
add functionality for additional requirements in ever- their strengths, weaknesses, other aspects, and when to use
increasing “spirals” until the application is ready for the each.
installation and maintenance phase. In this model, each
iteration prior to the production version is called a 6. Conclusion
prototype of the application [7, 8, 9, 10]. In this research, we concluded that there are many existing
models for developing systems based on clients’
The following steps give a brief description about the requirements and the size of projects. Some models are
Spiral model phases:
preferred over the others due to their properties and how
they match the clients’ needs. The waterfall model, spiral
1. Planning: This phase includes the understanding of the
system requirements by conducting continuous model, and incremental model may have same shared
communications between the customers and the properties, but they still have different advantages and
system analysts. disadvantages for the development of systems, so each
2. Risk Analysis: In this phase, a process is undertaken to model tries to eliminate the disadvantages of the previous
identify risk and alternate solutions. A prototype is model. In the future work, we are planning to extend this
produced at the end of this phase. research to add other models and some models might be
3. Development/Engineering: In this phase the software is simulated using some tools.
produced along with the testing.
4. Evaluation Phase: This allows the customer to evaluate
the output of the project before the project continues to
the next spiral or next round.

2015 International Journal of Computer Science Issues


IJCSI International Journal of Computer Science Issues, Volume 12, Issue 1, No 1, January 2015
ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784
www.IJCSI.org 108

Table 1: Strengths and Weaknesses Comparison of Waterfall, Spiral, Incremental SDLC Models.

Model/feature Strengths Weaknesses When to Use


Waterfall  Easy to understand and implement.  All requirements must be known upfront  When quality is more
 Widely used and known.  Inflexible. important than cost or
 Define before design, and design before  Backing up to solve mistakes is difficult, schedule.
coding. once an application is in  When requirements
 Being a linear model, it is very simple to the testing stage, it is very difficult to go are very well known,
implement. back and change something that was not clear, and fixed.
 Works well on mature products and provides well-thought out in the concept stage.  New version of existing
structure to inexperienced teams.  A non-documentation deliverable only product is needed.
 Minimizes planning overhead. produced at the final phase.  Porting an existing
 Phases are processed and completed one at a  Client may not be clear about what they product to a new
time. want and what is needed. platform
 Customers may have little opportunity to
preview the system until it may be too
late.
 It is not a preferred model for complex
and object-oriented projects.
 High amounts of risk and uncertainty,
thus, small changes or errors that arise in
the completed software may cause a lot
of problems.
Spiral  High amount of risk analysis.  Cost involved in this model is usually  For medium to high-
 Software is produced early in the software life high. risk projects.
cycle.  Risk assessment expertise is required.
 Strong approval and documentation control.  Amount documentation required in  When risk evaluation
 Additional functionality can be added at a later intermediate stages makes management and costs
date. of a project very complex. are important.
 Project monitoring is very easy and effective.  Time spent for evaluating risks for small
 Concerned people of a project can early review or low-risk projects may be too large.  When significant
each phase and each loop as well because of  Time spent for planning, resetting changes are expected.

2015 International Journal of Computer Science Issues


IJCSI International Journal of Computer Science Issues, Volume 12, Issue 1, No 1, January 2015
ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784
www.IJCSI.org 109

rapid prototyping tools. objectives, doing risk analysis, and


 Early and frequent feedback from users prototyping may be excessive.  When users are not
 Suitable to develop a highly customized  Project’s success is highly dependent on exactly sure what
product. the risk analysis phase. their needs.
 Provides early indication of insurmountable
risks.

Incremental/  Develop high-risk or major functions first.  Requires good planning and design.  On low to medium-risk
 Risk is spread across smaller increments instead  Requires early definition of a complete projects.
Iterative. of concentrating in one large development. and fully functional system to allow for  A need to get basic
 Lessons learned at the end of each incremental the definition of increments. functionality to the
delivery can result in positive revisions for the  The model does not allow for iterations market early
next increment. within each increment.  On projects which have
 Customers get important functionality early, and lengthy development
have an opportunity to respond to each build. schedules.
 Each release delivers an operational product.  On a project with new
 Initial product delivery is faster. technology, allowing
 Reduces the risk of failure and changing the the user to adjust to the
requirements. system in smaller
incremental steps rather
than leaping to a major
new product.
 When it is high risky to
develop the whole
system at once.

2015 International Journal of Computer Science Issues


IJCSI International Journal of Computer Science Issues, Volume 12, Issue 1, No 1, January 2015
ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784
www.IJCSI.org 110

Table 2: Comparison of SDLC models (Waterfall, Spiral, and Iterative model)

Model/Feature Waterfall Spiral Incremental/Iterative

Specification of All Yes Not all and Frequently Changed Not all and Frequently
the Requirements in the beginning Changed

Long term project Inappropriate Appropriate Appropriate

Complex Project Inappropriate Appropriate Appropriate

Frequently Changed Requirements Inappropriate Appropriate Appropriate

Cost Not costly Costly Costly

Cost estimation Easy to estimate Difficult Difficult

flexibility Not Less flexible Flexible

Simplicity Simple Intermediate Intermediate

Supporting high risk projects Inappropriate Appropriate Appropriate

Guarantee of Success Less High High

Customer Involvement Low Low, After Each Iteration High, After Each Iteration

Testing Late At the end of each phase After every Iteration

Maintenance Least maintainable Yes Maintainable

Ease of Implementation Easy Complex Easy

2015 International Journal of Computer Science Issues


IJCSI International Journal of Computer Science Issues, Volume 12, Issue 1, No 1, January 2015
ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784
www.IJCSI.org 111

References
[1] www.en.wikipedia.org/wiki/Systems_development_life-
cycle
[2] http://www.craiglarman.com/wiki/downloads/misc/history-
of-iterative-larman-and-basili-ieee-computer.pdf
[3] Craig Larman and Victor Basili, “Iterative and Incremental
Development: A Brief History”, IEEE Computer, 2003.
[4] Y. Bassil “A simulation model for the waterfall software
development life cycle. International Journal of Engineering &
Technology”, 2(5): 1-7, 2012.
[5] Nabil Mohammed Ali Munassar and A. Govardhan, “A
Comparison Between Five Models Of Software Engineering”,
IJCSI International Journal of Computer Science Issues, Vol. 7,
Issue 5, , pp. 94 – 101, September 2010.
[6] Ashwini Majumdar, Gayatri Masiwal, P.M.Chawan,
“Analysis of Various Software Process Models” International
Journal of Engineering Research and Applications, Vol. 2, No.
3, 2012, pp. 2015-2021.
[7] N. Munassar and A. Govardhan, “A Comparison Between
Five Models Of Software Engineering”, IJCSI International
Journal of Computer Science Issues, vol. 7, no. 5, 2010.
[8] Ian Sommerville, Software Engineering, Addison Wesley,
9th ed., 2010.
[9] Jim Hurst, “Comparing Software Development Life Cycles,”
SANNS Software Security, 2014.
[10] Sanjana Taya and Shaveta Gupta, “Comparative Analysis
of Software Development Life Cycle Models,” IJCST Vol. 2, Iss
ue 4, Oct . - Dec. 2011

Adel Alshamrani has obtained his Bachelor in Computer Science


from Umm Al-Qura University, Saudi Arabia in 2007, and has obtained
his Master degree in Computer Science from La Trobe University,
Australia in 2010. Adel is a lecturer in the Department of Computer
Science and Information Technology at King Abdul Aziz University.
Now, he is pursuing his Ph.D in Computer science (Information
Assurance) at Arizona State University, USA.

Abdullah Bahattab has obtained his B.S., Masters, and Ph.D. in


Computer Science from King Abdulaziz University, KSA in 1989,
Western Michigan University, USA in 1995, and Illinois Institute of
Technology, USA in 2000, respectively. He worked as the Dean of
College of Telecommunications and Electronics (CTE), Jeddah, KSA.
He is an arbitration committee member of International Chamber of
Commerce (ICC). His research interests are in Computer networks,
routing, switching, wireless networks, and E-learning researches. He got
two patents from the USA patent office. Because of the first patent, he
got an honor letter from King Abdullah bin Abdulaziz. He is the author
of two books and co-author of a book.

2015 International Journal of Computer Science Issues

You might also like