0

Hello Stackoverflow members, have a good day. I was creating this use case diagram for my sketching (Paint) desktop program, which is my project for my university.

This is the scenario of my project:

The user can ONLY access the sketching program if he has correctly logged in.

So firstly, the login window will be displayed, asking him to write his account details.

after the right access to his account, the program will be opened.

He can do after that many things, such as: write something using the pen tool, highlight something, creating a shape(circle or line, square), and changing its coordinates(location on the canvas). as well as the user can add an image or note.

The user can press the back button(Undo button) to remove the last thing added to the board. surely if the board is clean, then the back button will be hidden.

The user can delete all the items on his board, by pressing on the recycle bin. but nothing will be removed before the system display a dialog message, that says

if you press 'ok', then everything has drawn on the board will be removed. if you press 'cancel', then nothing will be removed.

The user can save his project in png file format.

if the user press 'save as', then he can choose the project file path, wherein this path the projected image will be stored there. if the user press 'save' instead of 'save as', then there are two possibilities:

Firstly: he doesn't select the project path before ---> so in this case, the program will allow him to identify the file path firstly, and after that, the image will be stored in that path. Secondly: he has already selected and saved the file in that path ---> so in this case, the last editing on the projected image will be saved.

if the user EXIT the program, then, there are two possibilities:

Firstly: he has selected the file path and saved the image there, and from that moment he hasn't drawn or added anything to his board. ---> in this case the program will be closed. Secondly: he has added or drawn new something after the saving process ---> in this case, the system will display the alert save dialog, that tells him the following: -if you press 'Yes', then the last changes will be stored, and the program will be exited.

  • if you press 'NO', then the last changes will NOT be stored, and the program will be exited.
  • if you press 'Cancel', then you will return to the program.

Thirdly: he has drawn or added something, but hasn't saved the image before ---> in this case the system will display the save dialog and till him the following:

  • if you press 'Yes', then you will choose the path, where the file will be stored there. and after that, the program will be closed.
  • if you press 'No', then no image will be stored, and the program will be closed as well.
  • if you press 'Cancel', then you will return to the program.

Fourthly: he has NOT drawn or added anything from when he opened the program ---> in this case the program will be closed directly.

The use case is available in the following pdf link: please zoom in (the diagram is big) https://docdro.id/qWWC0GZ

Christophe
  • 68,716
  • 7
  • 72
  • 138

1 Answers1

2

Your UML use-case diagram looks impressive. But while it looks ok from the syntactic point of view, it is not what the use-cases are meant for:

  • use cases should describe what the user needs
  • each use-case should correspond to a user-goal
  • use cases should not present a functional decomposition, i.e. breaking down a user need into detailed steps describing how the need will be addressed.
  • use cases should not describe the user-interface
  • login use-cases are fine from an UML point of view, but they are often the symptom of either a functional decomposition or a user-interface description. So whenever you have a use-case diagram with a spiderweb around a login case, you should ask yoursef if you did not go too far in the details.

For all these reasons, your use-case diagram appears too detailed and using the wrong decomposition. Again, it's not wrong, but it's not the recommended way to use them.

Finally, what's the purpose of use-case diagrams? Communicate with stakehodlers and peers. Such an ultra-detailed diagrams are very difficult to read and they will not help you to achieve the primary objective of such diagrams: discussing requirements with stakeholders and peers.

Christophe
  • 68,716
  • 7
  • 72
  • 138