Requirements gathering and analysis is the most important phase of software development, since we have to :
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.
The issue of costly defects an issue of requirements validity more than anything else.
So this particular stage of the development process, Requirements , is implicated as the locus of introduction of most 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.
Economic issues--such as scarcity of time, money, and intellectual capital, risk, uncertainty and ambiguity, and the fundamental need for profit-making firms to generate and to capture wealth--are among the most demanding issues that software developers face in practice. Yet, traditional software engineering research has focused primarily on technical excellence in a largely economics-independent context.
This shortfall presents practical and conceptual problems, as well as exciting opportunities to advance software engineering research. We need to develop foundations for software engineering that account for the economics-driven contexts in which most software development occurs and that link important technical and economic decision-making criteria.Thus, we have understood the problem of Context in the light of SWE and discussed the various approaches.