C.2 The Use Cases

Figure C.1. Encrypt Conversation

graphics/cfig01.gif

Use Case C.1 Host Conversation

Use Case Name :

Host Conversation

Description:

This corresponds to the functionality provided by a typical instant messaging client. The IM Client is used to select with whom to converse , and text messages are passed to all connected clients .

Actors:

Chatter

Preconditions:

  • Instant messaging requires an account to be set up.

  • To select conversation partners , their identities must be entered into the system.

  • An internet connection must be established.

Basic Course of Events:

  1. Chatter initiates a conversation.

  2. The system displays a set of identities available for conversation.

  3. Select the parties for the conversation.

  4. Initiate the conversation by typing a message.

  5. The system displays the typed message to all selected identities.

  6. When a user is typing, and before she submits the text to the party, the system broadcasts to all other conversation parties that the user is typing. This helps prevent people from interrupting a conversation flow.

  7. When a user leaves the conversation, the system displays a message to the other parties of the conversation stating who left. This only occurs if there are more than two parties to the conversation.

Exceptions:

  1. If another user initiates the conversation, the system displays the message to the intended recipient.

All Steps: If a user's network connection is disrupted, it has the same effect as if the user voluntarily left the conversation.

Postconditions:

When the conversation is complete, the system removes all state information.

After taking the five minutes to clarify the essential functions of the instant messaging software to ourselves , we begin our preliminary analysis of the functionality we require from the encryption solution.

Use Case C.2 Secure Conversation

Use Case Name:

Secure Conversation

Description:

Encrypt the transfer of information between instant messaging clients to prevent the conversation from being vulnerable on a public network.

Actors:

Host Conversation use case

Preconditions:

  • An instant message application is being used to connect one or more chatters in a common conversation.

  • The parties to the conversation also have the ability to execute this use case (i.e., they have the encryption software).

Basic Course of Events:

  1. The system detects that the instant messaging client is attempting to establish a conversation with one or more other parties (the invocation of Host Conversation use case).

  2. The system determines if each party is able to support encryption.

    • If any of the parties are unable to support encryption, the system displays a message to all parties stating that the session will not be secure.

    • Otherwise, the system encrypts all messages sent.

  3. When the instant messaging client receives a message, the system intercepts the message, decrypts the message, and passes it to the instant message use case.

Exceptions:

None

Postconditions:

The system maintains a log of the entire conversation and the identities of the participants .

At this point we have a better idea of what we are really looking for, and how we want to interact with it. We also notice that we have strayed from the point of encryption just slightly with the addition of the postcondition regarding the logging. This came about when we discussed what the state of the system should be when we complete the use case. First, we did not want to have any additional steps to take ”the convenience of instant messaging is important to us, and increasing the number of steps needed would not be a good thing! After determining that we wanted simplicity, we immediately added a requirement for logging. We all realized that the log, and the functionality behind it, is probably best represented by a separate use case, but that is not practical at this point in our analysis. Our compromise ”to add it as a postcondition and think further about it later ”beats losing that thought forever.

Armed with this set of sketched-out requirements, we are confident in evaluating other people's solutions. Note that we would not consider these to be sufficient requirements to begin elaborating a project in which we built this software, however.



Use Cases. Requirements in Context
Use Cases: Requirements in Context (2nd Edition)
ISBN: 0321154983
EAN: 2147483647
Year: 2002
Pages: 90

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net