Proposed Model To Overcome The Problems in Waterfall Model: ABSTRACT - in This Paper, I Have Reviewed The Modifications
Proposed Model To Overcome The Problems in Waterfall Model: ABSTRACT - in This Paper, I Have Reviewed The Modifications
Proposed Model To Overcome The Problems in Waterfall Model: ABSTRACT - in This Paper, I Have Reviewed The Modifications
I. INTRODUCTION
1.1 Introduction to software engineering
Software engineering (SE) is the computer science
concerned with developing large applications.SE covers
not only the technical aspects of building software systems
but also management issues, such as directing
programming teams, scheduling, and budgeting.SE is an Fig 1:
engineering discipline that is concerned with all aspects of 1.2.1 Quality Focus
software production from the early stages of system Software engineering must rest on an organizational
specification through to maintaining the system after it has commitment to quality. Total quality management and
gone into use. similar philosophies foster a continuous process
improvement culture and it is this culture that ultimately
IEEE (IEE93) has developed a more comprehensive leads to thedevelopment of increasingly more effective
definition: approaches to SE.
“Software engineering is defined as the application of a
systematic, disciplined, quantifiable approach to the 1.2.2 Process
development, operation, and maintenance of software; that The foundation for software engineering is the process
is, the application of engineering of software.” layer. Process defines the set of key process area(KPA)
The systematic approach that is used in SE is sometimes that must be established for effective delivery of software
called a software process. A software process is a sequence engineering technology.
of activities that leads to the production of a software
product. There are four fundamental activities that are 1.2.3 Methods
common to all software processes. These activities are: SE methods include requirements analysis, design, coding,
testing, and support. Thhis rely on a set of basic principles
that govern each area of the technology and include perform it efficiently and correctly. Furthermore, each of
modelling activities and other descriptive activities. the basic activities itselfmaybe so large that it cannot be
handled in single step and must be broken into smaller
1.2.4 Tools steps.
SE tools provide automated or semi-automated support for
the process and the methods. When tools are integrated so II. INTRODUCTION TO WATERFALL
thar information created by one tool can be used by MODEL
another, a system for the support of software development Waterfall model was the first process model to be introduced.
called computer-aided software engineering is established. It is also referred as a sequential life cycle model. Waterfall
model is very simple to understand and use. In a waterfall
1.3 Software Development Life cycle model, each phase must be completed before the next phase
SDLC in software engineering is the process of creating or can begin and there is no overlapping in the phases. The
altering systems, and the models and methodologies that basic idea behind the phases is that each phase deals with a
people use to develop these systems.Any SDLC should distinct and separate set of concerns. By doing this, the large
result in a high quality system that meets customer and complex task of building the software is broken into
expectations, reaches completion within time and cost smaller tasks. Splitting the project into different phases gives
estimates, works effectively and efficiently in the current a better handle to engineers and managers in dealing with the
and planned Information technology infrastructure and is complexity of the problem. Linear ordering of activities has
inexpensive to maintain and cost-effective to enhance. The some important consequences like, to clearly identify the end
SDLC framework provides a sequence of activities for of a phase and the beginning of the next, some certification
system designers and developers to follow. mechanism has to be employed at the end of each phase. It is
usually done by verification and validation which will ensure
1.3.1 Phases of SDLC that the output of a phase is consistent with its input. There is
1. Planning and requirement analysis a need for certification because each phase must have some
2. Defining requirement defined output that can be evaluated and certified. In
Waterfall model the whole process of software development
is divided into different phases.
whole system and explains how each component of the solved after its deployment. Not all the problems come into
system will interact with others. The component design picture directly, but they arise from time to time and need
contains specifications as to how each component will to be solved; hence this process is referred to as
work separately and how results from one component will maintenance. This phase mainly focuses on modifying
travel to another.Software design involves identifying and software, correcting errors, and improving the performance
describing the fundamental software system abstractions of the software.
and relationships.
2.2 Shortcomings in Waterfall Model: When the
3. Implementation and Testing waterfall model is tested number of problems has occurred
During this phase, the software design is realized as a set in large extent.
of programs or program units and the program is divided 1. Difficulty in changing requirement:
into modules/units and actual coding starts. The system is Once an application is in the testing stage, it is very
first elaboratedinto small programs called units, which are difficult to go back and change something that was not
integrated in the next phase. Each unit is developed and well-thought out in the concept stage.
tested for its functionality, this is known as unit testing.
Unit testing involves verifying that each unit meets its 2. Impossible to view the model :
specification. The design generated in the above phase is User can only view the system after implementation. User
converted into machine language that the computers can involvement and working version of the system is not
actually understand and process. seen until late in the project’s life.
requirements. The prototype may be a usual program but is problematic situation for the development team. Generally,
not suitable as the final software product. The reason may be a prototype model has great advantage over other SDLC
poor performance, maintainability or overall quality. The models since it doesn’t rely on what is supposed to happen
code for the prototype is thrown away however the in written documentation. Instead it goes directly to the
experience gathered from developing the prototype helps in users and asking them what they really want from a
developing the actual system.This type of System software. Slowly the product is developed by
Development Method is employed when it is very difficult to professionals, catering to the needs of the users.
obtain exact requirements from the customer. The prototyping
approach is used in the requirement gathering and in the REFERENCES
analysis phase to capture the exact requirement of the 1. Ian Somerville, ”Software Engineering”, Pearson Ninth Edition,2011.
2. Roger S Pressman, ”Software Engineering A practitioners Approach”
proposed system. After the requirements are frozen, the
Sixth Edition 2010.
remaining phases of the development process needs to be 3. Stephen R Schach, “Software Engineering” Seventh Edition.
executed to complete the development of the software system. 4. International Journal of Engineering Research & Technology (IJERT):
“New Idea In Waterfall Model For Real Time Software Development”
Unnati A. Patel ,Niky K. Jain. ISSN: 2278-0181, Vol. 2 Issue 4, April –
Strengths of Proposed waterfall model
2013.
This modified waterfall model has the following strengths: 5. International Journal of Scientific & Engineering Research(IJSER),
1. One of the key advantages a proposed waterfall modeled Software Engineering Methodologies: A Review of the Waterfall
software has is the time frame of development. Instead of Model and Object Oriented Approach: Adetokunbo A.A. Adenowo,
Basirat A. Adenowo . , Volume 4, Issue 7, July-2013, ISSN 2229-
concentrating on documentation, more effort is placed in
5518.
creating the actual software. This way, the actual software
could be released in advance.
2. The work on this model could also be spread to others
since there are practically no stages of work in this model.
Everyone has to work on the same thing and at the same
time, reducing man hours in creating a software. The work
will even be faster and efficient if developers will
collaborate more regarding the status of a specific function
and develop the necessary adjustments in time for the
integration.
3. Another advantage of having a prototype modeled
software is that the software is created using lots of user
feedbacks. In every prototype created, users could give
their honest opinion about the software. If something is
unfavorable, it can be changed. Slowly the program is
created with the customer in mind.
CONCLUSION
After analysis of waterfall model, it has beenfound that the
original water fall model is used by various big companies
for their internal projects. Since in the big companies, most
of the time clients may change requirements at later phase
after partial development of the system, this is the
BUEST, Baddi RIEECE-2015 32