Paper On Comparison of Various Models PDF
Paper On Comparison of Various Models PDF
Paper On Comparison of Various Models PDF
106
Abstract
The computer has become indispensable in todays life, and it is
widely used in many fields of life such as commerce, education,
industryetc. The computer saves time in regarding to help
solving complex, long, repeated processes in a short time and
high speed. As the software programs need to handle these
features, many companies produce software programs to
facilitate the works for administrations, banks, offices, etc.
Moreover, software has been in used for analyzing information
or solving problems for more than four decades. Creating a
suitable work to develop programs of high quality is the main
goal of the software engineering. Usually, clients seek the
assistance from computer and software engineers to solve and
handle their problems. There are various models have been
widely in used to develop software products. Common models
will be described in this paper.
Keywords: SDLC Models, Software Engineering, Waterfall
model, Spiral model. Iterative model.
1. Introduction
Software development life cycle or SDLC for short is a
methodology for designing, building, and maintaining
information and industrial systems. So far, there exist
many SDLC models, such as the Waterfall model, which
comprises five phases to be completed sequentially in
order to develop a software solution; another model called
the Spiral model, which is visualized as a process passing
through some number of iterations. Finally, the
incremental model is any combination of both iterative
design or iterative method and incremental building model
for software development. It has seven phases, and they
are as follows: Planning, requirements, analysis,
implementation, deployment, testing, and evaluation [1,
3]. In effect, SDLC has been investigated by many
researchers and numerous models have been proposed
where their acknowledged strengths and weaknesses are
presented. The Waterfall, spiral, incremental, rational
unified process (RUP), rapid application development
(RAD), agile software development, and rapid prototyping
are few to mention as successful SDLC models.
2. Waterfall Model
The Waterfall Model is the oldest and the most wellknown SDLC model. This model is widely used in
government projects and in many major companies. The
special feature of this model is its sequential steps. It goes
downward through the phases of requirements analysis,
design, coding, testing, and maintenance. Moreover, it
ensures the design flaws before the development of a
product. This model works well for projects in which
quality control is a major concern because of its intensive
documentation and planning [5].Stages that construct this
model are not overlapping stages, which means that the
waterfall model begins and ends one stage before starting
the next one.
The following steps give a brief description about the
waterfall process:
1. Requirement: Is a description of a system behavior to
be developed. Usually, it is the information provided
by clients. Hence, it establishes the agreement
between the clients and the developers for the
software specifications and features. In short,
requirements are gathered, analyzed and then proper
documentation is prepared, which helps further in the
development process.
2. High Level design: The gathered information from
the previous phase is evaluated and a proper
implementation is formulated. It is the process of
planning and problem solving for a software solution.
It deals with choosing the appropriate algorithm
design, software architecture design, database
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
3.
4.
5.
5.
3. Spiral Model
The spiral model is a software development process
combines elements of both design and prototyping in
stages for the sake of combining the advantages of topdown and bottom up concepts. It is a meta-model, which
means that it can be used by other models [5, 6]. In
addition, it focuses on risk assessment and minimizing
project risk. This is can be achieved by breaking a project
into smaller segments, which then provide more ease-ofchange during the development process, as well as
providing the opportunity to evaluate risks and weigh
consideration of project continuation throughout the life
cycle. In this model, the development team starts with a
small set of requirements and then goes through each
development phase (except Installation and Maintenance)
for those set of requirements. Therefore, the development
team has a chance to learn new lessons from the initial
iteration (via a risk analysis process). Also, the team will
add functionality for additional requirements in everincreasing spirals until the application is ready for the
installation and maintenance phase. In this model, each
iteration prior to the production version is called a
prototype of the application [7, 8, 9, 10].
The following steps give a brief description about the
Spiral model phases:
1. Planning: This phase includes the understanding of the
system requirements by conducting continuous
communications between the customers and the
system analysts.
2. Risk Analysis: In this phase, a process is undertaken to
identify risk and alternate solutions. A prototype is
produced at the end of this phase.
3. Development/Engineering: In this phase the software is
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.
107
6.
Conclusion
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
Spiral
When significant
changes are expected.
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
Incremental/
Iterative.
109
On low to medium-risk
projects.
A need to get basic
functionality to the
market early
On projects which have
lengthy development
schedules.
On a project with new
technology, allowing
the user to adjust to the
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.
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
Model/Feature
Waterfall
Spiral
Incremental/Iterative
Specification of All
the Requirements in the beginning
Yes
Inappropriate
Appropriate
Appropriate
Complex Project
Inappropriate
Appropriate
Appropriate
Inappropriate
Appropriate
Appropriate
Cost
Not costly
Costly
Costly
Cost estimation
Easy to estimate
Difficult
Difficult
flexibility
Not
Less flexible
Flexible
Simplicity
Simple
Intermediate
Intermediate
Inappropriate
Appropriate
Appropriate
Guarantee of Success
Less
High
High
Customer Involvement
Low
Testing
Late
Maintenance
Least maintainable
Yes
Maintainable
Ease of Implementation
Easy
Complex
Easy
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
References
[1] www.en.wikipedia.org/wiki/Systems_development_lifecycle
[2] http://www.craiglarman.com/wiki/downloads/misc/historyof-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
111