Aaron Jacobs, Allen Helton, Chris Mudd, Jeff Allain, Jessi Cardoso, Matthew Jacobs, Prerak Patel, Richard Vanderdys, Saurav Shrestha

idleheadedceleryMobile - Wireless

Dec 10, 2013 (4 years and 7 months ago)


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
user interaction.

A Safety Critical System: Where
failure of a system endangers human

Interactive Systems

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

Example: Safety

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
person speaks.

Safety scenario

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.

Critical Systems

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

Principle non
functional constraints relevant to
critical systems:

reliability, performance, security, usability, safety

The difficulty of formulating

functional requirements

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.

Some non
functional requirements

Product requirements

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

Process requirements

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

emergency button

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

Accommodating change

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
termed ‘secrets.’

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
ambiguity .

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

Level I:
Placing emergency calls and messages.

Making each vocabulary item available through a

search interface.

Functional Requirements

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
out load.

Font Size

Font size can be made bigger or smaller depending on the
customer preference.

Emergency Services

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.

Zoom In

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
step instruction


The End

“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”