Largely a sequence of interactions across the system boundary between the actor(s) and the system.
Natural language is used so that non-technical as well as technical users can understand it. The use case is a vehicle for getting functional requirements out of users. It gives them hooks to hang ideas on and is a very powerful interview tool, especially when used in conjunction with screen prototyping.
A good use case is also:
![]() | Easy to understand |
|
|
![]() | Unambiguous |
![]() | Complete including all alternate flows |
![]() | Specified in a document separate from the use case diagram |
![]() | Agreed with the users of the system |
![]() | Mapped to a prototype screen or system interface prototype |