     Next: The Design Phase Up: The Analysis Phase Previous: Atypical Scenarios

#### Incomplete and Non-Monotonic Requirements

The entire enumeration of all of the requirements is not possible for nearly all real-life situations. Godel's incompleteness theorem of arithmetic says that there is no finite list of axioms that completely describe integer arithmetic. Expressed in our terminology, there is no finite list of requirements that would completely describe arithmetic. Since integer arithmetic is an underlying foundation of most computer hardware systems and software applications, and since we can't even enumerate the requirements for integer arithmetic, the task of enumerating a more complex system completely is untraceable.

The requirement gathering process is iterative and non- monotonic in nature. Early on in the process, some requirements are established. As the process continues, other new requirements are discovered which may be in conflict with earlier known requirements, thus leading to a new structure.

In traditional logic a theory is defined by a finite set of axioms. Theorems in the theory are valid sentences. If new axioms are added to the theory, the already existing theorems remain valid and the theory is extended into a new theory with new theorems added to the established theorems.

In non-monotonic logic added new axioms to the theory may invalidate existing theorems. A new theory is created which is not a simple extension of the old theory but a collection of new theorems and some of the established theorems.

The requirement process is more like non-monotonic logic than monotonic logic. An initial collection of requirements, the axioms of the system, define the capabilities, the theorems of the system. New requirements may lead to a collection of capabilities entirely different than the established capabilities. New requirements may negate old solutions.

There is hope for requirement gathering. The seven Piano axioms of integer arithmetic correctly describe an infinite cardinality of integers. Only the integers that are beyond infinity fall in the collection of under specified integers. If we are willing to limit ourselves to an infinite number of integers that are less than infinity, we can establish the requirements for integer arithmetic in a finite manor. Though the requirements may not theoretically describe that system, the coverage may be quite satisfactory.     Next: The Design Phase Up: The Analysis Phase Previous: Atypical Scenarios

Ronald LeRoi Burback
Wed Jul 30 10:49:53 PDT 1997