This action might not be possible to undo. Are you sure you want to continue?
Implementation and Testing & Maintenance. All the methods and processes undertaken in Waterfall Model are more visible. the whole process of software development is divided into separate process phases. 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". In "The Waterfall" approach.Waterfall approach was first Process Model to be introduced and followed widely in Software Engineering to ensure success of the project. The phases in Waterfall model are: Requirement Specifications phase. . Software Design.
The Waterfall Model .
. a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model. and produces a document known as Software Requirement Specification (SRS). This phase involves interaction between the user and the software engineer. Requirements are set of functionalities and constraints that the end-user (who will be using the system) expects from the system. these requirements are analyzed for their validity and the possibility of incorporating the requirements in the system to be development is also studied. The requirements are gathered from the end-user by consultation.Requirements analysis All possible requirements of the system to be developed are captured in this phase. Finally.
. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture. In this phase. The software engineer is mainly concerned with the data structure.System Design Before a starting for actual coding. the emphasis is on finding a solution to the problems defined in the requirement analysis phase. The system design specifications serve as input for the next phase of the model. algorithmic detail and interface representations. 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.
Implementation & Unit Testing On receiving system design documents. . the work is divided in modules/units and actual coding is started. which are integrated in the next phase. The system is first developed in small programs called units. 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.
After successfully testing the software. it is delivered to the customer. . the system is first divided in units which are developed and tested for their functionalities.Integration & System Testing As specified above. 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.
Not all the problems come in picture directly but they arise time to time and needs to be solved. so the issues related to the system are solved after deployment of the system. hence this process is referred as Maintenance. Generally. problems with the system developed (which are not found during the development life cycle) come up after its practical use starts.Operations & Maintenance This phase of "The Waterfall Model" is virtually never ending phase (Very long). .
through design. installation. testing. be delivered on time. Each phase of development proceeds in strict order. and theoretically. . and ends up at operation and maintenance. without any overlapping or iterative steps.Advantages The advantage of waterfall development is that it allows for departmentalization and managerial control. implementation. troubleshooting. 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. Development moves from concept.
Disadvantages The disadvantage of waterfall development is that it does not allow for much reflection or revision. it is very difficult to go back and change something that was not wellthought out in the concept stage. build and fix. . rapid application development (RAD). Once an application is in the testing stage. and the spiral model. synch and stabilize. Alternatives to the waterfall model include joint application development (JAD).
stage of development. Helps in controlling schedules.Advantages Relatively simple to understand Disadvantages Requirements need to be specified before the development proceeds. Allows managerial control where a No user involvement and working schedule with deadlines is set for each version of the software is available when the software is developed. This implies that once an application is in the testing phase. Assumes that the requirements are stable and are frozen across the project span . Each phase of development proceeds Changes of requirements in later sequentially. phases of the waterfall model cannot be done. it is difficult to incorporate changes. Does not involve risk management budgets and documentation.
Each member is allowed a certain number of books to borrow. So an automated system is required that can maintain the details about the books borrowed by different system. He/she has cards to borrow books. analysis phase begins. Otherwise that request is not entertained. we now know about the existing problems.CASE STUDY: Library Management System In Waterfall model. After this preliminary investigation.e. . finding problems and establishing whether the new system will benefit the organization. It is becoming a problem to manage the cards of members. In analysis. And we can positively establish the need for the automated record keeping system. The numbers of members are increasing day by day. then the book is issued. a detail study of system is performed. Against each card a member can borrow one book from library. second phase of Waterfall model. Let us find out why increasing members is a problem.. first stage is preliminary analysis. which deals with the study of the current system. From the preliminary analysis we know that the members are increasing and managing their cards is now difficult task for the library staff. Each operation is looked into more details. In this library presently all transactions are done manually. Whenever a member wishes to issue a book and there are spare cards. As we have studied the system. i.
Presently there is a need to have a system that can record the details about the books issued to members. After that various operations like issuing and returning books are finalized. we can move to the next stage of waterfall model that is design stage. Now we know what type of system is required. Once all these details are finalized. In design stage it is decided as to which type of database will be used in system. There is no means to identify such members. . If this is indeed the case then a duplicate card is made. Various interfaces that are to be used for input are decided. To solve this situation our library needs a computer application that has a database that contains details corresponding to each book issued. But a member can lie about it and can make a duplicate card even if the card is not lost. these are properly documented.There might be a case when a card gets misplaced either by library staff or by member itself. Card system needs to be discarded. Various checks like number of books issued not to exceed the maximum number are finalized. It should also have facilities to check if the number of books issued to a particular member doesn¶t exceed the maximum books allowed to him/her. From analysis phase it is clear that we need a database to implement our new system. In that case that particular member is having more than maximum allowed cards. Secondly we¶ll identify what data should this database store and in what format.
There is no deviation from the design specifications. All these issues are maintenance issues.Using the design details the new system is built. 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. there occurs an alarming increase in number of members of the library. it should be tested that this variable is decreased by one unit. though it is final stage of the system development.. the systems require time to time maintenance. 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. Similarly whole of the system is tested. For example. But before it is implemented at our user¶s site it needs to be tested for accuracy. 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. After implementation. we have issue book and return book functions.e. . library in our case. Maintenance can be for the software and hardware. it is implemented at the user¶s site. Similarly the speed of processing requests might slow down. Suppose two years after the implementation of the system. Now we have developed our new system. Each function of the system is tested. So the system is tested to determine if it is performing correctly according to the requirements identified during the analysis phase. Now we have tested our new system for the library. After testing the system. it is implemented at the user¶s site i. Only things that are identified during the design stage are incorporated into the system. Similarly each design specification is taken care of and whole new system is build. So maintenance. is equally important. Then there will be a need for a faster processor.
THANK YOU .