Use Cases Use Case Model: User login Primary actor: User Secondary actor: Database Pre-Condition: User must have an account, connected to server. 1. User enters login credentials and clicks submit. 2. Server receives credentials. 4. Server searches database and authenticates user 5. User receives message from server. 3a. Server finds user, logs user in and sends authentication message. 3b. Server does not find user and sends error message 4a. User has to log in again, or register Post-condition: User is successfully logged in Use Case Model: Register user Pre-Condition: User must not have an account, connected to server. 1. User enters name, and clicks submit 2. Server receives name. 3. Server registers the user. 5. User receives his/her unique id and password. 1a. User enters nothing. Server re-prompts Post-Condition: User is registered Use Case Model: Submitting map Pre-condition: User must be logged in and connected to the server 1. User clicks submit map 2. Server receives map 3. Server updates database with submitted map 4. Server returns submission success to the user 1a. User attempts to submit empty map, display error message Post-condition: User has successfully uploaded map to server Use Case Model: Display maps Pre-condition: Maps have been uploaded to the server 1. Admin clicks display all maps 2. All submitted maps are displayed 3. Admin can edit nodes and their placement 1a. There are no maps in the database, error message is returned to Admin Post-condition: All maps are displayed Use Case Model: Selected node(s) are uploaded to users for editing Pre-condition: The user is logged on and connected to the server 1. Admin selects nodes to be edited by user 2. Server returns relevant entries for node(s) selected to respective user(s) 3. User device confirms receipt of map to server 1a. No node(s) selected, return error message 2a. User is not connected to the server, return error message 3b. Device(s) fails to return reciept, return error message Post-condition: Selected node(s) are uploaded to the user(s) Use Case Model: Save Session Pre-condition: Maps have been uploaded to the server 1. Admin clicks save map 2. Admin names map and clicks ok 3. Database is updated 2a. File already exists, return overwrite message Post-condition: Map is successfully saved Use Case Model: New map session created (server) Pre-condition: 1. Admin clicks new map 2. Topic named and sent to connected users 3. receipt of topic is returned to server 2a. There are no connected users, return error message to server 3a. Device(s) fails to return reciept, return error message Post-condition: New map session created Use Case Model: Load and existing map Pre-condition: 1. Admin clicks load map 2. List of returned saved maps are displayed 3. Admin selects map and clicks ok 4. Map is displayed 1a. No saved maps in database, return message Post-condition: Map is successfully loaded and displayed