The term "requirements engineering" describes the processes leading to the production of a requirements specification. Much of software engineering research takes the existence of this document for granted, concentrating instead on the downstream areas of software development. In this paper we argue that the problems of requirements engineering deserve greater study. To understand why this is so, we consider the role of the specification in the software engineering process, and describe issues which must be addressed during specification construction. The difficulties of requirements engineering come form many directions, including the sheer quantity of knowledge involved, the inherent uncertainty, and the need for negotiation where there are conflicting requirements. We conclude that a prescriptive framework to support negotiation of requirements is highly desirable, and describe a number of objectives for such a framework.
This paper is not available online