Final Report 9

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 44

CHILD DIGITAL MONITORING

AND CONTROLLING SYSTEM

A PROJECT REPORT

Submitted by

DEVARAM S (720819205010)
SUDHARSHAN D (720819205048)
VIGNESHKUMAR V (720819205050)
VIMANTHAN M (720819205052)

in partial ful fillment for the award of the degree

of

BACHELOR OF TECHNOLOGY
IN

INFORMATION TECHNOLOGY

HINDUSTHAN INSTITUTE OF TECHOLOGY,COIMBATORE


ANNA UNIVERSITY : CHENNAI 600 025

MAY 2023

i
ANNA UNIVERSITY: CHENNAI 600 025
BONAFIDE CERTIFICATE

Certified that this project report CHILD DIGITAL MONITORING AND

CONTROLLING SYSTEM“ is the bonafide work of “DEVARAM S VIGNESH

KUMAR V VIMANTHAN M SUDHARSHAN D” who carried out the project

work under my supervision.

SIGNATURE SIGNATURE

Ms.R.Priya. M.E., Dr.M.Duraipandian, M.E.,Ph.D.,

SUPERVISOR HEAD OF THE DEPARTMENT


Information Technology Information Technology

Hindusthan Institute of Technology Hindusthan Institute of Technology

Coimbatore–641032
Coimbatore–641032

Submitted for the University Project Viva Voice Examination


Conducted on …………………

INTERNAL EXAMINER EXTERNAL EXAMINER

ii
ACKNOWLEDGEMENT

We express our sincere thanks to Hindusthan Educational and Charitable


Trust for providing us the necessary facilities to bring out the project
successfully. Wefelt gratefulness to record our thanks to the Chairman
Shri.T.S.R.Khannaiyann,Secretary, Smt.Saraswathi Khannaiyann and
Joint secretary Smt.Priya Satish Prabu , for all their support and the rayof
strengthening hope extended toour project. It is a moment of immense pride
for us to revealprofound thanks to our respected Principal, Dr.C.Natarajan,
M.E.,Ph.D., who happens to be the striving force in all our endeavours.

We make immense pleasure in conveying our hearty thanks to


Dr.M.Duraipandian, M.E., Ph.D., Professor and Head of Information
Technology Department for providing an opportunity to work on this
project. Hisvaluable suggestions helped us a lot to do this project
successfully.

A word of thanks would not be sufficient for the work of our project
guide Ms.R.Priya, M.E., AssistantProfessor, Department of Information
Technology whose leads usthrough every trying circumstance . We deeply
express our gratitude to all the Faculty Membersand Support staff of
theDepartment of Information Technology, for their encouragement,
whichwe havereceived throughout our project.

DEVARAM S

VIGNESHKUMAR V

SUDHARSHAN D

VIMANTHAN M

iii
ABSTRACT

The world is changing rapidly due to information technology, and all the people around

the world are busy with their jobs, and business, adjusting to this race. Now, parents are

giving more time at their business, office, and jobs, instead of passing the time at home,

but they always get worried and scared about their children due to abuse of Information

Technology and the country's law and order situation. So, parents are wanted to track and

monitor their child's activities and location from anywhere to resolve their pressure. But

is not possible for every parent to monitor their child physically due to many reasons. This

paper presents a system that will help parents monitor their child activities from anywhere

using a mobile phone to solve the problem. This android app uses global positioning

system (GPS) and mobile services to find the child location and secretly stored all the call

logs, hort message service (SMS) logs, contact lists, and accurate locations without

knowing the children. Children assume that they are using Face book, browsing the net or

watching videos from YouTube. It will not hamper any activities of the child. Parents can

check all the activities of children using this app.

iv
TABLE OF CONTENT

CHAPTER.NO TITLE PAGE. NO

ABSTRACT iii

LIST OF FIGURES 1

LIST OF ABBREVATION 2

1 INTRODUCTION 4

1.1 SYSTEM ARCHITECTURE 5

2 SYSTEM ANALYSIS 6

2.1 EXISTING SYSTEM 6


2.2 PROPOSED SYSTEM 6

3 MODULE DESCRIBTION 7

3.1 PARENT MODULE 7

3.2 ADMIN MODULE 8

3.3 CHILD MODULE 8

v
4 SYSTEM SPECIFICATION 8

4.1 SOFTWARE REQIUREMENTS 8

4.2 HARDWARE COMPONENTS 9

4.3 FLOW DIAGRAM 10

4.4 DATA FLOW DIAGRAM 10

5 LITERATURE REVIEW 11

6 SOFTWARE DESCRIPTION 14

6.1 ANDRIOD 14

6.2 ARCHITECTURE DIAGRAM 14

6.3 ANDRIOD SDK 17

6.4 CLIENT SERVER ARCHITECTURE 22

7 TESTING AND IMPLEMENTATION 27

7.1 UNIT TESTING 28

7.2 INTEGRATION TESTING 28

7.3 VALIDATION TESTING 29

7.4 OUTPUT TESTING 29

7.5 USER ACCEPTANCE TESTING 30

vi
8 SAMPLE CODE 30

9 CONCLUSION 34

10 BIBLIOGRAPHY 35

11 CONCLUSION 36

vii
LIST OF FIGURES:

CHAPTER.NO TITLE PAGE.NO

1 SYSTEM ARCHITECTURE 2

2 FLOW DIAGRAM 7

3 DATA FLOW DIAGRAM 8

4 ARCHITECTURE DIAGRAM 10

5 CLIENT SERVER ARCHITECTURE 19

1
LIST OF ABBREVATIONS:

AB.NO ABBREVATION

1 GPS – GLOBAL POSITIONING SYSTEM

2 SMS – SHORT MESSAGE SERVICE

3 GSM – GLOBAL SYSTEM FOR MOBILE


COMMUNICATION

4 SIM – SUBSCRIBER IDENTITY MODULE

5 GPS – GLOBAL POSITIONING SYSTEM

6 IMEI – INTERNATIONAL MOBILE EQUIPMENT


IDENTITY

7 SOS - SAVE YOUR SOUL

8 GPRS – GENERAL PACKET RADIO SERVICES

9 GIS – GEOGRAPIC INFORMATION SYSTEM

10 SDK – SOFTWARE DEVELOPMENT KIT

11 API – APPLICATION PROGRAMMING


INTERFACE

12 DVM – DALVIK VIRTUAL MACHINE

13 AAC – AUGMENTATIVE AND ALTERNATIVE


COMMUNICATION

14 AMR – ADAPTIVE MULTI-RATE

15 JPEG – JOINT PHOTOGRAPIC EXPERTS


GROUP

16 PNG – PORTABLE NETWORK GRAPHICS

2
17 GIF – GRAPICS INTERCHANGE FORMAT

18 IDE – INTERGRATED DEVELOPMENT


ENVIRONMENT

19 CD – COMPACT DISK

20 ADT – ABSTRACT DATA TYPE

21 U1 – USER INTERFACE

22 XML – EXTENSIBLE MARK UP LANGUAGE

23 GUI – GRAPHICAL USER INTERFACE

24 IDL – INTERFACE DEFINITION LANGUAGE

25 JDBC – JAVA DATABASE CONNECTIVITY

26 JNDL – JAVA NAMING DIRECTORY


INTERFACE

27 RMI – REMOTE METHOD INVOCATION


+

3
Child Monitoring Application
INTRODUCTION

Now daily 80% of individuals on the planet having smart phones use people for different
purposes. The most issue of child tracking system android application. The android
application uses SMS services and googles geo assistance in locating the missing child’s
location by the survey of missing children in 2004. There are of total 5996 kids are
missing. Out of those only 4092 children return or were found by police. However, 1904
children are missed. And also the kid's ages 14 years and 17 years are missed or ran far
from home. The oldsters are worried about their children. By missing the youngsters the
parents are scared to go on a family trip. There are many chances to miss the child on the
trip. The project is developed for those parents who have worried to miss their child. In
Today’s world, most of Child’s have smart phones. With the assistance of smart phones,
geo, and SMS- based tracking applications parents can watch on their child. Geo is
combined with GSM-based SIM card into mobile to look at on Child's location. The
google geo uses longitude and latitude to trace the placement the SMS(Short Message
Service)is used to communicate child side and parent side applications. SMSservice is
used when mobile phones don’t support internet connectivity. System ready to send the
child’s smart phone’s exact location in the parent's smart phone when parent demand to
test the child’s location.

4
SYSTEM ARCHITECTURE :

5
EXISTING SYSTEM:

 The application is not worked well when there is no network available. In that case the
application fails the exact location. But the application stores the last location which
can be stored at the database server. When mobile is switched off then we consider
this as a one of the drawback of system.
 Requires active internet connection.
 Child need to login once into the application.
 System will provide inaccurate results if data not entered correctly.

Applications:

 This application can be used by any parent who wants to track or monitortheir
child without any physical interference.

PROPOSED SYSTEM:

 Parent could be able to track child using their separate android application provided
for the parent.
 Parent could track the location and also could get all the call logs, messages and
contact list from the child mobile phone.
 Parent can locate and retrieve details anywhere and anytime.
 Application automatically operates location requests without user interaction because
at that time child not have knowledge to update his location at map. The system
requires location and telephony services. Third advantage is it can

 be used at indoors where GPS satellites connectivity is not available. At that time, it can
use network provides for location services.

6
 Network provider service uses cellular ID such as IMEI number for location tracking.
Lastly all the controls are in parent side. The child side has less control access.

MODULES

1. Parent Modules

2. Admin Modules

3. Child Module

MODULE DESCRIBTION

1. Parent Module
Parent module consists of the next features like Create site details, View Google geolocation,
Manage sites, Block Site, Receive SMS & email. the appliance by minimum runs the
computer program, mostly for map tracking, also as a service (Listener) that runs within the
background of the smart phone application. On the kid side, that's the client, the applying is
usually a service or Listener that runs within the background of the Smartphone. A user, the
parent which acts as a server, will use the interface to send a location request SMS to the
child.
The Listener at the parent side performs one main function which is to pay attention to
the child’s reply to the placement request. However, the Listener on the child side (client)
performs two main functions. one in every one of these functions is periodically to listen and
gets location coordinates updates from GPS satellite or Network provider whichever more
accurate. Few elements and fewer user interactions. this may lead to a system that's simple
and simple to implement and use, thus making it more user-friendly.
Primarily, we described the parent's section. To login into the system, parents have to
input all of the required information like a name, password, as Figure 5. If all the information
match with the database, then a guardian can be able to login into the system, that a parent
can track the current child location, which shows the page of the GPS location of the child
application, this is a real- time location track from the child mobile.

7
Furthermore, a parent can check the call history from their children's mobile phone to
be aware of their childhood friends list and gossiping them.

Besides this, parents are also able to view the SMS history of their children and also
can check the internet browsing history from their children's mobile phone as which is very
important for a parent to monitor their children's all smartphone activities and protected them
from any misuse of Smartphone.

2. Admin Module
Admin module consists of the subsequent features like Monitor Emergencies SOS.

3. Child Module
Child module consists of the next features like Login, Search site, Update Geolocation, SOS
Button - For emergency, SMS responsive to parent, Add Guardian - Email & Mobile No,
Manage Guardian. the kid module is attached to the child. Its primary role is to periodically
receive messages and in response send messages to the parent module and alert them if the
kid is in peril. The kid module also contains a buzzer alarm that sounds whenever the kid is
alarmed. this enablesa parent to more easily locate the troubled child.

Software Requirements:

 Windows XP, Windows 7(ultimate, enterprise)


 Android Studio
 Visual Studio

8
Hardware Components:

 Processor – i3
 Hard Disk – 5 GB
 Memory – 1GB RAM
 Android Phone with Kitkat and higher

FLOW Diagram

9
DATA FLOW DIAGRAM

10
LITERATURE REVIEW

A smart mobile phone provides various up to date services to us. Using the global
positioning system (GPS), we can get to know our devices' geographic location and give
information through hort message service (SMS) service. Al-Mazloum et al. used these
two services in their proposed system. They introduced GPS and SMS- based child
tracking system using smart phone [12]. This paper describes how a smart mobile phone
helps parents track their children in real-time. Most kids and parents use an android
mobile phone, and they know the mobile phone's available service. Their proposed
system consists of two sides, the child side and the parent side. A request SMS goes to the
child's device to know the child's exact location from the parent device. After getting the
request SMS, the child's device replies to the parent's device's GPS position.

Kothawade et al. [13] proposed a system “multi-platform application for parent and
school using GPS tracking”. In this paper, they developed a GPS based application system
for an organization and parents mobiles. The organization can use this application for
monitoring and tracking the location of the school buses. Parents can get the addresses of
their children and locate them on his/her mobile devices. School authority also can
monitor and track the school buses timely and ensures the safety of children. It also allows
parents to track real-time information about the school bus during travels. Almomani et
al. [14] proposed a system with two types of applications a web application and a mobile
application for a user facility. A user can access this system at any time from
anywhere.There are two sides: client-server. The server-side carries a GPRS, a web, and
an SMS server, and the client-side contains a GPS tracker and a GPS modem. The user
information is stored in the database on the server-side [14]. There is another similar
concept used by Al-Suwaidi and Zemerly [15] in their proposed system named .

11
locating friends and family using mobile phones with a global positioning system (GPS)”.
They have also developed two approaches: the client-server approach. This paper showed
both clients have the same control and command privileges, whereas the other system does
not provide it.

Gao et al. [16] developed a security method named child guard on smart devicesfor
observing children's activities in real-time. Guardians used this system at a low
cost, and they can get better benefits by using this system. Satish et al. [17]
described their paper about an android application used to track missing children.The
android application works with two services: GPS and SMS service. The GPSis used to
track the location of the missing child. If GPS service is unable, theapplication can
work with SMS service by sending and receiving the message.There is another paper
where the researcher Bhoi et al. [18] implements a projectbased on a particular area for
each child. When the child comes out of this specificarea of their school, then an alert
message sends to the parent's mobile phone byusing a panic switch. Saranya et al. [19]
proposed a child monitoring system basedon android phones for the children's security.
This system helps the parents toknow whether their children are safe or not. This system
consists of two functions.The software hand function monitors the child's activities,
and the danger zonefunction alerts the guardians about their children's location by using
GPS sensors, acceleration sensors, and mobile geographic information systems GIS.
Subramanian and Govindarajan, [20] discussed different type of LocationPrediction
Techniques in their study. In this paper, they have used data miningtechniques to find
mobile users' movements' locations. Kaittan et al. [21] designeda monitoring system for
infant baby in "Smart management system for monitoringand control of infant baby bed”.
This paper designed a baby bed with an intelligentsystem and used the sensor to monitor
the baby.

12
Okilas et al. [22] designed a “Location-based service for information publication using GPS
on android-based mobile phone”. In this paper, the difference in the accuracy of the GPS
readings used in mobile the shifting point is about 18 meters. Table 1 shows recent child
tracking researches, methods, and limitation of current researches. In the discussion, most
researchers focused on children monitoring systems to protect them from any unwanted
accident, missing, and making them secure and safe. But in our research, we introduced a
system that will be used to save the children and be used to observe their mobile activities
without children's consent.

13
Software Description:

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

1.1 Architecture Diagram

The following diagram shows the major components of the Androidoperating


system. Each section is described in more detail below.

14
The main components of the Android architecture:

1. Applications:

These are applications written in Java. Some of basic applications include a


calendar, email client, SMS program, maps, making phone calls, accessing the Web
browser, accessing your contacts list and others.

2. Application Framework:

This is the skeleton or framework which all android developers have to follow.
The developers can access all framework APIs an manage phone’s basic functions like
resource allocation, switching between processes or programs, telephone applications,
and keeping track of the phone’s physicallocation.

The architecture is well designed to simplify the reuse of components. Think of


the application framework as a set of basic tools with which a developer can build
much more complex tools.

3. Libraries:
This layer consists of Android libraries written in C, C++, and used by various
systems. These libraries tell the device how to handle different kinds of data and are
exposed to Android developers via Android Application framework. Some of these
libraries includes media, graphics, 3d, SQLite, web browser library etc.

The Android runtime layer which includes set of core java libraries
and DVM(Dalvik Virtual Machine) is also located in same layer.

15
4. Runtime Android:

This layer includes set of base libraries that are required for java libraries.
Every Android application gets its own instance of Dalvik virtual machine. Dalvik
has been written so that a device can run multiple VMs efficiently and it executes
files in executable (.Dex) optimized for minimum memory.

5. Kernel – Linux:

This layer includes Android’s memory management programs, security


settings, power management software and several drivers for hardware, file system
access, networking and inter-process-communication. The kernel also acts as an
abstraction layer between hardware and the rest of the software stack.

1.1. FEATURES

1. Application framework enabling reuse and replacement


ofcomponents.
2. Dalvik virtual machine optimized for mobile devices.
3. Integrated browser based on the open source Web Kit engine.
4. Optimized graphics powered by a custom 2D graphics library; 3D
graphics based on the OpenGL ES 1.0 specification (hardware
acceleration optional).
5. SQLite for structured data storage.
6. Media support for common audio, video, and still image formats
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) .
7. GSM Telephony (hardware dependent).
8. Bluetooth, EDGE, 3G, and Wi-Fi (hardware dependent).

16
9. Camera, GPS, compass, and accelerometer (hardware dependent).
10. Rich development environment including a device emulator, tools for
debugging, memory and performance profiling, and a plugin for the
Eclipse IDE

2.ANDROID SOFTWARE DEVELOPMENT TOOL KIT

Android SDK is a very useful tool that allows developers and users alike to take more
control of their devices. Was there ever a time, where you wanted to add/remove
something from your phone, but it just wouldn't let you? Have you ever needed to test
something that wasn't working, and you needed to find out why? Ever encountered the
most famous of lines "Permission Denied"? All of those questions have been asked by
many, and with this tutorial, I'm hoping to at least answer some of the many questions
surrounding Developing on an Android device. There are many uses for Android SDK,
which I hope to cover in this instructional "blog" without boring you guys to death lol.
Without getting to in- depth at this point as to what SDK does, let's just go over a FEW
benefits of using SDK.

The Following kits are,

1. Debugging. SDK helps you in so many ways, one of the most beneficial being
debugging. If you're developing an app for your device, and you are running into constant
force closes, then you can fire up SDK and try to find out why.

2. Testing. If you don't feel quite comfortable with testing certain things on your own
device, Android SDK also allows you to use an emulator on your computer

17
with real life interactions to show you exactly what would happen if you added/removed
something from your device.

3. Rooting. Most of the Rooting techniques we have for the Epic consists of One Click
methods brought to you by smart Dev's that like to make things easier for you. Before that,
we had to manually push the files to the phone, and put them in the correct places.
Sometimes, people don't get so lucky with the One Clickmethod and must revert back to
the "Prehistoric Method" lol.

4. Installing Apks. If you have an app that you want to put on your device, but
don't have the convenience of adding it with an application manager of some sort, then you
can always use the SDK to do so.

5. Adding/Removing Files. A lot of times, certain files managers don't show you
everything you need to see in order to do particular things you want to do. With Android
SDK, as long as you know the directory, you can move the files. Sometimes, you may need
to set permissions before hand, but that is also capable with SDK.

There are MANY more options for the Android SDK, but I want to keep it short and sweet
and not bore you guys too much lol.

Some Basic SDK Commands

There are plenty of commands that you can use through SDK, but I will give you a couple
to help you with what you need to do. Before you can use any of the commands, you will
first need open Windows command prompt to CD to the directory to which you installed
your SDK. As I said before, I installed mine to myC: Drive directly, so for me to CD to
that directory, the command looks like this.

18
cd C:/SDK/Tools

To make it even easier, you can hold "Shift" and right click on the "Tools" folder of
your SDK and it should bring up a menu in which you can choose "Open CommandPrompt".
.

Here are a few basic commands to help you on your way.

1. adb shell - The adb shell command allows you to control your phone as root from your
command prompt terminal. When you type "adb shell", you will then be prompted on
your phone from Superuser to either allow or deny access. Should you click deny, you
will have to restart your phone, reconnect your phone to your computer via USB cable,
and start again, so MAKE SURE you click allow. Once you click allow on your phone,
your command prompt will return with the pound symbol (#). If it does, you are now
controlling your phone as a root user from your computer. You can do a lot of things
from this point here which I will cover in another tutorial later, for now, we will just
stick to the basics.

2. adb push - The adb push command allows you to transfer files from your computer
to your phone without having to mount your sdcard to your phone, copy the file to your
phone, then disconnect, and have to use a file manager to manually put the file where
you want it. In order to push ANY files to your phone, you MUST have the file in your
SDK/Tools folder already.

3. adb pull - The adb pull command can be used to pull various items from your phone.
A simple example of this command would be: adb pull /system/framework/framework-
res.apk /Desktop/Android/. You can pull just about anything from your phone, but when I
say just about, i mean exactly that. Just about anything. There are certain things you will
NOT be able to pull, such as items that are packed inside compressed files (I.E.
anything inside a Kernel)

19
4. ddms - The ddms command allows you to debug your phone in one of the many
ways. You can also use the ddms command to take screenshots of your phone should you
want to show it off .

ADT Plug-in
Android Development Tools (ADT) is a plug-in for the Eclipse IDE that is designed to give
you a powerful, integrated environment in which to build Android applications.

ADT extends the capabilities of Eclipse to let you quickly set up new Android projects,
create an application UI, add packages based on the Android Framework API, debug your
applications using the Android SDK tools, and even export signed (or unsigned) .apk files
in order to distribute your application.

Developing in Eclipse with ADT is highly recommended and is the fastest way to get
started. With the guided project setup it provides, as well as tools integration, custom XML
editors, and debug output pane, ADT gives you an incredible boost in developing Android
applications.

This document provides step-by-step instructions on how to download the ADT


plug-in and install it into your Eclipse development environment. Note that before you can
install or use ADT, you must have compatible versions of both the Eclipse IDE and the
Android SDK installed. For details, make sure to read installing the Eclipse Plug-in.

If you are already using ADT, this document also provides instructionson how
to update ADT to the latest version or how to uninstall it, if necessary.Features, SDKtool
integration, and the graphical layout editor (for drag-and- drop layout editing),

20
Features of Java
Java is a new computer programming language developed by SunMicrosystems. Java
has a good chance to be the first really successful new computer language in several decades.
Advanced programmers like it because it has a clean, well-designed definition. Business
likes it because it dominates an important new application, Web programming.

Java Has Several Important Features:

 A Java program runs exactly the same way on all computers. Most other languages
allow small differences in interpretation of the standards.

 It is not just the source that is portable. A Java program is a stream of bytes that can
be run on any machine. An interpreter program is built into Web browsers, though it can
run separately. Java programs can be distributed through the Web to any client computer.

 Java applets are safe. The interpreter program does not allow Java code loaded from
the network to access local disk files, other machines on the local network, or local
databases. The code can display information on the screen and communicate back to the
server from which it was loaded

A group at Sun reluctantly invented Java when they decided that existing computer
languages could not solve the problem of distributing applications over the network. C++
inherited many unsafe practices from the old C language. Basic was too static and
constrained to support the development of large applications and libraries.

Today, every major vendor supports Java. Netscape incorporates Java support inevery
version of its Browser and Server products. Oracle will support Java on the Client, the Web
Server, and the Database Server. IBM looks to Java to solve the problems caused by its
heterogeneous product line.

21
The Java programming language and environment is designed to solve a number of
problems in modern programming practice. It has many interesting features that make it an
ideal language for software development. It is a high-level language that can be characterized
by all of the following buzzwords:

FEATURES

 Simple
 Object-oriented
 Distributed
 Robust
 Secure
 Architecture Neutral
 Portable
 Interpreted
 High performance
 Multithreaded
 Dynamic.

The various technologies used in the software system are

Client-Server Architecture
Over the years there have been 3 different approaches to application development

 Traditional Approach

 Client/Server Approach

 Component-based Approach

22
In a traditional approach there was a single application that handles the
presentation logic, business logic, and database interactivity. These applications were also
called Monolithic applications. The drawback of this approach was that if even a minor
change, extension, or enhancement was requiredin the application, the entire application had
to be recompiled and integrated again.

Due the disadvantage of the traditional approach, the client/Server architecture


(also called 2-Tier Architecture) was introduced. In this architecture, the data is separated
from the client-side and is stored at a centralized location that acts as a server. The business
logic is combined with the presentation logic either at the client- side or at the server-side
that has the database connectivity code.

If the business logic is combined with the presentation logic at the client-side, the
client is called a fat client.If the business logic is combined with thedatabase server, the server
is called a fat server.

Thus a 2-tiered architecture divides an application into 2 pieces:

 The GUI (client)

 Database (server).

The client sends a request to the server. The server being a more powerful machine
does all the fetching and processing and returns only the desired result set back to the client
for the finishing touches. In effect, weaker machines virtually have a shared access to the
strength of the server at the back-end. Faster execution at the server side results in less network
traffic and increased response time for the program to fetch and process the data.

However the client/server architecture also had certain disadvantages:

23
 Any change in the business policies required a change in the business logic. To
change the business logic, either the presentation logic or database connectivity
code has to be changed, depending on the location of the business logic.

 Applications developed using 2-Tier architecture might be difficult to scale up


because of the limited number of database connections available to the client.
Connections requests beyond a particular limit are simply rejected by the server.

The disadvantages with the client/server architecture led to the development of


the 3-Tier Architecture. In 3-Tier architecture, the presentation logic resides at the
client-side, the database is controlled by the server-side, and the business logic resides
between the two layers. This business logic layer is referred to as the application server
(also called middle-tier of component based architecture).This type of architecture is
also called server-centric.

Since the middle-tier handles the business logic, the work load is balanced
between the client, the database server, and the server handling the business logic. This
architecture also provides efficient data access. The problem with database connection
limitation is minimized since the database sees only the business logic layer and not all its
clients.

In the case of a two-tier application, a database connection is established early and is


maintained, where as in a three-tier application, a database connection is established only
when data access is required and releases as soon as the data is retrieved or sent to the
server.

The application where the presentation logic, the business logic, and the
database reside on multiple computers is called distributed application.

Features of Java Programming Language


Java technology is both a programming language and a platform

24
The Java Platform

A platform is the hardware or software environment in which a program runs. We have


already mentioned some of the most popular platforms like Microsoft Windows,
Linux,Solaris OS, MacOS. Most platforms can be described as a combination of the
operating system and underlying hardware. The Java platform differs from most other
platforms in that it’s a software-only platform that runs on top of other hardware=based
platforms

The Java platform has two components:

 The Java Virtual Machine

 The Java Application Programming Interface(API)

The API is a large collection of ready-made software components that


provide many useful capabilities. Such as graphical user interface(GUI)widgets. It is
grouped into libraries of related classes and interfaces; these libraries are known as
packages. The next section, what can Java Technology Do?, highlights some of the
functionality provided by the API.

The following figure depicts how the API and the Java Virtual Machine insulate the
program from the hardware.

As a platform-independent environment, the Java platform can be a bit slower than native
code. However, advances in compiler and virtual machine technologies are bringing
performance close to that of native code without threatening portability.

 The general-purpose, high-level Java programming language is a powerful software


platform. Every full implementation of the Java platform gives you the following
features:

25
 Development Tools: The development tools provide everything you’ll need for
compiling, running, monitoring, debugging, and documenting your applications. As a
new developer, the main tools you’ll be using are the
Java compiler(javac), the Java launcher (java), and the Java documentation tool
(javadoc).

 Application Programming Interface(API): The API provides the core functionality of


the Java programming language. It offers a wide array of useful classes ready for use
in your own applications. It spans everything from basic objects, to networking and
security, to XML generation and database access. The core API is very large, to get an
overview of what it contains, consult the release documentation liked to at the bottom
of this page.

 Development Technologies: The JDK provides standard mechanisms, such as Java


Web Start and Java Plug-In, for deploying your applications to end users.

 User Interface Toolkits: The Swing and Java 2D toolkits make it possible to create
sophisticated Graphical User Interfaces(GUIs). Integration Libraries: Integration
libraries such as IDL, JDBC, JNDL,RMI, and RMI-IIOP, enable database access and
manipulation of remote objects.

Features of the Java Technology

 Write less code: Comparisons of program metrics (class counts, method counts, and
so on) suggest that a program written in the Java programming language can be four
times smaller than the same program in C++.

26
 Write better code: The Java programming language encourages good coding
practices, and its garbage collection helps you avoid memory leaks. Its object
orientation, its JavaBeans component architecture, and its wide- ranging, easily
extendible API let you reuse other people’s tested code and introduce fewer bugs.

 Develop programs more quickly: Your development time may be as much as twice
as fast versus writing the same program in C++. Why? You write fewer lines of
code and it is a simpler programming language than C++.

 Avoid platform dependencies: You can keep you program portable by avoiding the
use of libraries written in other languages.

 Write one, run anywhere: Because java applications are compiled into machine-
independent bytecodes, they run consistently on any Java platform.

 Distribute software more easily: With Java Web Start technology, users will be able
to launch your applications with a single click of the mouse. An automatic version
check at startup ensures that users are always up to date with the latest version of
your software. If an update is available, Java Web Start will automatically upgrade
their installation.

TESTING AND IMPLEMENTATION

TESTING

Testing is a series of different tests that whose primary purpose is to fully


exercise the medicine based system. Although each test has a different purpose, all work
should verify that all system element have been properly integrated and performed
allocated function. Testing is the process of checking whether the developed system works
according to the actual requirement and objectives of the system.

27
The philosophy behind testing is to find the errors. A good test is one that has a
high probability of finding an undiscovered error. A successful test is one that uncovers
the undiscovered error. Test cases are devised with this purpose in mind. A test case is a set
of data that the system will process as an input. However the data are created with the intent
of determining whether the system will process them correctly without any errors to
produce the required output.

Types of Testing:

 Unit testing

 Integration testing

 Validation testing

 Output testing

 User acceptance testing

Unit Testing
All modules were tested and individually as soon as they were completedand were
checked for their correct functionality.

Integration Testing
The entire project was split into small program; each of this single programs gives a frame
as an output. These programs were tested individually; at last all these programs where
combined together by creating another program where all these constructors were used. It
give a lot of problem by not functioning is an integrated manner.

28
The user interface testing is important since the user has to declare that the arrangements
made in frames are convenient and it is satisfied. when the frames where given for the test,
the end user gave suggestion. Based on their suggestions the frames where modified and put
into practice.

Validation Testing

At the culmination of the black box testing software is completely assembled as a package.
Interfacing errors have been uncovered and corrected and a final series of test i.e., Validation
succeeds when the software function in a manner that can be reasonably accepted by the
customer.

Output Testing

After performing the validation testing the next step is output testing of the proposed system.
Since the system cannot be useful if it does not produce the required output. Asking the user
about the format in which the system is required tests the output displayed or generated by the
system under consideration. Here theoutput format is considered in two ways. one is on screen
and another one is printed format. The output format on the screen is found to be corrected as
the format was designed in the system phase according to the user needs. And for the hardcopy
the output comes according to the specifications requested by the user.

Performance Testing
This project is a application based project, and the modules are interdependent with the other
modules, so the testing cannot be done module by module. So the unit testing is not possible
in the case of this driver. So this system is checked only with their performance to check
their quality.

29
Sample Code:

package com.ktg.gallery.Adapter;
import android.content.Context;import
android.content.Intent; import
android.util.Log;
import android.view.LayoutInflater;import
android.view.View;
import android.view.ViewGroup;import
android.widget.TextView;
import androidx.annotation.NonNull;

import androidx.appcompat.widget.AppCompatImageView; import


androidx.cardview.widget.CardView;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;

import androidx.recyclerview.widget.RecyclerView;

import com.ktg.gallery.Models.location; import


com.ktg.gallery.R;
import java.util.List;

public class UserAdapter extends


RecyclerView.Adapter<UserAdapter.MyViewHolder>{

private List<location> getUsers;


Context ctx;

public UserAdapter(List<location> getUsers, Context ctx) {


this.getUsers = getUsers;

30
this.ctx = ctx;

@NonNull
@Override

public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, intviewType) {

View itemView = LayoutInflater.from(parent.getContext())

.inflate(R.layout.adapter_location, parent, false);

return new MyViewHolder(itemView);

@Override

public void onBindViewHolder(@NonNull MyViewHolder holder, int position)

location am=getUsers.get(position);
Log.e("loc",am.getClat()+","+am.getClong());
holder.tvDisplayName.setText(am.getClat()+","+am.getClong());

holder.tvRole.setText("DATE: "+am.getCreateDate());

31
holder.CardView.setOnClickListener(new View.OnClickListener() {@Override
public void onClick(View view) {
Intent intent = new Intent("LOC_Event");
intent.putExtra("Id",holder.tvDisplayName.getText().toString());
LocalBroadcastManager.getInstance(ctx).sendBroadcast(intent);

});

@Override

public int getItemCount() {return


getUsers.size();
}

@Override

public long getItemId(int position) {return


position;
}

@Override

32
public int getItemViewType(int position) {return
position;
}

public class MyViewHolder extends RecyclerView.ViewHolder {TextView


tvDisplayName,tvUserName,tvPermission,tvRole; AppCompatImageView
CardView;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
tvDisplayName = itemView.findViewById(R.id.tvDisplayName);

tvRole = itemView.findViewById(R.id.tvRole);
CardView = itemView.findViewById(R.id.cv);
}

33
CONCLUSION

The word Future resembles the word Children. The future pillars of one’s nation",
today's children are tomorrow's youngsters, preserving their dreams and life for a better future
is necessary. Therefore, every parent should take care of their children, without letting them
fall into the dark world of abuse, which entirely ruins them physically, mentally, and
emotionally destroying our future. Hence, considering the importance of our future, our
project makes it easy for parents to track their children and to visually monitor them on regular
basis, which makes them ensure the safety of their children and reduces the rate of incidents
of child abuse. It is a big benefit for the parents that many children are using smartphone while
in school, and that is why the guardian can monitor the children's activities and track the
children through accessing smartphone, which is very important for busy guardians. This
paper presented research that will help guardians monitor their child activities from anywhere
using smartphone whenever they want from any location. They can also check their children
current location, which websites they have visited, how many calls. They have given to friends
or others the SMS logs and which video they have watched without informing and hampering
the children's activities to be aware of their child activities in the future if they find anyterrible
habit of their children. This app is very useful for parents to monitor their children and to
resolve their mental pressure.

34
BIBLIOGRAPHY

1) William Grosso, “JAVA”, O'Reilly Media, Inc.; 1 edition, 2001


2) John Zukowski, “Definitive Guide to Swing for Java 2”,1999
3) Roger S.Pressman, “SOFTWARE ENGINEERING –A PRACTIONERS
APPROACH “, Tata McGraw Hill Publishing Company, 1997.
4) JAVA 2 Platform, standard Edition, V 1.3.1 API Specification
5) Java RMI: Remote method Invocation(Paperback) Troy Bryan Downing
6) Patrick Naughton “The Java Hand Book” Tata McGraw Hill, 2006
7) Mark Grand and Jonathan Knudsen, “Java Fundamental Classes Reference”,
Tata McGraw-Hill Publishing Company Limited, 1st Edition, May 1997.
8) Dietel & Deitel, Java How To Program, BPB Publishers, New Delhi, 2000.
9) O’reilly, Java Swings, Tata McGrawHill, Fifth Edition, 2002.

Websites
 www.java.sun.com
 www.samba.org
 http://www.db.cs.ucdavis.edu
 Java Database Programming Bible.
 Principles of Database Systems With Internet and Java Applications
 www.microsoft.com
 www.smartdraw.com
 www.laynetworks.com

35
REFERENCES

[1] AkashMoodbidri, Hamid Shahnasser, ”Child Safety Wearable Device”,


Department of Electrical and Computer Engineering San Francisco State University.
[2] AnandJatti, MadhviKannan, Alisha RM, Vijayalakshmi P, ShresthaSinha, "
Design and Development of an IOT based wearable device for the Safety and Security
of women and girl children “, IEEE International Conference On Recent Trends In
Electronics Information Communication Technology, May 20-21, 2016,
India

[3] "RFID-based System for School Children Transportation Safety Enhancement ",
Proceedings of the 8th IEEE GCC Conference and Exhibition, Muscat, Oman, 1- 4
February 2015.
[4] Dr.R.Kamalraj,” A Hybrid Model on Child Security and Activities Monitoring
System using IoT”, IEEE Xplore Compliant Part Number: CFP18N67-ART; ISBN:978-
1-5386-2456-2.
[5] Pooja. K.Biradar1, Prof S.B.Jamge2,” An Innovative Monitoring Application for
child Safety”, DOI:10.15680/IJIRSET.2015.0409093.

36
37

You might also like