I teach OOD&A course to some students. When I want to draw a use case diagram or write the scenario of them for a system, I don't know should I include everything (behavior) which is done in the system by human or computer or just focus on those which is done by computer.
I think Use case diagram is a tool to analyze the behavior of any system, it could be even an automobile
But when we intend to implement a system by a computer which behaviors should be considered? if we take into account anything could be done in the system even manually by human or automatically by the computer then how and when we can extract the behavior of the software system we intend to implement
For example suppose we want to make a software for an ATM (Automated Teller Machine):
A clerk can open the ATM and put money in it. (It's done manually, should it be considered a use case of system?)
Suppose one use case of the system is withdraw money, a scenario for it could be:
- Customer insert his card into the card reader
- Card reader validate the card
- Customer Insert his password
- System identify the customer and register him
- Customer request money withdrawal
- System shows a form
- Customer enters the amount
- System check the customer bank account and update the balance
- System delivers the money through an outlet
The cases 1 and 2 are done by card reader and not our software, should we consider them? Or the last cases are done by the dispensing mechanism and not our software