Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

Explain the waterfall model in detail?

Answer Posted / poojitha

The standard life-cycle model of software is called a "waterfall model," because it is supposed to go down through a series of steps, reminding one of the route a natural waterfall takes over a series of rocks at different levels.

In the traditional waterfall model, the first step in the software life-cycle is requirements analysis--this is the stage where the customers are queried for their needs, and a formal description of the software requirements is created. The next step is design, where the software that is to meet the requirements is planned. The third stage is implementation, where teams of developers create the software. The fourth step is testing, at which time developers, as well as representatives of the user community, are allowed to use the software and are asked to report any bugs they find. Upon completion of this step, the software is declared operational, and only maintenance tasks are required thereafter.


The traditional waterfall model is much too simplistic, however, because each of the distinct steps it asks for is really itself a broad phase consisting of many sub-steps. To give a better perspective of what these smaller steps are, a more detailed waterfall model is usually described.

In the detailed waterfall model, the requirements analysis step is extremely important. It is necessary to understand the customer's needs and to translate them into appropriate desired system behaviors. Any miscommunication with the customer could be fatal to the project as a whole, as it could result in a product that does not meet the customer's expectations, thus giving the company a bad reputation--a real disaster in the competitive software vendor's marketplace. Yet, communicating with the customer is not always easy either, because the customer may have only vaguely-formulated objectives; or may have objectives that aren't vocalized very well and remain in the background for too long; or may have unrealizable or conflicting objectives. In some cases, it is necessary for the software development team to tell the customer exactly what he wants based on his vague utterances, and also whether he can get it--needless to say, this involves a fair amount of skill at diplomacy and personal communication, in addition to knowledge of software engineering. Once the customer's requirements are understood, it is then necessary to document those requirements in a formal manner and reach an agreement with the customer about them (this is most often done in the form of a legally binding contract).

Once the requirements analysis is over, design must happen. This itself has to have at least two distinct stages, system or architectural design at the large scale, and detailed design of modules, objects, and the like at the small scale.

After the design steps, module designs are coded by programmers, and are individually tested against their specifications. Such testing is usually called unit testing of modules. After the modules have been unit tested individually, they are put together as a functioning system in a step called system integration, and the system as a whole is tested to see if it meets behavior and performance requirements.

The customer cannot be left with just the system, of course—he will also want very detailed documentation that shows him how to use the system, what things to do or not do, and the like. The customer may also need special training in the system. For this reason, the finished product must be delivered to the customer with documentation, and possibly with training support as well. This documenting of the system and creation of training resources is considered to be part of the delivery step, but actually goes on from almost the very beginning of the software life-cycle, right in parallel with the development effort itself.

The waterfall model is conceptually simple to understand and is useful to explain the basics of software development, but even with the added detail, it is highly limited in its application as a practical method for managing such development. It is much too simplistic in its view of the software life-cycle, and focuses largely on creation of software as though it were a physical product or fixed artifact, rather than the result of incremental problem solving by a large group of diverse people. In practical software development, there are also numerous feedback loops that arise between stages--for example, a problem with the design may be discovered during implementation, leading to a reversion to the design step. The waterfall model also does not deal with hardware upgrades (a constant feature in contemporary information technology practice), incremental development, or development of later versions of software based on earlier ones.

Is This Answer Correct ?    9 Yes 18 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is the difference between Functional testing and Unit Functionality testing?

2083


list of methods that is used to document the requirements of a software.

2039


Did any one completed CSTE certiication? can u send sample question papers? how to apply that? pls send it to my mail id - dsnathi@gmail.com THANKS IN ADVANCE

2184


What is a ‘test plan’?

1199


how can we give (ASSIGN) bug privitorirs and seviroty to the bug explain with exanple

2295


What was a problem you had in your previous assignment (testing if possible)? How did you resolve it?

2064


IN SQL SERVER 2005, With out using Query, hw can u break down USER NAME & PASSWORD to enter the software.

2217


How to Generate Test Case for Shopping Cart?

2888


write test condition for testing SMS service of a mobile phone maximun length is 100 character while sending and 80 character for receiving write test scenarios do not write test cases

3545


PLS SEND REAL TIMERS, WHAT IS SOA TESTING..IM TRYING 3+ YR.. I HAVE GOOD KNOWLEDGE ON MANUAL TESTING... NOW IM NEW TO LEARN "SOA TESTING" IS BEST OR NOT? BEFORE LEARNING SOA TESTING ANY SKILLS ARE REQUIRED..... AND NOW WHAT IS THE MARKET FOR SOA TESTING... AND IT IS BASED ON PROGRAMMING OR NOT?

2831


How can you do the usability testing?

1208


When should you opt for manual testing over automation testing?

1232


What is un-installation testing?

1173


explain ur testing project? how can u nexplain . what should we explain ? i have not worked on any project?

2231


do we need to write test cases for workflow of the product for instance: there is 2 module "TRAINING ASSIGN MODULE" and "EMPLOYEE" in TRAINING assign MODULE iam assigning training to employee setp is 1.selct traning "oracle" 2.select employee u want assign "peter" 3.apply. now to check whether training assign or not GOTO EMPLOYEE module 1.click on "peter" 2.click on 'view assign to employee'link.now this is a flow do i need to write test cases for this fllow.plz help me guy mail me nirmal_rawatt@rediff.com

2061