Design Specification

CS 262
Calvin College
Professor Keith Vander Linden
Written November 7th 2005
Revision 1.0

  1. Introduction

    1. Purpose/Contents of this document

      This is the design specification for EasyTalk produced by the Kühabrlüst project. It contains a general blue-print of the project including: object design, database design, human-computer interface design, and references. In particular a UML class diagram with detailed descriptions of classes, attributes, etc. is included for the object design. Also an ERD (Entity-Relationship Diagram) with a complete description of the components involved is included to describe our database design. Finally a HCI (human-computer interface) is included to demonstrate a visual representation of EasyTalk and its basic flow.

    2. General Description of the project

      The Kühabrlüst project is producing a palm-based translation program called EasyTalk. The interface will be built using a down-sized version of Java, J2ME. The interface will be capable of receiving user input and sending it off to be translated, by either referring to the database or going to an online source, and then display that translation. A limited set of words and phrases will be stored and retrieved from a remote MySQL database. Perl will also be used to handle database control and text processing.

    3. Related documents

      This is a list of various references that may be useful in understanding the design of this project. More detailed reference information can be found at the end of this document.

    (back to top)

  2. Object Design

    1. Class Diagrams

      This is the Class Diagram for the Easy Talk user interface.

      Design Layout
    2. Object Dictionary

      • WelcomeScreen: The user chooses the type of translation he wants to do
      • CategoricalSearchScreen: The user chooses a category of phrases to view.
      • PhraseResultsScreen: The user chooses a phrase and the result is shown at the bottom of the screen.
      • GeneralSearchScreen: The user searches a phrase in the database.
      • SearchScreen: The base class for all the search screens.
    3. UML Database Diagram

      This is the UML Diagram for the database backend for the EasyTalk system.

      UML Database Layout (Database Dictionary)

    (back to top)

  3. Database Design

    1. ERD Diagram

      This is the ERD for the database backend for the EasyTalk system.

      database ERD
    2. Database Dictionary

      • Languages table: A table of the various languages available for translation.
        • A language is related to many phrases.
        • Each language has two keys. The ID key is the ID of that language. For example, English and Eigo (Eigo is Japanese for English) will have the same ID. The lang_id key is the language that that particular language is in. For example, English and French would have the same lang_id, since they are both the English word for that language.
      • Phrase table: A table that contains all the phrases in every language.
        • A phrase has one language.
        • A phrase has one category.
        • Contains the phrase itself in a language.
        • Contains a non-unique phrase ID.
        • A phrase_id is assigned to each phrase, regardless of language. For example, "Where is the Bathroom" and "Oł est la salle de bains" (the French equivalent) have the same phrase_id. Each phrase also has a lang_id, which is the language that phrase is written in. These two keys combine to create a unique key.
      • Category table: A table that contains the various categories.
        • A category has one to many phrases.
        • A category, like a language, has two ID's. The ID is the id of that category. For example, bathroom and baño (baño is Spanish for bathroom) will have the same ID. The lang_id is the language of that particular entry, in the above example bathroom would have the lang_id associated with English and baño would have the lang_id associated with Spanish.

    (back to top)

  4. Human-Computer Interface Design

    1. Interface Flow Diagram

      This is a flow diagram of EasyTalk's user interface. Design Layout

    2. HCI Dictionary

      • Title Window: The user picks between a Categorical Search and a General Translation
      • Categorical Search Window: The user looks at the categories then choose one.
      • Categorical Choice Window: The user chooses one of the preset phrases from the list of phrases by category. The results are displayed below the choice.
      • General Translation Window: The user types in a translation to the window.
      • Phrase Modified Window: The phrase is modified to something searchable by the translator.
      • Phrase Not Found Window: The phrase is not found in the database so the user chooses yes to search an online translation site to find the phrase.
      • Online Translated Phrase Window: The phrase is displayed on the bottom of the screen. The user can choose to search for another phrase.

    (back to top)

  5. References

    This is a complete list of references the user may find helpful.

    (back to top)