Please, this isn't about opinions on uml, it's usefulness (or lack thereof), it's standing, etc - please (I'm so tired)!
I have a text usage case which main success scenario is thus:
A) Two Players. B) Each player is prompted to enter their name C) Program randomly selects which is to be player 1 and the other is player 2 D) Player 1 selects a coin option (either "heads" or "tails") E) Player 2 gets the other option F) Program randomly produces a coin toss result ("heads" or "tails") G) Result of toss is compared with each player's coin option and result is printed to screen H) One of the players "wins" and the other "looses"
The problem I don't understand is how to represent something like this in a use case diagram. How many actors and their names? Why? What to have the use cases cover, and how may? Why?
Here's the problem/my confusion:
On the one hand, player 1 and player 2 share a very fundamental commonality (ie: they are both 'players'). So, in that sense, a person should be able to just use one primary actor named player with a multiplicity of 2. Unfortunately though, theres a problem with this. While there is one thing that both players 'do' the same (enter their name) there's another thing that is not the same for both players (one of them gets to choose a coin option while the other has no choice - he get's whatever is left/ the 'other' option). That being so, how could you use only one primary actor "player"?
Alternatively, if you make two primary actors "player 1" and "player 2", it seems to me they would have completely distinct use cases and the diagram would make it look like each actor had it's own system (player 1 having a use case about choosing a coin option and player 2 having a use case where he gets the other option - ie: two separate use cases to go with those two separate actors and no connections between them).
Bottom line, how do I integrate all this into a use case that makes sense?
Thanks in advance for any help with this.