Академический Документы
Профессиональный Документы
Культура Документы
MS
in
Information Technology
By
Page 1
Contents
CHAPTER 1........................................................................................................ 4
INTRODUCTION.............................................................................................. 4
1.
PROBLEM STATEMENT............................................................................. 4
2.
OBJECTIVES............................................................................................. 4
3.
EXISTING SYSTEM.................................................................................... 5
DISADVANTAGES............................................................................................ 5
CHAPTER 2........................................................................................................ 6
SYSTEM REQUIREMENTS SPECIFICATION..........................................................6
2.1
Hardware Requirement:.......................................................................6
2.2
Software Requirement:.........................................................................6
2.3
2.3.1
Functional Requirements:.................................................................6
2.3.2
CHAPTER 3........................................................................................................ 8
3.1
LITERATURE SURVEY............................................................................ 8
3.1.1
PUSH NOTIFICATION:......................................................................8
CHAPTER 4...................................................................................................... 11
4.1
PROPOSDED SYSTEM.........................................................................11
4.1.1
4.2
ADVANTAGES............................................................................... 11
4.2.1
Android Features..........................................................................11
4.2.2
Android Architecture....................................................................12
4.2.3
CHAPTER 5...................................................................................................... 15
SYSTEM DESIGN.............................................................................................. 15
5.1
System Architecture...........................................................................15
5.2.1
5.2.2
5.2.3
5.2.4
5.2.5
5.3
ER-DIAGRAM....................................................................................... 20
5.4
SEQUENCE DIAGRAM..........................................................................21
5.4.1
Search donors:............................................................................. 22
Page 2
5.4.2
Send notification:.........................................................................23
5.4.3
SEARCH HOSPITALS.....................................................................24
5.5
ACTIVITY DIAGRAM............................................................................. 25
5.5.1
5.6
APPLICATION FLOWCHART..................................................................27
5.7
DATAFLOW DIAGRAM..........................................................................28
CHAPTER 6...................................................................................................... 29
IMPLEMENTATION........................................................................................ 29
CHAPTER 7...................................................................................................... 34
REFERENCES............................................................................................... 34
Page 3
CHAPTER 1
INTRODUCTION
Every year our nation requires about 4 Cr. units of blood, out of which
only 5 Lakh units of blood are available. It is not that, people do not want to
donate blood. Often they are unaware of the need and also they do not have a proper
facility to enquire about it. As a result, needy people end up going through a lot of
pain. India has many blood banks, all-functioning in a decentralized fashion. In the
current system, individual hospitals have their own blood banks and there is no
interaction between blood banks.
The management is ad-hoc with no semblance of organization or
standard operating procedures. Donors cannot access blood from blood banks other
than the bank where they have donated blood. In present system all the blood banks
are attached to hospitals and there is no stand-alone blood bank. Some hospital has its
own systems and limitations. The co-ordination between the blood banks is practically
impossible. Because of low number of donors and more number of blood banks, the
efficiency and quality of blood banks are low, resulting in wastage of blood and
blood components.
1. PROBLEM STATEMENT
The main aim of the project is to effectively manage the blood banking
system. This project enables the users to access nearest blood bank with GPS, it also
checks the availability of the required blood group, provides necessary information
about the volunteer blood donors who have registered by installing the app.
2. OBJECTIVES
Developing an android application which allows the users to locate the nearest blood
Page 4
3. EXISTING SYSTEM
In the present day scenario people who are in need of blood have to enquire the
doctors or the blood banks which is time consuming process and it is not an effective method.
It consumes lot of man power to maintain the records manually.
The donors might not be aware of the blood requirements during the emergency
situations henceforth there is a no adequate supply of blood which may result in increase in
the death rate during emergency situation.
The donors are not aware of the blood donation camps that are frequently conducted
due to lack of communication.
DISADVANTAGES
the fixation of the server or may have to depend on the backup server.
All the blood banks should use the same software to update the blood availability.
Erroneous updates by the hospital management may misguide the recipients.
CHAPTER 2
SYSTEM REQUIREMENTS SPECIFICATION
2.1Hardware Requirement:
Client:
Android Phone
512Mb RAM
100mb User memory(free)
3G Enabled(for better reliability)
Page 5
Server:
PHP Server
SQL Server
Push Notification Server (Using Google's Cloud messaging server)
2.2Software Requirement:
Client:
Server:
Functional Requirements:
opened
User should be able to see the request he received at any given time within application
2.3.2
request
For all interaction with server response time should not cross more than 5 minutes
Page 6
CHAPTER 3
BACKGROUND THEORY
3.1LITERATURE SURVEY
i. PUSH NOTIFICATION:
There are a number of studies in the literature on Push Notifications. Push
Notification can be defined as a short message that is pushed to a certain application or
individuals smart phone. This message informs the end user that there is an update or an
event available that is related to the application. For example, an individual can be notified
about certain events like placement details about a certain job availability.
The cloud platform can be used to make sure that notifications are pushed to the
mobile device. While selecting a cloud service it is selected from the available services which
are provided by cloud viz. Software as a service, Infrastructure as a service and Platform as a
service. The googles cloud messaging app uses Platform as a service to implement C2DM
(Cloud to device messaging) and is very-well integrated with Googles services. The Platform
as a Service is a preconfigured service provided by Google and provides higher level of
abstraction than other cloud services.
The push messaging will also include libraries like XMPP and C2DM with some
particular ones like Urban Airship, Xtify and MQTT but the focus will mainly be on C2DM
and XMPP. The XMPP protocol is used for real-time messaging and used for instant
messaging by Google. The implementation of XMPP in cloud messaging is done by
modifying it to suit the needs of cloud messaging by integrating it with the cloud services.
Page 7
1) data preprocessing with point cluster reduction and density leverage; 2) offering the
candidate solution within a pool of the best; 3) the balancing of matching results from
multiple matching factors with rank aggregation; 4) Intelligently utilizing the basic network
constraint attributes with expert rules to increase the matching accuracy; and 5) Dempster
belief test to discern the noise and off-road travel. this analysis has shown that the
performance of the new algorithm is comparable with the others when the candidate pool size
is small and network/GPS trace size is large. Further research needs to quantify the
performance of this algorithm and others with respect to a complete set of survey travel
routes recorded.
interacting with the driver and display detailed information. The most critical ones are related
to security and privacy of the users and to efficient positioning and real-time route guidance.
A key component of such a system must be the mobile application which will collect the
traffic data, integrate security algorithms and finally present guidance information to the
driver.
CHAPTER 4
4.1
PROPOSDED SYSTEM
An easy way to search the nearest blood banks to the accident site with the help of
GPS.
An effective way to find out the availability of the required blood groups in the blood
banks.
Providing tips regarding the necessary measures that are to be taken before the blood
donation.
4.1.1 ADVANTAGES
The application educates about the know how about the blood banking system.
Enables Enables the users to easily locate the nearest blood banks.
the users to request for the necessary blood units to a large number of donors if they
fail to find blood in blood banks.
Nowadays most of the people are equipped with the smart phones which creates a
greater exposure for the blood banking system which saves considerably greater
number of lives.
4.2
Page 11
onCreate() Called when the activity is first created. This is where one should do all of
the normal static set up: create views; bind data to lists, etc. This method also
provides user with a Bundle containing the activity's previously frozen state, if there
was one.
onRestart() Called after activity has been stopped, prior to it being started again.
onStart() Called when the activity is becoming visible to the user. Followed by
onResume() if the activity comes to the foreground, or onStop() if it becomes hidden.
onResume() Called when the activity will start interacting with the user. At this point
Activity is at the top of the activity stack, with user input going to it.
onPause() Called when the system is about to start resuming a previous activity. This
is typically used to commit unsaved changes to persistent data, stop animations and
other Things that may be consuming CPU, etc. Implementations of this method must
be very quick because the next activity will not be resumed until this method returns.
Page 12
onStop() Called when the activity is no longer visible to the user, because another
activity has been resumed and is covering this one. This may happen either because a
new activity is being started, an existing one is being brought in front of this one, or
this one is being destroyed.
onDestroy() The final call receive before activity is destroyed. This can happen either
because the activity is finishing.
Page 13
CHAPTER 5
SYSTEM DESIGN
5.1
System Architecture
The above diagram shows system architecture of the android application. The system
consists of 3 modules namely client, server and GCM module. The client module consists of
the android device users who register with the device ID. They can perform operations such
as send request, search hospitals and blood banks for the required blood group. The server
module is made up of two separate servers PHP and MySql server. PHP server is used to
convert the request sent by user which is in HTTP format into a form which is understood by
the database. MySql server receives the operations by PHP and performs required DB
operations. Google Cloud Messaging is a service provided by the Google for developers to
send data, notifications to the registered user of the application. To send notifications the
server will make use of this GCM server.
Page 14
5.2
There are two actors here User and Server. The user will send the request for the
donors to the server. The server will check the required blood group in the database through
suitable queries and will send the donors list. The user can call or text the donors near him.
Page 15
There are three actors here User, Server and GCM Server. The user will send the
notification to the application server which will be received in the form of a message. The
application server will send the request to the GCM server with the device IDs so that the
push notification will be sent to the registered users.
Page 16
There are two actors here User and Server. The user will send the request for the
hospitals near his location to the server. The server will check the nearest hospitals to the user
location and will send the list of hospitals sorted in the nearest order to him. The user can call
the hospital or can view the hospitals on maps.
Page 17
There are two actors here User and Server. The user will send the request for the
blood banks near his location to the server. The server will check the nearest blood banks to
the user location and will send the list of blood banks sorted in the nearest order to him. The
user can call the blood bank or can view the blood banks on maps.
There are two actors here User and Server. The user will have options to view and edit
his profile. In the edit profile option he can enter or modify his contact information along
with his last donated date. The changes made will be stored in the database.
Page 18
5.3
ER-DIAGRAM
Page 19
5.4
SEQUENCE DIAGRAM
A sequence diagram is a model that describes how group of objects collaborate in
some behavior overtime. The sequence diagram captures the behavior of a single use case and
shows the object and messages that are passed between these objects in the time frame of the
specific use case. The sequence diagram doesnt show the relationship between the objects.
The sequence diagram might also be used to:
Describe the overall sequence of the flow of control when there are many short
methods in different classes.
Show time sequence that are not easily depicted in a collaboration diagram.
Show general forms that do not deal with objects but with the class interaction.
Page 20
Page 21
Page 22
Page 23
5.5
ACTIVITY DIAGRAM
In Unified Modeling Language, an activity diagram represents the business and
Page 24
Press back to
Exit
Stop
Start
Yes
No
Conne
ct
Main menu
Error in
connectio
n
View
notificatio
n
List of
notification
Caller
dialog
Send
notification
Enter
details
Search
hospitals
List of
Bloodbanks
Send
request
Caller
dialog
Page 25
Search
blood
bank
List of
Hospitals
View
on map
Update
profile
5.6
APPLICATION FLOWCHART
The above diagram shows the flow chart of the application. When the user enters the
application for the first time with proper internet connection he will be registered
automatically by fetching the device ID for the future reference. After the successful
registration the user will be directed to the main activity where he will be provided with
options like send blood request, search donors, search hospitals and blood banks near him. A
series of activities will be done when the user clicks on any of the displayed options. The
Page 26
database is used to search blood groups, donors, hospitals etc.,. When the user double taps on
back button the application will be stopped.
5.7
DATAFLOW DIAGRAM
The above diagram shows the flow chart of the application. When the user enters the
application for the first time with proper internet connection he will be registered
automatically by fetching the device ID for the future reference. After the successful
registration the user will be directed to the main activity where he will be provided with
options like send blood request, search donors, search hospitals and blood banks near him. A
series of activities will be done when the user clicks on any of the displayed options. The
database is used to search blood groups, donors, hospitals etc. When the user double taps on
back button the application will be stopped.
Page 27
CHAPTER 6
IMPLEMENTATION
Implementation literally means to put into effect or carry out. The system
implementation face of the software deals with the translation of the design specifications
into the source code. The ultimate goal of the implementation is to write the source code and
the internal documentation so that it can be verified easily. The code and the documentation
should be written in a manner that uses testing, debugging and modification.
A post-implementation review is an evaluation of the extent to which the system
accomplishes stated objectives and actual project costs exceed initial estimates. It is usually a
review of major problems that need converting and those that surface during the
implementation stage.
Check Internet Connection
@Override
protected void onCreate(Bundle savedInstanceState) {
if ( device registered) {
goto Main Screen // Allowed to use offline data
} else if ( device not connected to network) {
DisplayErrorMessage( Please Connect to active network )
Exit // Exit the application
}
}
SendRequest Async Task
private class sendRequestTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
//get Register ID from SystermPrefrrences
String registrationId = SystermPrefrrences
.getString(PROPERTY_REG_ID, ");
//send request to server
ServerUtilities.sendRequest(SendNotification.this, notification ,registrationId);
}
Page 28
Registering device
New AsyncTask(void, void, void) { //To make code run on separate thread
@Override
protected Void doInBackground(Void... params) {
//Check the registration id stored on device or not
if ( registrationId is Empty){
GoogleCloudMessaging.register();
//Store regId in preferrrences for later Use
}
if ( not registered on server ) {
registerRegidOnServer ( regId )
//store registration status in server
}
if ( OfflineData doesnt exists ){
dbDup = getServerDataDump ();
//Store dbDump to local Device DB
}
}
@Override
protected void onPostExecute(Void result) {
if ( successful ) {
goto main activity
}
}
}
SendNotification.java
On Load of Ativity :
@Override
protected void onCreate(Bundle savedInstanceState) {
//SetDatePicker for future 1 month dates only
DatePickerDialogdpd = new DatePickerDialog(getActivity(), ondateSet, year, month,
day);
dpd.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
Calendar.add(Calendar.DAY_OF_MONTH, 30);
dpd.getDatePicker().setMaxDate(Calendar.getTimeInMillis());
//Load the bloddGroup from String.xml using ArrayAdapter
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.blood_grp_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_ite
m);
Page 29
spinnerBloodGrp.setAdapter(adapter);
}
RESULTS
Fig 5.1 shows the Home page of this application. It is the gateway to access the application.
Buttons in this page:
Blood Group: User should enter the required blood group here.
Location: User should specify the location where he needs the blood.
Search Donors: User should enter this button to search the donors.
View Notifications: User should press this to view the notifications in the device.
Send Notifications: User should press this button to send the notifications to other
users.
Search Blood Bank: User should press this to search blood banks.
Search Hospital: User should enter this button to search the hospitals near him.
Page 30
Help Line Numbers: This button will show list of emergency numbers.
Tips for Donations: When the user press this button he will receive healthy tips for
blood donations.
Update Profile: User should press this button to update his profile information.
Fig 5.2 shows the send notification activity. Whenever user wants to send a
notification with required blood group he enters this activity.
Buttons in this page:
Location: User should enter the location where the blood his required.
Page 31
Required on/before: User should specify the date on which he requires blood.
Fig 5.3 shows the view notification activity. The users can view the notification in
this page, which are sent by other users through send notification.
Page 32
CHAPTER 7
REFERENCES
Seth Y. Fiawoo and Robert Sowah of S.Y. Dept. of Computer. Engineering, University
of Ghana Design and development of an Android application to process and display
summarized corporate data in IEEE 4th international conference of Adaptive Science
& Technology.Year:2012.
July|Paper-06, Reg.
No.:20120618|
DOI:V1I1P06
http://www.androidhive.info/
http://www.php.net/manual/
http://tutorialspoint.com/android/android_architecture.m
http://www.mysql.com
https://support.google.com/googleplay/android-developer/
http://appinventor.mit.edu/explore/sites/explore.appinventor.mit.edu/files/resources/s
martUniv.pdf
Feb 1, 2008].
Page 33
Page 34