I am new to UML and have a problem. I am trying to model a system where a teacher can develop an assignment paper and use an LLM to generate answers to make a more robust paper. later, the moderator views the assignment paper and sends feedback; accordingly, the teacher will modify the assignment paper. The department head can also view the assignment papers. Can someone give some feedback on the level of granularity of the use case diagram?
-
2The current level of granularity looks ok to me, though it surely depends on the audience. I would probably omit the "Register" part for the same reasons why a login process is usually not considered to be a use case.– Doc BrownCommented Oct 22 at 17:22
-
@DocBrown thanks, so looking at the usecase, since there are three types of actors it is implicitly stated that there is a login and register function, and does not imply the message that there is no authentication process, and there is a common dashboard is that?– D JayCommented Oct 22 at 22:41
-
1Sorry, this is a Q&A site, not a discussion site. See also softwareengineering.meta.stackexchange.com/q/8965– Doc BrownCommented Oct 23 at 5:47
-
1That's your decision, I cannot decide this for you. It is definitely not forbidden. It also not forbidden (and often more effective) not to use any sequence diagram at all. The interesting part of a use case description is usually not in the diagram, but in its documentation, which might be provided in text form, pseudo code, maybe with other diagrams like sequence diagrams in case you think that makes the documentation clearer. There is no braindead "right-or-wrong" here.– Doc BrownCommented Oct 23 at 5:59
-
1Why is asking a question on "best practice" a bad thing?. Sorry, but you are looking for an easy answer which probably does not exist.– Doc BrownCommented Oct 23 at 6:12
1 Answer
In my opinion, a use-case diagram is one of the least useful diagrams in UML.
A use-case is a description of a goal that a primary actor wants to achieve by using the system and what steps must be taken to achieve that goal. This is best captured in a use-case description/template. A use-case diagram is, in my opinion, not much more than a graphical table-of-contents.
Use-cases can be described at various levels of detail/granularity. There is not a single level of granularity that can be said to be correct, but you can check if all your use-cases have a comparable level of granularity.
In your diagram, the use-cases that are linked to your primary actors on the left all appear to have a similar granularity and the seem all to represent goals of an actor.
The two use-cases connected to the LLM, I do not really understand. I get the feeling they are primarily added to be able to use the <<extend>>
and <<include>>
relations.
I would remove those and directly connect the LLM actor to the "Create assignment paper" use-case (and maybe also to the "modify assignment paper" if you might want to use the LLM during that process as well).