UML Use case


I am new at UML modeling, so i need some general advice. I am trying to create a use case model, for what is generally a CMS(content management system) application. User has to logon to the system, than he can view, update, insert and delete items(Product, Category, Manufacturer…), which are stored in DBMS. I created a general use case diagram(attached), than I intend to create more specific use case diagrams(manage products, manage categories…). I am not shure that my approach is correct. Any advice will be appreciated.

The last use case ORM is a object - relation mapping(Database access)

Thanks in advance,
Uros Bregar

i think this is the correct approach.

No, it’s not. You’re making a typical mistake in use case modeling: Breaking the whole stuff down into a lot of parts for no reason (this is a common approach for problem solving which is why it is so widespread, but use cases describe a solution, not a problem).

Another thing is the names of the use cases you have chosen. E.g. “Session” is completely inexpressive. The names should reflect the purposes of the use cases in some way, they should always be in active voice (like the ones at the second level of your “tree”).

Per definition, a use case must provide value in its own (to an actor), i.e. “Login” and “Logout” aren’t use cases (these are functions, which is not the same).

Included use cases should always be included by more than one use case. All the stuff in your second level can be in one use case (called “Maintain items” or similar) which is branching at some point. After putting all the stuff this use case, you can also insert the “ORM” use case into the description of the use case “Maintain items”, since it is then also only included by this one and no other.

Also remember: The most important thing in use case modeling is not the diagram, but the descriptions! This is where the flow of events must be described which is the thing that actually makes a use case valuable.

I suggest you have a look at the book “Use Case Modeling” by Kurt Bittner and Ian Spence. They give a good introduction to what use cases are all about, how to start the modeling, evolve the model, describe the flows of events, review the model and also what are the common mistakes and how to avoid them.