Difference between revisions of "GS Use-Cases Standard"

From BRL-CAD
(New page: ---- =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 ...)
 
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 +
{{DesignDocument}}
 +
 +
__NOTOC__
 
----
 
----
 
=Notes on Use Cases=
 
=Notes on Use Cases=

Latest revision as of 10:58, 28 May 2008

Design icon.png This page contains the design document for an enhancement or feature. The design should be considered a work in progress and may not represent the final design. As this is a collaborative design, contributions and participation from other developers and users is encouraged. Use the discussion page for providing comments and suggestions.



Notes on Use Cases[edit]

  • 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[edit]

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



1. List all Use Cases for an Actor[edit]

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)[edit]

  • 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[edit]

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[edit]

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.