Académique Documents
Professionnel Documents
Culture Documents
MEMORY EXERCISE OF
ALZHEIMER’S PATIENT
Design Document
TEAM 07:
KAVYA BOHRA
ANGUS CHEN
AMIRSAMAN FAZELIPOUR
TRAVIS FRIDAY
DESMOND TRANG
GRACE ZHANG
Contents
Guideline: ........................................................................................................................................ 1
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
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.
State Description
3|Page
Tutorial: Pattern Tutorial of pattern completion game.
Completion - 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
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
Stimulus Description
DisplayPSTutorial() User taps the pattern separation button in the tutorial screen.
4|Page
Paused() User taps paused button.
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.
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