Use Cases


Register Use Case

Purpose:

Record and save information submitted by user and allow entry to the game.

Typical Course of Events


  • 1.(ACTOR) Player types in username and password on the initial game page and presses the ‘Register’ button.
  • 2. (SYSTEM) Player information is checked against the ‘User Database’ to verify that the username and password are not in use. The User Database is then updated and the Main Panel is displayed.
  • Alternate Course of Action

    If username is in use, or password is less than four characters in length, then nothing is entered in the User Database. Instead, an error message is displayed “Username is in use, please select another.”


    Log On Use Case

    Purpose:

    Capture and verify information submitted by user and allow entry to the game.

    Typical Course of Events

  • 1. (ACTOR) User enters username and password and presses the ‘Log On’ button at the initial screen.
  • 2. (SYSTEM) A message is sent to the server that the ‘Log On’ button was pressed. It grabs the user information and validates against the User Database. If the username and password are accepted, ‘Last Log On’ is updated and a message is sent to the Main Panel to display itself.
  • Alternate Course of Action

    If the username or password is invalid, or no information was entered, an error message is displayed “Please enter Username and Password” or “Incorrect Username/Password.”


    Create Use Case

    Purpose:

    To create a game, specifying number of players.

    Typical Course of Events

  • 1. (ACTOR) User selects ‘Create Game’ and indicates number of players allowed to play (n).
  • 2. (SYSTEM) A message is sent to the server that ‘Create Game’ was pressed. The game board is displayed with the player’s username and position on the board plus available positions (n – 1). Also displayed are the Waiting List and the Chat Window. The ‘Invite’, ‘Accept’, ‘Decline’ and ‘Join’ buttons are enabled. The player is allowed to exit at any time by pressing the ‘Exit’ button on the Game Board.

  • Join Use Case

    Purpose:

    To allow players to join a game that is about to begin.

    Typical Course of Events

  • 1. (ACTOR) User selects ‘Join Game’ from the Main Panel.
  • 2. (SYSTEM) A message is sent to the server that the ‘Join’ button was pressed. It alerts the Game Manager to display the list of games with available positions. After selecting a game to join, the Active Players List is updated and the Game Board is displayed. Also displayed are the Waiting List, the Chat Window and the Active Players. The player is allowed to exit at any time by pressing the ‘exit’ button.

  • Invite Use Case

    Purpose:

    To invite players to join a game about to start.

    Typical Course of Events

  • 1. (ACTOR) User1 selects user2 from the Waiting List and issues an invitation to join a game that is about to begin. User2 opts to accept or decline the invitation.
  • 2. (SYSTEM) If user2 accepts the invitation, a message is sent to the server, the Active Players List is updated and the Game Board is displayed. Also displayed are the Waiting List, the Chat Window and the Active Players. The player is allowed to exit at any time by pressing the ‘Exit’ button.
  • Alternate Course of Action

    If user2 declines the invitation, user1 selects another user from the Waiting List and issues an invitation.


    Watch Use Case

    Purpose:

    To allow users to watch games already in progress.

    Typical Course of Events

  • 1. (ACTOR) User selects ‘Watch’ from the Main Panel.
  • 2. (SYSTEM) A message is sent to the server that the ‘Watch’ button was pressed.
  • The Game Manager is alerted and a list of games in progress is displayed. On selecting the game to be viewed, the game board is displayed with play and chat functionalities disabled.


    Save Use Case

    Purpose:

    To save a game already in progress and resume at a later date. (Maximum of 2 days is allowed.)

    Typical Course of Events

  • 1. (ACTOR) User selects ‘Save’ from the Game Board.
  • 2. (SYSTEM) A message is sent to the server that the ‘Save’ button was pressed. A dialog box is displayed requesting a filename and owner id. The file is then saved and the player is returned to the Main Panel.

  • Resume Use Case

    Purpose:

    To resume a game that was saved.

    Typical Course of Events

  • 1. (ACTOR) User selects ‘Resume’ from the Game Board.
  • 2. (SYSTEM) A message is sent to the server that the ‘Resume’ button was pressed. A dialog box is presented requesting the filename and owner id. If correct, the game board is displayed and the game resumes. Also displayed are the Waiting List, the Chat Window and the Active Players. The player is allowed to exit at any time by pressing the ‘Exit’ button.

  • Update Use Case

    Purpose:

    Allows user to change password or username

    Typical Course of Events

  • 1. (ACTOR) User selects 'update' from the Main Board.
  • 2. (SYSTEM) A message is sent to the server that the 'Update' button was pressed. The user database is updated and a message is displayed to the user to that effect.

  • Exit Use Case

    Purpose:

    To allow players to exit the system.

    Typical Course of Events

  • 1. (ACTOR) The user selects ‘Exit’ from the Main Panel or the Game Board.
  • 2. (SYSTEM) A message is sent to the server that the ‘Exit’ button was pressed. If the user was an active player, then he/she is removed from the ‘Active Players’ list and other players in the game are notified.
  • Alternative Course of Action

  • 1. (ACTOR) The user quits without pressing the ‘Exit’ button, computer failure etc.
  • 2. (SYSTEM) Encourage users not to quit without pressing the ‘Exit’ button.

  • Game Use Cases

    Start Use Case

    Purpose:

    Start the game.

    Typical Course of Events

  • 1. (ACTOR) User selects ‘Start’ from the Game Board.
  • 2. (SYSTEM) A message is sent to the server that ‘Start’ was pressed. The game board is displayed with the players usernames and positions on the board. The pegs of the first player are enabled, other pegs are disabled.

  • Player Turn Use Case

    Purpose:

    Indicates whose turn it is to play.

    Typical Course of Events

  • 1. (ACTOR) The player receives alert that it is his/her turn to play.
  • 2. (SYSTEM) The player moves his/her peg. A message is sent to the server that the peg was moved. Other players are notified and the next player is alerted that it is his/her turn to play.

  • Peg Move Use Case

    Purpose:

    Allows player to move pegs.

    Typical Course of Events

  • 1. (ACTOR) The player moves his/her peg.
  • 2. (SYSTEM) A message is sent to the server that the player moved his/her peg. The server determines if it is a legal move. If it is, other players are notified and the next player is alerted that it is his/her turn to play. If it is not a legal move then a dialog box is displayed to that effect and the player is asked to try again.

  • Game Over Use Case

    Purpose:

    Determines when game is over.

    Typical Course of Events

  • 1. (ACTOR) The player moves his/her last peg to the opposite side of the board.
  • 2. (SYSTEM) A message is sent to the server that the player moved his/her last peg and is the first to do so. A dialog box is displayed "Congratulations, you are the winner!!! Game Over." All other players are notified. Players are then returned to the main board.