During requirements analysis, it is very important to keep in mind which parts of the system actually have to be
designed and implemented and which part of the system either already exist or will be implemented by third parties.
This distinction defines the scope of the system which contains the components and features that have to be
implemented.
In the KAOS method, requirements are defined by assigning low-level system goals to agent types. Some of these agent
types will be within the scope of the system, i.e., they will have to be designed and implemented by the development
team. For these agent types, a thorough and complete specification of the behaviour is essential. Other agent types,
however, are not under control by the development team, either because they already exist or because they will be
implemented by others. For these agent types, the requirements should be limited to those that define the interface to
the external component and the behaviour the system has to expect from these components. It should also be stated in
the models (e.g., as a note) that the agent type is outside the scope as documentation and explanation.
Requirements for external components serve two purposes:
-
They are useful for designing the interface to the components, i.e., the datatypes that have to be exchanged as
well as the messages and protocols.
-
They act as a specification for external developers who are tasked to develop these external components. The
requirements and the designed interfaces can thus serve as a specification book and clearly define the scope of
these external components.
If existing components have to be integrated into the system, the requirements specified for them have to be informed
by the existing interface. In such a case, it can be helpful to design a wrapper around the components and define the
requirements for this wrapper, e.g., the way it has to modify data coming from the existing component for use in the
system.
|