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 ►3 Classes Concentration DrawCard Controller Concentration ► init Initializes arrays Creates DrawCards Calls other methods DrawCard ► flip – flips the card over ► setCardPos – sets the card position ► setIdAndPhrase ► getMid – returns Match ID ► set-get Matched ► getState Controller ► 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 Prototypes: 1. Rapid prototype in Java for testing requirements and game operations 2. Graphical concept for visualization and evaluating user options 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 Diagram Verb Phrases 1 1 Expansion Rules Verbs * 1 D.D. - Sequence Diagram Concentration Controller Draw Card init() setCardPos() cardClicked() setIdAndPhrase() setMatched() getMatched() score() Questions? 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