Group 8 Design Document

  • Upload
    meo-map

  • View
    227

  • Download
    0

Embed Size (px)

Citation preview

  • 7/30/2019 Group 8 Design Document

    1/13

    Design Document

    Group 8: The Tough Bretshttp://code.google.com/p/ttb-cmpt275/

    Will Storey

    Danish Khara

    Zhang GuannanNancy Zenger

    CMPT 275 Software Engineering

    Herbert Tsang

    2009-11-19

    http://code.google.com/p/ttb-cmpt275/http://code.google.com/p/ttb-cmpt275/
  • 7/30/2019 Group 8 Design Document

    2/13

    Table of Contents

    1. Revision History ............................................................................................................. 3

    2. Abstract ............................................................................................................................ 4

    3. Guidelines ........................................................................................................................ 5

    3.2. Ethical Guidelines .................................................................................................6

    3.3. Legal Guidelines ...................................................................................................6

    4. System Diagrams .........................................................................................................7

    4.1. UML Case Diagrams ............................................................................................7.................................................................................................................................... 7

    4.2. Use Case Diagram .................................................................................................7

    4.3. Sequence Diagram ................................................................................................94.4. State Machine Diagram .......................................................................................9

    5. Data Requirements .....................................................................................................10

    5.1. User Input ............................................................................................................105.2. Output ................................................................................................................. 11

    5.3. Online Interaction ............................................................................................... 11

    5.4. Data Storage ........................................................................................................11we will take advantage of Core Data to store and share information of cards and

    decks. Core Data allows data organised by the relational entity-attribute model to be

    serialised into XML, binary, or SQLite stores. It handles many of the duties of the

    data Model n a Model-View-Controller design......................................................... 11In our project, Card and Deck are both viewed as entities, which contain several

    attributes each. The detailed content of Card and Deck entity and their relationship is

    illustrated below......................................................................................................... 11.................................................................................................................................... 12

    ................................................................................................................................... 12

    5.5. File Format ..........................................................................................................126. Feature Priority List ...................................................................................................12

    6.1. Version 1 .............................................................................................................12

    6.2. Version 2 .............................................................................................................13

    6.3. Version 3 .............................................................................................................137. References ..................................................................................................................13

    2

  • 7/30/2019 Group 8 Design Document

    3/13

    1. Revision History

    Revision Status Publication/revision

    Date

    By: Specification

    1.0 Created 2009-10-10 Zhang Guannan,Danish Khara,

    Will Storey,Nancy Zenger

    The first version of the De

    Document was created.

    2.0 Edited: Pg #6

    & 7

    2009-11-05 Zhang Guannan,Danish Khara,

    Will Storey,

    Nancy Zenger

    UML Diagram is updated.

    Ethical and Legal Guidelin

    have been edited.

    3.0 Edited: Pg#12

    2009-11-19 Zhang Guannan,Danish Khara,Will Storey,

    Nancy Zenger

    Features Priority List has bupdated

    4.0 Edited: Pg #7 2009-12-02 Zhang Guannan,Danish Khara,

    Will Storey,Nancy Zenger

    UML is updated

    3

  • 7/30/2019 Group 8 Design Document

    4/13

    2. Abstract

    This design document lays out the technical requirements and tools used in development

    of the Flash Fun iPhone/iTouch flash card study application. The data enclosed is for theextremely technically inclined audience and is intended as a list of specifications required

    by developers and implementers. The document outlines the tools used for development,

    the backend software, ethical and legal guidelines, system diagrams, input/outputrequirements, and a priority list of product features.

    4

  • 7/30/2019 Group 8 Design Document

    5/13

    3. Guidelines

    Standards to be followed by developers are laid out here in order to ensure maximum

    cohesion within the development group.

    3.1. Technical Guidelines

    Which tools are used for development, as well as software versions, are enumeratedbelow. As well, the software which runs the back-end of the application's website is

    detailed.

    3.1.1. Development

    The majority of development will take place on the MacOSX version 10.6 platform.

    Tools used primarily include those found in the iPhone Software Development Kitversion 3.1.2, such as the Xcode development suite version 3.1.1, the iPhone/iTouch

    Interface Builder, and the iPhone/iTouch simulator.

    In addition to these tools, subversion, hosted on Google Code, will be utilised to manage

    the team's source code. Which subversion front-end is used depends on the individual

    developer's preference, but instructions are provided to all developers on how to use the

    svn commandline tool.

    The application is designed for the iPhone operating system version 3.1.

    All code for the device application itself is written in Objective-C 2.0.

    System diagrams are created using UMLet v10.0 and Dia v0.97.

    Gantt charts are created using Microsoft Project 2003.

    Documentation is created using Google Docs and Microsoft Word 2003.

    3.1.2. Online Interaction

    Website will be designed using PHP5, CSS2, HTML, and JavaScript. MySQL will be

    used for data management.

    5

  • 7/30/2019 Group 8 Design Document

    6/13

    3.2. Ethical Guidelines

    No offensive or mature (nudity, sexual, adult, etc) material should be used in the

    project Software engineers shall advance the integrity and reputation of the profession

    consistent with the public interest

    Software engineers shall be fair to and supportive of their colleagues

    Users of the application and associated website are accorded strict privacy rights.No data will be collected or shared without explicit permission from the user.

    *Note: Ethical guidelines are based onEngineering Code of Ethics and Professional

    Practice (Association of Computer Machinery)

    3.3. Legal Guidelines

    All code in the project is written by the aforementioned team, except wherespecified.

    All code and documentation is released under the New BSD License. Consult the

    project website for a copy of this license.

    All the resources used in the project will be mentioned in the software

    documentation.

    Software shall not cause any harm to the user.

    6

  • 7/30/2019 Group 8 Design Document

    7/13

    4. System Diagrams

    4.1. UML Case Diagrams

    4.2. Use Case Diagram

    7

  • 7/30/2019 Group 8 Design Document

    8/13

    8

  • 7/30/2019 Group 8 Design Document

    9/13

    4.3. Sequence Diagram

    4.4. State Machine Diagram

    9

  • 7/30/2019 Group 8 Design Document

    10/13

    5. Data Requirements

    5.1. User Input

    10

  • 7/30/2019 Group 8 Design Document

    11/13

    The major input device is the multi-touch screen where users can use their fingers to

    interact with the iPhone/iTouch interface. Users can press a button on the screen to

    perform a specific function. While creating their account or text cards, the user willutilize touch screen keyboard to input words in the text field.

    In addition, users can create cards containing images using the built-in camera of theiPhones, which 2.0 megapixels for iPhone 3G and 3.0 megapixels with automatic focus

    for 3GS version.

    5.2. Output

    The output device for images and automations is the screens of iPhones or iPod, which is

    characterized by 3.5 in, 320 * 480 px , 2:3 aspect ratio and 18-bit LCD.

    Sounds will be output through the loudspeaker or users can choose to listen through aheadphone instead.

    5.3. Online Interaction

    Users have the option of sharing their flash cards with other users through a website, orthey can simply keep their card decks online as a form of backup. If the user wishes to

    share their card deck with other users, they have the option of setting the deck private,

    where a password is required to access it, or they may set the deck public and anyonemay download it. In order to share the password another medium must be used.

    In order to access the online content of the application the device must be connected tothe Internet using either the built-in wireless capabilities, or via the 3G connection. Not

    every version of the iPhone/iTouch includes both of these capabilities.

    5.4. Data Storage

    we will take advantage of Core Data to store and share information ofcards and decks. Core Data allows data organised by therelational entity-attribute model to be serialised into XML, binary,or SQLite stores. It handles many of the duties of the data Modeln a Model-View-Controller design.

    In our project, Card and Deck are both viewed as entities, whichcontain several attributes each. The detailed content of Card andDeck entity and their relationship is illustrated below.

    11

  • 7/30/2019 Group 8 Design Document

    12/13

    5.5. File Format Team will communicate and organize itself through the project website hosted on

    Google Code.

    For retrieving error logs, collecting user stats, managing game databases, and allsource code: Objective-C 2.0 files.

    For reports and documentation: Word documents.

    6. Feature Priority List

    Since we are using a incremental strategy in our project, the most important and alsobasic functions will be developed first, and more functions will be add to the system later

    on. For the version one, only the basic operations for text-based cards and the normal

    game mode will be implemented. For version two and version three, more kinds of card,game modes and the connection to the Internet will be implemented

    Here is the proposed list of features for the upcoming versions of Flash Fun. All featurereferences are to sections found the Flash Fun Requirements Document.

    6.1. Version 1

    12

  • 7/30/2019 Group 8 Design Document

    13/13

    3.1.1.1 Create cards through text input

    3.1.2 Editing or deleting cards

    3.2 Create decks3.2.1 Edit and delete decks

    3.2.2 Move a card between decks

    3.3.1 Normal game mode

    6.2. Version 2

    3.11 Configuration3.9 Help system

    3.5.3 Card statistics

    3.7.2 Share decks on website3.3.6 Reverse game mode

    3.8 Tutorial system

    6.3. Version 3

    3.7.1 Download decks

    3.5.2 Deck statistics3.10 Sound effects

    3.4 Hints

    7. References

    We have used as a reference Team Epsilon's project, which can be found at

    http://code.google.com/p/team-epsilon/

    13