Vous êtes sur la page 1sur 10

MEAP:

MEMORY EXERCISE OF
ALZHEIMER’S PATIENT

Design Document

TEAM 07:
KAVYA BOHRA
ANGUS CHEN
AMIRSAMAN FAZELIPOUR
TRAVIS FRIDAY
DESMOND TRANG
GRACE ZHANG
Contents

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

Guideline: ........................................................................................................................................ 1

System Diagrams ............................................................................................................................ 2

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

Feature Priority ............................................................................................................................... 6

Version 1.0: ................................................................................................................................. 7

Version 2.0: ................................................................................................................................. 7

Version 3.0: ................................................................................................................................. 8


Revision History
Revision Status Publication/Revision By
Date

1.0 - Created the document Oct 14th 2018 Travis Friday


- Added Schema for the
database

1.1 - Revised the database Oct 16th 2018 Travis Friday

1.2 - Priority and Data Oct 20th 2018 Travis Friday


Requirements
Completed

2.0 - System Diagrams added Oct 20th 2018 Angus Chen

2.1 - Guidelines section Oct 20th, 2018 Grace Zhang


added

Guideline:

Development Tool:
- XCode IDE, version 10.0(10A255): Stable release download free via Mac App Store for
macOS users.
- Swift programming language, version 4.2
- Google Firebase: Freemium model of NoSQL Database
- Adobe XD: User experience design software App development used to create demo version
of MEAP
- Adobe Photoshop: Image editing for UI pictures and pattern pixel images
- Adobe Illustrator: Image processing
- Weebly: Creating website for latest update of MEAP and keeping track of team meetings

Release Platform:
- IOS 12.0.1 (16A404/16A405) local testing version, no Apple Store release

Hardware:
- 9.7’’ screen size iPad that supports IOS12.0.1: iPad Pro 9.7’’, iPad Air 2, iPad Air

1|Page
System Diagrams

Figure 3.1: UML Class Diagram


“ApplicationSceneObject” is a class that contains all display elements and functions to hide and
display certain elements depending on the state of the application.
“GameManager” is a class that contains all elements of the game. The object keeps track of the
state of the game and has functions that advances the game to different states depending on
current game state and user input. “GameManager” also changes the displayed elements
depending on the state of the game.

2|Page
“ChartManager” is a class that accesses the database to obtain “attempt” data for a specific
“appUser” and generates data that is to be consumed into charts that is displayed in the history
screen.

Figure 3.2 UML State Diagram

State Description

Login Prompt User is prompted to enter an username.


- Refer to Requirements Document 5.1

Main Menu Homepage of Application.


- Refer to Requirements Document 5.2

Menu Menu Screen.


- Refer to Requirements Document 5.2.1.2

History History Graphs.


- Refer to Requirements Document 5.3

3|Page
Tutorial: Pattern Tutorial of pattern completion game.
Completion - Refer to Requirements Document 5.2.1.1

Tutorial: Pattern Tutorial of pattern separation game.


Separation - Refer to Requirements Document 5.2.1.1

Pattern Completion Game state where user is trying to memorize the pattern.
State 1 - Refer to Requirements Document 5.4.1

Pattern Completion Game state where user is trying to complete the pattern
State 2 displayed.
- Refer to Requirements Document 5.4.1

PC Summary Summary of the pattern completion game.


- Refer to Requirements Document 5.4.2

Pattern Separation Game state where user is trying to memorize the first set of
State 1 images.
- Refer to Requirements Document 5.5.1

Pattern Separation Game state where user is deciding whether the image is “New”,
State 2 “Similar” or “Old”.
- Refer to Requirements Document 5.5.1

PS Summary Summary of pattern separation game.


- Refer to Requirements Document 5.5.2

Paused Paused state.


- Refer to Requirements Document 5.2.1.3
Table 3.1: Descriptions of the States

Stimulus Description

InitializeMainMenu() User taps back button on menu, history or paused screen.

Menu() User taps the menu button.

Tutorial() User taps the tutorial button.

DisplayPSTutorial() User taps the pattern separation button in the tutorial screen.

DisplayPCTutorial() User taps the pattern completion button on tutorial screen.

ExitTutorial() User taps the back button on the tutorial screen.

History() User taps the history button on menu screen.

4|Page
Paused() User taps paused button.

Resume() User taps resume button.

StartPatternCompletion() User taps confirm button in Pattern Completion State 1.

FinishPatternCompletion() User taps the confirm button in Pattern Completion State 2.

InitializePatternCompletion() FinishPatternCompletion() event occurs and Pattern Completion


rounds is less than or equal to 10.

InitializeSummaryPC() FinishPatternCompletion() event occurs and Pattern Completion


rounds is more than 10.

InitializePatternSeparation() User taps the done button on the PC Summary screen.

NextPSPattern() User taps the confirm button in Pattern Separation State 1 and there
are still images to be shown from the first set of images.

StartPS() User taps the confirm button in Pattern Separation State 1 and all
images of the first set has been shown or FinishPSRound() event
occurs and there are still more rounds to be played.

FinishPSRound() User taps one of the New, Similar or Old buttons.

InitializeSummaryPS() FinishPSRound() event occurs and all rounds have been played for
Pattern completion.

GameFinished() User taps the next button on the Pattern Separation summary screen.
Table 3.2: Descriptions of the functions

Data Requirements

The Google Firebase is a NoSQL database which is also known as a document database.
The NoSQL databases are represented in JSON format, where each item that are encapsulated by
curly braces “{}” are objects, and items encapsulated by square braces “[]” are arrays. Within
curly braces, there are key: value pairs. Each object is separated by commas.

5|Page
Figure 4.1: The Format of our NoSQL database
“appUser” is an array of objects, as it will store multiple users. When a new user is created on
the login stage of the app, a new object is created and stored in appUser. The user is prompted by
the app in order to enter the username, and it will be successful if the name is unique. The key
“attempt” is an array of objects because each user will have 0 to many attempts, and the array
will grow as the user completes a game. The data stored in “attempt” would be used to plot the
graph of the user’s progression.
The database interaction is performed using the firebase SDK which needs to be installed and
then imported into the SWIFT project. The SDK is in a .zip format. Once it is imported, there are
many methods and attributes that can be used in order to add, remove, and change objects in the
database.

Feature Priority

We are having three versions of the prototype, and we have decided which features are
going to be included in each version. The features were chosen so that we are able to deliver as
much features as we can in each iteration while being realistic with our limitation of time and
other factors.
The following features corresponds with all of the features/ functional requirements that
are stated in the Requirements document.

6|Page
Version 1.0:

2. Corner Icons
2.1. Main Menu Buttons
2.1.1. Mute
2.1.2. History
2.2. How to Play Button
2.2.1. Pattern Completion Tutorial
2.2.2 Pattern Separation Tutorial
2.3. Start Button
2.4. Pause Button
2.5. Resume Button
3. Game Stage 1: Pattern Completion
3.1. Memorization Phase
3.1.1. Confirm button (Memorization Phase)
3.2. Recovery Phase
3.2.1. Confirm Button (Recovery Phase)
3.2.2. Block Count
3.3. Pattern Completion Scoring System
3.4. Game Board
Version 2.0:

1. Login Page
1.1. Failed login message
1.2. Successful login message
4. Game Stage 2: Pattern Separation
4.1. First Set
4.2. Second Set
4.2.1. New Button
4.2.2. Old Button
4.2.3. Similar Button
4.3. Pattern Separation Scoring System
4.4 Difficulty Level Calculator (DLC)
4.4.1. Pattern Completion DLC
4.4.2. Pattern Separation DLC

7|Page
6. Orientation
6.1 Landscape
6.2 Portrait
Version 3.0:

5. History
5.1. Score Graph
5.2. Games Played Graph
7. Error Handling
7.1 Slow Connection
7.1.1 Error message when there is a bad connection to database when fetching
users’ history
7.1.2. Error message when there is a bad connection to database when uploading
scores
7.2 Network Lost
7.2.1 Error message when the internet connection is lost during a game

8|Page

Vous aimerez peut-être aussi