Ci sono due relazioni in un diagramma dei casi d'uso: includi ed estendi.
La relazione di estensione viene utilizzata quando un caso d'uso aggiunge un comportamento a un altro caso d'uso. In questa situazione, il caso base verrebbe eseguito. Quindi, a seconda di cosa accade durante l'esecuzione di quel caso d'uso, potrebbero essere eseguiti uno o più altri casi d'uso. Si noti che non è richiesto che un'estensione venga effettivamente eseguita - è solo una possibilità. Ciò indica anche un certo livello di riutilizzo tra le funzionalità.
La relazione include viene utilizzata quando un caso d'uso include la funzionalità di un altro caso d'uso. Il comportamento specifico non è importante, ma il risultato finale è, il che significa che il caso d'uso incluso potrebbe avere un'implementazione diversa, ma gli stessi passaggi e il risultato finale. In questo tipo di relazione, il caso d'uso incluso di solito non è disponibile come caso d'uso autonomo.
Guardando il tuo esempio particolare, ho sviluppato due modelli di casi d'uso che ritengo più appropriati. In entrambi, ho cambiato l'attore da "Membro" a "Bibliotecario". Sembra che la persona che interagisce effettivamente con il software non sia il membro della biblioteca, ma il bibliotecario.
Inquestoesempio,ilBibliotecariopuòeseguireduefunzioni:controllareunlibrooprenotareunlibro.Entrambigliesempirichiedonoalbibliotecariodiconsultareillibroutilizzandoleinformazionifornitedalmembro.Tuttavia,lafunzionalitàdiricercanonèdisponibilecomeentitàautonoma.Nonsonosicurochequestoèciòchestaiper.
In questo esempio, il Bibliotecario può eseguire tre funzioni: cercare libri, controllare libri e registrare prenotazioni. Sia la verifica dei libri che la registrazione delle prenotazioni utilizzano il caso di utilizzo del libro, ma aggiungono ulteriori comportamenti. I dettagli dell'implementazione sono lasciati come esercizio per ulteriori specifiche, ma questo indica che al fine di controllare un libro o effettuare una prenotazione, il bibliotecario deve prima cercare il libro. Credo che questo sia più in linea con la funzionalità che stai descrivendo nella tua domanda.