umlgeneralizationuse-case-diagram

Is my Use Case diagram correct? About Use Case generalization


Edit:

Final outcome based on suggestion given by @qwerty_so

final use case


This is my use case diagram for View Repository in Source Code Management System.

This system is part of Project Management System.

View Repository Use Case Diagram

The system is similar to GitHub, user can select project.

And it will display a list of repository for the project.

User can click a repository to view its details such as file tree and repository information.

Finally, user also can click the file in the tree to view its content.

Is my use of use case generalization correct?

Below use case is the previous version, I learnt that using use case diagram to model process is incorrect (Seidl et al., 2015, p. 37).

Incorrect Use Case

  1. Seidl, M., Huemer, C., Kappel, G., & Scholz, M. (2015). UML @ Classroom: An Introduction to Object-Oriented Modeling. Cham: Springer International Publishing.

Solution

  • Well, let me just ask a question: can you abstract added value? The only case where that is true is called franchise. So what you did is to introduce a new abstract bubble to connected three concrete use cases with your actor rather than connecting the concrete bubbles directly. What for? Where is the added value for "View repository"?

    For the abstract actor it's similar. There is no need to make User abstract since it's already abstract. All actors denote roles, not real things. You can just leave that abstract keyword away and it would not change any semantics.

    What often happens (and you are on that way) is that people start functional decomposition rather than synthesizing use cases. Use cases are about added value a system under consideration delivers to its actors. That's just it. Just present these added values. I know it's difficult for techies, but stick to that.


    As always I recommend to read Bittner/Spence about use cases.