Question
Listen Listen with ReadSpeaker Open/close toolbar In this assignment you will design a word scramble game. To do so, you should follow the same approach
ListenListen with ReadSpeakerOpen/close toolbar
In this assignment you will design a word scramble game. To do so, you should follow the same approach that we presented in the OOUML slides, that is, analyze the requirements to identify and refine (1) classes, (2) attributes, (3) operations, and (4) relationships in your design. The requirements for the game are listed below. Please note that not all requirements will be directly represented in your design.
Your design should be expressed using a UML class diagram, and the level of detail of the design should be analogous to te level of detail we used throughout the lesson; that is, you must provide enough details for the design to be self contained and to allow us to assess whether the design suitably realizes all system requirements. To help with this, you must also provide a design information document in which you concisely describe, for each of the requirements listed below, how that requirement is either realized in your design or not shown because it does not directly affect the design.
For example:
Req a. The application must contain a list of items and corresponding item types.
To realize this requirement, I added to the design a class X with attributes Y and Z. Class X...
...
Req p. The application shall maintain an underlying database to save persistent information.
I did not consider this requirement because the database does not affect the design directly.
Optionally, you can also provide in the document additional information about your design, such as assumptions or rationale for some design decisions.
You can use any UML tool to create your design and you can also not use any tool. I will open a discussion to recommend tools
Requirements
When starting the application, a user may choose to either create a new player or log in. For simplicity, authentication is optional. A (unique) username will be sufficient for logging in.
After logging in, the application shall allow players to (1) create a word scramble, (2) choose and solve word scrambles, (3) see statistics on their created and solved word scrambles, and (4) view the player statistics.
The application shall maintain an underlying database to save persistent information across runs (e.g., word scrambles, player information, statistics).
Word scrambles and statistics will be shared with other instances of the application. An external web service utility will be used by the application to communicate with a central server to:
Add a player and ensure that their username is unique.
Send new word scrambles and receive a unique identifier for them.
Retrieve the list of scrambles, together with information on which player created each of them.
Report a solved scramble.
Retrieve the list of players and the scrambles each have solved.
You should represent this utility as a utility class that (1) is called "ExternalWebService", (2) is connected to the classes in the system that use it, and (3) explicitly list relevant methods used by those classes. This class is provided by the system, so it should only contain what is specified here. You do not need to include any aspect of the server in your design besides this utility class.
When creating a new player, a user will:
Enter the players first name.
Enter the players last name.
Enter the players desired username.
Enter the players email.
Save the information.
Receive the returned username, with possibly a number appended to it to ensure that it is unique.
To add a word scramble, the player will:
Enter a phrase (not scrambled).
Enter a clue.
View the phrase scrambled by the system. If the player does not like the result, they may choose for the system to re-scramble it until they are satisfied.
Accept the results or return to previous steps.
Save and view the returned unique identifier for the word scramble. The scramble may not be further edited after this point.
A scramble shall only mix up alphabetic characters, keeping each word together. Words are contiguous sequences of alphabetic characters separated by one or more non-alphabetic characters.
All other characters and spacing will remain as they originally are.
When solving word scrambles, a player will:
View the list of unsolved word scrambles, by identifier, with any in progress scrambles marked and shown first.
Choose one word scramble to work on.
View the scramble.
Enter the letters in a different order to try to solve the scramble.
Submit a solution.
View whether it was correct.
Return either to the puzzle, if wrong, or to the list, if correct.
A player may exit any scramble in progress at any time and return to it later. The last state of the puzzle will be preserved.
The scramble statistics shall list all scrambles with (1) their unique identifier, (2) information on whether they were solved or created by the player, and (3) the number of times any player has solved them. This list shall be sorted by decreasing number of solutions.
The player statistics will list players first names and last names, with (1) the number of scrambles that the player has solved, (2) the number of new scrambles created, and (3) the average number of times that the scrambles they created have been solved by other players. It will be sorted by decreasing number of scrambles that the player has solved.
The User Interface (UI) shall be intuitive and responsive.
Example The cat is loud :-). > Het atc si ulod-). Example The cat is loud :-). > Het atc si ulod-)
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started