Introduction
Use cases are a fundamental tool in software development and systems engineering, providing a structured way to capture the functional requirements of a system from the perspective of its users. This tutorial will explain the key concepts of use cases, focusing on business use cases, and will use the provided example to illustrate these concepts.
Key Concepts in Use Cases
1. Actors
Actors represent any entity that interacts with the system. They can be humans, other systems, or external entities. In the provided example, the actors are:
- Tour Guide: A business actor associated with the airport.
- Passenger: A business actor who is the primary user of the airport services.
2. Use Cases
Use cases describe the interactions between actors and the system to achieve specific goals. They are represented as ovals in use case diagrams. In the example:
- Group Check-In
- Individual Check-In
- Baggage Check-In
- Security Screening
3. Relationships
Use cases can have various relationships with each other:
- Include: A use case includes the behavior of another use case.
- Extend: A use case extends the behavior of another use case under certain conditions.
- Generalization: A generalization relationship between actors indicates that one actor is a specialized version of another.
- Association: A direct relationship between an actor and a use case.
4. Business Use Cases
Business use cases focus on the goals and interactions within a business context. They describe how the business operates and interacts with its environment. In the example, all use cases are business use cases within the context of an airport.
5. Subject/Business Boundary
The subject or business boundary defines the scope of the system being modeled. In the example, the business boundary is the “Airport.”
Example Explanation
Actors
- Tour Guide: Associated with the airport and can interact with the system on behalf of a group of passengers.
- Passenger: The primary user of the airport services, interacting directly with various use cases.
Use Cases
- Group Check-In: A use case where a tour guide checks in a group of passengers.
- Individual Check-In: A use case where a single passenger checks in.
- Baggage Check-In: A use case where passengers check in their baggage.
- Security Screening: A use case where passengers go through security screening.
Relationships
- Include Relationship: The “Group Check-In” use case includes the “Individual Check-In” use case, meaning that the behavior of individual check-in is part of the group check-in process.
- Extend Relationship: The “Baggage Check-In” use case extends the “Individual Check-In” use case, meaning that baggage check-in is an additional step that may occur during individual check-in.
- Generalization: The “Passenger” actor is a generalization of other specific types of passengers (not explicitly shown in this diagram but implied).
- Association: The “Tour Guide” and “Passenger” actors are associated with the “Group Check-In” and “Individual Check-In” use cases, respectively.
Business Boundary
- The “Airport” is the business boundary, encompassing all the use cases and interactions within its scope.
Differences Between Business Use Cases and System Use Cases
Business Use Cases
- Focus on the business goals and operations.
- Describe how the business interacts with its environment.
- Often used in business process modeling and enterprise architecture.
- Example: “Group Check-In” at an airport.
System Use Cases
- Focus on the functional requirements of a software system.
- Describe how users interact with the system to achieve specific goals.
- Often used in software development and requirements engineering.
- Example: “User Login” in an online banking system.
Conclusion
Use cases are a powerful tool for capturing and understanding the functional requirements of a system. By defining actors, use cases, and their relationships, you can create a clear and comprehensive model of how the system should behave. Business use cases, in particular, help in understanding the business operations and interactions within a specific context. The provided example of an airport illustrates these concepts effectively, showing how different actors interact with various use cases within the business boundary.