<Tr> <Td> </Td> <Td> This section may require cleanup to meet Wikipedia's quality standards . The specific problem is: remove duplications, shorten the waterfall descriptions, and make the statements more concise (January 2014) (Learn how and when to remove this template message) </Td> </Tr> <P> The software life cycle is typically divided up into stages going from abstract descriptions of the problem to designs then to code and testing and finally to deployment . The earliest stages of this process are analysis and design . The analysis phase is also often called "requirements acquisition". </P> <P> In some approaches to software development--known collectively as waterfall models--the boundaries between each stage are meant to be fairly rigid and sequential . The term "waterfall" was coined for such methodologies to signify that progress went sequentially in one direction only, i.e., once analysis was complete then and only then was design begun and it was rare (and considered a source of error) when a design issue required a change in the analysis model or when a coding issue required a change in design . </P> <P> The alternative to waterfall models are iterative models . This distinction was popularized by Barry Boehm in a very influential paper on his Spiral Model for iterative software development . With iterative models it is possible to do work in various stages of the model in parallel . So for example it is possible--and not seen as a source of error--to work on analysis, design, and even code all on the same day and to have issues from one stage impact issues from another . The emphasis on iterative models is that software development is a knowledge - intensive process and that things like analysis can't really be completely understood without understanding design issues, that coding issues can affect design, that testing can yield information about how the code or even the design should be modified, etc . </P>

What are the requirements of object oriented design in software development