NOTOC


Notes on Use Cases

  • A use case is a sequence of interactions that describes one clear goal for the user.
  • One or many Use Cases may make up the functionality described in a single Requirement.

Sample Use Cases

  • Identified Actors for the GS Network Library:
    • Network
    • GS Application that uses GSNetLib

==1. List all Use Cases for an Actor== The Actor 'Network' has the following use-cases:

  • Transport message to GSNetLib
  • Transport message from GSNetLib

The Actor 'GS Application' has the following use-cases:

  • Open new connection
  • Close connection
  • Listen for new connections
  • Place Message into SendQueue
  • Retrieve Message from ReceiveQueue

==2.Detail Each Use-Case (Pseudo-Formally)==

  • Usually written somewhat vaguely, so as to describe a process, but not detail how to implement code.
  • This can be difficult for describing complex Use Cases. In this event, use of a form of pseudo code is acceptable.

Ex 1: OpenNewOutBoundConnection

Use Case: OpenNewOutBoundConnection

Initiating Actor: GS Application

Participating Actors: (none)

Preconditions: (none)

Primary Flow:

1 Initiating Actior (IA) requests a new connection object, providing hostname and port.

2 The connection object attempts to connect to hostname on port.

3 If connection is successful, GSNetLib returns a connected connection object

Alternative Flows

Extention Point: During step #3.

Precondition: The connection is not successful.

3.1 GSNetLib returns a null object.

Remerge Point: None. Alternative end to use case.

Ex 2: OpenNewInBoundConnection

Use Case: OpenNewInBoundConnection

Initiating Actor: GSNetLib Listener

Participating Actors: (none)

Preconditions: (none)

Primary Flow:

1 Initiating Actior (IA) requests a new connection object.

2 If connection is successful, GSNetLib returns a connected connection object

Alternative Flows

Extention Point: During step #2.

Precondition: The connection is not successful.

2.1 GSNetLib refuses the incoming connection.

Remerge Point: None. Alternative end to use case.