160 likes | 276 Views
This document outlines the use cases for a regatta management system, detailing the interactions between clients and the server for managing sailors, colleges, and regattas. Key functionalities include synchronization with the server to update sailor and college lists, creation of standard and custom regattas, team and sailor management, boat rotation setup, scoring, and finalizing regattas for submission. The system ensures smooth operations from collection of data to the reporting and submission of results, enhancing overall event management in collegiate sailing.
E N D
Use Cases for Client • Synchronize with server • Download current college/sailor lists • Create regatta • ICSA standard regatta • (possibly) create teams/sailors • Choose teams • Custom regatta • Create teams • Create sailors • Choose teams • Create rotation • Do scoring • RP entry • Regatta report • Conditions • Judges • Finalize regatta • Submit • Save regatta locally
UC: Synchronize with server • Precondition: none • Postcondition: list of sailors/colleges is updated on the client • User clicks “update sailors/colleges” • Select ICSA web server • Connect to remote database • Request current list of sailors and colleges • Update local database with list
UC: Create Standard Regatta • Precondition: Need list of colleges/sailors • Postcondition: regatta is created and can be used to set up a boat rotation • User enters regatta information • Regatta title • Host school • Start date • End date • Number of divisions • Max races • Current semester • Select colleges that will participate • Select teams that will participate from each college • Create any teams not available • Team name
UC: Create Custom Regatta • Precondition: none • Postcondition: regatta is created and can be used to set up a boat rotation • User enters regatta information • Regatta title • Host school • Start date • End date • Number of divisions • Max races • Create teams • Team name
UC: Create Boat Rotation • Precondition: requires a valid regatta created • Postcondition: regatta is now ready to be scored • Enter number of boats • Give ID to each boat • Select type of rotation • Enter number of races before boats are swapped if type <> none • Select direction of rotation • Possibly manually modify rotations • Needed for commandeered boats • Print rotation
UC: Scoring • Precondition: regatta and boat rotations are created • Postcondition: race is scored • Select race • Select scoring by team name or by sail number • Enter in results for each boat • Including penalties
UC: RP Entry • Precondition: done with scoring all races • Postcondition: participants are specified • Select participants • Enter races they participated in. • Enter team/division they were in for each race. • Select skipper/crew position for each race.
UC: Regatta Report • Precondition: races are completed • Postcondition: race conditions/info are recorded • Enter race conditions • Enter types of races ran • Enter judges for regatta
UC: Finalize Regatta • Precondition: races are complete, race report is done and RP entry is done • Postcondition: regatta is complete and ready for submission • Look over results, manual validation
UC: Results Submission • Precondition: regatta is finalized, internet connectivity is present • Postcondition: regatta is submitted to remote database • Select ICSA webserver • Establish connection to webserver • Perform user authentication • Query scorer for username/password • Submit to server • Submit new teams/sailors • Submit regatta information • Submit race results • Close connection
UC: Save Regatta Locally • Precondition: regatta is created • Postcondition: regatta is saved • Query user for file name/path on disk • Save current regatta information • New sailors/teams • Races and regatta info • Rp entry • Anything that’s been done…
Use Cases for Server • Accept client submissions • New sailors/teams • New regattas • Modified regattas • Authenticate with client • Validate submitted results • Send lists of colleges, teams and sailors to client
UC: Authenticate with Client • Precondition: client wants to connect • Postcondition: client is rejected or marked as authenticated • Receives client identification • Check for valid information within scorers in database • Return result of authentication
UC: Accept Client Submissions • Precondition: Client is authenticated • Postcondition: submitted results are ready for validation • Notify client to send information • Receive any new teams and sailors • Insert into database (mark as new) • Receive regatta information • Insert into database (mark as new) • If modification then insert modification and mark as modified • Notify client of success/failure
UC: Send lists to client • Precondition: client is connected and requesting lists • Postcondition: client is disconnected • Query database for list of colleges • Query database for list of teams • Query database for list of sailors • Send each list to the client
UC: Validate submitted results • Precondition: results are awaiting validation • Postcondition: results either accepted or rejected • Select a submission from list of results awaiting validation • Manually validate results by inspection of the regatta. • Notify scorer of acceptance or rejection of results