6.10 To extend or include?
Whatever kind of system you intend to develop, you will need to consider its security. Usually, we allow only trustworthy people to use a new system. Therefore, in a software solution we can envisage a log-on use case, which describes how a user gains access through some authentication procedure. How should such a requirement be included in the example of the hotel chain?
By analogy with natural languages, the UML allows a number of ‘grammatically correct’ options each of which will make more or less sense depending on the context. For example, we could show the log-on use case as a component of every use case that is associated with an actor, as shown in Figure 7.
You can also redraw Figure 7, and produce Figure 8, showing the three original use cases as variations of the log-on use case. It would be ‘grammatically correct’ although it would be difficult for the reader to see the intended purpose of the system.