A use case is a diagrammatic representation of a system which describes how a user uses a system to accomplish a goal. It is an integral part of software engineering and software modelling technique which defines the targeted features and the resolution of any possible errors which a user may encounter.