Uploaded by Sarada Prasanna Kanungo

WATERFALL presented by Sarada

advertisement
A
Seminar Report
On
“COCOMO
Model”
Submitted in partial fulfilment of
The requirements for the 3rd Semester Software
Engineering Practical Examination of
MASTER OF COMPUTER APPLICATION
By
SARADA PRASANNA KANUNGO
20MCA105
Regd. No: 20PG030095
Under the able Supervision of
Mr. Prahallad Kumar Sahu
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
GIET UNIVERSITY, GUNUpUR
2020 – 22
ACKNOWLEDGEMENT
I would like to thank my supervisor Mr. Prahllad Kumar Sahu
Secondly, I would like to thank my class teacher Mr. Sibo Prasad Patra
Thirdly I would like to thank our Asst. HOD Dr. Nilamadhab Padhy
Special gratitude to our HOD Dr. Sanjay Kumar Kuanar
Sarada Prasanna Kanungo
20MCA105
Regd no: 20PG030095
Waterfall Model
History & Features
Phases of Waterfall Model
When to Use Waterfall model?
Advantages
Disadvantages
Conclusion
Waterfall Model
The Waterfall Model was the first Process Model to
be introduced.
 It is the classic lifecycle model – It is widely known,
understood & used. It was first introduced by Royce
in 1970.
 It is defined a number of phases, e.g.,
“Requirement phase”, “Design phase”, etc.
 Assumption behind the model:
 A phase takes place in sequence to another.
 Each activity is completed before the next starts.
In theory:
 Each phase produces documents that are:
 Verified & validated
 Assumed to be complete.
 Each phase depends on the documents of the
previous stage to precede it has to wait for the
completion of previous stage.
In practice:
 The phases overlap & feedback to each other.
Intuitive, sensible & general purpose:
 Recommend a top-down perspective. See the big
picture before zooming down.
Requirements:
It defines needed information, function,
behavior, performance & interfaces.
Design:
It includes flowcharts, data structures, software
architecture, interface representation, testing.
Implementation:
It includes source code, database, user
documentation, testing.
Diagram:
History & Features
History of Water Fall Model:
 The first formal description of the waterfall model
is often cited as a 1970 article by “Winston W.
Royce”.
 Royce did not use the term “waterfall” in this
article.
 Royce presented this model as an example of a
flawed, non-working model.
Features of Water Fall Model:
 A Water Fall Model is easy to flow.
 It can be implemented for any size of project.
 Every stage has to be done separately at the right
time so you cannot jump the stages.
 Testing is done at every stage.
Phases of Water Fall model
Waterfall model has 5 different phases, which are
following.





Requirement gathering and Analysis
Design
Coding
Testing
Maintenance
Brief Description of phase are mentioned below,
Requirement gathering and Analysis:
 This is the first phase of waterfall model which
includes a meeting with the customer to
understand his requirements.
 This is the most crucial phase as any
misinterpretation at this stage may give rise to
validation issues later.
 The software definition must be detailed &
accurate with no ambiguities.
 It is very important to understand the customer
requirements and expectations so that the end
product meets his specifications.
 Requirement gathering and Analysis phase the
basic requirements of the system must be
understood by software engineer, who is also
called ANALYST.
 All these requirements are then well documented
and discussed further with the customer for
reviewing.
Design:
 The customer requirements are broken down into
logical modules for the ease of implementation.
Hardware and software requirements for every
module are identified & designed accordingly.
 Also, the inter relation between the various logical
module is established at this stage. Algorithms and
diagrams defining the scope and objective of each
logical model are developed.
 In short, this phase lays a fundamental for actual
programming and implementation.
 It is an intermediate step between requirements
analysis & coding.
 Design focuses on program attribute such as Data Structure.
 Software Architecture.
 Algorithm details etc.…
 The requirements are translated in some
easy to represent from using which coding
can be done effectively and efficiently.
 The design needs to be documented for
further use.
Coding:
 Coding is a step in which design is translated into
machine-readable form.
 If design is done in sufficient detail, then coding can
be done effectively. Programming is created in this
phase.
 In this phase all software divided into small module
then after doing coding for that small module
rather than do coding whole software.
 According to design programmers do code and
makes class & structure of whole software.
Testing:
 In this stage, both individual components and the
integrated whole are methodically verified to ensure
that they are error-free and fully meet the
requirements outlined in the first step.
 In this phase testing whole software into two parts
1) HARDWARE
2) SOFTWARE
 Type of testing is 2-types
1) Inside test
2) Outside test
Maintenance:
 This is the final phase of the waterfall model, in
which the completed software product is handed
over to the client after alpha, beta testing.
 After the software has been deployed on the client
site, it is the duty of the software development team
to undertake routine maintenance activities by
visiting the client site.
 If the customer suggests changes or enhancements
the software process has to be followed all over
again right from the first phase the software is
updated to:
 Meet the changing customer needs
 Adapted to accommodate changes in the external
environment.
 Correct errors & oversights previously undetached
in the testing phases.
 Enhancing the efficiency of the software.
Observe that feedback loops allow for the corrections
to be incorporated into the model.
When to use the Water Fall Model?




Requirements are very well known.
Product definition is stable.
Technology is understood.
New version of an existing product to a new
platform.
Advantages
 Easy to understand, easy to use.
 Provides structure.
 Milestones are clear.
 Good for management control (plan, staff, track).
 Works well when quality is more important than cost
or schedule.
Disadvantages
 All requirements must be known upfront.
 Deliverables created for each phase are considered
frozen – inhibits flexibility.
 Can give a false impression of progress.
 Does not reflect problem-solving nature of
software development, i.e., iterations of phases.
 One big integration at the end.
 Little opportunity for customer to preview the
system (until it may be too late).
Conclusion
 Whether you should use it or not depends largely
on:
How well you believe you understand your
customer’s needs how much volatility you expect in
those needs as the project progresses.
 The model is recommended for use only in projects
which are relatively stable and where customer
needs can be clearly identified at an early stage.
Thank you
Download