Aaron Jacobs, Allen Helton, Chris Mudd, Jeff
Allain, Jessi Cardoso, Matthew Jacobs, Prerak Patel,
Richard Vanderdys, Saurav Shrestha
Before focusing on the solution, we must
thoroughly understand the problem.
“He felt that it was possible to waste a lot of time
writing programs when one should have spent
that time thinking more about the problem.”
David L. Parnas
speaking about one of his teachers, Leo Aldo Finzi.
“Who Taught Me About Software Engineering Research?”
What type of system are we building?
The HOPE System is:
An Interactive System: A system
that involves a significant degree of
A Safety Critical System: Where
failure of a system endangers human
In an interactive system, special consideration must be
taken in formulating ‘external requirements.’
External requirements: Requirements which may be
placed on both the product and the process and which
are derived from the environment in which the system is
To ensure that the speech
function does not produce undesirable results, a limited
dictionary will be utilized. This dictionary will constrain
the possible interpretations by the software when a
An old person wants to relay a message to their
caregiver regarding an important doctors
appointment, the person says,
“I need to go to the proctologist right away.”
But the system interprets the speech as
“I need to go to the proctologist Friday.”
The old person subsequently suffers from renal
failure due to the misinterpretation of the system.
The failure of a critical system may result from a
failure to meet a functional requirement but,
more often, it results from a failure of the system
to satisfy some non
functional constraint on its
functional constraints relevant to
reliability, performance, security, usability, safety
The difficulty of formulating
Certain constraints, for example the availability rate of
the system (a reliability requirement), are related to the
design solution that is unknown at the requirements
functional requirements tend to be related to one
or more functional requirements.
functional requirements tend to conflict and
contradict each other.
There are no rules and guidelines for determining when
functional requirements are optimally met.
specify the desired characteristics that
a system or subsystem must possess.
The HOPE System shall have an availability rate of 99%
The system shall be developed for the Google Android
are constraints placed upon the
development process of the system.
A disaster recovery plan for the system development must be
The system shall conform to the IEEE 830 standard for
software requirements specification.
The importance of the
If the emergency button fails to meet performance or
reliability requirements, the loss of human life may take
The system should have a fault
tolerant design: If each
component, in turn, can continue to function when one
of its subcomponents fails, this will allow the total
system to continue to operate, as well.
At this stage of the project, it is difficult to quantify an
achievable reliability and performance rate.
The ability to accommodate change
“One must anticipate changes before one
begins the design.”
David L. Parnas
“Designing Software for Ease of Extension and
We must design a family of programs in which some members
are subsets of other family members or several family
members share a common subset.
We must follow the following principles:
Simplify functions so that each function performs one task.
Identify items that are likely to change. These items are
Generating desired sentences and represent them pictorially as
well as associate with a sound/voice.
Giving a specific meaning to each picture to reduce the
Accommodating change (continued)
Location of the specialized components in separate modules.
Designing intermodule interfaces that are insensitive to the
anticipated changes. The changeable aspects or “secrets” of
the modules are not revealed by the interface.
The Uses Hierarchy
Level 0: Providing a way for the users to select proper
categories and navigate through various dimensions of
Placing emergency calls and messages.
Making each vocabulary item available through a
Text to Speech Features
To assist elderly with poor speech.
Speech (TTS). Also known as "speech synthesis",
allows your Android device to "speak" text of different
Organized categories of common phrases.
Speech to Text
Feature is useful to elderly people who have bad hearing
Speech Recognition in Android SDK 1.5
Our software listens to speech and writes them into txt.
Reading Out Loud
For elderly that have problems seeing our software will
insure that every menu and options will be read out load.
When an option is pressed, the name of the option is read
Font size can be made bigger or smaller depending on the
If activated , it send a text message to the people on their
emergency contacts and also dials 911.
Ease of Use
Recent history and programs used
A flash light will be handy in the dark.
Specially at night to go to the restroom or just look for a
medicine and water by the bed.
Best to use flash but white screen is good too.
Elderly may have trouble reading so our software will open
up the camera app and it can be used to zoom into objects.
Where’s my phone?
The elderly tend to lose things and misplace very easily.
The application will have a loud alert ring every 15 minutes
so that the phone can be located.
The software will provide a tutorial on how to use the
features of the phone with step
“Detailed knowledge of arcane system interfaces and languages
is no substitute for knowing how to apply fundamental design
David Lorge Parnas
“Software Engineering: An Unconsummated Marriage”