Can anyone help me understand a use case diagram, first does the actor need to be connected to all use cases eventhough the use cases are done automatically by the system for example : a vending machine where the actor is only pressing a botton and the rest of the use cases are done by the system . Does this use case scenario need to use the system packge to show that a use case action is done within the system ? and if so where the relation need to be and who is the actor in this case?
I hope that this is clear enough.
Thanks for your post. I recommend you take our free training course about Use Case Diagram at the following link:
BTW, there are more courses which covers elaboration use case into scenarios, use case modeling to requirement capturing, etc. More details about the courses in our Online Training Center can be found at:
From what I’ve read, you may want to consider including dependencies into your use case model. These are usually annotated with an “<>” stereotype, linking one use case to another where the dependent use case need not to be linked with an actor since from that notation, it is clear that the use case “continues”.
I found a web page discussing use case dependencies: http://www.agilemodeling.com/essays/useCaseReuse.htm
However, you state that you are modelling an automated portion of your system. Use cases are meant to model the interaction between the system and the user. Therefore, in your use case description, you would state that the system is doing something to satisfy the user request and once it is completed, it gives feedback to the user in which the user may perform additional actions.
If you want to model system behaviour at a deeper level, consider using a state machine diagram.
Finally, the use of a system package may depend on the complexity of your use case diagram. If you are modelling for a single system that’s unambiguous, then you may get away with excluding the system in the diagram. However, if you have sub-systems or components, then you may need to specify the system components and what use cases are relevant to what system.
I have written recently a brief tutorial on use case diagrams (and use cases) you can find it here http://www.se.cs.put.poznan.pl/knowledge-base/software-engineering-blog/use-case-diagram
I am planning to write more about use cases (some more advanced things mappings between diagrams, patterns, use-case-based effort estimation) in the future.
Surely the actor would be the person using the vending machine and they would be connected to the activity of selecting an item, this would then result in other activities for instance checking whether the item requested was in stock, the notification if it isnt, and the despatch of the item if it is