How can I represent a diagram in which several actors have access to the same function, or "use case" but some of them have additional functions or "extends" (if im right) inside it, if i just extend on the main "use case" that would mean its accessible by everyone right?
问题:
回答1:
When a use case extends the main use case, extension points at the main use case, can have conditions. As a condition you could specify a specific actor.
If the actors can be generalized, I have seen this solution too. But I prefer the first one because I am not sure if it is technically correct (As you noted, extend use case is by default accessible by everyone).
Hope this helps.
回答2:
Make two (or more) use cases, one is the "main" use case that is accessible by all actors, and the other use case is the extend of that main use case.
Connect the "main" use case with the other use case with extend arrow.
Connect all actors to the main use case
Connect certain actor to the other use case.
回答3:
I think the answer depends on what is the relation between the behaviors of the base use case (available to all the actors), and the behaviors of the restricted use case.
Let A the base use case and B the "restricted" use case.
If B consists of a sequence of "restricted" behaviors that must be performed at a certain point x in the execution of A, then it is an extend relationship:
B --extend(x)--> A (extension point:x)
If the behavior of A is executed at a single location of B, then it is an include relationship:
B --include--> A
Otherwise, I think it is better described as an specialization.
B --------▷ A