The Unified Modeling Language (UML) is a semi-formal graphical language that has been accepted as standard to model object-oriented software systems. This language defines various kinds of diagrams that are used to describe different aspects or views of a system. In particular, Use Cases diagrams are used to capture the requirements of the systems and to guide their development process. The different Use Cases defined throughout a development process are not independent but it is possible to set relations between them. The main relations considered by UML are the following: Generalization, Include and Extend. These relations as well as the remaining UML constructs are semi-formally defined, giving place to ambiguous interpretations and inconsistencies.
This paper presents a formalization that gives precision to the definition of the main relations between Use Cases. This formalization will allow us to check consistency when incrementing the Use Cases model during the software development process and when relating Use Cases model with others models