[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 804
  • Last Modified:

Guidance in drawing a use case diagram

So basically Ive been asked to create a use case diagram for the following scenario:

Users of the application will be any staff member booking a car from the pool, and staff in the Transport Office who are responsible for maintaining all the data and for allocating the long-term cars.
Maintaining the data involves tasks such as adding new cars, deleting cars that have been sold, and updating cars, e.g. recording service dates (when a car is due for a service and when it was last serviced), changing the status of a car when it is no longer required and waiting to be sold, making a car unavailable if it is damaged and awaiting repair.
Cars booked from the pool are booked for whole days, so, for example, if a member of staff needed a car, he/she would access the system on the day it was required and select a car from those available. The car would then be allocated to that member of staff for that day only.

Here is a list of actors and use cases ive come up with

Teachers -   Booking cars

Staff   Booking cars
              Adding new cars
              Deleting sold cars
              Updating cars   1. Recording service dates
                                          2. Changing status to when its being sold
                                          3. Making cars unavailable if waiting for repair.

I can see that im going to have to use extend association on the updates car but i cant see anything else. Was wondering if anyone could tell me if they can see any more use cases or dependencies?

2 Solutions
What you have looks good.  I'd probably merge 2 and 3 into one, such as "Changing car status". The UC model doesn't indicate every variation - that's what the individual use cases do.  I assume from your description that cars cannot be reserved.

I would also reword your UCs to be verb phrases, such as "Book a car" and "Delete a car".

HTH, Mark
Gurvinder Pal SinghCommented:
I think the number of use-cases in this requirement are in short
Maintainence of cars (admin work)
   a) Add a car(s)
   b) delete a car(s)
   c) search car(s)
   d) Update a car(s)
2) Allocation of cars
3) Pool status maintainence

However, it could be more complex if there is a specific workflow in place, like a member (role: adder) will add a car, staff member (role: member) will book a car, admin will allocate/deallocate a car(role: admin).
You can see the following tutorial links to start on Use case diagrams
where are my comments/suggestions:
1. Actors - you mentioned Teachers. I don't see any reference to Teacher (it may be there in the original story). SO review it once,

I see two actors.
    a. Staff: who will only have permission to view the pool and book a car.
    b. Admin staff:  Who will have permission to view and manage the pool and book car as well.

2. Use Cases: i think you have it like:
 a. View the car pool
 b. Book a car    (you should ask if a staff can book multiple cars then take care of that)
 c. maintain car pool
      you can have two scenario under this:
      ( Add a car to pool  
        Delete a car to pool
        Edit a car details)

For relationship:  I see only extends ( for UC #c) and associations for others

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now