Version: 1.0
Complied by Evan McCreedy
| ID: | 1.1.1 |
| Name: | NewGame |
| Goal: | The user wants to start a new game. |
| Success End Condition: | Game is set up in inital configuration according to the type of game selected. Program is ready for input from breaking player. |
| Failed End Condition: | None (always succeeds) |
| Primary Actor: | User |
| Secondary Actor(s): | None |
| Trigger: | User indicates desire to start a new game. |
| Main Success Scenario: |
|
| ID: | 1.1.1.1 |
| Name: | SelectNewGame |
| Goal: | The user wants to start a new game. |
| Success End Condition: | Game is set up in inital configuration according to the type of game selected. Program is ready for input from breaking player. |
| Failed End Condition: | None (always succeeds) |
| Primary Actor: | User |
| Secondary Actor(s): | None |
| Trigger: | User selects the New Game option from the interface. |
| Main Success Scenario: |
|
| ID: | 1.1.1.2 |
| Name: | ProgramStartup |
| Goal: | The user wants to start a new game. |
| Success End Condition: | Game is set up in inital configuration according to the type of game selected. Program is ready for input from breaking player. |
| Failed End Condition: | None (always succeeds) |
| Primary Actor: | User |
| Secondary Actor(s): | None |
| Trigger: | User shows a desire to start a new game by executing the software. |
| Main Success Scenario: |
|
| ID: | 1.1.2 |
| Name: | GameCompletedStartNew |
| Goal: | User wants to start a new game following the completion of a game. |
| Success End Condition: | Game is set up in inital configuration according to the type of game selected. Program is ready for input from breaking player. |
| Failed End Condition: | None (always succeeds) |
| Primary Actor: | User |
| Secondary Actor(s): | None |
| Trigger: | The completion of a game of billiards. |
| Main Success Scenario: |
|
| ID: | 1.1.2.1 |
| Name: | GameCompletedRematch |
| Goal: | User wants to start a new game with the same configuration as the last game played. |
| Success End Condition: | Game is set up in inital configuration which is the same as in the last game played. Program is ready for input from breaking player. |
| Failed End Condition: | None (always succeeds) |
| Primary Actor: | User |
| Secondary Actor(s): | None |
| Trigger: | The completion of a game of billiards. |
| Main Success Scenario: |
|
| ID: | 1.1.2.2 |
| Name: | GameCompletedQuit |
| Goal: | User wants to exit the software. |
| Success End Condition: | All game state is cleared and the software has terminated. |
| Failed End Condition: | None (always succeeds) |
| Primary Actor: | User |
| Secondary Actor(s): | None |
| Trigger: | The completion of a game of billiards. |
| Main Success Scenario: |
|
| ID: | 1.1.3 |
| Name: | QuitGame |
| Goal: | The user wants to end the current game and exit the program. |
| Success End Condition: | All game state is cleared and the software has terminated. |
| Failed End Condition: | None (always succeeds) |
| Primary Actor: | User |
| Secondary Actor(s): | None |
| Trigger: | User selects Quit Game option from the UI. |
| Main Success Scenario: |
|
| ID: | 1.2.1 |
| Name: | ShotInfo |
| Goal: | User wants to enter in data for the next shot to be taken. |
| Success End Condition: | Shot information changes made through the UI are saved by the Program. |
| Failed End Condition: | No changes are made to the shot information and User is notified of the failure. |
| Primary Actor: | User |
| Secondary Actor(s): | None |
| Trigger: | User shows desire to change shot data through the UI. |
| Main Success Scenario: |
|
| ID: | 1.2.2.1 |
| Name: | LegalShot |
| Goal: | Take correct steps in response to a legal shot, as defined by the current game rules. |
| Success End Condition: | Program waiting for input for the next shot. |
| Failed End Condition: | None |
| Primary Actor: | Rules System |
| Secondary Actor(s): | None |
| Trigger: | User takes a shot. |
| Main Success Scenario: |
|
| ID: | 1.2.2.2 |
| Name: | IllegalShot |
| Goal: | Take correct steps in response to an illegal shot, as defined by the current game rules. |
| Success End Condition: | Program waiting for input for the next shot. |
| Failed End Condition: | None |
| Primary Actor: | Rules System |
| Secondary Actor(s): | None |
| Trigger: | User takes a shot. |
| Main Success Scenario: |
|
| ID: | 1.2.2.3 |
| Name: | LosingShot |
| Goal: | Take correct steps in response to a losing shot, as defined by the current game rules. |
| Success End Condition: | Game is finished and User is shown game completed dialog. |
| Failed End Condition: | None |
| Primary Actor: | Rules System |
| Secondary Actor(s): | None |
| Trigger: | User takes a shot. |
| Main Success Scenario: |
|
| ID: | 1.2.2.4 |
| Name: | WinningShot |
| Goal: | Take correct steps in response to a winning shot, as defined by the current game rules. |
| Success End Condition: | Game is finished and User is shown game completed dialog. |
| Failed End Condition: | None |
| Primary Actor: | Rules System |
| Secondary Actor(s): | None |
| Trigger: | User takes a shot. |
| Main Success Scenario: |
|
| ID: | 2.1.1 |
| Name: | 3DBallMovement |
| Goal: | Simulate the motion of balls in three dimensions. |
| Success End Condition: | Changes have been made to the game state due to the motion of the ball according to the laws of physics in a realistic and believable manner. |
| Failed End Condition: | None |
| Primary Actor: | A Ball |
| Secondary Actor(s): | None |
| Trigger: | The motion of a Ball in the z-axis due to a shot. |
| Main Success Scenario: |
|
| ID: | 2.1.2 |
| Name: | BallSpin |
| Goal: | Simulate the spinning of balls when hit at an angle. |
| Success End Condition: | Changes have been made to the game state due to the motion of the ball according to the laws of physics in a realistic and believable manner. |
| Failed End Condition: | None |
| Primary Actor: | A Ball |
| Secondary Actor(s): | None |
| Trigger: | A shot is taken which would result in giving a Ball spin. |
| Main Success Scenario: |
|
| ID: | 3.1.1 |
| Name: | StartNetworkGame |
| Goal: | User wants to start a game server. |
| Success End Condition: | Game server is ready to accept Remote Users who wish to join the game. |
| Failed End Condition: | Program does not successfully setup a network game server. |
| Primary Actor: | User |
| Secondary Actor(s): | None |
| Trigger: | User desides to run a game server. |
| Main Success Scenario: |
|
| ID: | 3.1.2 |
| Name: | JoinNetworkGame |
| Goal: | User wants to join a server to play a game of billiards over the network. |
| Success End Condition: | Program is waiting for input from User or waiting for shot information from Remote Server. |
| Failed End Condition: | Program is not connected to the Remote Server. |
| Primary Actor: | User |
| Secondary Actor(s): | Remote Server |
| Trigger: | User desides to play a game of billiards with a Remote Server. |
| Main Success Scenario: |
|
| ID: | 3.1.3 |
| Name: | ObserveNetworkGame |
| Goal: | User wants to join a server to observe a game of billiards being played over the network. |
| Success End Condition: | Program is set up to observe a game on Remote Server. |
| Failed End Condition: | Program not ready to observer network game on Remote Server. |
| Primary Actor: | User |
| Secondary Actor(s): | Remote Server, Remote Player |
| Trigger: | User desides to watch a game of billiards on a Remote Server. |
| Main Success Scenario: |
|
| ID: | 3.2.1 |
| Name: | NetworkSendShot |
| Goal: | Communicate shot information to other parties to a networked game. |
| Success End Condition: | Everyone in the game has received the shot information for the shot that was made. |
| Failed End Condition: | Someone does not receive the shot information for the taken shot. |
| Primary Actor: | User |
| Secondary Actor(s): | Remote Player, Observers, Server |
| Trigger: | A shot is taken. |
| Main Success Scenario: |
|
| ID: | 3.3.1 |
| Name: | QuitNetworkGame |
| Goal: | User wants to quit a networked game. |
| Success End Condition: | Program is terminated and the Remote User, along with any Observers, are notified that the game is finished. |
| Failed End Condition: | None |
| Primary Actor: | User |
| Secondary Actor(s): | Remote User, Observers |
| Trigger: | User decides to quit the networked game. |
| Main Success Scenario: |
|