2

I am trying to draw a use-case diagram for a software project.

Two requirements for the software I am trying to model in use-case diagram are:

  1. A customer (i.e. Client) should be able to cancel its previous request. In this case, the client must select the relevant request from their list of request.
  2. A travel agent should be able to cancel a request. in this case, the agent must the client from the list of clients and the request from the list of request issued by that client.

How should I model this two requirements in a UML user-case diagram? I've ended up to something like this:

My use-case diagram

3 Answers 3

3

The two users do not interact in this use case and should both be on the left (neither are an external system that is invoked).

You could say that the two users have slightly different use cases - clients can only cancel their requests, travel agents can cancel any request. You can then say they both extend the same basic use case.

See approximate diagram bellow (their should only be one use case "Cancel a request" at the right with two arrows entering it).

Also, don't forget to box the system's boundaries.

               ---------------------------------------------------------------
               |                                                             |
Client --------|--> (Cancel own request)--<<includes>>-->(Cancel a request)  |
               |                                                             |    
Travel agent --|--> (Cancel any request)--<<includes>>-->(Cancel a request)  |
               |                                                             |
               ---------------------------------------------------------------
1
  • The use case diagram is correct, just move the client to the left hand side

  • Use cases shouldn't be concerned with how something will be implemented. When I look at the use case I don't care how the requests are selected.

0

That's largely how I've done them in Software Engineering. The Use Case diagram is to show relationships between Agents and Use Cases so you've done it correctly as far as I know. One small nitpick, typically primary users go on the left and back end users are on the right though they can be on the same side if you want. It's more of a convention that a rule.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.