Deciding on use case


I’m a beginner of UML.

I’m doing a library book search app. The search allow user to search for books titles and and view their full details and availability. The search also allows user to save search and filter search the search results.

My question is should I only create one use case called “Search books” to include all above or I should split it the normal search, filter search and save search into different use cases. I’m facing difficulty in deciding when trying to write the use case description.

Hope someone can share your advise with me.


Make it one use case, there’s no benefit in splitting things up and making the diagram look more complicated than needed. In the description you can have one basic flow describing how the search is done, i.e. what actions are performed by the actors and what the system does in response. Capture optional interactions in optional subflows and use alternative flows of events to branch for alternatives (i.e. “At , if : [continue with alternative flow]”).

It is really beneficial to read a book about use case modeling if you have never done it before, otherwise you tend to get so many things wrong, believe me!

I propose you, as first you can draw the complete process (e.g. as activity diagram or BPMN in BPVA) for describing all behavior of the user in the library. Next one check all activities that user (you) plane to use the software (for searching, this is a scope of the project). Now you have context and complete list of use cases and actors (maybe librarian) .