Anda di halaman 1dari 13

Design Document

Group 8: The Tough Brets


http://code.google.com/p/ttb-cmpt275/

Will Storey
Danish Khara
Zhang Guannan
Nancy Zenger

CMPT 275 Software Engineering


Herbert Tsang
2009-11-19

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................................................................................................9
4.4. State Machine Diagram.......................................................................................9
5. Data Requirements.....................................................................................................10
5.1. User Input............................................................................................................10
5.2. Output.................................................................................................................11
5.3. Online Interaction...............................................................................................11
5.4. Data Storage........................................................................................................11
we 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.........................................................11
In 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..........................................................................................................12
6. Feature Priority List...................................................................................................12
6.1. Version 1.............................................................................................................12
6.2. Version 2.............................................................................................................13
6.3. Version 3.............................................................................................................13
7. References..................................................................................................................13

1. Revision History
Revision Status
1.0

Created

Publication/revision By:
Specification
Date
Zhang Guannan, The first version of the Design
2009-10-10
Danish Khara,
Document was created.

2.0

Edited: Pg #6 2009-11-05
&7

3.0

Edited: Pg
#12

4.0

Edited: Pg #7 2009-12-02

2009-11-19

Will Storey,
Nancy Zenger
Zhang Guannan,
Danish Khara,
Will Storey,
Nancy Zenger
Zhang Guannan,
Danish Khara,
Will Storey,
Nancy Zenger
Zhang Guannan,
Danish Khara,
Will Storey,
Nancy Zenger

UML Diagram is updated.


Ethical and Legal Guideline
have been edited.
Features Priority List has been
updated

UML is updated

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 the
extremely 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/output
requirements, and a priority list of product features.

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 enumerated
below. 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 Kit
version 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.

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 on Engineering 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 where
specified.
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.

4. System Diagrams
4.1. UML Case Diagrams

4.2. Use Case Diagram


7

4.3. Sequence Diagram

4.4. State Machine Diagram


9

5. Data Requirements
5.1. User Input
10

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 will
utilize touch screen keyboard to input words in the text field.
In addition, users can create cards containing images using the built-in camera of the
iPhones, 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 a
headphone instead.

5.3. Online Interaction


Users have the option of sharing their flash cards with other users through a website, or
they 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 anyone
may 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 to
the 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 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.
In 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

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 all
source 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 also
basic 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 feature
references are to sections found the Flash Fun Requirements Document.

6.1. Version 1
12

3.1.1.1 Create cards through text input


3.1.2 Editing or deleting cards
3.2 Create decks
3.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 Configuration
3.9 Help system
3.5.3 Card statistics
3.7.2 Share decks on website
3.3.6 Reverse game mode
3.8 Tutorial system

6.3. Version 3
3.7.1 Download decks
3.5.2 Deck statistics
3.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

Anda mungkin juga menyukai