Verb Expansion Game Team 3 Bryan Bloss Jeremy Comardelle

Verb Expansion Game
Team 3
Bryan Bloss
Jeremy Comardelle
Gordon Gable
Gleyner Garden
Sponsored By: Dr. Beth Young
Topics to Discuss
High-Level Architecture
High-Level Design Issues
Detailed Design Issues
Detailed Design – Database
Detailed Design – Sequence Diagram
Trace of Requirements
High Level Architecture
 Concentration
 DrawCard
 Controller
► init
 Initializes arrays
 Creates DrawCards
 Calls other methods
► flip
– flips the card over
► setCardPos – sets the card position
► setIdAndPhrase
► getMid – returns Match ID
► set-get Matched
► getState
► cardClicked
 Is called when card is clicked
 Decides what to do
► addDeck
 Gives Controller access to the deck
► restart
High-Level Design - Design Issues
User Environment: Defined by customer as web-based
application similar to those used in the UCF University
Writing Center
Maintainability & Reusability: Ensured by proper
documentation and commenting. An easy-to-use method
will also be provided for the system "administrator” to
perform content adjustment
Portability: High, due to Java language
Testability: High; system is tested on PC's very similar to the
target environment, and additional testers are available
from the target user group
Safety & Performance: No issues
High-Level Design - Design Issues
1. Rapid prototype in Java for testing requirements and game
2. Graphical concept for visualization and evaluating user
High-Level Design - Design Issues
Design Tradeoffs:
Choice to use the Java language, allowing rapid
prototyping and simple integration with the target user
environment. Using this common applet architecture
eliminated most technical risks, but required some team
members to develop their Java coding skills.
Risks to be addressed:
Developing a graphical user interface which is entertaining
as well as functional, and developing an algorithm to
generate grammatically correct verb phrases.
Detailed Design Issues
A java applet was created to function as a prototype for the verb phrase
game. As per the customer's request, the game was to function as a
"concentration" type game, where a verb phrase would be matched with the
language rule that created it. The prototype has given the design team much
insight as to how we will accomplish the task of building this game. A Java
applet was
used in order to fit an already existing scheme of educational games. We
hope to mimic the style and ease of play of these games already in use
so that users will feel a familiarity with our product as soon as they
begin to use it.
Another reason we have chosen to use Java is because the server that
this is the only way we can provide the software for use over the
internet. The servers used by our customer require all programs to run
on the client-side. A Java applet accomplishes this nicely.
Detailed Design Issues cont
We plan to add timer and difficulty settings to our project as it
progresses so that the user will be able to have his or her performance
rated. We have discussed with Dr. Young different methods on how to keep
score, and several options are available. We feel that a combination of
recording flip attempts and time until completion should be the way a
score is calculated, and this scoring should be constant for a given
pair of cards. Difficulty itself will be based on the number of
pairs of cards available to be flipped.
The verb phrases and language rules themselves will be kept in a text
file that will be edited and maintained by Dr. Young. Because of her
level of knowledge due to previous experience using text files for other
games, she requested the game be implemented in this manner.
Detailed Design - Database
► Database
Verb Phrases
D.D. - Sequence Diagram
Draw Card
Trace of Requirements
► Trace
of Requirements to Design:
DrawCard class will display the card objects creating the
look of a game.
The setIdAndPhrase function puts the Verbs and the Verb
Expansion phrase on the cards for the user to see.
The user will interact with the cards through the mouse,
which is handled by the Controller class.
The Controller class will keep score and report back out to
the screen for the user.
The administrator will be able to add new verbs and phrases
to the database through changing the database text file