Requirement Analysis:

"Requirements gathering and analysis is the most important phase of software development."

  • Software is often defective and defects cost; some cost more than others and resulting loss of life, dollars, or the integrity of critical infra structures. The approaches software engineering has developed to date in response to this problem have not been good enough, as evidenced by the continuing occurrence of disasters and other undesirable events resulting from defective software.


  • A particular stage of the development process, Requirement , is implicated as the locus of introduction of most such defects. The majority of all defects are derived from poor requirements. It can be stated that the hardest single part of building a software system is deciding precisely what to build.

  • This makes the issue of costly defects an issue of requirements validity more than anything else. The field has advanced techniques for verification; under appropriate circumstances, we are quite facile at proving that a program meets its specification. However, the real problem appears to remain in producing a valid specification to begin with.


  • Once the requirements are elicited and determined, they are refined and extended. This process is termed as Requirement Analysis. At the initial meeting between the client and developer, the client outlines the product as she or he conceptualizes it. The task of the developer is to determine at this stage, to find out what exactly the client needs and to find out from the client what constraints exists.

  • A variety of constraints may be deadline, reliability, size of the object code and most importantly the cost.

  • This preliminary investigation of the clients needs sometimes is called concept exploration.