You are on page 1of 47

IFALL

INTRODUCTION

a) Theoritical and background history:

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

Version Code name Release date API level

6.0–6.0.1 Marshmallow October 5, 2015


23

page 1
IFALL

Version Code name Release date API level

5.0–5.1.1 Lollipop November 12, 2014


21–22

4.4–4.4.4,
4.4W– KitKat October 31, 2013 19–20
4.4W.2

4.2.x Jelly Bean November 13, 2012 17

4.1.x Jelly Bean July 9, 2012 16

4.0.x Ice Cream Sandwich December 16, 2011 15

3.2 Honeycomb July 15, 2011 13

3.1 Honeycomb May 10, 2011 12

2.3.3–2.3.7 Gingerbread February 9, 2011 10

2.3–2.3.2 Gingerbread December 6, 2010 9

2.2 Froyo May 20, 2010 8

2.0–2.1 Eclair October 26, 2009 7

page 2
IFALL

Version Code name Release date API level

1.6 Donut September 15, 2009 4

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.

Underlying all applications is a set of services and systems, including:

 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

 Free Type - bitmap and vector font rendering


 SQLite - a powerful and lightweight relational database engine available to all
application
Android Runtime:

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 Virtual Machine:

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:

SQLite is a relational database management system contained in a small (~350 KB)


C programming library. In contrast to other database management systems, SQLite is not a
separate process that is accessed from the client application, but an integral part of it.
SQLite is ACID-compliant and implements most of the SQL standard, using a dynamically and
weakly typed SQL syntax that does not guarantee the domain integrity.

page 5
IFALL

SQLite is a popular choice as embedded database for local/client storage in application


software such as web browsers. It is arguably the most widely deployed database engine, as it is
used today by several widespread browsers, operating systems, and embedded systems, among
others. SQLite has many bindings to programming languages.
The source code for SQLite is in the public domain.

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.

b)Objective and scope of project:

Objective:
 The objective of the project is to achieve the fall detection using mobile phone
technology.

 Generating an alert system for fall detection.

 Reduce injuries and death arising from falls.

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

 Easy to understand and can be used by any people.

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

 MESSAGE WITH CURRENT LOCATION


When fall has been detected then alarm starts ringing till the user stop it’s ringing. If user
is not able to stop means he/she is in unconscious mode. So automatic message with
current location is messaged to his/her relative. But if person is able to stop the alarm
then application is in actual mode and nothing is messaged.

 CALLING
Because some reason if relative is not giving the reply then after some time automatic
call to that particular relative.

e. Advantages / Features of project:


 The system will make the primary contacts of user aware about that the user may be in
trouble.
 The location of user will be send to the contacts which are saved.
 Easy to understand and easy to use.

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.

b. Non- Functional Requirements:


 Availability: Since the hardware component used in the project are already present
(accelerometer, gyroscope),it is easy to implement.
 Reliability: The application runs on certain algorithm and it is user friendly the user can
completely rely on this.
 Compatibility: This application runs on all the above 4.0 which comprises 96% of the
shares in market it is easily compatible.

c. User Requirements:

page 10
IFALL

 User should have an android smart phone with internet enabled.


 User should contain a balance for sending message to saved contacts.
 Use should process android phone with version above 4.0(ICSH).

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.

The economic feasibility parameters are:

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

Possible questions raised in economic analysis are:

 Is the system cost effective?


 Do benefits outweigh costs?
 Is the project possible, given the resource constraints?
 What are the savings that will result from the system?
 Estimated cost of software/software development?

page 12
IFALL

 Is the project possible, given the resource constraints?

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.

PROCESS MODEL INVOLVED

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.

Advantages of Incremental model:

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

Disadvantages of Incremental model:

 Needs good planning and design.


 Needs a clear and complete definition of the whole system before it can be broken down
and built incrementally.
 Total cost is higher than waterfall.

page 14
IFALL

METHODOLOGY ADAPTED

Object oriented approach:


Object oriented approach since the components created can be reused later on in
othersubsystems. Scalability and Reliability also makes it towards object orientation.Objects are
accessed somewhat like variables with complex internal structure, and in many languages are
effectively pointers, serving as actual references to a single instance of said object in memory
within a heap or stack. They provide a layer of abstraction which can be used to separate internal
from external code. External code can use an object by calling a specific instance method with a
certain set of input parameters, read an instance variable, or write to an instance variable. Objects

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.

System planning PERT chart

The Chart illustrate the start and finish date of each phases included in the project.

GANTT CHART:

November December January February March

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

27-11-15 40 days 28-12-15 37 days 1-02-16


page 17
IFALL

Requirement Requirement Requirement


27-11-15 15 days 28-12-15 13 days 1-02-16 10 days

Design Design Design


11-12-15 10 days 10-01-16 15 days 11-02-16 25 days

Implementation Implementation Implementation


12-12-15 10 days 26-01-16 5 days 6-03-16 6 days

Testing Testing Testing


22-12-15 5 days 31-01-16 4 days 13-03-16 10 days

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

RELATIONAL DATABASE MANAGEMENT SYSTEM (RDBMS):

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.

RELATIONS, DOMAINS & ATTRIBUTES:

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:

 Normalize the data.


 Choose proper names for the tables and columns.
 Choose the proper name for the data.

Table Name:Contacts

Field Name Datatype Length Key

page 20
IFALL

User_id Number 5 Primary key


User_name Text 20 …
Phone Text 10 …
Email_id Text 10 …

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

might be a person, a company or organization, a computer program, or a computer system—


hardware, software, or both .Actors are always stakeholders, but not all stakeholders are actors,
since they "never interact directly with the system, even though they have the right to care how
the system behaves." For example, "the owners of the system, the company's board of directors,
and regulatory bodies such as the Internal Revenue Service and the Department of Insurance"
could all be stakeholders but are unlikely to be actors.

Actor: The actor represent user of the application.


Usecase: There are 4 usecases involved start Application, add numbers, alert notification, send
message, call.
Direct Association : It represents direct link between the user and the usecases.

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

Derived (can be combined with one of the


/
others)

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

Initial State or Start Point:


A small filled circle followed by an arrow represents the initial action state or the start point for
any activity diagram. For activity diagram using swimlanes, make sure the start point is placed in
the top left corner of the first column.

Activity or Action State:


An action state represents the non-interruptible action of objects. You can draw an action state in
SmartDraw using a rectangle with rounded corners.

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

Decisions and Branching:


A diamond represents a decision with alternate paths. When an activity requires a decision prior
to moving on to the next activity, add a diamond between the two activities. The outgoing
alternates should be labeled with a condition or guard expression. You can also label one of the
paths "else."

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.

Final State or End Point:


An arrow pointing to a filled circle nested inside another circle represents the final action state.

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.

An Entity-Relationship model is a systematic way of describing and


defining a business process.

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.

Entities may have various properties (attributes) that characterize them.


Diagrams created to represent these entities, attributes and relationships
graphically are called Entity-Relationships Diagrams.

page 31
IFALL

page 32
IFALL

Layout

page 33
IFALL

TESTING

a. Methodology used for 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.

Various testing strategies and techniques have been used as follows:

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: -

 Whether all the forms are properly working or not.


 Whether all the forms are properly linked or not.
 Whether all the images are properly displayed or not.
 Whether data retrieval is proper or not.
 Whether the location of places is proper or not.

page 35
IFALL

b.Test report, printout of the reports, printout of the code sheet:

Sr. Test Case Type of Why? Expected Observed


No Testing Output Output
1 Splash Screen White and For checking After clicking After clicking
Black Box that after click the start button the start button
on button the the application the application
application detects a fall. detects a fall.
detects a fall
2 contacts White and For checking On click of The contacts are
Black Box whether submit button successfully
contacts the after saving enters into
successfully contacts the database.
enter into details enters to
database. database
3 Message White and Whether the After detecting Address
Black Box location is send fall the address successfully
in written should be sent sent.
format. to contacts
4 Dialog box White and Whether dialog The dialog box The dialog box
Black Box box pops up on pops up. pops up.
detecting a fall.
5 Timer White and To check that The dialog box The dialog box
Black Box the dialog box destroys. destroys after
expires after the timer
timer expires expires.

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

Virtual Machine experience, Programming Language experience.


Project Attributes: Modern Programming practices, Use of software tools, required
development schedule.

Effort Adjustment Factor (EAF):


Final effort estimate is calculated by multiplying the initial estimate with EAF:
E=EAF * Ei (person-month)

Following is a basic COCOMO model of the system based on ORGANIC MODE

PRODUCT ATTRIBUTES RATING RATING


Requires software reliability High 1.15
Complexity of the product High 1.15

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

The Intermediate COCOMO formula now takes the form...


E = ai(KLOC)(bi)* EAF
Where, E is the effort applied in person-months, KLOC is the estimated number of
thousands of delivered lines of code for the project and EAF is the factor calculated
above
Here ai =3.2 and bi =1.05
EAF = 1.15 * 1.15 * 1.00 * 1.00 * 1.00 * 1.15 * 1.15 * 1.00 * 0.95 * 1.00 * 1.00 * 0.91 * 0.91
* 1.00
= 1.275
KLOC=3.302
E = (3.2)*(3.302)1.05*(1.275)
E = 13.8469
Effort ≈ 14 person/month
Therefore Effort 2 person / 7 month

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

Total Cost = 7*200*500

Total Cost = 70,000/-

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.

i) Corrective Maintenance: - This type of maintenance implies removing errors in a


program, which might have crept in the system due to faulty design or wrong assumptions. Thus,
in corrective maintenance, processing or performance failures are repaired.

ii) Adaptive Maintenance: - In adaptive maintenance, program functions are changed to


enable the information system to satisfy the information needs of the user. This type of
maintenance may become necessary because of organizational changes which may include:

a) Change in the organizational procedures,


b) Change in organizational objectives, goals, policies, etc.
c) Change in forms,
d) Change in information needs of managers.

page 40
IFALL

e) Change in system controls and security needs, etc.

iii) Perfective Maintenance: - Perfective maintenance means adding new programs or


modifying the existing programs to enhance the performance of the information system. This
type of maintenance undertaken to respond to user’s additional needs which may be due to the
changes within or outside of the organization. Outside changes are primarily environmental
changes, which may in the absence of system maintenance, render the information system
ineffective and inefficient. These environmental changes include:

a) Changes in governmental policies, laws, etc.,


b) Economic and competitive conditions, and
c) New technology.

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:

 It requires internet to be enabled.


 Without internet connection provide location can’t be send.
 The user should have some balance in phone to send message.
 The Network location provider does not shows accurate location.
 It does not work if the phone gets crashed.

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

RELATIONAL DATABASE MANAGEMENT SYSTEM (RDBMS):

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.

RELATIONS, DOMAINS & ATTRIBUTES:

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:

 Normalize the data.


 Choose proper names for the tables and columns.
 Choose the proper name for the data.

page 45
IFALL

Table Name:Contacts

Field Name Datatype Length Key


User_id Number 5 Primary key
User_name Text 20 …
Phone Text 10 …
Email_id Text 10 …

page 46
IFALL

CONCLUSION & REFERENCES

a. Bibilography:

1.IEEE engineering research paper.


2.Android developer.

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

You might also like