Beruflich Dokumente
Kultur Dokumente
Anxiety Kit
(QAK)
Final Design Document
Contents
Contents.................................................................................................................................................................................. 1
Revisions History.................................................................................................................................................................... 2
Abstract................................................................................................................................................................................... 3
Project Description.................................................................................................................................................................. 4
Usage Scenario................................................................................................................................................................... 4
Project Objectives............................................................................................................................................................... 5
Interaction Diagrams............................................................................................................................................................... 6
Class Diagram......................................................................................................................................................................... 7
System Architecture................................................................................................................................................................ 7
User Interface Design & Implementation............................................................................................................................... 8
GUI Design........................................................................................................................................................................ 9
Testing................................................................................................................................................................................... 10
Games Tappy Cat........................................................................................................................................................... 10
Breathing Application.......................................................................................................................................................12
Music Player..................................................................................................................................................................... 14
Project Management............................................................................................................................................................. 15
Team Members................................................................................................................................................................. 15
Game Artists................................................................................................................................................................ 15
Game Design................................................................................................................................................................ 15
Programmers................................................................................................................................................................ 15
Project Coordination......................................................................................................................................................... 16
Breakdown of Responsibilities.................................................................................................................................... 16
Plan of Work..................................................................................................................................................................... 17
Agile............................................................................................................................................................................ 17
Estimated Schedule...................................................................................................................................................... 18
Sprint Breakdown............................................................................................................................................................. 19
Sprint One 9/28-10/4 Week 4.................................................................................................................................19
Sprint Two 10/5-10/11 Week 5...............................................................................................................................19
Sprint Three 10/12-10/18 Week 6..........................................................................................................................20
Sprint Four 10/19-10/25 Week 7............................................................................................................................20
Sprint Five 10/26-11/1 Week 8...............................................................................................................................20
Sprint Six 11/2-11/8 Week 9..................................................................................................................................21
Sprint Seven 11/9-11/15 Week 10..........................................................................................................................21
Sprint Eight 11/16-11/22 Week 11.........................................................................................................................21
Sprint Nine 11/23-11/29 Week 12..........................................................................................................................22
Sprint Ten 11/30-12/6 Week 13..............................................................................................................................22
Sprint Eleven 12/7-12/13 Week 14........................................................................................................................22
Revisions History
Version 1.0 12/14/2015 Nicholas Diley Creation of Document & Initial Design
Version 1.1 12/15/2015 Nicholas Diley Sprint Breakdown & Class Diagram/System Diagram
Version 1.2 12/15/2015 Nicholas Diley Addition of System Architecture & Figure Details
Version 1.3 12/16/2015 Nicholas Diley Added music player data & pushing changes based on
previous revisions
Abstract
The purpose of this application is to suit the requirements for the University of Advancing
Technology Advanced Software Development I (CSC413) class. This project not only fulfills the
class requirement of software development, but also that of fulfilling the Student Innovation
Project (SIP) for the class. It also suffices as a strong portfolio item that may benefit large
amounts of users who suffer from anxiety related attacks/afflictions. This application will serve
as a tool aid in the remediation, but not as replacement for any medical treatment.
Project Description
Quick Anxiety Kit is an application across multiple platforms with the aim of helping those
experiencing anxiety. It will do so by using artistic components shown to calm those experiencing
anxiety. These components include the color scheme, pictures, videos, and mini-games. It will be
interactive and learn what the user likes and what calms them down. Over time it will be able to
recommend something to calm them down and check up on them through notifications. The app will track
when the user typically feels anxiety and give them a reminder that the app is there when they need it and
applaud/encourage them when they have had their anxiety under control for some time.
Its main function is to help reduce the effects of anxiety and panic. Some of its functions will be its minigames, user tracking* (giving its users a more personal and useful experience). There will be white noise
(calming audio tracks), calming pictures, and deep breathing tips. Some possible functions will be a
suicide hotline (serious cases of anxiety tend to tie into depression and other major mental health issues)
or emergency numbers.
*will include learning the user and suggesting games or methods that coincide with what they use within
the apps. It will also help track the user's anxiety or panic attacks and send them notifications when they
would normally have an attack and ask if the user needs assistance. It will also send notifications of
congratulations if the user has not had an attack for an extended period of time.
Technologies Android Studio, MySQL/SQL Management Studio, Visual Studio 2012/2013/2015, Unity
Usage Scenario
About 18%, over 40 million, of the U.S adult population experiences an anxiety disorder. This application
is for any one of those people. Those with frequent attacks could use this to help them calm themselves
and minimize the impact it has on them. This includes utilizing breathing exercises as used throughout the
industry as a calming technique, playing simplistic games to distract the user and to aid in settling down,
or listening to an assortment of audio tracks meant to calm the user as well. All of these functions are to
be implemented into one cohesive application for the user to open and keep track of frequent episodes and
to see a graphical representation of their recovery process.
QAK will be available to any user with a compatible Android phone or tablet through download on the
Google Play store, with potential through a standalone APK file free of charge. QAK is meant to be an
application available free of charge to anyone and everyone, forever. There are plans of releasing to iOS,
however this remains a stretch goal.
Project Objectives
The anticipated objectives for this project are as follows:
Interaction Diagrams
The key interactions for QAK are the ability for the user to transition between each of the scenes that
exist within the application. This is accomplished by calling functions to transition scenes and returning
these afterwards as well. This would be starting from the Main Menu, and upon touching the icon to the
section the user wishes to go to, where the request is sent out and returned you will find the transition,
where it works both ways as well. Once in the new scene, you can make your way back by utilizing the
back button/function.
Class Diagram
The classes within QAK are defined for navigation between the different scenes and activating specific
functions within the application. This would include the Main Menu being able to navigate to each
different scene, such as the Game, Breathing Application, Music Player, Settings, and User Metrics. The
latter would include functions to begin the applications or tasks, read from files, load files, and other
generalized settings.
System Architecture
Unity Version x.xx
QAK is built in Unity, which allows for the complex usage of assets and resources within a centralized
location. This allows for the quick distribution of game objects and creation of scenes, where each
function of the application is run on the backend through scripts that are tied into the buttons created. This
allows for the usage of games within the base software application to running alongside a standalone
music player, breathing application, and storage/management of metrics and file read/write capabilities.
Initial Concept
Below is the initial prototype decided for the Quick Anxiety Kit. This includes the base functions that are
to be expected from this application, including but not limited to:
GUI Design
The Graphical User Interface (GUI) of QAK has remained the same since initial conception, emphasizing
the usage of a simple interface with advanced controls on the back end. QAK was developed within
Unity, which allowed for the usage of many assets, including sound and graphics, which would further
emphasize the creation of the application.
Testing
Below you will find the test cases within the Quick Anxiety Kit (QAK) in regards to the testing stages and
developmental process taken thus far. See <Project Coordination> section to see which team members
worked on each piece.
Figure 5.1 Idle of the Cat when not being interacted with
There are currently plans of adding in new characters into the game, along with sounds and music
however these have yet to be implemented. The expected outcome will be for the cat to make a noise
upon being tapped, and the possibility for different types of game modes is still in process.
As it stands, there will be no leaderboard or any kind of highest score system in place, as this is meant
to be a relaxing game. The game currently runs indefinitely until the user is satisfied, however this may
change as development furthers.
10
11
Breathing Application
Many anxiety sufferers breathe too fast and shallow. When confronted with a feared scenario they breathe
rapidly which leads to increased shortness of breath and further hyperventilation. Breathing exercises can
help with a variety of anxiety issues such as a fear of public speaking, however they are only part of the
work needed to mitigate a person's anxiety.
With this in mind, QAK has an embedded breathing visualizer where the user is encouraged to breathe in
slowly along with the application to stabilize and help through the breathing exercise. The Settings allows
the user to customize the application to suit their needs where they see fit.
Figure 6.1 Breathing App not in use, showing an empty blue bar with buttons for navigation & use.
The application is set on a timer that is preconceived and can further be customized in regards to a bar
that will fill over time with the application (see below).
12
Figure 6.2 Breathing App in use, with the blue bar being filled green to encourage user to breathe
according to the prompts on screen.
Our users may have Panic Disorder or Social Phobia, so this deep breathing exercise may be the single
most important coping technique that can be exercised.. It's also useful with other anxiety disorders in
which the physical symptoms are less prominent, but still present. Comfortable, deep breathing is the key
to relaxation. All the traditional relaxation methods (yoga, meditation, hypnosis) place a central emphasis
on breathing.
13
Music Player
Music is integrated into QAK through usage of a simple interface and an array of music that can be
loaded into the Audio Source object and the MusicManagement script provided. The list is as large as the
amount of files that exist within the Music assets folder, where additions are as easy as adding into the
folder. The application will automatically detect files in multiple formats, most notably:
Mp3
Ogg
WMV
The addition of more file types is supported through outside resources, and can be added onto the list at
any time within the script.
Figure 7.1 Default interface of the Music Player application within QAK.
Above you will find the standard layout of the application, where there are the general buttons for
navigation including:
Play/Pause
Previous/Next
Back (To Main Menu)
Upon loading up the Music Player application, the music should be loaded and be able to be played upon
utilizing the corresponding buttons. The Play and Pause buttons are swapped whenever used and
change when visible, so there will be no further confusion on what the buttons actually do.
There are future plans to implement a picture/image of some sort to know what song is playing, along
with text to display the name and composer as well. A seek bar may be implemented at a later date as
well.
14
Project Management
Within the Quick Anxiety Kit (QAK) team are a selected few of highly skilled programmers and artists,
dedicated to bringing this application to life and creating each piece as a whole. Each member has been a
part of the University of Advancing Technology environment for many semesters, having a strong
background in the many flavors of C and JavaScript, and many focuses across the board including Game
Design, Game Art and Animation, Computer Science, and Network Security.
Team Members
The QAK team includes the following:
Game Artists
Ashley Casarrubias
Karina Barron
Kayla Godard
Game Design
Leighan Godard
Programmers
Christopher Fimbel
Devon Thomsen
Nicholas Diley
Patrick Arbasak
Zachary Beauchamp
15
Project Coordination
To complete the Quick Anxiety Kit within the Fall 2015 semester, roles have been distributed across the
many members that exist within the group. This would be concerning the creation of the various scenes
within the Unity environment, scripting processes, creating the game, and working on art assets.
Breakdown of Responsibilities
Below you will find the breakdown of responsibilities taken on by each member of QAK by section:
There are more responsibilities that are being taken on by each of the members, however due to time
constraints or limited resources, each of them may be further decided to become a stretch goal for the
time being. This may include developing for other platforms, acquisition of resources, enabling certain
features such as sharing/pulling information from a data storage environment and more.
16
Plan of Work
To maintain a steady flow of work and to maintain set responsibilities, numerous sprints and sessions of
work will be utilized to make sure that everything will fall into place by Week 15 of the course structure.
The methodologies that will be used will be following the Agile methodology, and a breakdown of work
done across the weeks can be found at <> section.
Agile
For usage within our project, we will be following the 10 key principles of agile development:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Keeping ourselves active in the project is an absolute requirement, as we will each be pulling our own
weight and working together. We will also be making decisions together, as this is a project we must
remain involved in.
Throughout the lifespan of our project will be begin sprints, to develop key features within our
application. We may also utilize the waterfall methodology as so:
1.
2.
3.
4.
5.
6.
7.
8.
Conception
Initiation
Analysis
Design
Construction
Testing
Implementation
Maintenance
For now, we will focus with Waterfall in mind, while also taking into account the key principles of agile
development.
Within the first two weeks of the class in session, we have undergone the conception of our project, The
Quick Anxiety Kit (QAK). With this in mind, we have also begun work within the Mobile Platform
Development (CSC330) class as well, further understanding of our knowledge of Android Application
development and more.
17
Estimated Schedule
Below you will find the current conceptualized schedule that will be surrounding the Quick Anxiety Kit
development process. These weeks are subject to change depending on course workload, and the
availability of members during these times.
Week 1: Conception
Week 2: Conception
Week 3: Initiation
Week 4: Analysis
Week 5: Design/Analysis
Week 6: Design/Analysis
Week 7: Construction
Week 8: Construction
Week 9: Construction/Testing
Week 10: Testing/Implementation
Week 11 & Further: Maintenance/Implementation
Meetings are to be held on days of class, where further time can be allocated based on needs. Current
days for potential meetings are currently post-class Monday & Wednesday and Sundays.
Total Estimated Time Meeting: 2.5 Hours
Estimated Average Time/Meeting: 50 Minutes
18
Sprint Breakdown
Sprint One 9/28-10/4 Week 4
Being the first week for the development of the application, there was not much to be had except for the
allocation of resources and deciding what was to be done with the application. We began talking with the
members of the team who initially conceptualized the project, of which we were able to get a bearing on
what needed to be done. We began dividing roles amongst several members of the team, such as working
on the Breathing Application, Music Player, Game, and more.
Week 4 in particular was more of a waiting game for more information and documentation to arise so that
we are able to continue along with their initial design and to work further from there. The idea behind
Tappy Cat was brought up and received pretty good reception by the group, so that will be the decided
game for the application.
We have yet to decide completely on how we are to share our files, and to be able to make sure that
everyone is on the same page; however someone did mention GitHub and GitLab as a potential avenue.
Aside from that, we need to obtain the resources necessary to bring this project to life.
19
For the above sections, a strong amount of work has been done and we will have demos available for a
handful of the applications. Music player has been lagging behind as there are complications with the
audio source functions and the ability to play certain files, however its being looked at. Navigation
between each scene is a work in progress, and backend scripting is still being learned by many of the
members.
20
This past week we have been collaborating together to make sure that each piece is coming together
nicely. We have redistributed resources in a couple sectors to make sure that are able to get each piece
done before the end of the semester so that we have plenty of time to debug and run tests on the
application.
The main activity function has been running into a couple issues in regards to explicitly converting int
values to strings; however this is a small fix that we have been working on for a while now. The Music
application is coming together well in the sense that we mostly need to decide on what tracks to utilize
and figure out where to obtain the music without imposing copyright. The Breathing App and the Game
are still in good standing, where they are set on the back burner for now as we fix the other sections of the
application.
Art assets are still coming in as well as Ash has contacted Kayla to be able to get other pieces in, in
regards to the game and the other scenes, so that is going well. Otherwise its a waiting game for some of
the assets, and working on getting the scripting put together so that we can tie it all together in the end.
22