0

This is my current system for Employee Punctuality Monitoring:

The current system that determines whether an employee comes in late and leaves early is when the boss sees that the employee is not yet in the office and when the employee leaves before the boss. If one or both cases are met, the boss decides what to do. The boss can mark down the employee on the annual performance evaluation, deduct an amount on the employee's annual bonus, demote the employee, or just simply let it go.

In my Use Case diagram, I have 1 actor (superior) and 1 use case (Check subordinate). I'm lost right now and thinking I should put in <<extend>> the actions the boss will do to the employee. Am I right?

jurgenreza
  • 5,856
  • 2
  • 25
  • 37

1 Answers1

1

You could model this in a few different ways:

1- Use extend: As you mentioned in the question, you could have your three use cases extend 'check subordinate' use case. In this case you will have one extension point that all 3 of them will use. You could then add different conditions to those extend relationships; but apparently you have the same condition for all three (employee arriving late and/or leaving early).

2- Use preconditions: If the "check subordinate" is not doing anything else and just acting as an extension point, get rid of it and have 3 use cases. You could specify the "employee arriving late and/or leaving early" condition as a precondition of those use case.

You could add a new abstract use case called "take disciplinary action" and have your three use cases specialize it. This will simplify your diagram and can be used in both cases (1 and 2)

Something like this maybe:

enter image description here

jurgenreza
  • 5,856
  • 2
  • 25
  • 37
  • I've made a Use case Diagram with 5 use cases. 2 are base use cases "check subordinate arrival time" and "check subordinate dismissal time". 1 use case includes both bases "on time". 1 use case extends the arrival base use case "late". Then 1 use case extends the dismissal base use case "early". And also, I think disciplinary action by superior shouldn't be included since the system is only for monitoring employee punctuality. Although I could be wrong. – user1771083 Apr 03 '13 at 19:40
  • @user1771083 I did not quite understand the model you explained but keep in mind: Using extend and include extensively will reduce your model readability and quality (avoid overusing them). 'on time', 'early' and 'late' are not proper use case names. use case names start with a verb. There is no need to go into that much detail and have that many use cases. Maybe you could post the diagram and I can comment on it. – jurgenreza Apr 03 '13 at 20:13