Mapping validation and checking availability to a use case diagram

533 views Asked by At

In a use case diagram for a web based hire system that I have, the following two functionality were required. 1. To validate a user's login before carrying out a payment function. 2. To check the availability of a certain tool and a time before the user is allowed to hire it.

So, for Case 1, I believe the following is correct. Is this the proper use of an include condition, or is there some other use as well?

An actor has an association with a MAKE PAYMENT use case. An include statement is drawn from the MAKE PAYMENT use case to a VALIDATE USER LOGIN use case.

For Case 2, I mapped it like this. However I feel that this isn't correct.

An actor has an association with a CHOOSE TOOL use case and a CHOOSE TIME. An include statement is drawn from them to a CHECK AVAILABILITY use case.

I think first that the two use case to choose might be more accurately depicted in a single use case, but I can't think of how the availability is to be mapped. Should it be in the specification only?

I would post diagrams, but I don't have enough reputation to.

1

There are 1 answers

3
observer On BEST ANSWER

Welcome to Stackoverflow.

  • Make "Validate user login" a precondition to "make payment", i.e. do not make it an extra use case. The user will not validate that he himself is logged in, the system does that for him and it's trivial. The precondition is noted in the use case description.
  • "choose tool" <<include>>s "choose time". That is what the user needs to do, while
  • "check availability" is what the system does for the user. So that goes to the use case description as well, and is not a use case of its own.
  • "make payment" <<extend>>s "choose tool", of course.