15
Waterfall Model

Waterfall Model

Embed Size (px)

Citation preview

Page 1: Waterfall Model

Waterfall Model

Page 2: Waterfall Model

Waterfall approach was first Process Model to be introduced and followed widely in Software Engineering to ensure success of the project. In "The Waterfall" approach, the whole process of software development is divided into separate process phases. The phases in Waterfall model are: Requirement Specifications phase, Software Design, Implementation and Testing & Maintenance. All these phases are cascaded to each other so that second phase is started as and when defined set of goals are achieved for first phase and it is signed off, so the name "Waterfall Model". All the methods and processes

undertaken in Waterfall Model are more visible.

Page 3: Waterfall Model

The Waterfall Model

Page 4: Waterfall Model

Requirements analysis

All possible requirements of the system to be developed are captured in this phase. Requirements are set of functionalities and constraints that the end-user (who will be using the system) expects from the system. The requirements are gathered from the end-user by consultation, these requirements are analyzed for their validity and the possibility of incorporating the requirements in the system to be development is also studied. Finally, a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model.This phase involves interaction between the user and the software engineer, and produces a document known as Software Requirement Specification (SRS).

Page 5: Waterfall Model

System Design Before a starting for actual coding, it is highly important to understand what we are going to create and what it should look like? The requirement specifications from first phase are studied in this phase and system design is prepared. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture. The system design specifications serve as input for the next phase of the model. In this phase, the emphasis is on finding a solution to the problems defined in the requirement analysis phase. The software engineer is mainly concerned with the data structure, algorithmic detail and interface representations.

Page 6: Waterfall Model

Implementation & Unit Testing

On receiving system design documents, the work is

divided in modules/units and actual coding is started.

The system is first developed in small programs called

units, which are integrated in the next phase. Each unit

is developed and tested for its functionality; this is

referred to as Unit Testing. Unit testing mainly verifies

if the modules/units meet their specifications.

Page 7: Waterfall Model

Integration & System Testing

As specified above, the system is first divided in units which

are developed and tested for their functionalities. These units

are integrated into a complete system during Integration phase

and tested to check if all modules/units coordinate between

each other and the system as a whole behaves as per the

specifications. After successfully testing the software, it is

delivered to the customer.

Page 8: Waterfall Model

Operations & Maintenance This phase of "The Waterfall Model" is virtually never ending phase (Very long). Generally, problems with the system developed (which are not found during the development life cycle) come up after its practical use starts, so the issues related to the system are solved after deployment of the system. Not all the problems come in picture directly but they arise time to time and needs to be solved; hence this process is referred as Maintenance.

Page 9: Waterfall Model

Advantages The advantage of waterfall development is that it allows for departmentalization and managerial control. A schedule can be set with deadlines for each stage of development and a product can proceed through the development process like a car in a carwash, and theoretically, be delivered on time. Development moves from concept, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance. Each phase of development proceeds in strict order, without any overlapping or iterative steps.

Page 10: Waterfall Model

Disadvantages The disadvantage of waterfall development is that it does not allow for much reflection or revision. Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage. Alternatives to the waterfall model include joint application development (JAD), rapid application development (RAD), synch and stabilize, build and fix, and the spiral model.

Page 11: Waterfall Model

Advantages Disadvantages

Relatively simple to understand Requirements need to be specified before the development proceeds.

Each phase of development proceeds sequentially.

Changes of requirements in later phases of the waterfall model cannot be done. This implies that once an application is in the testing phase, it is difficult to incorporate changes.

Allows managerial control where a schedule with deadlines is set for each stage of development.

No user involvement and working version of the software is available when the software is developed.

Helps in controlling schedules, budgets and documentation.

Does not involve risk management

Assumes that the requirements are stable and are frozen across the project span

Page 12: Waterfall Model

CASE STUDY: Library Management SystemIn Waterfall model, first stage is preliminary analysis, which deals with the study of the current system, finding problems and establishing whether the new system will benefit the organization. In this library presently all transactions are done manually. Each member is allowed a certain number of books to borrow. He/she has cards to borrow books. Against each card a member can borrow one book from library. Whenever a member wishes to issue a book and there are spare cards, then the book is issued. Otherwise that request is not entertained. The numbers of members are increasing day by day. It is becoming a problem to manage the cards of members. So an automated system is required that can maintain the details about the books borrowed by different system. As we have studied the system, we now know about the existing problems. And we can positively establish the need for the automated record keeping system. After this preliminary investigation, second phase of Waterfall model, i.e., analysis phase begins. In analysis, a detail study of system is performed. Each operation is looked into more details. From the preliminary analysis we know that the members are increasing and managing their cards is now difficult task for the library staff. Let us find out why increasing members is a problem.

Page 13: Waterfall Model

There might be a case when a card gets misplaced either by library staff or by member itself. If this is indeed the case then a duplicate card is made. But a member can lie about it and can make a duplicate card even if the card is not lost. In that case that particular member is having more than maximum allowed cards. There is no means to identify such members. Presently there is a need to have a system that can record the details about the books issued to members. Card system needs to be discarded. To solve this situation our library needs a computer application that has a database that contains details corresponding to each book issued. It should also havefacilities to check if the number of books issued to a particular member doesn’t exceed the maximum books allowed to him/her. Now we know what type of system is required, we can move to the next stage of waterfall model that is design stage. From analysis phase it is clear that we need a database to implement our new system. In design stage it is decided as to which type of database will be used in system. Secondly we’ll identify what data should this database store and in what format. After that various operations like issuing and returning books are finalized. Various checks like number of books issued not to exceed the maximum number are finalized. Various interfaces that are to be used for input are decided. Once all these details are finalized, these are properly documented.

Page 14: Waterfall Model

Using the design details the new system is built. Only things that are identified during the design stage are incorporated into the system. There is no deviation from the design specifications. Suppose in the design phase the database to be used in the system is decided to be Oracle RDBMS then during development of the system only Oracle database is used. Similarly each design specification is taken care of and whole newsystem is build. Now we have developed our new system. But before it is implemented at our user’s site it needs to be tested for accuracy. So the system is tested to determine if it is performing correctly according to the requirements identified during the analysis phase. Each function of the system is tested. For example, we have issue book and return book functions. In return function it is checked if it is incrementing the count of variable that signifies how many books that member can issue more. In the issue function, it should be tested that this variable is decreased by one unit. Similarly whole of the system is tested. After testing the system, it is implemented at the user’s site. Now we have tested our new system for the library, it is implemented at the user’s site i.e., library in our case. After implementation, the systems require time to time maintenance. Maintenance can be for the software and hardware. Suppose two years after the implementation of the system, there occurs an alarming increase in number of members of the library. A situation can arise when all the memory for keeping the details has been exhausted then there will be a need to increase the memory of the system. Similarly the speed of processing requests might slow down. Then there will be a need for a faster processor. All these issues are maintenance issues. So maintenance, though it is final stage of the system development, is equally important.

Page 15: Waterfall Model

THANK YOU