An important part of getting a software project from the idea phase to actual development is being able to communicate and explain the idea to other stakeholders and developers. Sometimes these ideas are very hard to explain, on way of combating this is by applying the use of Use Cases.
What are use cases?
The purpose of use cases is to describe, identify, clarify the requirements and functions for a software in a simple way. The Use case typically consist of a very basic high level diagram that consists of these four elements:
- System = what is being described
- Actors = who is using the system
- Use cases = what the actors want to achieve
- Relationships = Connections between the actors and use cases
In the above figure we have an example of a use case for hospital management system. The system in the figure above is represented by the rectangle. Everything that is inside the rectangle happens within the system. As you can see there are a variety of stickfiguers outside the box, these represent the actors which consist of humans and externa systems . On the left side we have the primary actors. These actors initiates the use of the system to achive a goal usually these are the humans. On the right side we have the secondary actors which only reacts when a primary actor uses the system. As you can see in the figure above these consist mostly of external IT- systems. In the rectangle there are som cirles with text in them, these are the use cases that displays what actions can be done in the system. Between the actors and the use cases there are lines which represent the relationships. There are four types relationships: Association, include, extend and generalization. Association relationships are the normal lines that connects an actor to one or more use cases. The Include relationship is represented by and arrow with dotted lines and shows that a certain use case contains behavior that is common to other use cases. The Extend relationship means that a use case can extend another use case depending if certain criterias are meet. In the example above you can see that the Admission Use case can be extended to Bed Allotment and undergo operations. With the Generalization relationship two actors or use cases can be genralized, for example a professor could be generalized as a employee at a university.
If you want to learn more about Use Case diagrams i suggest you watch this video from Lucidchart: