Anda di halaman 1dari 5

Waterfall Model in Software Development Life Cycle.

According to Apoorva Mishraand Deepty Dubey (2013), Royce has proposed the
Waterfall Model into Software Development Life Cycle (SDLC) in 1970. The Waterfall
Model was the first process model introduce to all. It also known as the linear-sequential life
cycle model this statement had been stated by both (Youssef Bassil, 2012) and (Apoorva
Mishraand Deepty Dubey, 2013). It also the earliest methodologies of SDLC used on the
software development.It is very easy to use and it is simple to understand it, in other words it
is user friendly model. There are no overlapping on the phases in this model. This is because
the next phase have to wait for the phase which being working on complete. There are five
stages of Waterfall Model, Analysis, Design, Implementation, Testing, and Maintenance.

The first stage of Waterfall Model is Analysis. Itis also known as Software
Requirement Specification is a complete and comprehensive description of the behavior of
the software to be developed (Youssef Bassil, 2012). It must have a functional and nonfunctional requirement. Functional requirement is more likely a vision of the system when it
done which has a scope, function, perspective, purpose, user characteristics, functionalities
specification, databased requirement and interface requirement. On the other hand, nonfunctionalities requirement referring to the limitation of the system, constrains, various
criteria operation of the software instead of the particular behavior and requirement enacted
on the system that need to be develop. It include properties such as scalability, testability,
reliability, availability, performance, maintainability and a quality standard. All functional
and non-functional requirement of the system must be save and has to be documented in a
requirement specification document. These requirement are gathered from the end user itself,
either by interview or by distribute a questionnaire and the developer must analyze the
information given from the end user. There are many more way to collect and document the
information. Every information is valuable to the developer so they can predict what the user
requirement and expectation on the complete system. If the information not been kept as a
guide, developer must have a rough job when creating the system.

The next stage of Waterfall Model is Design. After the Analysis phase complete, it is
highly recommended for the developer to understand what is needed when creating the
system and know what the end product look like. This stage help developer to specify the
hardware and the system requirement and to describing the whole system architecture. The
requirement specification must be studies through and prepare the design of the system.
According to Youssef Bassil(2012) this stage is the process of planning and problem solving
for the software solution. In this phase developer have to describe the plan for a solution
which include database conceptual schema and logical diagram design, algorithm design,
concept design, software architecture design, data structure definition, and graphical user
interface design. Designing phase must be done correctly to make sure the system meet the
end user expectation and requirement. This phase is the most important stage in this model
because it is the based for the Implementation, Testing and Maintenance stage. If it been done
wrongly, it will harm the whole system. Designing stage is not only concern about the
interface of the system only. This stage need to be alert about all thing that make the system
working properly.

The third step is implementation phases. After the design phases, programmer will get the
main idea and see clearly the structure of software to be develop. Then, it will enter the
implementation phases. Implementation phases are like a process of developing the structure
of software into an application that can be run or executable independently. According to
Youssef Bassil (2012), implementation refers to the understanding of business needs and
blueprints specifications into a concrete executable program, database, website, or software
component throughout encoding and deployment. It shows the definition of implementation
is a process of transforming the structure and design of software into something called
product or application. During this phase, programmer will create a coding for the system or
software and assembled into a functioning application, and where the database and text files
are produced (Youssef Bassil, 2012). So, this implementation phases can be conclude as a
methodology for changing the entire requirements and design into a product which is an
application.

The forth step is testing phase. In 2012, Youssef Bassil noted that It is also known as
verification and validation (p.2). Testing is a very important phase as it will recheck or reevaluate the requirement needs for the software. It will check if the software meets the all the
requirement that have been set in early phases which is analysis. Actually the definition of
testing is process of debugging the code and search for defect code to be corrected. There are
two objectives in this phases that need to be clarify and complete. The main objective is the
discovery of defects in a system or software. The second objective is the assessment of
whether the system is usable and functioning. This phase can be divided into two categories
which are verification and validation. Verification is a significant element in testing phases as
in this phases, the software should be conform to its prior specification. The way to conform
it by using criteria which is the code should be faithful to the low-level diagram and highlevel diagram as well as to the requirements specification. Next, validation is second
elements that need to be focus on. This validation process is to ensure and validate the
software work and function according to the requirement. In others word, testing phase can
be known as a debugging process which is finding faulty in code.

The last step is a maintenance phase. According to Youssef Bassil (2012), maintenance is the
process of adjusting a software solution after it release and deployment to improve output,
correct errors, and improve performance and quality. As the software or system have been
using by the user, it will evolve the requirement needs that have to be add or improve from
the previous system. So, there will be a change that has to be made for ensuring the software
work properly and always meets the requirement of user. Additional maintenance activities
can be performed in this phase including adapting software to its environment,
accommodating new user requirements, and increasing software reliability (Youssef Bassil,
2012).

M
y
A
g
lD
p
m
I
s
e
T
t
in
a
c
Appendix

Figure 1 Waterfall Model Flowchart

Reference

Careerridecom. (2016). Careerridecom. Retrieved 17 May, 2016, from


http://www.careerride.com/testing-phased-waterfall-model.aspx
Apoorva Mishra&Deepty Dubey (2013).A Comparative Study of Different Software
Development Life Cycle Models in Different Scenarios. International Journal of Advance
Research in Computer Science and Management Studies.
Tutorialspointcom. (2016). Wwwtutorialspointcom. Retrieved 17 May, 2016, from
http://www.tutorialspoint.com/sdlc/sdlc_waterfall_model.htm
Youssef Bassil, (2012). A Simulation Model for the Waterfall
Software Development Life Cycle. International Journal of Engineering & Technology (iJET),
ISSN: 2049-3444, Vol. 2, No. 5, 2012 http://ietjournals.org/archive/2012/may_vol_2_no_5/255895133318216.pdf

Anda mungkin juga menyukai