== Use Case Scenario: Issuing a prescription == === 1. Guidance === This section provides a description of each section in the use case template. === 2. Use Case Identification === '''2.1. Use Case ID''': 3.0 '''2.2. Use Case Name''': Issuing a prescription '''2.3. Use Case History''' * '''Created by''': ... * '''Date created''': ... * '''Last updated by''': ... * '''Date last updated''': ... === 3. Use Case Definition === '''3.1. Actors ''' 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 that will be initiating this use case and any other actors who will participate in completing the use case. '''3.2. Trigger''' Identify the event that initiates the use case. This could be an external business event or system event that causes the use case to begin, or it could be the first step in the normal flow. '''3.3. 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. '''3.4. 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: 1. User's identity has been authenticated. 2. User's computer has sufficient free memory available to launch task. '''3.5. Postconditions''' Describe the state of the system at the conclusion of the use case execution. Number each postcondition. Examples: 1. Document contains only valid SGML tags. 2. Price of item in database has been updated with new value. '''3.6. Normal Flow''' 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 ?” This is best done as a numbered list of actions performed by the actor, alternating with responses provided by the system. The normal flow is numbered “X.0”, where “X” is the Use Case ID. '''3.7. Alternative Flows''' Document other, legitimate usage scenarios that can take place within this use case separately in this section. State the alternative flow, and describe any differences in the sequence of steps that take place. Number each alternative flow in the form “X.Y”, where “X” is the Use Case ID and Y is a sequence number for the alternative flow. For example, “5.3” would indicate the third alternative flow for use case number 5. '''3.8. Exceptions''' Describe any anticipated error conditions that could occur during execution of the use case, 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. If the use case results in a durable state change in a database or the outside world, state whether the change is rolled back, completed correctly, partially completed with a known state, or left in an undetermined state as a result of the exception. Number each alternative flow in the form “X.Y.E.Z”, where “X” is the Use Case ID, Y indicates the normal (0) or alternative (>0) flow during which this exception could take place, “E” indicates an exception, and “Z” is a sequence number for the exceptions. For example “5.0.E.2” would indicate the second exception for the normal flow for use case number 5. '''3.9. 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. '''3.10. Priority''' Indicate the relative priority of implementing the functionality required to allow this use case to be executed. The priority scheme used must be the same as that used in the software requirements specification. '''3.11. Frequency of Use''' Estimate the number of times this use case will be performed by the actors per some appropriate unit of time. '''3.12. Business Rules''' List any business rules that influence this use case. '''3.13. Special Requirements''' Identify any additional requirements, such as nonfunctional requirements, for the use case that may need to be addressed during design or implementation. These may include performance requirements or other quality attributes. '''3.14. 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. '''3.15. Notes and Issues''' List any additional comments about this use case or any remaining open issues or TBDs (To Be Determineds) that must be resolved. Identify who will resolve each issue, the due date, and what the resolution ultimately is. === 4. Use Case List === Primary Actor * Use Case 1 * Use Case 2 Primary Actor * Use Case 1 * Use Case 2