Use Case Diagram:
Use Cases:
Use Case: “Add client”
Scenario: Success
Actors: User of client C1
Actor | System |
1. Requests to add a new client. | 2. Prompts user to enter data (name, key). |
3. User enters name and key. | 4. Creates new client for user. |
Use Case: “Initiate session”
Scenario: Success – acceptance of session request
Actors: UserA of client C1, UserB of client C2
Actor | System |
1. UserA initiates the start of a session with UserB. | 2. Generates a random session key. |
| 3. Sends session keys to clients C1 and C2. |
| 4. Indicates session is in WAIT_REPLY state on client GUI for UserA. |
| 5. Indicates session is in ACCEPT_REJECT state on client GUI for UserB. |
| 6. UserB prompted to accept or reject the session communication request. |
7. UserB accepts the session communication request. | 8. Enables CHAT state on both client GUIs. |
NB: Scenario: Alternative – rejection of session request
7b. UserB rejects the session communication request.
8b. System returns to display state prior to session request.
Use Case: “Encrypt and send messages to receiver”
Scenario: Success
Actors: UserA of client C1
Actor | System |
1. UserA writes message. |
|
2. Sends message to receiver. | 3. Encrypts message. |
| 4. Displays original and encrypted messages. |
| 5. Sends message to receiver. |
Use Case: “Accept and decrypt messages from sender”
Scenario: Success
Actors: UserB of client C2
Actor | System |
1. Accepts message. | |
2. Decrypts message. | |
| 3. Displays encrypted and decrypted message. |
4. UserB reads message. |
Use Case: “End session”
Scenario: Success
Actors: User
Actor | System |
1. User selects end of session. | 2. Deletes the session. |
3. Notifies connected client of session termination. |