A use case :
• Will describes what system will do for the actors to achieve a goal.
• Does not include implementation-specific language.
• Describes how the actor will interact with the system and no the details regarding interface and screen.
There are four types on relationships in uses case.
• Includes : The outcome of the first use case depends on the included use case. E.g. while withdrawing money before processing transaction it needs to validate user. The notation for it is dashed arrow with the label <<include>>.
• Extend : It indicates use case that are optional to the base use case. The notation for it is dashed arrow with the label <<extend>>.
• Generalization : It refers to a relationship which exists between two use cases. It describes that one use case inherits behavior and structure of other use case.
• Association : It describes an actor’s interaction with the use case. It is represented by arrows connecting actors and use case to one another, where an arrowhead implies control flow.