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

Hi, i am looking job in perfomance testing using Loadrunner can any body help me a project in any domine plz(Usah) chs_29@rediffmail.com

2011


How do you go about testing a project?

1975


Can anybody give whole test cases for banking module.it should include from start to end .that will help me more.to do study.it should contain account,deposite,withdraw,fd,atm modules.?please try to give me??

2258


Explain the sub-genres of performance testing?

1147


What is security Hole ? Is this possible Some one can acess any of restricted page (like admin side)? How you test this previllaze?

2360


Could anyone share FAQs for Test Manager position...

2035


Why would we not include these?

1090


1.How can you Pick Integration Test Cases? 2.When will you start Regression Testing? 3.What is the difference between QA & QC? 4.When Will you Exit In Testing? 5.Test Deliverable's 6.What is the difference between windows based appln and web based appln? 7.What are the types of regression testing?

5137


Give an example for pre testing and post testing ?

1960


What r the features,u take care in prototype testing?

2175


what is independent question and what is retriewing and what is problem of severity.

1916


What is the difference between latent and masked defects?

1116


What is white box testing, and what are the various techniques?

1086


Which testing model is best as per your understanding, and why?

1140


How we test the bulk of contents in web page using manual testing? Is any open source tool available for that ? Thanks in advance..

2004