CSC/ECE 517 Fall 2010/ch4 4a I
Introduction
A use case is set of interactions between the external actors and the system under consideration with an objective of achieving specific goals as defined by the users of the system. A use case is used to capture the functional requirements of a particular system which in turn are used to capture the intended behavior of the system. The notion of an actor can be used to represent the external users, or the roles of the users, in fact even the systems other than the one under consideration are considered to be and actor.2
Overview
In general use cases are used to capture the who i.e the actors, the what i.e interactions and system reactions, and the purpose i.e the goal of a particular system without having to worry too much about the internal workings of the system. Use cases originated in the Object oriented community but their applicability is not limited to object oriented systems.
Use cases in detail
Purpose of Use cases
Use cases are used in different stages on the development life cycle. In the planning stage, the process of defining important use cases helps to clarify the most important goals of the system. Use cases helps to narrow the scope of the project. They can surface often unspoken assumptions about the desired behavior of the system. In the execution stage of the development life cycle, use cases provide developers key parts of the specification. Some systems are built entirely with only use case descriptions from sponsors
Use case topics
Role
Before defining the actors interaction with the system, the role played by these actors should be defined. A role is an instance of an encapsulated set of properties and behavior. Roles are defined independent of the object(s) that may implement it.
Actors
Use cases identify the intent satisfying the role assumed by external actors interacting with the “system under discussion/test”. The actors can be classified into primary actor or secondary actor. A primary actor is one having a goal requiring the assistance of the system. A secondary actor is one from which the system needs assistance to satisfy a goal.
Types of Use cases
- System use cases: System use case describes the service which the system provides for the actor. The system use case describes what the system would do in response to the actor's actions. An actor in the system use cases can be wither a human user or another system interacting with the system under consideration.
- Business use cases: Business use cases are used to define the processes which will be used by the external actors. The business use cases treat the system under consideration as a black box in which the actors are given a description as to what the process does by specifying a value.
Use case representation
Use cases in UML
The general representation of the use case environment in Unified Modeling Language(UML)is represented in the figure below
UML represents the use cases in a diagrams called as the use case diagrams. Lines in a UML use case between an actor and the system represent a more abstract concept of relationship of communication, acquaintance, or inheritance. A use case circle can be more than a user invoking an on-demand service that passively waits until called upon. A Use case circle can be event-driven, which proactively notifies one or more subscribers when specific events occur. Services that run on their own without formal invocation may be better represented as an (automated) actor rather than as a use case circle.
Example: Consider a scenario in which a customer is visiting a online shopping portal system. In this scenario as we see the customer as the actor interacting with the online shopping portal system
The use case diagram covers the basic operations which the customer would normally perform while ordering an item from the shopping portal. This use case diagram can be extended to include extra scenarios such as the multiple item order, order cancellation and so on.
References
- [1]: Use case