Sample Software Design Document PDF
Sample Software Design Document PDF
TheraWii
Tim Chagnon
Joe Kokinda
Andrew Meinert
Don Naegely
April 7, 2009
Revision 7
SRS Revisions
i
Contents
1 Introduction 1
1.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Definitions, Acronyms, Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3.1 Physical Therapy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3.2 Nintendo Wii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3.3 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Design Overview 1
2.1 Description of Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.2 Technologies Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.4 System Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3 Requirements Traceability 3
4 Therapist Interface 3
5 Game Interface 6
8 References 15
ii
Software Design Document TheraWii
1 Introduction
1.1 Purpose
The purpose of this document is to describe the implementation of the TheraWii Software described in the
TheraWii Business Requirments. The TheraWii Software is designed to create and perform physical therapy
activities.
1.2 Scope
This document describes the implementation details of the TheraWii Software. The software will consist of
a two major functions. First to design therapies that are made up of tasks, and the second to perform the
therapies. This document will not specify any actual therapies or the testing of the software.
Balance The dynamics of body posture that prevents falling. It is related to the inertial forces acting on
the body and the inertial characteristics of body segments [1].
Center of Mass (COM) A specific point at which the system’s mass behaves as if it were concentrated
[1].
Center of Pressure (COP) The point location of the vertical ground reaction force vector. It represents
a weighted average of all the pressures over the surface of the area that is in contact with the ground.
It is also called the Center of Balance (COB) [1].
1.3.3 Software
Therapy A series of tasks that is completed in one session.
2 Design Overview
2.1 Description of Problem
Traditional physical therapy techniques are often limited to activities that provide little to no statical feedback
and technologies that provide this type of feedback are normally expensive. The TheraWii Software will use
Nintendo Wii technology to provide physical therapists with data in a economical and efficient approach.
April 7, 2009 1
Software Design Document TheraWii
• Wii Library — The interface for maintaining Bluetooth connections to Wii input devices and gener-
ating input events.
• Data Model — The classes needed to organize Therapies, Tasks, Profiles, Sessions, etc.
• Data Storage — The interface for storing, importing and exporting the data model and raw collected
data.
April 7, 2009 2
Software Design Document TheraWii
3 Requirements Traceability
Requirement Description Design Reference
[r1.*] Inputs §6
[r3.*] Menus §4, Fig. 3
[r4.*] Therapy Editing §4, Fig. 3
[r5.*] Task Editing §4, Fig. 4
[r6.*] Profiles §4, Fig. 5
[r7.*] Exporting §7
[r8.*] Session Details §4, Fig. 5
[r9.*] Therapy Execution §5
4 Therapist Interface
Figure 3 depicts the UML model for the Therapist Interface. Figure 4 depicts the UML model for each of
the task editing forms. Figure 5 depicts the UML model for the Profile interface. Most of the methods in
these class diagrams represent callback functions for user input events.
April 7, 2009 3
Software Design Document TheraWii
April 7, 2009 4
Software Design Document TheraWii
April 7, 2009 5
Software Design Document TheraWii
5 Game Interface
Figure 6 depicts the UML model for the Game class.
April 7, 2009 6
Software Design Document TheraWii
Figure 9 depicts the UML model for the Profiles/Sessions Data Model.
April 7, 2009 7
Software Design Document TheraWii
Figure 10 depicts the UML model for the Therapy/Task Data Model.
April 7, 2009 8
Software Design Document TheraWii
April 7, 2009 9
Software Design Document TheraWii
7.1 Data_Storage
7.1.1 Attributes
Name Type Description
dataPath String Contains the main directory for the storage of Pro-
files and Therapies
7.1.2 Methods
April 7, 2009 10
Software Design Document TheraWii
String getDataPath()
Input: Void
Output: A String that contains the main directory for the
storage of Profiles and Therapies
Description: Method returns the data path of the main storage
directory
7.2 Data_Model
7.2.1 Attributes
Name Type Description
therapies Vector<Therapy>Contains a vector of Therapies that can be performed
profiles Vector<Profile>Contains a vector of Profiles of users that can per-
form Therapies
tasks Vector<Task> Contains a vector of Tasks that can be used to create
Therapies
7.2.2 Methods
Vector<Therapy> getTherapies()
Input: Void
Output: Returns a vector of Therapies that are stored in
memory
Description: Method returns a vector of Therapy objects that are
stored in memory
Vector<Profile> getProfiles()
Input: Void
Output: Returns a vector of Profiles that are stored in mem-
ory
Description: Method returns a vector of Profiles objects that are
stored in memory
April 7, 2009 11
Software Design Document TheraWii
Vector<Task> getTasks()
Input: Void
Output: Returns a vector of Tasks that are available to create
new Therapies
Description: Method returns a vector of Tasks that are available
to create new Therapies
7.3 DSxml
7.3.1 Attributes
Name Type Description
sessionDetailsFields
Vector<String>Contains a vector of Strings indicating the names of
the fields for a session
dataPath String Contains the main directory for the storage of ses-
sions
7.3.2 Methods
April 7, 2009 12
Software Design Document TheraWii
Vector<String> getSessionDetails()
Input: Void
Output: Vector of strings that represent the session details
Description: Method returns a vector of strings that represent the
session details
7.4 DScsv
7.4.1 Attributes
Name Type Description
therapyFields Vector<String>Contains a vector of Strings indicating the names of
the fields for a Therapy
profileFields Vector<String>Contains a vector of Strings indicating the names of
the fields for a Profile
dataPath String Contains the main directory for the storage of Pro-
files and Therapies
7.4.2 Methods
April 7, 2009 13
Software Design Document TheraWii
Vector<String> getTasksFields()
Input: Void
Output: Vector of strings that represent the fields that create
a Task
Description: Method returns a vector of strings that represent the
fields that create a Task
April 7, 2009 14
Software Design Document TheraWii
8 References
[1] Winter, D. A. A. B. C. (Anatomy, Biomechanics, Control) of Balance during Standing and Walking.
Waterloo Biomechanics, Waterloo, Ontario, Canada, 1995.
April 7, 2009 15