Lesson 5 | Use case description, part 1 |
Objective | Describe each Use Case with a Textual Narrative. |
Describe each Use Case with Textual Narrative
Scope Use Case Description
As you write the use case narrative, adhere to the scope of the project initiation phase.
Describe only what the actor can see from outside the system and \avoid describing what you think is going on inside the system.
Technically, you have not designed the system yet, so there is no “inside” to describe.
Question: What is the scope of the project initiation phase
Standard Specification
This standard specifies the Unified Modeling Language (UML) with the objective of providing system architects working on object analysis and design with one consistent language for specifying, visualizing, constructing, and documenting the
artifacts[1] of software systems, as well as for business modeling.
This standard represents the convergence of best practices in the object-technology industry. UML is the proper successor to the object modeling languages of three previously leading object-oriented methods (Booch, OMT, and OOSE). The UML is the union of these modeling languages and more, since it includes additional expressiveness to handle modeling problems that these methods did not fully address. One of the primary goals of UML is to advance the state of the industry by enabling object visual modeling tool interoperability. However, in order to enable meaningful exchange of model information between tools, agreement on semantics and notation is required. UML meets the following requirements:
- Formal definition of a common object analysis and design (Object oriented analysis and Design) metamodel to represent the semantics of OA&D models, which include static models, behavioral models, usage models, and architectural models.
- IDL specifications for mechanisms for model interchange between Object oriented analysis and Design tools. This document includes a set of IDL interfaces that support dynamic construction and traversal of a user model.
- A human-readable notation for representing OA&D models. This document defines the UML notation, an elegant graphic syntax for consistently expressing the UML's rich semantics. Notation is an essential part of OA&D modeling and the UML.
Most diagrams require some kind of textual narrative to help interpret the diagram properly.
The use case diagram uses a narrative for each use case. The narrative consists of three basic elements:
- Triggering event
- Main flow of events
- Exceptional flow of events
Triggering Event
Use cases are discrete units of work. They have a beginning and an end. The narrative must identify the triggering event that initiates the use case. The event could be a point in time (for example, month's end), a condition in the system (for example, account is overdrawn), or a request by an actor (for example, selecting an option).
Main flow of events
The main flow of events describes the way that you would expect the use case to work if nothing ever went wrong. Leave exceptions out of this description to keep the focus on the reason the use case exists, and to keep focus away from error handling.
Exceptional flow of events
Once the main flow of events is fully understood, review the flow and identify what could go wrong. Look for validations that could fail and interruptions that could occur before the use case has a chance to finish. Create a separate description for each exceptional flow of events.
Example of a basic use case template
Here is an example of a basic use case template:
Use Case Name: |
Verb and Noun that expresses the goal of the use case, for example. "Deposit Funds." |
Initiation (Triggering event) : |
This use case starts when ... Identify how the use case knows when it is time to try to accomplish its goal. |
Main flow of events: |
Describe the successful dialog between the actor and the use case |
Exceptional flow of events: |
Describe a dialog that does not achieve the stated goal of the use case, for example, an exception |
Most teams will want to add audit details like a change log, author, and other information for managing the narratives over time.
In the Slide Show below, the use case template is used to create a narrative for the use case Deposit Funds.
- Identify the triggering event for the use case
- Describe the dialog between the actor and the use case without any errors or exceptions
- Describe a dialog that includes one of the possible exceptions
- Continue to add exception flows until all exceptions have been documented. (There are more possible exceptions, but we will conclude here)
Deposit Funds
Write-Use Case Description - Exercise
[1]
artifact: An artifact in the Unified Modeling Language (UML) is the specification of a physical piece of information that is used by a software development process or by deployment and operation of a system.