Use Cases Explained:

C1: User Invokes Application

Precondition:

User has compatible browser available.

Postcondition:

"The Puzzler - 3D Style" Welcome and Configuration Screen has appeared in the user's client computer browser by entering a URL address into their browser.

C2: User Configures Puzzle (actual “Configuration / Welcome” screen)

Precondition:

"The Puzzler - 3D Style" Welcome and Configuration screen has appeared.

Postcondition:

The “Review Configuration” screen is displayed by setting the size of the generated puzzle cube, the size of the dictionary, the base dictionary selection, the minimum size that each hidden word will be (not less than three), and the user pressing the “submit configuration” button.

C3: User Reviews Configuration (actual “Review Configuration” screen)

Precondition:

The user has pressed the “submit configuration” button on the “Review Configuration” screen.

Postcondition:

The “Generating Puzzle” screen is displayed or the “The Puzzler - 3D Style” is done by the user doing one of two things:

1.      The user has reviews the configuration, and presses the “no” button to go back to the confirmation screen, or

2.      The user presses the “yes” button to display the "Generating Puzzle" screen.

C4: RUN (Dictionary and Puzzle creation logic running)

Precondition:

a)      The user has selected "yes" button on the Configuration Confirmation screen, and

b)      the “Generating Puzzle” Page was Displayed.

Postcondition:

The "The Puzzler – 3D Style" Main Interaction GUI Screen is displayed, with all the main controls grayed out (not useable) except for the “Solve Puzzle” button, by two events having taken place:

a)      The user selected the “yes” button on the Configuration Confirmation screen, and

b)      the “Generating Puzzle” Page was Displayed.

C5: Display User Interface (Main User Interface, “Solve Puzzle” button)

Precondition:

a)      The system has displayed the puzzle interaction screen.

b)      The generated dictionary is displayed in the "Dictionary" list box.

c)      The generated puzzle is displayed in its text area control.

d)     The puzzle has NOT been solved yet.

e)      The puzzle display control(s) are grayed out (not usable), and the "Solve Puzzle" button is enabled.

Postcondition:

"The Puzzler – 3D Style" Main Interaction GUI screen is displayed again with new content by the user clicking the "Solve Puzzle" button, and the following controls are enabled:

a)      The “Start Over” button, and

b)      the “Get Statistics” button.

For this use case, the new content is defined as:

a)      The first cross sectional layer of the puzzle is selected in the “Current Layer” list box control, and has populated the puzzle text/display area by default,

b)      the dictionary is displayed in the “Words to Find” list box control,

c)      the words that were found in the (default) first cross sectional layer are displayed is the “Words Found” list box control.

C6: Select Different Layer (Current Cross Section list box)

Precondition:

"The Puzzler – 3D Style" Main Interaction GUI screen is displayed, and the new content is populated, per the Display User Interface use case C5.

Postcondition:

The system displays the selected puzzle layer in the puzzle layer display area and concurrently displays the words that matched for that puzzle layer in the "Word that Matched" list box.

C7: Collect Statistics (Get Statistics button)

Precondition:

"The Puzzler – 3D Style" Main Interaction GUI screen is displayed again, and the “Get Statistics” button is enabled as a result of the user pressing the “Solve Puzzle” button at the use case “Display User Interface” C5.

Postcondition:

"The Puzzler – 3D Style" Main Interaction GUI screen is displayed again with the "Statistics for This Puzzle" area control repopulated with data by taking the timing statistics for generating the dictionary, timing statistics for generating the puzzle, and timing comparisons for execution are written to a log as well as the configuration.

C8: Help / Documentation (Help / Documentation button)

Precondition:

The user selects the "Help / Documentation" Button that is enable and available on the Config/Welcome Screen, the Review Configuration Screen, and the Main UI Screen.

Postcondition:

The "Help / Documentation" page is displayed with a back button that shows:

a)      How to deploy and undeploy the wed application.

b)      The Glossary of Terms.

c)      More information on the underlying algorithms for the red-black tree and the "brute force array indexing" for the puzzle.

d)     A conceptual visual aid for the puzzle.

C9: "Regenerate Puzzle?" (Start Over button)

Precondition:

"The Puzzler – 3D Style" Main Interaction GUI screen is refreshed with the "Start Over” button enabled by the using pressing the “Solve Puzzle” button back at the “Display User Interface” use case C5.

Postcondition:

The "Welcome and Puzzle Configuration" screen is displayed.

C10: Exit? (EXIT button)

Precondition:

"The Puzzler – 3D Style" Main Interaction GUI screen is displayed with the "Exit?" button enabled at all times start with the first appearance of the main UI display back at use case C5.

Postcondition:

The "Thanks for Visiting!" screen is displayed with no back button.