A use case diagram is a way to summarize details of a system and the users within that system. It is generally shown as a graphic depiction of interactions among different elements in a system. Use case diagrams will specify the events in a system and how those events flow, however, use case diagram does not describe how those events are implemented.
A use case is a methodology used in system analysis to identify, clarify, and organize system requirements. In this context, the term "system" refers to something being developed or operated, such as a mail-order product sales and service Web site. Use case diagrams are employed in UML (Unified Modeling Language), a standard notation for the modeling of real-world objects and systems. There are a number of benefits with having a use case diagram over similar diagrams such as flowcharts.
Use case diagram uses
The reasons why an organization would want to use case diagrams include:
- Represent the goals of systems and users.
- Specify the context a system should be viewed in.
- Specify system requirements.
- Provide a model for the flow of events when it comes to user interactions.
- Provide an outside view of a system.
- Show’s external and internal influences on a system.
How use case diagrams work
System objectives can include planning overall requirements, validating a hardware design, testing and debugging a software product under development, creating an online help reference or performing a consumer-service-oriented task. For example, use cases in a product sales environment would include item ordering, catalog updating, payment processing, and customer relations. A use case diagram contains four components.
- The boundary, which defines the system of interest in relation to the world around it.
- The actors, usually individuals involved with the system defined according to their roles.
- The use cases, which are the specific roles played by the actors within and around the system.
- The relationships between and among the actors and the use cases.
A use case diagram looks something like a flowchart, where intuitive symbols represent the system elements. Here's a simple example:
Use case diagrams and flowcharts have similar looks to them, but use case diagrams have important distinctions. For one, use case diagrams represent functionality in a top-down fashion. And tend to support analysis better. Flow charts will tend to show behaviors linearly and time-based. Every stage of development should have a use case diagram describing how users interact with the system. A flow chart cannot describe a system until it is finished, and small changes in the process will require more on that flowchart to change. However, use case diagrams can be changed in scope pretty quickly, and it does not require as much effort to re-work as a flowchart does.