RUP Use Case Modeling Guidelines Document v1.0

Use-Case Modeling Guidelines

 

Version 0.01

 

 

 Table of Contents

[Table of Contents omitted]

1.           Document Control Information

1.1          Revision History

Date

Version

Description

Author

 

 

 

 

 

 

 

 

 

1.2          Reviewers and Approvers

Reviewer

Functional Area

 

 

 

2.           Introduction

2.1          Purpose

This document describes use-case modeling guidelines This document describes use-case modeling guidelines This document describes use-case modeling guidelines This document describes use-case modeling guidelines This document describes use-case modeling guidelines This document describes use-case modeling guidelines This document describes use-case modeling guidelines This document describes use-case modeling guidelines This document describes use-case modeling guidelines This document describes use-case modeling guidelines This document describes use-case modeling guidelines This document describes use-case modeling guidelines This document describes use-case modeling guidelines

2.2          Scope

2.3          References

2.4          Overview

This set of guidelines is set of guidelines is set of guidelines is set of guidelines is set of guidelines is set of guidelines is set of guidelines is set of guidelines is set of guidelines is set of guidelines is set of guidelines is set of guidelines is set of guidelines is set of guidelines is set of guidelines is set of guidelines is set of guidelines

3.          Use-Case Modeling Guidelines

3.1          Evolution of a Use Case

Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution. 

3.2          Evolution of a Use Case

Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution.

.

3.3          Evolution of a Use Case

Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution.

.

3.4          Evolution of a Use Case

Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution.

.

3.5          Evolution of a Use Case

Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution.

.

3.6          Evolution of a Use Case

Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution Evolution.

.

3.6.1          Actor Guidelines

Each concrete Use Case will be involved with at least one Actor.

Actors will be given intuitive and descriptive actor name(s) that correspond to their roles.

3.6.2          Keep this section Communicates Association

Each concrete Use Case will be involved with at least one Actor.

Actors will be given intuitive and descriptive actor name(s) that correspond to their roles.

Each concrete Use Case will be involved with at least one Actor.

Actors will be given intuitive and descriptive actor name(s) that correspond to their roles.

Each concrete Use Case will be involved with at least one Actor.

Actors will be given intuitive and descriptive actor name(s) that correspond to their roles.

Each concrete Use Case will be involved with at least one Actor.

Actors will be given intuitive and descriptive actor name(s) that correspond to their roles.

3.6.3          <<Communicates>> relationship

Each concrete Use Case will be involved with at least one Actor.

Actors will be given intuitive and descriptive actor name(s) that correspond to their roles.

3.6.4          <<Include>> and <<Extend>> relationships

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

3.6.4.1          «include» relationship

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

This information is not covered in the course. These activities should be performed by architects after use cases are detailed.

3.6.4.2          «extend» relationship

If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary If there is a part of a base use case that is optional, or not necessary o understand the primary purpose of the use case, that part can be factored out, and put into an additional use case in order to simplify the structure of the base use case. The addition is implicitly inserted in the base use case, using the extend relationship.

3.6.5          Actor-Generalization

This information was not covered in the course.

This information was not covered in the course.

This information was not covered in the course.

This information was not covered in the course.

This information was not covered in the course.

This information was not covered in the course.

3.6.5.1          Use of Actor-Generalization

Each use-case will. Each use-case will.

Each use-case will.

Each use-case will.

Each use-case will.

Each use-case will.

 

3.6.6          Use-Case Generalization

This relationship is prohibited from use. his relationship is prohibited from use.

his relationship is prohibited from use.

his relationship is prohibited from use.

his relationship is prohibited from use.

his relationship is prohibited from use.

his relationship is prohibited from use.

 

3.6.7          Use of Interaction Diagrams

In some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, some cases, Interaction diagrams are optional.

3.6.8          Use of Activity Diagrams

In some cases, it is beneficial to include, in addition to the textual flow of events, an Interaction diagram to illustrate the “high level” flow of events of the use case. It is recommended the sequence diagram for this be drawn in Rational Rose. Include only the communication between the actors and the boundary objects (covering both the input and the output messages) and treat the system as a black box. Use boundary objects with logical names as defined in the use case flow of events, without assigning them to classes at this point.

it is beneficial to include, in addition to the textual flow of events, an Interaction diagram to illustrate the “high level” flow of events of the use case. It is recommended the sequence diagram for this be drawn in Rational Rose. Include only the communication between the actors and the boundary objects (covering both the input and the output messages) and treat the system as a black box. Use boundary objects with logical names as defined in the use case flow of events, without assigning them to classes at this point.

it is beneficial to include, in addition to the textual flow of events, an Interaction diagram to illustrate the “high level” flow of events of the use case. It is recommended the sequence diagram for this be drawn in Rational Rose. Include only the communication between the actors and the boundary objects (covering both the input and the output messages) and treat the system as a black box. Use boundary objects with logical names as defined in the use case flow of events, without assigning them to classes at this point.

it is beneficial to include, in addition to the textual flow of events, an Interaction diagram to illustrate the “high level” flow of events of the use case. It is recommended the sequence diagram for this be drawn in Rational Rose. Include only the communication between the actors and the boundary objects (covering both the input and the output messages) and treat the system as a black box. Use boundary objects with logical names as defined in the use case flow of events, without assigning them to classes at this point.

it is beneficial to include, in addition to the textual flow of events, an Interaction diagram to illustrate the “high level” flow of events of the use case. It is recommended the sequence diagram for this be drawn in Rational Rose. Include only the communication between the actors and the boundary objects (covering both the input and the output messages) and treat the system as a black box. Use boundary objects with logical names as defined in the use case flow of events, without assigning them to classes at this point.

it is beneficial to include, in addition to the textual flow of events, an Interaction diagram to illustrate the “high level” flow of events of the use case. It is recommended the sequence diagram for this be drawn in Rational Rose. Include only the communication between the actors and the boundary objects (covering both the input and the output messages) and treat the system as a black box. Use boundary objects with logical names as defined in the use case flow of events, without assigning them to classes at this point.

it is beneficial to include, in addition to the textual flow of events, an Interaction diagram to illustrate the “high level” flow of events of the use case. It is recommended the sequence diagram for this be drawn in Rational Rose. Include only the communication between the actors and the boundary objects (covering both the input and the output messages) and treat the system as a black box. Use boundary objects with logical names as defined in the use case flow of events, without assigning them to classes at this point.

it is beneficial to include, in addition to the textual flow of events, an Interaction diagram to illustrate the “high level” flow of events of the use case. It is recommended the sequence diagram for this be drawn in Rational Rose. Include only the communication between the actors and the boundary objects (covering both the input and the output The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

 

4.          How to Describe a Use Case

4.1          General Style

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases Use Case Name

4.2          Use Case Brief Description

4.3          The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases Use Case Flows of Events Style

step.

4.4          Basic Flow

The use-case flows will make use of tag headings to describe the steps at a high-level, followed by numbered descriptions of what the actor does and what the system does under the heading. These tagged steps will be referenced in alternative flows and sub-flows.

The use-case flows will make use of tag headings to describe the steps at a high-level, followed by numbered descriptions of what the actor does and what the system does under the heading. These tagged steps will be referenced in alternative flows and sub-flows.

4.4.1          The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases Using Alternative flows

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

 

4.5          Sub-flows

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

4.5.1          Using Sub-flows

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

4.6          Preconditions and Post-conditions

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

4.6.1          Use of Preconditions

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

4.6.2          Use of post-conditions

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

4.7          Extension Points

4.7.1          Include Relationship

4.7.2          Extend Relationship

4.8          Use of Scenarios

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

4.9          Use of Glossary Terms

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

4.10          Additional Guidelines

4.10.1          Inline conditional and repetitive behavior

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

4.10.2          Consistent Use of Actor Name(s)

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

4.10.3          Consistent use of the imperative: Will

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

4.10.4          Use of “Action” Terms

4.10.4.1          Define where the system is responsible for presenting the Action Option

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

4.10.4.2          Consistent use of the term throughout the Use Case

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

 

4.10.5          Use of placeholders for missing detail (TBD or None)

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

4.10.6          Definition of and Reference to Supplementary Specifications

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

4.10.7          User Interface

The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases The Use Cases

 

Words to AVOID

Click

Drag

Form

Open

Close

Drop

Button

Field

Drop-down

Pop-up

Scroll

Browse

Record

Windw

 

 

Words to Use

Prompots

Chooses

Initiates

Specifies

Submits

Selects

Starts

Displays

Informs

 

 

4.10.7.1          Crosscheck with UI Prototype/ Design

The use case contents will be cross-checked against the UI Prototype/ Design to ensure no system require

ments are missing from the use case or the UI Prototype/ Design. Where changes are required to the use case, the use case must be updated to reflect the UI design requirements.

 

5.          Use Case Checkpoints

1.          Question: Is each concrete use case involved with at least one actor? 

Answer: If not, something is wrong; a use case that does not interact with an actor is superfluous, and you should remove it.

2.          Question: Is each use case independent of the others?

Answer: If two use cases are always activated in the same sequence, you should probably merge them into  one use case.

3.          Question:  For an included use case: does it make assumptions about the use cases that include it? 

Answer: Such assumptions should be avoided, so that the included use case is not affected by changes to the including use cases.

4.          Question: Do any use cases have very similar behaviors or flows of events? 

Answer: If so - and if you wish their behavior to be similar in the future - you should merge them into a single use case. This makes it easier to introduce future changes. Note: you must involve the users if you decide to merge use cases, because the users, who interact with the new, merged use case will probably be affected.

5.          Question: Has part of the flow of events already been modeled as another use case?

Answer: If so, you can have the new use case use the old one.

6.          Question: Is some part of the flow of events already part of another use case?

Answer: If so, you should extract this subflow and have it be used by the use cases in question. Note: you must involve the users if you decide to "reuse" the subflow, because the users of the existing use case will probably be affected.

7.          Question: Should the flow of events of one use case be inserted into the flow of events of another? 

Answer: If so, you model this with an extend-relationship to the other use case.

8.          Question:  Do the use cases have unique, intuitive, and explanatory names so that they cannot be mixed up at a later stage? 

Answer: If not, you change their names.

9.          Question: Do customers and users alike understand the names and descriptions of the use cases? 

Answer: Each use-case name must describe the behavior the use case supports.

10.          Question: Does the use case meet all the requirements that obviously govern its performance? 

Answer: You must include any (nonfunctional) requirements to be handled in the object models in the use-case Special Requirements.

11.          Question: Does the communication sequence between actor and use case conform to the user's expectations?

12.          Question: Is it clear how and when the use case's flow of events starts and ends?

13.          Question: Behavior might exist that is activated only when a certain condition is not met. 

Answer: Is there a description of what will happen if a given condition is not met?

14.          Question: Are any use cases overly complex? 

Answer: If you want your use-case model to be easy to understand, you might have to split up complex use cases.

15.          Question: Does a use case contain disparate flows of events? 

Answer: If so, it is best to divide it into two or more separate use cases. A use case that contains disparate flows of events will be very difficult to understand and to maintain.

16.          Question: Is the subflow in a use case modeled accurately? 

17.          Question: Is it clear who wishes to perform a use case? Is the purpose of the use case also clear? 

18.          Question: Does the brief description give a true picture of the use case?

 

7 of 15