Use cases

This following use case diagram provides an overview of the use cases that will be implemented in the project.

See below for a detailed description of the use cases.

Imachina Use Case Diagram

Required use cases

This use cases will be implemented in the first version of the project.

* UC001 Register User

Primary Actor: User

Main success scenario:

  1. The user navigates to the "Register" page
  2. The user enters the registration information
  3. The registration information is validated.
  4. The user is logged in

Post conditions:

  • The user is logged in

* UC002 Show Registered Users

Primary Actor: Adminstrator

Main success scenario:

  1. The administrator logs in to the adminstration interface
  2. The administrator navigates to the page "Show registered users"
  3. A list of all registered users is displayed

* UC003 Delete User

Primary Actor: User

Pre conditions:

  • The administrator is logged in and has navigated to the "Show registered users" page

Main success scenario:

  1. The administrator selects one or more users which he wants to delete
  2. The administrator clicks on the delete button
  3. A confirmation dialog is displayed asking if the users are realy to be deleted
  4. The administrator selects "Yes"
  5. The selected users and all of their games are deleted
  6. A new list of all registred users is displayed

Post conditions:

  • All selected users and their games are deleted

* UC004 Login User

Primary Actor: User

Pre conditions:

  • The user is a registered user

Main success scenario:

  1. The user selects "Login"
  2. The user enters his user name and password
  3. Use name and password are checked
  4. The user is granted access

Post conditions:

  • The status of the user is "Logged in"

* UC005 Logout User

Primary Actor: User

Pre conditions:

  • The user is logged in

Main success scenario:

  1. The user selects "Logout"
  2. The user is logged out from the session

Post conditions:

  • The status of the user is "Logged out"
  • The user has no access to functions which require a logged in user

* UC006 New Game

Primary Actor: User

Pre conditions:

  • The user is logged in

Main success scenario:

  1. The user selects "New game"
  2. The "New game" page is displayed
  3. The user enters the difficulty level of the game
  4. The user clicks on the "New game" button
  5. A new game for the user is created
  6. The game is displayed and the user starts playing

* UC007 Save Game

Primary Actor: User

Pre conditions:

  • The user is logged in
  • The user is playing a game

Main success scenario:

  1. The user selects "Save game"
  2. The game is saved
  3. A notificatoion is displayed that the game has been saved successfully

Post conditions:

  • The current saved game of the user the game just saved

* UC008 Continue Game

Primary Actor: User

Pre conditions:

  • The user is logged in
  • The user has a saved game

Main success scenario:

  1. The user selects "Continue game"
  2. If the user is currently playing a game a dialog is shown asking if he wants to discard the current game
    1. The user selects "Yes"
  3. The saved game is loaded
  4. The game is displayed and the user continues playing

* UC009 Solve Game

Primary Actor: User

Pre conditions:

  • The user is logged in
  • The user is playing a game

Main success scenario:

  1. The user selects "Solve game"
  2. A dialog is show asking the user if he really wants to solve the game
  3. The user selects "Yes"
  4. The game is solved
  5. The solved game is displayed
  6. The game ends

Post conditions:

  • The user is not playing a game

* UC010 End Game

Primary Actor: User

Pre conditions:

  • The user is logged in
  • The user is playing a game

Main success scenario:

  1. The user sets the last number of the game and the number is a valid
  2. A dialog is displayed that the game was successfully solved by the user
  3. The game ends

Post conditions:

  • The user is not playing a game

* UC011 Set Number

Primary Actor: User

Pre conditions:

  • The user is logged in
  • The user is playing a game

Main success scenario:

  1. The user selects a field using the cursor or the mouse
  2. A dialog is shown near the field showing the numbers 1-9 in a square and empty
  3. The user selects a number or enters a number with the keyboard
  4. The number is shown in the game
  5. If the number is invalid according to the Sudoku rules the number and all conflicting numbers are marked red

Optional use cases

This use cases will be implemented in the neare future, but afer the first verion was released.

  • UC101 Show Highscore
  • UC102 Show Statistic of Sudoku
  • UC103 Add Sudoku to Sudoku List
  • UC104 Show Hint
  • UC105 Undo Move
  • UC106 Show Game Rules

Attachments