Professional Documents
Culture Documents
INTRODUCTION
What is android?
Android is a software stack for mobile devices that includes an operating system,
middleware and key applications. The Android SDK provides the tools and APIs necessary to
begin developing applications on the Android platform using the Java programming
language.Android is a software bunch comprising not only operating system but also middleware
and key applications.Android Inc was founded in Palo Alto of California, U.S. by Andy Rubin,
Rich miner, Nick sears and Chris White in 2003. Later Android Inc. was acquired by Google in
2005. After original release there have been number of updates in the original version of
Android. Android is a powerful Operating System supporting a large number of applications in
Smart Phones.Hardwares that support Android are mainly based on ARM architecture platform.
Android is based on linux and offers you a great deal of customization in widgets and over
millions of apps. Most of them are free of cost and can be installed on your phone just by
clicking on install tab of the respective app in the Google Play Store app. Which comes along
with the android Phone.
Android SDK:
Here's an overview of the steps you must follow to set up the Android SDK:
1. Preparing the development computer and ensure it meets the system requirements.
2. If you're on Windows, download the installer for help with the initial setup.
3. Install the ADT Plug-in for Eclipse.
4. Add Android platforms and other components to your SDK.
5. Explore the contents of the Android SDK (optional).
Android Versions
page 1
IFALL
4.4–4.4.4,
4.4W– KitKat October 31, 2013 19–20
4.4W.2
page 2
IFALL
Android Architecture:
Applications:
Android will ship with a set of core applications including an email client, SMS program,
calendar, maps, browser, contacts, and others. All applications are written using the Java
programming language.
Application Framework:
page 3
IFALL
Developers have full access to the same framework APIs used by the core applications. The
application architecture is designed to simplify the reuse of components; any application can
publish its capabilities and any other application may then make use of those capabilities
(Subject to security constraints enforced by the framework). This same mechanism allows
components to be replaced by the user.
Views that can be used to build an application, including lists, grids, text boxes, buttons,
and even an embeddable web browser
Content Providers that enable applications to access data from other applications (such as
Contacts), or to share their own data
Resource Manager, providing access to non-code resources such as localized strings,
graphics, and layout files
Notification Manager that enables all applications to display custom alerts in the status
bar
Activity Manager that manages the lifecycle of applications and provides a
common navigation back stack.
Libraries:
Android includes a set of C/C++ libraries used by various components of the Android
system. These capabilities are exposed to developers through the Android application
framework.
Some of the core libraries are listed below.
System C library - a BSD-derived implementation of the standard C system library
(libc), tuned for embedded Linux-based devices
Media Libraries - based on Packet Video’s Open CORE; the libraries support playback
and recording of many popular audio and video formats, as well as static image files,
including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
Surface Manager - manages access to the display subsystem and seamlessly composites
2D and 3D graphic layers from multiple applications
LibWebCore - a modern web browser engine which powers both the Android browser
and an embeddable web view
SGL - the underlying 2D graphics engine
3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either
hardware 3D acceleration (where available) or the included, highly optimized 3D
software rasterizer
page 4
IFALL
Android includes a set of core libraries that provides most of the functionality available in the
core libraries of the Java programming language.
Every Android application runs in its own process, with its own instance of the Dalvik virtual
machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik
VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal
memory footprint. The VM is register-based, and runs classes compiled by a Java language
compiler that have been transformed into the .dex format by the included "dx" tool.
The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and
low-level memory management.
Linux Kernel:
Android relies on Linux version 2.6 for core system services such as security, memory
management, process management, network stack, and driver model. The kernel also acts as an
abstraction layer between the hardware and the rest of the software stack.
Dalvik is the process virtual machine (VM) in Google's Android operating system. It is the
software that runs the apps on Android devices. Dalvik is thus an integral part of Android, which
is typically used on mobile devices such as mobile phones and tablet computers as well as more
recently on embedded devices such as smart TVs and media streamers. Programs are commonly
written in Java and compiled to bytecode. They are then converted from Java Virtual Machine-
compatible .class files to Dalvik-compatible .dex (Dalvik Executable) files before installation on
a device. The compact Dalvik Executable format is designed to be suitable for systems that are
constrained in terms of memory and processor speed.
SQLite DATABASE:
page 5
IFALL
For elderly people unexpected falls can cause significant injuries. Fall related injuriesare the
leading cause of injury-related deaths among adults 65 years old and older; these injuries are also
the number one reason for emergency room visits .An average enursing home with 100 beds will
experience anywhere from 100 to 200 falls annually,with typical nursing home patient
experiencing a fall 2.6 times per year.Elderly people aged 65 and older experience the majority
of these falls. Fallsamong older people become one of the most common and often critical
problemsfacing hospitals and health care providers. For that reason previous research
hasapproachedthis problem to come up with a mechanism to detect falls.Common fall detection
methods include a detection feature and a trigger to issuean emergency call to provide medical
care. Fall detection is based on algorithms thatuse sensor values such as accelerometers,
gyroscopes, and air pressure sensors. Thesesensors cannot fully differentiate between falls and
ADL (Activity of Daily living);This leads to a high percentage of false alarms which is the main
reason for the failureof these systems, thus they are mainly rejected for commercial use by
monitoringservices.
In our design, we tried to tackle the problem and find solutions for assistant livingfor the
elderly by adding the room location capability to identify the location of thefall, send this
information to a software that triggers a wireless camera and streama live video feed of that
room. By doing so we can identify the fall first and sendmedical care to the patient which is an
optimal solution for an assisted living situation where you have a large number of elderly people
as well as large number of rooms.Independent living for the elderly is also an important aspect of
this project. Thehigh cost of these systems for personal use made it difficult to be commercially
successful.In this project different wireless technologies are introduced and the reasonof
choosing one particular technology over others is discussed.
Injuries due to falls are among the leading causes of hospitalization in elderly persons, often
resulting in a rapid decline in functionality and death. Rapid response can improve the patients
outcome, but this is often lacking when the injured person lives alone and the nature of the injury
complicates calling for help. This paper presents an alert system for fall detection using common
commercially available electronic devices to both detect the fall and alert authorities.
The threshold is adaptive based on user provided parameters such as: height, weight, and level of
activity. These variables also adapt to the unique movements that a cell phone experiences as
opposed to similar system which require users to mount accelerometers to their chest or trunk.
If a fall is suspected a notification is raised requiring the user’s response. If the user does not
respond, the system alerts prespecified, social contacts with an informational message via SMS.
page 6
IFALL
When a contact responds with an incoming call the system commits an audible notification,
automatically answers the call, and enables speakerphone. If a social contact confirms a fall, an
appropriate emergency service is alerted. Our system provides a realizable, cost effective
solution to fall detection using a simple graphical interface while not overwhelming the user with
uncomfortable sensors.
Objective:
The objective of the project is to achieve the fall detection using mobile phone
technology.
The main goal of the project is detecting a fall and informing relatives of the fallen about
the probable location of the fallen.
Scope:
The documentation of a project's scope explains the boundaries of the project, establishes
responsibilities for each team member and sets up procedures for how completed work
will be verified and approved.
Can be adapted by every version due to ever increasing demand in market of android.
Alerts helps the user to get an immediate help from the person to whom message is sent.
page 7
IFALL
SYSTEM ANALYSIS
a. Existing system:
There exist several commercial devices such as video based fall detection systems,
Wearable automatic fall detectors already on the market that attempt to address the issue
of falling in the elderly.
The major reason for failure is rejection by monitoring services due to a high number of
false alarms.
Use of cameras brings in a major privacy concern
These devices are very costly.
b. Problem definition:
Injuries due to falls are among the leading causes of hospitalization in elderly persons,
often resulting in a rapid decline in functionality and death.
Rapid response can improve the patients outcome, but this is often lacking when the
injured person lives alone and the nature of the injury complicates calling for help
c.Proposed System:
The proposed system is such that it will help the user for getting help in case of critical
accident.
An alarm will be generated with a popup that will ask the user whether he/she is fine or
not.If user does not take any action an appropriate message will be sent.
The message is sent to those 3 contacts which are previously saved.
The message will contain appropriate help message will be sent along with location of
user.
page 8
IFALL
d. Modular Description:
SETTING
When application is started then main form will be displayed. On that form there is only
one action button ‘SEETING’. If user presses the setting button then a one new form will
appear. On that form there are 3 options for contact i.e. contact1, contact2, contact3.
User enters relative’s contact1,2 and if users don’t have relative then he/she can enter
his/her caretaker numbers.
ALERT NOTIFICATION
When fall has been detected then alarms starts ringing till the user stop its ringing.
CALLING
Because some reason if relative is not giving the reply then after some time automatic
call to that particular relative.
page 9
IFALL
REQUIREMENT ANALYSIS
a. Functional Requirements:
User having a smart phone which has at least android 2.1 versions.
For connecting to Google map user should have internet connection on their computer
or if they are using mobile phones then GPRS or Wi-Fi is activated on their mobile
phones.
c. User Requirements:
page 10
IFALL
d. Hardware Requirement:
RAM of minimum 1 GB.
Mobile phone which is android enabled.
e. Software Requirement:
Operating System: Windows XP(32-Bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-
bit),or windows 8
Software: Eclipse, Android SDK, JDK-5 or JDK-6
Application building language: Java, XML
FEASIBILITY STUDY
a. Operational:
An Operational feasibility determines whether the system is operationally acceptable. It also
determines how the proposed system will fit with current operational system.Under this we
conduct a study to analysis and determine whether the project need can be fulfilled by using a
proposed solution. The result of our operational feasibility Study will clearly outline that the
solution proposed for the project is operationally workable and conveniently solves your
problems under consideration after the proposal is implemented.
Process – Input and analysis from everyone the new redesign will affect along with a data
matrix on ideas and suggestions from the original plans.
page 11
IFALL
Evaluation– Determinations from the process suggestions will the redesign benefit
everyone?
Implementation – Identify resources both inside and out that will work on the redesign.
How will the redesign construction interfere with current work?
Resistance – What areas and individuals will be most resistant?
Strategies– How will the organization deal with the changed workspace environment?
Do new processes or structures need to be reviewed or implemented in order for the
redesign to be effective?
Adapt& Review – How much time does the organization need to adapt to the new
redesign. How will it be reviewed and monitored? What will happen if through a
monitoring process, additional changes must be made?
There are hundreds and thousands of android applications and users. The number of
mobile users is increasing every year rapidly. Moreover the number of users converting to
Android applications is also on rapid increase.
b. Economical:
Economic analysis could also be referred to as cost/benefit analysis. It is the most frequently
used method for evaluating the effectiveness of a new system. In economic analysis the
procedure is to determine the benefits and savings that are expected from a candidate system and
compare them with costs. If benefits outweigh costs, then the decision is made to design and
implement the system. An entrepreneur must accurately weigh the cost versus benefits before
taking an action.
page 12
IFALL
c. Technical:
Technical feasibility refers to the ability of the process to take advantage of the current state of
the technology in pursuing further improvement. Project development is done in android which
supports the java language, so we can integrate other services for ‘I-Fall’ to the current
project.The project will be used by the mobile users, having Android enabled in their mobile
device. For the additional functionality project requires the usage of Java file, which are
technically feasible on the Android.
Incremental model:
The Project I-FALL is a mobile application. In the initial stage of development, some of
the requirements were clear and some were not. The project scope is large enough to use this
model. Since it combines the elements of the waterfall model with iterative philosophy of
prototyping and considering the constraint of limited manpower and an established deadline for
project completion, it seemed to be the most preferred model for this project. Incremental model
applies the linear sequences in a staggered fashion.
The first stage started with the basic development of the information to be provided for
various places . Thus, the core product developed included the basic look of the interface along
with generalized information. Once, the core product was developed the second stage
emphasized on the creation of a map, where the entire places are shown on the map.
page 13
IFALL
Once this was done, in the final stage the mapping job was done along with the
connectivity with the mobile device. An attempt was made to ensure that product in each
increment was operational in true sense of the word.
Generates working software quickly and early during the software life cycle.
This model is more flexible – less costly to change scope and requirements.
It is easier to test and debug during a smaller iteration.
In this model customer can respond to each built.
Lowers initial delivery cost.
Easier to manage risk because risky pieces are identified and handled during it’d
iteration.
page 14
IFALL
METHODOLOGY ADAPTED
page 15
IFALL
are created by calling a special type of method in the class known as a constructor. A program
may create many instances of the same class as it runs, which operate independently. This is an
easy way for the same procedures to be used on different sets of data.
Object-oriented programming that uses classes is sometimes called class-based programming,
while prototype-based programming does not typically use classes. As a result, a significantly
different yet analogous terminology is used to define the concepts of object and instance.
In some languages classes and objects can be composed using other concepts
like traits and mixins.
So the requirement specifications are to be done with UML diagrams for the front – end
andprocessing which consists of:
- Use case diagrams,
- Activity diagrams,
- Sequence diagrams,
- Class diagrams.
An E-R model will help to incorporate the information storage in the form of relational tables
inthe chosen ORDBMS environment.
Before placing the SRS, feasibility study needs to be done. The overall methodology
anddescription constitutes the SRS of the system.
The Chart illustrate the start and finish date of each phases included in the project.
GANTT CHART:
page 16
IFALL
Task 1- 11- 21- 1- 11- 21- 1- 11- 21- 1- 11- 21- 1- 11- 21-
10 20 30 10 20 31 10 20 30 10 20 31 10 20 31
Analysis
Design
Coding
Testing
Documentation
PERT CHART:
Iteration1
Iteration1 Iteration2 Iteration3
DATA DICTIONARY
All the information required by a specific system is accomplished by a central repository called a
Data Dictionary. The objective of creating data dictionary is to centralize all the information so
that it becomes easy to understand the system the information contained in it.
page 18
IFALL
A conventional Data Dictionary describes all the entities in the system along with all its
attributes, the various process, methods and modules in which this attributes are used and their
aliases.
The Table which is used to store the database is
Contacts
DATABASE DESIGN
A database is an organized mechanism that has the capability of storing information
through which a user can retrieve stored information in an effective and efficient manner. The
data is the purpose of any database and must be protected.
The database design is a two level process. In the first step, user requirements are
gathered together and a database is designed which will meet these requirements as clearly as
possible.
In the second step, this Information level design is transferred into a design for the
specific DBMS that will be used to implement the system in question. This step is called
Physical Level Design
A relational model represents the database as a collection of relations. Each relation resembles a
table of values or file of records. In formal relational model terminology, a row is called a tuple,
a column header is called an attribute and the table is called a relation. A relational database
consists of a collection of tables, each of which is assigned a unique name. A row in a tale
represents a set of related values.
A table is a relation. The rows in a table are called tuples. A tuple is an ordered set of n
elements. Columns are referred to as attributes. Relationships have been set between every
table in the database. This ensures both Referential and Entity Relationship Integrity. A
domain D is a set of atomic values. A common method of specifying a domain is to specify a
data type from which the data values forming the domain are drawn. It is also useful to
specify a name for the domain to help in interpreting its values. Every value in a relation is
atomic, that is not decomposable.
page 19
IFALL
RELATIONSHIPS:
Table relationships are established using Key. The two main keys of prime importance are
Primary Key & Foreign Key. Entity Integrity and Referential Integrity Relationships can be
established with these keys.
Entity Integrity enforces that no Primary Key can have null values.
Referential Integrity enforces that no Primary Key can have null values.
Referential Integrity for each distinct Foreign Key value, there must exist a matching Primary
Key value in the same domain. Other key are Super Key and Candidate Keys.
Relationships have been set between every table in the database. This ensures both
Referential and Entity Relationship Integrity.
NORMALIZATION:
As the name implies, it denoted putting things in the normal form. The application
developer via normalization tries to achieve a sensible organization of data into proper tables and
columns and where names can be easily correlated to the data by the user. Normalization
eliminates repeating groups at data and thereby avoids data redundancy which proves to be a
great burden on the computer resources. These includes:
Table Name:Contacts
page 20
IFALL
DESIGN
For object oriented methodology:
a. use case:
A use case defines the interactions between external actors and the system under consideration to
accomplish a goal. Actors must be able to make decisions, but need not be human: "An actor
page 21
IFALL
b. class diagram:
In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of
static structure diagram that describes the structure of a system by showing the system's classes,
their attributes, operations (or methods), and the relationships among objects.
page 22
IFALL
+ Public
- Private
# Protected
~ Package
Association:
An association represents a family of links. A binary association (with two ends) is normally
represented as a line. An association can link any number of classes.
Aggregation:
Aggregation is a variant of the "has a" association relationship; aggregation is more specific than
association. It is an association that represents a part-whole or part-of relationship.
Composition
Composition is a stronger variant of the "has a" association relationship; composition is more
specific than aggregation.Composition usually has a strong lifecycle dependency between
instances of the container class and instances of the contained class(es): if the container is
destroyed, normally every instance that it contains is destroyed as well.
page 23
IFALL
Generalization
It indicates that one of the two related classes (the subclass) is considered to be a specialized
form of the other (the super type) and the superclass is considered a Generalization of the
subclass
Realization
In UML modelling, a realization relationship is a relationship between two model elements, in
which one model element (the client) realizes (implements or executes) the behavior that the
other model element (the supplier) specifies.
Dependency
Dependency is a weaker form of bond that indicates that one class depends on another because it
uses it at some point in time
page 24
IFALL
Class diagram
page 25
IFALL
c.Activity diagram:
An activity diagram visually presents a series of actions or flow of control in a system similar to
a flowchart or a data flow diagram. Activity diagrams are often used in business process
modeling. They can also describe the steps in a use case diagram. Activities modeled can be
sequential and concurrent. In both cases an activity diagram will have a beginning and an end.
Action Flow:
Action flows, also called edges and paths, illustrate the transitions from one action state to
another. They are usually drawn with an arrowed line.
Object Flow:
Object flow refers to the creation and modification of objects by activities. An object flow arrow
from an action to an object means that the action creates or influences the object. An object flow
arrow from an object to an action indicates that the action state uses the object.
page 26
IFALL
Guards:
In UML, guards are a statement written next to a decision diamond that must be true before
moving next to the next activity. These are not essential, but are useful when a specific answer,
such as "Yes, three labels are printed," is needed before moving forward.
Synchronization:
A fork node is used to split a single incoming flow into multiple concurrent flows. It is
represented as a straight, slightly thicker line in an activity diagram.
A join node joins multiple concurrent flows back into a single outgoing flow.
page 27
IFALL
A fork and join mode used together are often referred to as synchronization.
Time Event:
This refers to an event that stops the flow for a time; an hourglass depicts it.
Swimlanes:
Swimlanes group related activities into one column.
page 28
IFALL
Activity diagram
page 29
IFALL
d. Sequence diagram:
A Sequence diagram is an interaction diagram that shows how processes operate with one
another and in what order. It is a construct of a Message Sequence Chart. A sequence diagram
shows object interactions arranged in time sequence. It depicts the objects and classes involved
in the scenario and the sequence of messages exchanged between the objects needed to carry out
the functionality of the scenario. Sequence diagrams are typically associated with use case
realizations in the Logical View of the system under development. Sequence diagrams are
sometimes called event diagrams or event scenarios.
page 30
IFALL
For database:
a. ER diagram:
In software engineering and Entity-Relationship model (E-R Model) is
a data model for describing data or information aspects of a business domain or
its process requirements, in an abstract way that lends itself to ultimately being
implemented in a database such as a relational database? The main components of
ER models are entities (things) and the relationships that can exist among them.
The process is modeled as components (entities) that are linked with each
other by relationships that express the dependencies and requirements between
them, such as: one building may be dividing into zero or more apartments, but
one apartment can only be located in one building.
page 31
IFALL
page 32
IFALL
Layout
page 33
IFALL
TESTING
Testing is a process of executing a program with the intent of finding an error. Testing
demonstrates that software functions appear to be working according to specification, that
behavior and performance requirements appear to have been met.
White Box Testing:White-box testing (a.k.a. clear box testing, glass box testing, transparent
box testing, or structural testing) is a method of testing software that tests internal structures or
workings of an application, as opposed to its functionality (i.e. black-box testing). In white-box
testing an internal perspective of the system, as well as programming skills, are required and
used to design test cases.
Black-box testing: Black-box testing is a method of software testing that tests the functionality
of an application as opposed to its internal structures or workings. Specific knowledge of the
application's code/internal structure and programming knowledge in general is not required. Test
cases are built around specifications and requirements, i.e., what the application is supposed to
do.
page 34
IFALL
Unit Testing: It focuses the verification effort in the smallest unit of software design the module.
Using the procedural design description as a guide, important control paths are tested to uncover
errors within the boundary of the module. The relative complexity of tests and uncovered errors
is limited by the constrained scope established for unit testing. The unit test is normally white-
box oriented, and the step can be conducted in parallel for multiple modules.
System Testing:In this level of testing we are testing the application as a whole after completing
the integration of all the main modules all the main modules ofthe project. We are testing
whether the application is giving providing the correct information and output or not.
All the different modules were integrated and then the complete flow of information
among those modules was checked. It was also checked that whether the flow of testis as per the
requirements of the application or not. Checks were done to see the presence of any non-
functioning module. It was also checked that once the integration is over, each and every module
is functioning as it must be or not.
In this level of testing we tested the following: -
page 35
IFALL
page 36
IFALL
COST ANALYSIS
a.Methodology used:
The Constructive Cost Model (COCOMO) is an algorithmic software cost model developed
by Barry W. Boehm. The model uses a basic regression formula with parameters that are derived
from historical project data and current as well as future project characteristics.
COCOMO consists of a hierarchy of three increasingly detailed and accurate forms. The first
level, Basic COCOMO is good for quick, early, rough order of magnitude estimates of software
costs, but its accuracy is limited due to its lack of factors to account for difference in project
attributes (Cost Drivers). Intermediate COCOMO takes these Cost Drivers into account
and Detailed COCOMO additionally accounts for the influence of individual project phases.
b. Cost of project
Effort estimation using COCOMO model:
For any given set of requirements it is essential to know how much it will cost to develop
the application software to satisfy the given requirements and how much time it will take for the
development .These estimates are needed before development is initiated. The primary reason for
cost and schedule estimation is to enable the client or developer to perform a cost benefit
analysis and for project monitoring and control.
The project has been developed considering the COCOMO (Constructive Cost Model)
model which computes software development effort as a function of program size and set of
"Cost Drivers" that include product, hardware, personnel and project attributes. Effort is
calculated in terms of Person-Month.
Steps of Analysis:
1. Obtain an initial estimate of development effort as follows:
Ei = a * (KSLOC) ^ b
Where, a & b are constants which are determined depending on the type of project.
KSLOC is Thousand Single lines of Code.
2. Determine a set of 15 multiplying factors from different attributes of the product
Which are:
Product Attributes: Required reliability, Product Complexity
Computer Attributes: Execution time constraints, Main storage constraint, Virtual Machine
volatility, Computer turnaround time.
Personnel Attributes: Analyst Capability, Application experience, Programmer capability,
page 37
IFALL
Hardware Attributes
Run-time performance constraints Nominal 1.00
Memory Constraints Nominal 1.00
Volatility of the virtual machine environment Nominal 1.00
Personnel Attributes
Analyst Capability Very High 1.15
Software engineer capability Very High 1.15
Application experience High 1.00
Programming language experience High 0.95
Computer turnaround time Nominal 1.00
Project Attributes
Modern programming practices Nominal 1.00
Use of software tools High 0.91
Application of Software engineering methods High 0.91
Required development schedule Nominal 1.00
page 38
IFALL
Estimation of Development:
From the above data, we have inferred that the KLOC is 3.302 and the effort is 14
Person-Month. On the basis of this data, we can estimate the development time.
We have,
D = cb (E) ^ db
Where, cb = 2.4, db = 0.3
D = (2.4) (13.8469)0.38
D = 6.5151
D = 7 months
Development time = 7 Months
Project cost per day is 300 so total cost of the project including all the third party tools is
page 39
IFALL
SYSTEM MAINTENANCE
System maintenance is an ongoing activity, which covers a wide variety of activities, including
removing program and design errors, updating documentation and test data and updating user
support. System maintenance is the routine updating of master files, such as adding and deleting
employees and customers and changing credit limits and product prices.Software
maintenance in software engineering is the modification of a software product after delivery to
correct faults, to improve performance or other attributes.
Software maintenance is a very broad activity that includes error correction, enhancements of
capabilities, deletion of obsolete capabilities, and optimization. Because change is inevitable,
mechanisms must be developed for evaluation, controlling and making modifications.
So any work done to change the software after it is in operation is considered to be maintenance
work. The purpose is to preserve the value of software over the time.
For the purpose of convenience, maintenance may be categorized into three classes, namely:
i) Corrective,
ii) Adaptive
iii) Perfective.
page 40
IFALL
page 41
IFALL
USER MANUAL
Inorder to use this application user needs to follows some of the basic steps:
Before using this application user should ensure that they make use of android operating
system with version higher than 4.2 (jellybean).
First user need to study the detail description written in the user manual activity for
getting detail knowledge of how this application works.
Before clicking on the start fall monitor button user need to do some necessary settings.
In this Setting Activity first it will ask the waiting duration of how long the bell will ring
after detecting a fall, the default time will be 5 seconds.
After that user can select the ringtone which needs to be played after detecting a fall. This
will be available under ringtone setting.
Next the user needs to fill 3 contacts detail to whom message will be send. This will be
available under contact information list which need to be submitted for storing in
database.
After this user can click on message setting list where user can set the message that will
be send. The default message would be “I am in trouble need help.” .
This are the necessary settings that need to be done before clicking on the button “start
fall to monitor”.
Once clicked on it will ask the user to enable Internet and include GPS location for
tracing your current location.
If not enabled then it would be done through network provider but address won’t be
accurate or it can’t sometime trace location.
A popup box on detecting fall will be shown asking the user whether you want to send
message or not.
If the user won’t take any action or click on yes the appropriate message will be sent to
all the 3 contacts stored in the database.
page 42
IFALL
FUTURE ENHANCEMENT
a. Limitations:
b. Future Scope:
The flexibility of the Android platform along with the phone’s hardware capability allows this
system to be extended in numerous ways. Bluetooth support could allow iFall to gather
additional data readings from micro-sensors embedded in articles of clothing . Ideally, a sensor
would be embedded in head or eye wear due to the fact that the head is the most reasonable
location for fall detection using threshold based algorithms . The system could also use image
support from mounted, bluetooth cameras as described in and . The system could also use the
Wi-Fi connection to log the data readings on a server. More sophisticated pattern matching
algorithms can be then be ran . Efforts are
being made to build a database of common ADL readings . This information can be exploited in
attempts to classify what type of action the user is performing based on pattern matching
techniques.
page 43
IFALL
DATA DICTIONARY
All the information required by a specific system is accomplished by a central repository called a
Data Dictionary. The objective of creating data dictionary is to centralize all the information so
that it becomes easy to understand the system the information contained in it.
A conventional Data Dictionary describes all the entities in the system along with all its
attributes, the various process, methods and modules in which this attributes are used and their
aliases.
The Table which is used to store the database is
Contacts
DATABASE DESIGN
A database is an organized mechanism that has the capability of storing information
through which a user can retrieve stored information in an effective and efficient manner. The
data is the purpose of any database and must be protected.
The database design is a two level process. In the first step, user requirements are
gathered together and a database is designed which will meet these requirements as clearly as
possible.
In the second step, this Information level design is transferred into a design for the
specific DBMS that will be used to implement the system in question. This step is called
Physical Level Design
A relational model represents the database as a collection of relations. Each relation resembles a
table of values or file of records. In formal relational model terminology, a row is called a tuple,
a column header is called an attribute and the table is called a relation. A relational database
consists of a collection of tables, each of which is assigned a unique name. A row in a tale
represents a set of related values.
page 44
IFALL
A table is a relation. The rows in a table are called tuples. A tuple is an ordered set of n
elements. Columns are referred to as attributes. Relationships have been set between every
table in the database. This ensures both Referential and Entity Relationship Integrity. A
domain D is a set of atomic values. A common method of specifying a domain is to specify a
data type from which the data values forming the domain are drawn. It is also useful to
specify a name for the domain to help in interpreting its values. Every value in a relation is
atomic, that is not decomposable.
RELATIONSHIPS:
Table relationships are established using Key. The two main keys of prime importance are
Primary Key & Foreign Key. Entity Integrity and Referential Integrity Relationships can be
established with these keys.
Entity Integrity enforces that no Primary Key can have null values.
Referential Integrity enforces that no Primary Key can have null values.
Referential Integrity for each distinct Foreign Key value, there must exist a matching Primary
Key value in the same domain. Other key are Super Key and Candidate Keys.
Relationships have been set between every table in the database. This ensures both
Referential and Entity Relationship Integrity.
NORMALIZATION:
As the name implies, it denoted putting things in the normal form. The application
developer via normalization tries to achieve a sensible organization of data into proper tables and
columns and where names can be easily correlated to the data by the user. Normalization
eliminates repeating groups at data and thereby avoids data redundancy which proves to be a
great burden on the computer resources. These includes:
page 45
IFALL
Table Name:Contacts
page 46
IFALL
a. Bibilography:
b. website used:
1. www.google.com
2. www.androiddevelopers.com
3. Beginning Android by Mark L. Murphy
4. Wrox Professional Android Application Development
5. Software Engineering (By PankajJalote)
6. http://universimmedia.pagesperso-orange.fr/geo/loc.htm
page 47