A use case is a diagrammatic description of a system that describes how a user interacts with it to achieve a goal. It is an important aspect of software engineering and software modelling since it specifies the desired functionalities as well as the resolution of any potential faults that a user may face.
A use case is a list of actions or event steps typically defining the interactions between a role (known in the Unified Modeling Language (UML) as an actor) and a system to achieve a goal.
The Anatomy of a Use-Case-
Name: Descriptive name that illustrates the purpose of the use-case.
Description: Describes what the use-case does in couple of sentences.
Actor: List any actors that participate in the use-case.
Pre-condition: Conditions that must be met prior to starting the use-case.
Flow of events: Description of interaction between the system and the actor.
Post Condition: Describe the state of the system after a use-case has run its course.
Guidelines-
An actor can be a person, company, gadget, software or external entity that interacts with your system. For example, a customer, a restaurant, or database can be referred to as actors. They are usually modelled as being external to the system boundary.
A use case is the action that is performed within the system. It is usually represented as a combination of a verb and a noun, e.g. โdeliver productโ, โprepare invoiceโ, etc.
You may choose to insert a boundary across the use case diagram to indicate the system functionalities that fall within that boundary.
The <<uses>> and <<includes>> text when added to a relationship and drawn from A to B means that doing A involves doing B at least once. And, <<extends>> text allows the analyst to demonstrate additional or optional behaviour of the base use case.
Use Case Document should include following points-
Use-Case Identification
Use-Case ID โ Give each use-case a unique numeric identifier, in hierarchical form: X.Y. Related use-cases can be grouped in the hierarchy. Functional requirements can be traced back to a labelled use-case.
Use-Case Name โ State a concise, results-oriented name for the use-case. These reflect the tasks the user needs to be able to accomplish using the system. Include an action verb and a noun.
Use-Case History-
Here, we mention about the names of the people who are the stakeholders of the Usecase document.
Created By โ Supply the name of the person who initially documented this usecase.
Date Created โ Enter the date on which the use-case was initially documented.
Last Updated By โ Supply the name of the person who performed the most recent update to the use-case description.
Date Last Updated โ Enter the date on which the use-case was most recently updated.
Use-Case Definition
The following are the definitions of the key concepts of Use-Case โ
Actor
An actor is a person or other entity external to the software system being specified who interacts with the system and performs use-cases to accomplish tasks. Different actors often correspond to different user classes, or roles, identified from the customer community that will use the product. Name the actor(s) that will be performing this usecase.
Description
Provide a brief description of the reason for and outcome of this use-case, or a high-level description of the sequence of actions and the outcome of executing the use-case.
Preconditions
List any activities that must take place, or any conditions that must be true, before the use-case can be started. Number each precondition.
Examples
Userโs identity has been authenticated.
Userโs computer has sufficient free memory available to launch task.
Post Conditions
Describe the state of the system at the conclusion of the use-case execution. Number each post condition.
Examples
Document contains only valid SGML tags.
Price of item in database has been updated with new value.
Priority
Indicate the relative priority of implementing the functionality required to allow this usecase to be executed. The priority scheme used must be the same as that used in the software requirements specification.
Frequency of Use
Estimate the number of times this use-case will be performed by the actors per some appropriate unit of time.
Normal Course of Events
Provide a detailed description of the user actions and system responses that will take place during execution of the use-case under normal, expected conditions. This dialog sequence will ultimately lead to accomplishing the goal stated in the use-case name and description. This description may be written as an answer to the hypothetical question, โHow do I <accomplish the task stated in the use-case name>?โ This is best done as a numbered list of actions performed by the actor, alternating with responses provided by the system.
Alternative Courses
Document other, legitimate usage scenarios that can take place within this use-case separately in this section. State the alternative course, and describe any differences in the sequence of steps that take place. Number each alternative course using the Use-case ID as a prefix, followed by โACโ to indicate โAlternative Courseโ. Example: X.Y.AC.1.
Exceptions
Describe any anticipated error conditions that could occur during execution of the usecase, and define how the system is to respond to those conditions. Also, describe how the system is to respond if the use-case execution fails for some unanticipated reason. Number each exception using the Use-case ID as a prefix, followed by โEXโ to indicate โExceptionโ. Example: X.Y.EX.1.
Includes
List any other use-cases that are included (โcalledโ) by this use-case. Common functionality that appears in multiple use-cases can be split out into a separate use-case that is included by the ones that need that common functionality.
Special Requirements
Identify any additional requirements, such as non-functional requirements, for the usecase that may need to be addressed during design or implementation. These may include performance requirements or other quality attributes.
Assumptions
List any assumptions that were made in the analysis that led to accepting this use-case into the product description and writing the use-case description.
Notes and Issues
List any additional comments about this use-case or any remaining open issues or TBDs (To Be Determined) that must be resolved. Identify who will resolve each issue, the due date, and what the resolution ultimately is.
Change Management and Version control Version control is the management of changes to documents, large websites, and other collection of information. Changes are usually identified by a number or letter code, termed as revision number or revision level. Each revision is associated with a timestamp and person making the change.
Leave a Reply