If you don't understand the user's requirements, it doesn't matter how you code it.
The core of this research is aimed at improving the early stages of the software de
velopment process in complex environments. The early planning and analysis stages have
been recognized by many observers as critical, yet there have been few substantial advances
in this arena. The primary focus of this work is the transformation of enterprise and sys
tems goals into requirements, with the objective of formulating a method that is useful for
identifying and refining the goals that systems must achieve and subsequently converting
them into operational requirements. Specifically, the method detailed in this thesis provides
procedural support for the early identification and elaboration of goals in the specification
of softwarebased information systems. The objective of this chapter is to establish the
context for this research.
1.1 Requirements Engineering
Requirements describe the desired functionality of a system. In general, there are two
types of requirements: functional and nonfunctional. Functional requirements describe the
behavioral aspects of a system; nonfunctional requirements describe the nonbehavioral