Viewpoint hierarchies

For any non-trivial system, there are a huge number of possible viewpoints and it is practically impossible to elicit requirements from all of them. Therefore, it is important that you organise and structure the viewpoints into a hierarchy. Viewpoints in the same branch of the tree are likely to share common requirements.

As an illustration of this, consider the viewpoint hierarchy shown below. This is a relatively simple hierarchy of the viewpoints that may be consulted in deriving the requirements for a library system. You can see that the classification of interactor, indirect and domain viewpoints helps identify sources of requirements apart from the immediate users of the system.

Interactor viewpoints represent stakeholders that interact directly with the system; indirect viewpoints represent stakeholders that are affected by the system but who are not end-users; domain viewpoints represent requirements that come from the application domain.