You are on page 1of 87

madeehasaeed.sa@gmail.

com

Abuse Prevention App

By

Madeeha Saeed

(16-Arid-712)

Supervised by

Dr. Yaser Hafeez

UNIVERSITY INSTITUTE OF INFORMATION TECHNOLOGY

PMAS ARID AGRICULTURE UNIVERSITY

RAWALPINDI
2020
Abuse Prevention App

By

Madeeha Saeed

(16-Arid-712)

Supervised by

Dr. Yaser Hafeez

A PROJECT SUBMITTED IN PARTIAL FULFILLMENT OF THE


REQUIREMENTS OF THE DEGREE OF

BACHELOR OF SCIENCE IN COMPUTER SCIENCE ENGINEERING

(BSCS)

UNIVERSITY INSTITUTE OF INFORMATION TECHNOLOGY

PMAS ARID AGRICULTURE UNIVERSITY

RAWALPINDI

2020

I
Dedicated to my beloved parents, Teachers, Seniors, and Dr.
Yaser Hafeez, for their endless support, affection, trust, and
encouragement and to all those, whose prayers always paved
the way to success for us.

Dr. Yaser Hafeez has been the ideal FYP supervisor.


His sage advice, insightful criticisms, and patient
encouragement aided the writing of this documentation and
project performance in innumerable ways. I would like to
thank him for his steadfast support for this project as it was
greatly needed and deeply appreciated.

II
PROJECT IN BRIEF

Project Title: Abuse Prevention App

Organization: University Institute of Information Technology UIIT

Undertaken By: Madeeha Saeed (16-ARID-712)

Supervised by: Dr. Yaser Hafeez

Date Started: 15th October 2019

Date Completed: 20th JULY 2020

Technology Used: Java

Operating System: Windows 10 Pro

System Used: Intel Core i7 Laptop, 16 GB RAM, 250 GB NTFS SSD

III
ACKNOWLEDGMENT

I can't thank enough ALLAH THE ALMIGHTY, who let us complete our project on time
while 2020 has been so unkind and abrupt for us in so many ways. It was way too tough
for all of us; students & teachers both to stay on the track while in lockdown due to the
COVID-19 pandemic. Meanwhile, I are grateful to our parents, seniors, and teachers for
all the support, encouragement, guidance, and motivation to complete our project on time,
regardless of all the discreteness of the times.

I would like to thank our supervisor Dr. Yaser Hafeez, who continuously guided us on
zoom classes and discussed with us all the ups & downs of the development, which I had
been facing since lockdown has been declared. It would have been impossible for us to
keep our FYP Coding journey continued while in lockdown without any stimulus or
guidance, but Sir Yaser kept us on the path by giving his guidance 24/7.

Last but not the least, I would like to thank all the faculty members of UIIT; especially
Dr. Kashif Sattar for his work and help during this hard time, He managed to save our
year from getting wasted and given his support to all the final year students who had been
stuck elsewhere and was not able to continue their academic activities due to so many
reasons. He came up with suitable planning for all the students differently and did not let
any student stay behind in the race of development. I just cannot thank enough for his
services as a Final Year Project Coordinator and I owe him my whole FYP. Without him,
it would not have been possible.

Madeeha Saeed

(16-ARID-712)

IV
DECLARATION

I hereby declare that this project, neither whole nor as a part has been copied out from
any source. It is further declared that I have developed this project and accompanied the
report entirely based on our efforts. If any part of this project is proved to be copied out
from any source or found to be a reproduction of some other. I will stand by the
consequences. No portion of the work presented has been submitted of any application
for any other degree or qualification of this or any other university or institute of learning.

Madeeha Saeed

(16-ARID-712)

V
CERTIFICATION

It is certified that the contents and form of the project entitled “Abuse Prevention App”
submitted by Madeeha Saeed (16-ARID-712) has been found satisfactory for the
requirements of

PMAS – Arid Agriculture University, Rawalpindi

For the award of the degree of

BACHELOR OF SCIENCE IN COMPUTER SCIENCE ENGINEERING (BSCS)

Supervisor: ________________________

Dr. Yaser Hafeez

Examiner 1: ________________________

Ms. Sarfaraz Bibi

Examiner 2: ________________________

Ms. Irum Rubab

Dated: ________________________

Administrator: ________________________
Dr. Yaser Hafeez

VI
ABSTRACT

Women’s security is a critical issue in today’s world and it’s very much needed for every
individual to be acting over such an issue. Our App, “Abuse Prevention App” provides
Realtime self-defense to the user by giving an option of “Alerts”, which uses in-built GPS
& GSM of an android device and sends a distress message with a user’s current location
to the 2 contacts selected by a user. Nowadays due to recently happened cases such as
rape by drivers or colleagues, burglary, etc., women's security has been compromised.

The system uses the Global Positioning System (GPS) technology to find out the location
of women & also uses GSM (Global System for Mobile) to access mobile’s inbuilt
messenger to send alerts to the prospects with the usage of user’s mobile sim. The
prospects will receive a distress message along with user’s (fine) current location; Which
will look like this: “I'm in danger. HELP! My location is: http: // maps. google. com
/?q=33.7112448,73.0751833”. Then, the user’s location provided by the device can be
viewed on Google maps using the Internet or specialized software from an app store i.e.
Google Maps/Foursquare. Our app will be the ultimate tool to deal with the problem like
women security for women working in night shifts and traveling alone, etc.

Keywords: Abuse prevention, Women safety & security, Smartphone, Registered


contacts, Database, GPS (Global Positioning System), GSM (Global System for Mobile).

VII
TABLE OF CONTENTS
ACKNOWLEDGMENT ................................................................................................ IV

DECLARATION ............................................................................................................. V

CERTIFICATION .......................................................................................................... VI

ABSTRACT................................................................................................................... VII

TABLE OF CONTENTS.................................................................................................. 2

LIST OF FIGURES .......................................................................................................... 8

LIST OF TABLES .......................................................................................................... 11

Chapter 1 ...................................................................................................................... 112

INTRODUCTION .......................................................................................................... 12

1.1. PROJECT OVERVIEW........................................................................................... 12

1.2. PROJECT AIM ........................................................................................................ 12

1.3. PROJECT OBJECTIVES ........................................................................................ 12

1.4. PROJECT SCOPE ................................................................................................... 13

1.5. PROBLEM STATEMENT ...................................................................................... 13

1.6. PROPOSED SOLUTION ........................................................................................ 14

1.7. PROPOSED SYSTEM OUTPUT............................................................................ 15

1.8. METHODOLOGY AND SOFTWARE LIFECYCLE FOR THIS PROJECT: ..... 15

1.9. TOOLS AND TECHNOLOGY USE: .................................................................... 16

1.10. DELIVERABLES AND DEVELOPMENT REQUIREMENTS .......................... 17

1.11. CHAPTER SUMMARY ........................................................................................ 18

Chapter 2 ........................................................................................................................ 19

REQUIREMENT ANALYSIS ....................................................................................... 19

2.1 SOFTWARE REQUIREMENT SPECIFICATION ................................................ 19

2.2 FUNCTIONAL REQUIREMENTS ........................................................................ 21


2
2.3 NON-FUNCTIONAL REQUIREMENTS .............................................................. 23

2.3.1 Usability .......................................................................................................... 24

2.3.2 Reliability ........................................................................................................ 24

2.3.4 Performance .................................................................................................... 24

2.4 EXTERNAL INTERFACE REQUIREMENTS ...................................................... 25

2.4.1 Cloud Database ...................................................................................................... 25

2.5 PERFORMANCE REQUIREMENTS .................................................................... 25

2.5.1 Battery Charging .............................................................................................. 25

2.5.2 Load Time ........................................................................................................ 25

2.5.3 Queries Processing ........................................................................................... 25

2.6 OPERATING ENVIRONMENT ............................................................................. 25

2.6.1 DB Management System: Cloud-based database ............................................ 26

2.6.2 Architecture: Peer-to-peer ................................................................................ 26

2.6.3 Operating System: Windows/Android ............................................................. 26

2.6.4 Database: Cloud NoSQL.................................................................................. 26

2.6.5 Platform: Java/XML ........................................................................................ 26

Chapter 3 ........................................................................................................................ 27

SOFTWARE DESIGN ................................................................................................... 27

3.1. USE CASES (FULLY DRESSED) ........................................................................ 27

3.1.1 Registration ..................................................................................................... 27

3.1.2 Login ............................................................................................................... 27

3.1.3 Alerts ............................................................................................................... 29

3.1.4 Set GPS On...................................................................................................... 29

3.1.5 Sync Emergency Contacts ............................................................................... 30

3.1.6 Profile .............................................................................................................. 31

3
3.1.7 Self-Defense Guide/Awareness ....................................................................... 32

3.2. USE CASE DIAGRAM ........................................................................................... 33

3.3. CLASS DIAGRAM ................................................................................................. 34

3.4. SEQUENCE DIAGRAMS....................................................................................... 35

3.4.1. Registration .................................................................................................... 35

3.4.2. Alerts .............................................................................................................. 36

3.4.3. Maps ............................................................................................................... 37

3.4.4. Self-Defense Guide/Awareness ...................................................................... 38

3.4.5. Profile ............................................................................................................. 39

3.5. ACTIVITY DIAGRAMS......................................................................................... 40

3.5.1. App Activity ................................................................................................... 40

3.5.2. Alerts Activity ................................................................................................ 41

3.5.3. Login Activity ................................................................................................ 42

3.6. COMPONENT DIAGRAM ..................................................................................... 43

3.7. DEPLOYMENT DIAGRAM................................................................................... 44

3.8. COLABORATION DIAGRAM .............................................................................. 45

3.9 CHAPTER SUMMARY ........................................................................................... 45

Chapter 4 ........................................................................................................................ 46

PROJECT MANAGEMENT .......................................................................................... 46

4.1. MILESTONES ......................................................................................................... 46

Before Mid-Term ........................................................................................................ 46

4.1.1. Milestone 1 ..................................................................................................... 46

4.1.2. Milestone 2 ..................................................................................................... 46

4.1.3. Milestone 3 ..................................................................................................... 46

After Mid-Term........................................................................................................... 47

4
4.1.4. Milestone 4 ..................................................................................................... 47

4.1.5. Milestone 5 ..................................................................................................... 47

4.1.6. Milestone 6 ..................................................................................................... 47

4.1.7. Milestone 7 ..................................................................................................... 47

4.1.8. Milestone 8 ..................................................................................................... 47

4.1.9. Milestone 9 ..................................................................................................... 48

4.1.10. Milestone 10 ................................................................................................. 48

4.1.11. Milestone 11 ................................................................................................. 48

4.2. PROJECT CLOSEOUT REPORT........................................................................... 48

4.3. OPERATION AND MANAGEMENT PLAN ........................................................ 49

4.4. PROJECT RESOURCE ........................................................................................... 49

4.5. RISK MANAGEMENT ........................................................................................... 51

4.6. RISK ANALYSIS .................................................................................................... 51

4.6.1. RISK IDENTIFICATION................................................................................ 51

4.6.2. RISK RESPONSE ........................................................................................... 52

4.6.3. GRAPHICAL REPRESENTATION OF RISKS ............................................ 54

4.7. CHAPTER SUMMARY .......................................................................................... 54

Chapter 5 ........................................................................................................................ 56

PROJECT IMPLEMENTATION ................................................................................... 56

5.1. PROGRAMMING LANGUAGE ............................................................................ 56

5.2. FRAMEWORK ........................................................................................................ 56

5.3. SYSTEM REQUIREMENTS .................................................................................. 56

5.3.1. Hardware Requirements ................................................................................. 56

5.3.2. Software Requirements .................................................................................. 57

5.4. CHAPTER SUMMARY .......................................................................................... 57

5
Chapter 6 ........................................................................................................................ 58

SOFTWARE TESTING ................................................................................................. 58

6.1. DERIVING TEST .................................................................................................... 58

6.2. TEST ENVIRONMENT .......................................................................................... 58

6.2.1. Software ......................................................................................................... 58

6.2.2. Hardware ........................................................................................................ 58

6.3. TESTING IDENTIFICATION ................................................................................ 58

6.4. TEST PROCEDURE ............................................................................................... 59

6.4.1. Unit Testing .................................................................................................... 59

6.4.2. Setting GPS On ............................................................................................... 59

6.4.4. Permitting Mobile’s GSM............................................................................... 59

6.4.5. System Testing ............................................................................................... 59

6.4.6. Integrate Testing ............................................................................................. 59

6.4.7. Performance Testing ...................................................................................... 60

6.4.8. Stress Testing ................................................................................................. 60

6.5. TEST CASES ........................................................................................................... 60

6.5.1. Test Case 2: Sending Location ....................................................................... 61

6.5.2. Test Case 3: GSM Activation......................................................................... 62

6.6. CHAPTER SUMMARY .......................................................................................... 62

Chapter 7 ........................................................................................................................ 63

CONCLUSION AND FUTURE WORK ....................................................................... 63

7.1. DISCUSSION .......................................................................................................... 63

7.2. CONCLUSION ........................................................................................................ 63

7.3. FUTURE WORK ..................................................................................................... 65

Chapter 8 ........................................................................................................................ 66

6
USER GUIDE ................................................................................................................. 66

8.1. APP LAUNCH PAGE 01 ........................................................................................ 66

8.2. SIGNUP SCREEN ................................................................................................... 67

8.3. MAIN SCREEN ....................................................................................................... 67

8.4. APP LAUNCH PAGE 02 ........................................................................................ 68

8.5. ALERTS ................................................................................................................... 68

8.6. PROFILE SCREEN ................................................................................................. 69

8.7. LOGIN SCREEN ..................................................................................................... 69

8.8. MAPS SCREEN....................................................................................................... 70

8.9. INTRO SLIDERS SCREENS .................................................................................. 71

8.10. AWARENESS SCREENS ..................................................................................... 74

8.11. PERMISSION SCREENS ..................................................................................... 77

LIST OF ABBREVATIONS .......................................................................................... 79

REFERENCES ............................................................................................................... 80

7
LIST OF FIGURES

Figure 1.6.1: Block Diagram .......................................................................................... 14

Figure 1.8.1: Agile Development Cycle ......................................................................... 16

Figure 1.10.1: Project Plan ............................................................................................. 17

Figure 2.1.1: Java Structure ............................................................................................ 20

Figure 2.2.1: Cloud NoSQL Database (Firebase) ........................................................... 22

Figure 2.2.2: Peer-to-peer Architecture .......................................................................... 23

Figure 2.4.1: Cloud Database ......................................................................................... 25

Figure 3.1.1: Registration Use Case ............................................................................... 27

Figure 3.1.2: Medicine Schedule Use Case .................................................................... 28

Figure 3.1.3: Alerts Use Case ......................................................................................... 29

Figure 3.1.4: Display Information Use Case .................................................................. 30

Figure 3.1.5: Send Alerts Use Case ................................................................................ 31

Figure 3.1.6: Profile Use Case ........................................................................................ 31

Figure 3.1.7: Self-Defense Guide/Awareness Use Case................................................. 32

Figure 3.2.1: Use Case Diagram ..................................................................................... 33

Figure 3.3.1: Class Diagram ........................................................................................... 34

Figure 3.4.1: Registration’s Sequence Diagram ............................................................. 35

Figure 3.4.2: Alerts Sequence Diagram .......................................................................... 36

Figure 3.4.3: Maps Sequence Diagram ........................................................................... 37

Figure 3.4.4: Self-Defense Guide/Awareness Sequence Diagram ................................. 38

Figure 3.4.5: Profile Sequence Diagram ......................................................................... 39

Figure 3.5.1: App’s Activity Diagram ............................................................................ 40

Figure 3.5.2: Alerts Activity Diagram ............................................................................ 41

8
Figure 3.5.3: Login Activity Diagram ............................................................................ 42

Figure 3.6.1: Component Diagram ................................................................................. 43

Figure 3.7.1: Deployment Diagram ................................................................................ 44

Figure 3.8.1: Collaboration Diagram .............................................................................. 45

Figure 4.4.1: Project Resources ...................................................................................... 49

Figure 4.6.3: Risk Response Graphs ............................................................................... 54

Figure 5.3.2: Software Requirements ............................................................................. 57

Figure 8.1.1: App Launch 01 UI ..................................................................................... 66

Figure 8.2.1: Signup UI .................................................................................................. 67

Figure 8.3.1: Home Screen UI ........................................................................................ 67

Figure 8.4.1: Launch Page 02 UI .................................................................................... 68

Figure 8.5.1: Alerts UI .................................................................................................... 68

Figure 8.6.1: Profile UI ................................................................................................... 69

Figure 8.7.1: Login UI .................................................................................................... 69

Figure 8.8.1: Maps UI ..................................................................................................... 70

Figure 8.9.1: Slider 01 UI ............................................................................................... 71

Figure 8.9.2: Slider 02 UI ............................................................................................... 71

Figure 8.9.3: Slider 03 UI ............................................................................................... 72

Figure 8.9.4: Slider 04 UI ............................................................................................... 72

Figure 8.9.5: Slider 05 UI ............................................................................................... 73

Figure 8.9.6: Slider 06 UI ............................................................................................... 73

Figure 8.10.1: 01 UI ........................................................................................................ 74

Figure 8.10.2: 02 UI ........................................................................................................ 74

Figure 8.10.3: 03 UI ........................................................................................................ 75

Figure 8.10.4: 04 UI ........................................................................................................ 75

9
Figure 8.10.5: 05 UI ........................................................................................................ 76

Figure 8.10.6: 06 UI ........................................................................................................ 76

Figure 8.10.7: 07 UI ........................................................................................................ 77

Figure 8.11.1: GSM UI ................................................................................................... 77

Figure 8.11.2: GPS UI .................................................................................................... 78

10
LIST OF TABLES

Table 4.2.1: Deliverables Plan ........................................................................................ 48

Table 4.4.1: Table of Project Responsibilities ................................................................ 50

Table 4.6.1: Risk Identification Table ............................................................................ 51

Table 4.6.2: Risk Response Table .................................................................................. 52

Table 5.3.1: Hardware Requirements ............................................................................. 56

Table 6.5.1: Sending Alert Test Case ............................................................................. 60

Table 6.5.2: Sending Location Test Case ....................................................................... 61

Table 6.5.3: GSM Activation Test Case ......................................................................... 62

11
Chapter 1

INTRODUCTION

1.1. PROJECT OVERVIEW

Women’s security is a critical issue in today’s world and it’s very much needed for every
individual to be acting over such an issue. Our App, “Abuse Prevention App” provides
Realtime self-defense to the user by giving an option of “Alerts”, which uses in-built GPS
& GSM of an android device and sends a distress message with a user’s current location
to the 2 contacts selected by a user. Nowadays due to recently happened cases such as
rape by drivers or colleagues, burglary, etc., women's security has been compromised.
The system uses the Global Positioning System (GPS) technology to find out the location
of women. Then, the user’s location provided by the device can be viewed on Google
maps using the Internet or specialized software from an app store. Our app will be the
ultimate tool to deal with the problem like women security for women working in night
shifts and traveling alone, etc.

1.2. PROJECT AIM

Our primary goal is to ensure every woman in our society to feel safe and secured. The
core aim is to provide safety to women from sexual abuse and crime by using Information
technology. The project idea is to have a software/Information technology layer between
women and her circle. User does require to have a Smart Phone having GPS and 2G/3G
internet and a mobile sim (GSM).

1.3. PROJECT OBJECTIVES

The project's objectives are as follows:

• To make an alert system for Women safety detection.


• To make a system that provides realizable and efficient processing.
• To make an app where users should not need external hardware or software to use this
application.

12
1.4. PROJECT SCOPE

The system comprises of 2 major modules as follows:

1.4.1. Admin Module:


• Add Personal Details
• Add Instructions
• View Registered Users
• Add Geo Map Via GPS/GSM
1.4.2 User Module:
• Register (With Details like Username, Phone-Numbers (Emergency Contacts)
and Email ID, etc.)
• Sign Up
• Sign In
• View Instructions
• Add 2-3 Mobile Numbers (Emergency Contacts) of Close
Relatives/Friends/Family Members
1.4.3 Send Immediate Distress Message Via App: SMS will be sent to chosen
associates with the User’s locality.
1.4.4 Awareness: Here users can learn Realtime self-defense techniques in a short time.
1.4.5 User-Profile: The option where the user can view her username & Emergency
contacts, edit/update it, and can see other account details.
1.4.6 Sign Out: Signs the user out of the system.

1.5. PROBLEM STATEMENT

Currently, few systems provide the functionality of Abuse prevention but these systems
have many issues, which prevent them from being ideal apps for users. There is no proper
fully automated mobile application that is user-friendly up to the level that a layman user
can operate it without having any prior knowledge. The process of sending alert to
selected associates is either too slow or gives errors on different operating systems.
Secondly, they don’t aware users about how they should deal with security invasion, or
how they can reduce the probability of abuse. Such a security alert systems for females
are in lag due to buggy coding and imprecise algorithms.

13
1.6. PROPOSED SOLUTION

Instead of the internet, GPS tracking systems have been used for tracking one’s locations
and GSM technology has been used for sending security alerts. It is simple and easy to
use and equipped with various functionalities. The app is built to intimidate the instant
location and a distress message to 2 to 3 family members or close friends and the pre-set
numbers, so that unfortunate incident can be averted and to provide real-time evidence
for the action against the perpetrators of crime against women. Later on, as the technology
emerges, it is possible to upgrade the system and can be made adaptable to the desired
environment because it is based on object-oriented design, any further changes can be
easily adaptable. Based on future security issues, security can be improved using
emerging technologies e.g. a microcontroller, sensor, fiber optics, etc. Moreover, the
application will be made easier to use for all the women and have been made in a normal
budget. This application would be free for the user or won’t be inexpensive, anyway.

Figure 1.6.1: Block Diagram

14
1.7.PROPOSED SYSTEM COMPONENTS

The proposed system components are:

• A web-based database named “Firebase”


• An in-built message app
• GSM Based technology; Mobile Phone Sim
• Admin Module
• User Registration on Smart Phone
• Google Maps
• User Authentication

1.8. PROPOSED SYSTEM OUTPUT

The user will use the “Alert” option to send a distress message & current location link to
the 3 selected associates and the sent message can be seen in the in-built message app of
the user’s phone. Rest, profile, current location, and self-defense guide can be seen on the
android app’s “HOME” page.

1.9. METHODOLOGY AND SOFTWARE LIFECYCLE FOR THIS PROJECT:

We have used agile methodology for the development of our project as our requirements
were constantly changing. The agile model helped us to change our requirement
specifications easily as per need. Our project was developed in incremental, rapid cycles
and we had a weekly meeting with our supervisor and in each meeting, changes were
discussed and new features were added or removed based on the supervisor’s opinion.

15
Figure 1.9.1: Agile Development Cycle

1.10. TOOLS AND TECHNOLOGY USE:

i) Java

ii) Android Studio

16
1.11. DELIVERABLES AND DEVELOPMENT REQUIREMENTS

The project plan comprises of following steps.

Figure 1.11.1: Project Plan

1.11.1. PROJECT BACKGROUND/ LITERATURE REVIEW

The idea came from women's safety as a whole. The basic approach is to intimidate the
instant location and a distress message to 2 to 3 family members or close friends and the
pre-set numbers, so that unfortunate incident can be averted and to provide real-time
evidence for the action against the perpetrators of crime against women. The user has to
register herself and allow GPS to use her location and click on the “Alert” button to send
a distress message along with location to her selected associates.

Every day, women are assaulted, molested, and violated on the streets of their cities.
Violence against women happens all over the world, particularly in developing countries
like Pakistan. This violence can take many forms: physical, sexual, or psychological.
Physical assault on women involves the use of force to injure or endanger them. So, the
aim of this project, therefore, is to effectively build a strong platform for women
empowerment in our society. We endeavored to achieve this by creating a mobile
application that:

17
• Has a straightforward user interface for speedy use
• Ensures the alert message is sent to the trusted people
• Allows the user to activate said alert discreetly
• Monitors locations where crises are taking place and reports the same to the
trusted people (who in turn notify the user’s emergency contacts)

Beforehand, many women safety apps have been built all over the world including
Eyewatch SOS for Women, Shake2Safety, Trakie, My SafetyPin, Circle Of 6, etc.

1.12. CHAPTER SUMMARY

The whole chapter describes the basic functionality and literature review of the project.
This whole project is based on women's safety and security. Where women can use this
app to save themselves from any unwanted security invasion on time. The entire
discussion is about the issue of the present-day and past day about abuse prevention
against women.

18
Chapter 2

REQUIREMENT ANALYSIS

The specifications are used to specify the requirements for the initial implementation of
the system and update the system in the future. The software requirement specification
bridges the gap between client/user and the system developer. This is the document that
describes the user needs accurately.

2.1 SOFTWARE REQUIREMENT SPECIFICATION

This system compromises an Android Operating System, using Java has a core language,
with Android SDK has its latest version, Implementation of the Front end is done by XML
and we have used Firebase i.e. Cloud NoSQL Database for storing user data, the
documentation of this system is done using MS-Office 2019.

Let’s pin them in number bullets:

2.1.1 Android Studio

Android studio for application development. This software is an essential


requirement for developing the Android application. Android is an operating
system based on Linux with a Java programming interface. The Android Software
Development Kit (Android SDK) provides all the necessary tools to develop
Android applications. This includes a compiler, debugger, and a device emulator,
as well as its virtual machine to run Android programs. Android is primarily
developed by Google. Android allows background processing, provides a rich
user interface library, supports 2-D and 3-D graphics using the OpenGL libraries,
access to the file system, and provides an embedded SQLite database. The android
application consists of different components and can re-use components of other
applications. This leads to the concept of a task in Android; an application can be
reused by other Android components to archive a task.

2.1.2 Java Development Kit (JDK) 8.2

Java Development Kit (JDK); A Java platform is the software environment in


which a program runs. 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.

19
Most other platforms are described as a combination of hardware and operating
system. The Java platform has two components: The Java Virtual Machine (Java
VM) and The Java Application Programming Interface (Java API) Java VM is the
base for the Java platform and is ported onto various hardware-based platforms.
The Java API is a large collection of ready-made software components that
provide many useful capabilities, such as graphical user interface (GUI) widgets.
The Java API is grouped into libraries (packages) of related components. The
following figure of Java Structure depicts a Java program, such as an application
or applet, that's running on the Java platform. As the figure shows, the Java API
and Virtual Machine insulate the Java program from hardware dependencies. As
a platform-independent environment, Java can be a bit slower than native code.
However, smart compilers, well-tuned interpreters, and just-in-time byte code
compilers can bring Java's performance close to that of native code without
threatening portability.

Java Program

Java API

Java Virtual Machine

Hardware
Figure 2.1.1: Java Structure

2.1.3 XML for Frontend

20
Implementation of the Front end is done by XML. Extensible Markup Language
(XML) is used to describe data. The XML standard is a flexible way to create
information formats and electronically share structured data via the public
Internet, as well as via corporate networks.

2.1.4 Firebase for Backend

The Firebase Realtime Database is cloud-hosted. Data is stored as JSON and


synchronized in real-time to every connected client. It does store and sync data
with the NoSQL cloud database. Data is synced across all clients in Realtime and
remains available even if the app goes offline.

2.1.5 Media Support

Media support for common audio, video, and still image formats (MPEG4, H.264,
MP3, AAC, AMR, JPG, PNG, and GIF).

2.1.6 MS Office

The documentation of this system will be done using MS-Office.

2.1.7 Edraw Max V9.4

This is used for making UML diagrams.

2.2 FUNCTIONAL REQUIREMENTS

The project's functional requirements would be as follows.

2.2.1 Register User

The system shall allow the user to register using a unique user id and password.
The system shall provide the facility of adding personal information. On the
registration page, a user will be able to enter the user details; this would contain
details such as Name of the user, email address of the user, and password. These
details are saved by clicking on the save button. It has been designed by keeping
all the constraints in mind like the username should not contain special characters
and should only be written in English alphabets, and the email-id is set using a
standard email-id format, if a user enters some wrong format or misses @ or .com
then it flashes an error.

21
2.2.2 Alerts

The system shall send alerts to family and friends in case of an emergency.

2.2.3 Self Defense Technique/Awareness

The system shall provide some self-defense techniques to women for future
harassment problem management and also can apply them on spot.

2.2.4 GPS Tracking System

The system should provide the facility of a location tracking system. Immediately
send the location of the victim to the family members or friends. The GPS
information (GPS information can be in the form of the Co-ordinates or the URL
which leads to the location of the person any stock map application in the likes of
third-party application like Google, Nokia, etc.) to the registered contacts at danger
times or when the person is needed to be rescued. This step is followed only when
the alert button is pressed in an application. The whole process of this step is done
only when the device is connected to the proper mobile network, GSM Technology
i.e. usage of installed sim and location service in the device is switched on (GPS).

2.2.5 Cloud NoSQL Database

A “cloud database” is a NoSQL database installed and running on a cloud virtual


machine (be it public cloud, private cloud, or hybrid cloud platforms), or a cloud
provider's fully managed database-as-a-service (DBaaS) offering.

Figure 2.2.1: Cloud NoSQL Database (Firebase)

22
2.2.6 Peer-To-Peer Architecture

The app will be using P2P Architecture. In a peer-to-peer architecture the nodes
self-configure into an integrated network using distributed control, and the
connection between any two nodes in the network consists of one or more peer-to-
peer communication links. Wi-Fi Direct allows two devices to establish a direct,
peer-to-peer Wi-Fi connection without requiring a wireless router. Wi-Fi becomes
a way of communicating wirelessly, like Bluetooth. Wi-Fi Direct is similar in
concept to “ad-hoc” Wi-Fi mode. The Wi-Fi peer-to-peer (P2P) APIs allow
applications to connect to nearby devices without needing to connect to a network
or hotspot.

Figure 2.2.2: Peer-to-peer Architecture

2.3 NON-FUNCTIONAL REQUIREMENTS

Nonfunctional requirements are the functions offered by the system. It includes


time constraints and constraints on the development process and standards. The
non-functional requirements are as follows:

23
2.3.1 Usability

Our project is quite usable and implementable in every kind of environment. It


has a simple user interface and easily understandable for the common user.

2.3.2 Reliability

Our project is reliable for every type of user and it will require an android device.
The project will be calibrated with a standard device to make the tracking system
reliable.

2.3.3 Integrity

Only the system developer has the right to make any changes to the system.

2.3.4 Performance

The efficiency of any system is concerned with the minimum processing time as
well as the optimal use of the system resources is designing the proposed system.
The efficiency factor has been taken well into consideration.

2.3.5 Speed

The system should process the given input into output within an appropriate time.

2.3.6 Ease of use

The software should be user friendly. Then the customers can use it easily, so it
doesn’t require much training time.

2.3.7 Reliability

The rate of failures should be less then only the system is more reliable.

2.3.8 Portability

It would be easy to implement in any system because we are using an object-


oriented approach.

24
2.4 EXTERNAL INTERFACE REQUIREMENTS

2.4.1 Cloud Database

We have used a cloud database, a database that typically runs on a cloud


computing platform, and access to the database is provided as-a-service. Database
services take care of scalability and high availability of the database. app.

Figure 2.4.1: Cloud Database

2.5 PERFORMANCE REQUIREMENTS

2.5.1 Battery Charging

The project performance requires a battery charging after a specific time


to make the device alive.

2.5.2 Load Time

The load time for user interface screens shall take no longer than five
seconds.

2.5.3 Queries Processing

Queries shall return results within five seconds.

2.6 OPERATING ENVIRONMENT

Operating environment for the Abuse Prevention App is as listed below:

25
2.6.1 DB Management System: Cloud-based database

2.6.2 Architecture: Peer-to-peer

2.6.3 Operating System: Windows/Android

2.6.4 Database: Cloud NoSQL

2.6.5 Platform: Java/XML

2.7 CHAPTER SUMMARY

The problem of the women safety is increased rapidly in this environment, so we have
made an effective Android application to prevent such type of suspicious or natural
disaster, by alerting the concerned authorities using the android mobile phone, which
helps to stop such type of illegal activates and to trace the concern.

In this chapter, we came to know about the performance, efficiency, and accuracy of the
project that either project is fast, efficient, and useful in saving the suspect from the
security breach, harassment, invasion in personal space, and women safety. Features like
GPS/GSM will be used to improve the efficiency and performance of this system and the
whole output of the system will be good.

For future enhancements, this mobile application can be helpful in future when any
problem arises in traveling or any kind of situations, e.g. as the technology emerges, it is
possible to upgrade the system and can be adaptable to the desired environment because
it is based on object-oriented design, any further changes can be easily adaptable. Plus, it
is based on future security issues, security can be improved using emerging technologies.

26
Chapter 3

SOFTWARE DESIGN

3.1. USE CASES (FULLY DRESSED)

3.1.1 Registration

Actor:

User

Pre-condition:

The application is running.

Postcondition:

A user account is created.

Use case:

Figure 3.1.1: Registration Use Case

Description:

Users will create an account.

3.1.2 Login

Actor:

User

Pre-condition:

The app is running.

27
Postcondition:

User has been logged in

Use case:

Figure 3.1.2: Medicine Schedule Use Case

Description:

After the user account is created user can log in through the app.

28
3.1.3 Alerts

Actor:

User

Pre-condition:

The app is running.

Postcondition:

The user clicked on the “Alerts” button.

Use case:

Figure 3.1.3: Alerts Use Case

Description:

Alerts will be constituted of “Distress Message & Location Link” of the user, would be
sent to selected associates.

3.1.4 Set GPS On

Actor:

User, GPS Tracker

Pre-condition:

The app is running.

Postcondition:

29
The app will ask for permissions regarding “Allow your GPS” from the user and the user
has to allow to let the app do its work later on. It will only be asked for the first time when
the user will install an app and runs it.

Use case:

Figure 3.1.4: Display Information Use Case

Description:

The app will send location links to selected associates upon user’s click on the “Alert”
button.

3.1.5 Sync Emergency Contacts

Actor:

User, Phone Book

Pre-condition:

The application is running.

Postcondition:

The App will ask for permission to access contacts from the phone book.

30
Use case:

Figure 3.1.5: Send Alerts Use Case

3.1.6 Profile

Actor:

User

Pre-condition:

The application is running.

Postcondition:

User view or edit profile and can sign out as well.

Use case:

Figure 3.1.6: Profile Use Case

31
3.1.7 Self-Defense Guide/Awareness

Actor:

User

Pre-condition:

The application is running.

Postcondition:

Users can learn self-defense techniques about how to tackle abuse.

Use case:

Figure 3.1.7: Self-Defense Guide/Awareness Use Case

32
3.2. USE CASE DIAGRAM

A use case diagram captures the actors and the role or functions they perform in the
system. There are three actors which include; User, GPS Tracker, and User’s Phone Book.

Figure 3.2.1: Use Case Diagram

33
3.3. CLASS DIAGRAM

Figure 3.3.1: Class Diagram

34
3.4. SEQUENCE DIAGRAMS

● The sequence diagram is one kind of interaction diagrams, which shows


interaction among a set of objects and their relationships.
● There may be multiple sequence diagrams per use case, one per use case scenario.

3.4.1. Registration

Figure 3.4.1: Registration’s Sequence Diagram

35
3.4.2. Alerts

Figure 3.4.2: Alerts Sequence Diagram

36
3.4.3. Maps

Figure 3.4.3: Maps Sequence Diagram

37
3.4.4. Self-Defense Guide/Awareness

Figure 3.4.4: Self-Defense Guide/Awareness Sequence Diagram

38
3.4.5. Profile

Figure 3.4.5: Profile Sequence Diagram

39
3.5. ACTIVITY DIAGRAMS

3.5.1. App Activity

Figure 3.5.1: App’s Activity Diagram

40
3.5.2. Alerts Activity

Figure 3.5.2: Alerts Activity Diagram

41
3.5.3. Login Activity

Figure 3.5.3: Login Activity Diagram

42
3.6. COMPONENT DIAGRAM

Component diagrams are different in terms of nature and behavior. Component diagrams
are used to model the physical aspects of a system.

Figure 3.6.1: Component Diagram

43
3.7. DEPLOYMENT DIAGRAM

Figure 3.7.1: Deployment Diagram

44
3.8. COLABORATION DIAGRAM

Figure 3.8.1: Collaboration Diagram

3.9 CHAPTER SUMMARY

In this chapter detailed description of project requirements related to its working. Here
we define the all working component that we use in this project and diagrams description
which specifies how the project is working. Each diagram defines each working unit of
the project.

45
Chapter 4

PROJECT MANAGEMENT

Project management is the practice of initiating, planning, executing, controlling, and


closing the work of a team to achieve specific goals and meet specific success criteria at
the specified time. The primary challenge of project management is to achieve all of the
project goals within the given constraints.

4.1. MILESTONES

Milestones are tools used in project management to mark specific points along a project
timeline. These points may signal anchors such as a project start and end date, or a need
for external review or input and budget checks. In many instances, milestones do not
impact project duration. In other words, it is a management tool that is used to delineate
a point in a project schedule.

Before Mid-Term

4.1.1. Milestone 1

● Proposal discussion with faculty: Proposal discussed with faculty about its scope
and how the development will go.

● Approval of proposal: The proposal was submitted for approval.

4.1.2. Milestone 2

● Functional requirements: This is the phase where we’ve identified all the
functional requirements of our project.

● Non-functional requirements: Non-functional requirements of the project are


identified and documented.

4.1.3. Milestone 3

● Use case diagram: Use case diagram of the project was developed.

● Fully dressed use cases: Fully dressed use cases were documented.

● Submitted for review: Use case diagram was submitted to the supervisor for
review.

46
● Approval of use case diagram and fully dressed use cases.

After Mid-Term

4.1.4. Milestone 4

● Development of class diagram.

● Sequence diagrams were prepared and documented.

● Collaboration diagrams were prepared and documented

● Activity diagrams were prepared and documented.

● The components diagram was prepared.

● The deployment diagram was prepared.

● All diagrams were submitted to the supervisor for review.

4.1.5. Milestone 5

● The project interface was developed and submitted for review.

● Registration form: GUI was prepared and submitted for approval.

4.1.6. Milestone 6

● Database connection establishment

● Firebase; Cloud NoSQL based Database creation

● Testing of database connection

4.1.7. Milestone 7

● Connection of registration form with a database.

● Testing of the registration form.

4.1.8. Milestone 8

● Development of Abuse Prevention App.

● Coding Done.

● Testing of Abuse Prevention App.

47
4.1.9. Milestone 9

● Development of admin module.

● Development of all user interfaces.

● Testing of interfaces.

4.1.10. Milestone 10

● Development of Registration module.

● Development of the Login module.

● Development of the “Alerts” module.

● Development of Self-Defense Guide/Awareness module.

● Development of Current Location/Maps module.

● Development of GPS Permission Management module.

4.1.11. Milestone 11

● Complete testing of a project

4.2. PROJECT CLOSEOUT REPORT

All the project deliverables are listed below with the date.

Table 4.2.1: Deliverables Plan

Deliverable Date

Proposal October 15, 2019

Requirements Specification November 07, 2019

Design January 1, 2020

Development May 28, 2020

Testing June 10, 2020

Debugging June 15, 2020

48
Code Review June 25, 2020

Documentation July 15, 2020

4.3. OPERATION AND MANAGEMENT PLAN

In this part of the project, the operations are tested whether they are fulfilling the fixed
objectives or not. The system can perform multiple operations with the good response
time.

The maintenance services of the system include: -

● The database should be available 24/7.

● User privacy ensures.

● User Private data security.

● No Third-party app interference.

● A backup of data should be available.

● The system should be secure.

● Application Enhancements & Performance Enhancements.

● Post-release Support, Operational, and Helpdesk Support.

● Corrective maintenance and bug fixation.

● The facility of real-time communication.

4.4. PROJECT RESOURCE

Figure 4.4.1: Project Resources

Resources (name the resource used) Person or organization who received


resource

Project Team UIIT

Madeeha Saeed __

49
Equipment

Laptop Group

Android Phone __

Software Tools UIIT

Android Software Development Kit __


(SDK) and Android Studio

Cloud NoSQL Database (Firebase)

Android Operating System

Windows 10 Pro

MS Office 2016

Hardware UIIT

Absent __

Table 4.4.1: Table of Project Responsibilities

Division of responsibilities

Individual Responsibility

Madeeha Saeed Requirement Analysis, UMLs, UI Designing & XML, Full-


Documentation, All Modules Coding, Testing, Software Development

50
4.5. RISK MANAGEMENT

Risk Management is all about managing the risks that can probably occur in the project.
The existence of risks in any project is normal but how they are controlled is more
important. They must be handled efficiently to increase the worth of the project. All the
possible situations should be kept in mind because the knowledge level of every user
could be dissimilar. If the risk is not handled correctly it might happen very intolerable to
the user, so this is a very significant phase of the project. Risk Management is about:

● Identifying and accessing the key risk.

● Designing and implementing the process by which that risk can be minimized.

4.6. RISK ANALYSIS

● Internet & GPS connection fails.

● Android App not working failure chances.

● Application may not detect 100% gesture/emergency trigger.

● Fail to send the distress message to 2 to 3 relatives.

● The caretaker’s phone fails to send GPS location.


● The application may send multiple distress messages without user input.

● Possibility of battery damage.

4.6.1 RISK IDENTIFICATION

Table 4.6.1: Risk Identification Table

#No. Name Probability Severity Description


of level
Occurrence
1. Internet Connection Low High App’s
Fails functionality
nullifies/ Internet
& GPS connection
fails.

51
2. Android App Not Low High System Crash/
Working Android App not
working failure
chances.

3. Gesture/Emergency Moderate High Application may


Trigger not detect 100%
gesture/emergency
trigger.

4. Distress Message Moderate High Fail to send the


distress message to
2 to 3 relatives.

5. GPS/GSM Low High The caretaker’s


phone fails to send
GPS location.

6. Messages Without Low Low An application


Input may send multiple
distress messages
without user input.
7. Battery Low Low Possibility of
battery damage.

4.6.2. RISK RESPONSE

Table 4.6.2: Risk Response Table

52
Priority #No. Name Responsible Risk Response
Person/Source Mitigation
Action
High 1. Internet Connection Internet Itself User’s It will be
Fails Mobile Data ensured that
Initiation before using
the app or if
the user has an
intention to
use the app,
then internet
availability is a
must-have.
High 2. Android App Not Software Software The bugs will
Working Testing be fixed out in
the testing
period to
ensure no
software crash
in future.
3. Gesture/Emergency Algorithm - -
Trigger
High 4. Distress Message Software Software The bugs will
Testing be fixed out in
the testing
period; ensures
no software
crashes in the
future.

53
High 5. GPS/GSM Internet Mobile Data Re-
establishing
Internet
connection.
6. Messages without Algorithm - -
input
7. Battery User/Device - -

4.6.3. GRAPHICAL REPRESENTATION OF RISKS

Figure 4.6.1: Risk Response Graphs

4.7. CHAPTER SUMMARY

In this chapter, first, we assigned a milestone to our project per our project analysis. We
also provided a very short description of each milestone of our project from requirement
gathering to the project testing phase. After assigning milestones to our project, we
prepared a project closeout report, in the short deliverables of our project. We provided
each deliverable of our project with the time to be delivered. Then, we covered the
operation and the management plan phase. In this phase, we described how our project
can be managed to perform well and how to detect errors and maintain them for future
purposes. Also, we described the proper functioning of the project. After this, we describe

54
the important resources which are used in our project and which can affect these
resources. We covered almost all the important resources that we are going to integrate.
In the second phase of this chapter, we described risk management, how it is important
to each project, and how we can handle all the risk which can occur in our project. So, to
do this, first, we analyzed the risks which may occur in our project. We described each
risk factor that may occur after doing risk analysis. After this, we described the risk
response factor in our project which tells about the risk information.

55
Chapter 5

PROJECT IMPLEMENTATION

5.1. PROGRAMMING LANGUAGE

We are using Java as a programming language in android studio to do all the necessary
tasks and operations that are required to achieve the proposed solution of our project. We
have used Android version 3.6.3 and API level 29 to develop our application.

5.2. FRAMEWORK

● Android Studio 3.6.3

It is used to develop an android application.

● Java Development Kit (JDK)

It is used as a Java Platform.

● Microsoft Office 2016

This is used for making documentation of this project.

● Edraw Max V9.4

This is used for making UML diagrams.

5.3. SYSTEM REQUIREMENTS

5.3.1. Hardware Requirements

Table 5.3.1: Hardware Requirements

Criterion Description

OS version Windows 7 or later

RAM 3 GB RAM minimum, 4


GB RAM recommended

Disk Space 500 MB disk space

56
Space for Android SDK At least 1 GB for Android
SDK, emulator system
images, and caches

JDK Version Java Development Kit


(JDK) 7 or higher

5.3.2. Software Requirements

Figure 5.3.1: Software Requirements

Language XML, Java

Platform Android Studio

Tools Edraw Max

Android studio

Java Development Kit (JDK)

5.4. CHAPTER SUMMARY

This chapter captures the design architecture of the project, the language, and other
different tools used to develop this project. It describes the functionality of the framework
which we are using in this project. Also, it describes the hardware and software
requirements of the project along with their working.

57
Chapter 6

SOFTWARE TESTING

6.1. DERIVING TEST

After completion of each phase, verification was done. To verify the requirements the
completed phase was fully tested. Against the requirement, all the units were found to be
completely satisfactory. As the system should be verified at each stage of the software
process using documents produced during the previous stage. Therefore, we started
verification with the requirements reviews and continued through design and code review
for product testing. This is an activity to verify whether we have built the system right or
not in the development life cycle.

6.2. TEST ENVIRONMENT

The following elements are required to support the overall testing effort at all levels.

6.2.1. Software

● Window 10 Pro
● Android studio
● Microsoft word 2019
● Edraw Max V9.4

6.2.2. Hardware

● Android Device (8.0 and above)

6.3. TESTING IDENTIFICATION

Specific testing is a plan for every test level to test all system components. The procedure
is designed in detail so that the system meets all user requirements.

The system can be divided into the following modules:

● Connectivity of device with a mobile phone.


● Connectivity of Victim phone with the family phone.
● Sending Alerts to the selected associates.
● Setting Mobile GPS On.

58
● Permitting Mobile’s Sim to send messages via GSM.

6.4. TEST PROCEDURE

The following testing procedures are done.

6.4.1. Unit Testing

The goal of unit testing is to separate each part of the program and show that the
individual parts are correct. Unit testing provides a strict, written contract the piece
of code must satisfy. As a result, it affords several benefits. Unit testing allows the
programmer to refactor code at a later date, and make sure the module still works
correctly. This encourages the programmer to make changes to the code. Unit testing
will be done for the following units:

6.4.2. Setting GPS On

Testing the GPS on so that application can send a location to selected associates and
also updates the current location of the user.

6.4.3. Sending Alerts

Testing that Alerts have been sent to selected associates.

6.4.4. Permitting Mobile’s GSM

Testing that mobile’s sim is permitted by the user to access the message app and
distress messages.

6.4.5. System Testing

System testing involves the set of tests that the entire system performs according to
specification.

6.4.6. Integrate Testing

Integration testing is the phase in software testing in which individual software


modules are combined and tested as a group. It occurs after unit testing and before
system testing. The test conducted to ensure that the components are integrated to
perform together.

● Integration of GPS and testing the interface functionality.

59
● Integrate whether Alerts have been sent to selected associates
● Integrate whether the that mobile’s sim is permitted by the user to access the
messaging app and send distress messages.
● Integrate application show sent messages in the app and delivery status is shown.

6.4.7. Performance Testing

Performance testing can be applied to understand the application’s scalability.

6.4.8. Stress Testing

A system is evaluated under normal conditions in all previous testing techniques, and
so conditions where can fail tested. Stress testing evaluates the system under abnormal
conditions.

6.5. TEST CASES

Table 6.5.1: Sending Alert Test Case

Madeeha Saeed
Tested By:
Unit Testing
Test Type:
Test1
Test Case Number:
Sending Alert
Test Case Name:

Actual Result Pass

This test verifies that the application is


Test Case Description:
successfully sent alert to
family/friends’ phone

Items To Be Tested

Sending Alerts to the selected associates.


1.

Specifications

Expected Output/Result
Input

60
Clicking “Alerts” Button 1. Alert sent to emergency contacts in
1.
case of harassment or abuse.

6.5.1. Test Case 2: Sending Location

Table 6.5.2: Sending Location Test Case

Madeeha Saeed
Tested By:
Unit Testing
Test Type:
Test2
Test Case Number:
Sending Location
Test Case Name:

Actual Result Pass

This test verifies that the application is


Test Case Description:
successfully sent a Location Link to
emergency contacts.

Items To Be Tested

Sending location to emergency contacts.


1.

Specifications

Expected Output/Result
Input
Setting Mobile GPS On by 1. GPS Set On & Current Location
1.
Tapping On “Allow” Pop UP Can Be Shown on Maps.

Clicking “Alerts” Button 2. Alert sent to emergency contacts in


2.
case of harassment or abuse.

61
6.5.2. Test Case 3: GSM Activation

Table 6.5.3: GSM Activation Test Case

Madeeha Saeed
Tested By:
Unit Testing
Test Type:
Test3
Test Case Number:
GSM Activation
Test Case Name:

Actual Result Pass

This test verifies that GSM Has access


Test Case Description:
to the application and messages can be
send using mobile’s sim.

Specifications

Expected Output/Result
Input
Clicking the “Alerts” button. 1. Alert sent to emergency contacts in
1.
case of harassment or abuse and
sent messages can be seen in the
mobile’s messages app.

6.6. CHAPTER SUMMARY

This chapter is about testing the different phases of the project. We have tested our app
by using different testing processes like Unit testing, Integrated testing, System testing,
etc.

62
Chapter 7

CONCLUSION AND FUTURE WORK

7.1. DISCUSSION

The idea came from women's safety as a whole. The basic approach is to intimidate the
instant location and a distress message to 2 to 3 family members or close friends and the
pre-set numbers, so that unfortunate incident can be averted and to provide real-time
evidence for the action against the perpetrators of crime against women. The user has to
register herself and allow GPS to use her location and click on the “Alert” button to send
a distress message along with location to her selected associates.

Every day, women are assaulted, molested, and violated on the streets of their cities.
Violence against women happens all over the world, particularly in developing countries
like Pakistan. This violence can take many forms: physical, sexual, or psychological.
Physical assault on women involves the use of force to injure or endanger them. So, the
aim of this project, therefore, is to effectively build a strong platform for women
empowerment in our society.

Beforehand, many women safety apps have been built all over the world including
Eyewatch SOS for Women, Shake2Safety, Trakie, My SafetyPin, Circle Of 6, etc.

7.2. CONCLUSION

Before starting development, we have planned the abstract about how our app should look
alike. We opted to follow the agile model for the app's development. Right after, our
proposal had been accepted, we started working on XMLs and made them in three phases;
in first phases, we asked our supervisor to rate them and after that, we changed them
according to our aesthetics, keeping in mind it is about women's safety, so we kept making
interface according to feminine themes, so the ideas should be glimpsed on the first look.
Later on, during the coding phase, we changed XMLs bit more to sync them up with the
android OS.

We used broadcast receiver coding for sending messages along with GSM technology,
GPS to track location using Foursquare Google Maps API, and Firebase i.e. Cloud-based

63
NoSQL database to maintain user data. Our app will give Realtime functioning including,
an awareness which shows self-defense guide to the user to learn self-defense on the spot,
Alert option to send distress messages along with location link to the selected
associates/emergency contacts, shows updated current location of the user while user
using the app and also give a user-profile show to the user as well.

Firstly, the user has to register herself and then should log in. After login, the user will be
asked to give permissions regarding access to Mobile's GPS and GSM, where the user
has to tap “Allow”. After that, the user can click "Alert" Button to send alerts i.e. distress
message saying "I'm in danger. HELP! My Location is: (Location Link)" to the
emergency contacts. The sent message can be seen in the mobile's messages app. Users
must have internet and sim with a significant balance to let this work. Moreover, users
can learn self-defense through awareness option, can see current location through app,
view & edit profile, and can signs out as applicable.

7.3. LIMITATIONS

The project we have developed is made keeping in mind that it would not only be unique
of its kind but also it would be helpful in real-life. The stimulus came from lots of bad
news coming daily about rapes and kidnappings of kids and women. The app is made by
using object-oriented design, so it can be improved later on. Our app might have some
tasteless designing or buggy coding at some point, as it was our first time learning the
development of an android app and it is also the first version as well. I have tried our best
to make it up to the mark, though, some problems may exist.

During the design phase I learned:

● Writing documentation and designing of software through different graphic


designing apps and also through coding i.e. XML.

During the testing and implementation phase I learned:

● Finding bugs and its fixture.

During the coding phase I learned:

• Java Programming

64
7.4. FUTURE WORK

Our project can later be used as a big project for women's safety at a national level. The
period was about 12-14 months to complete this project for one person alone, as, I learned
these tools and technologies during this tenure. Many features can be added to this project
which I’ve been unable to do because of lack of time. Future work can be done on
improving the app by adding more vulnerable options like sending distress alerts to the
nearest police station or adding multiple sirens to alert people in the surrounding. Also,
more services can be added according to the need of time.

65
Chapter 8

USER GUIDE

8.1. APP LAUNCH PAGE 01

Figure 8.1.1: App Launch 01 UI

66
8.2. SIGNUP SCREEN

Figure 8.2.1: Signup UI

8.3. MAIN SCREEN

Figure 8.3.1: Home Screen UI

67
8.4. APP LAUNCH PAGE 02

Figure 8.4.1: Launch Page 02 UI

8.5. ALERTS

Figure 8.5.1: Alerts UI

68
8.6. PROFILE SCREEN

Figure 8.6.1: Profile UI

8.7. LOGIN SCREEN

Figure 8.7.1: Login UI

69
8.8. MAPS SCREEN

Figure 8.8.1: Maps UI

70
8.9. INTRO SLIDERS SCREENS

Figure 8.9.1: Slider 01 UI

Figure 8.9.2: Slider 02 UI

71
Figure 8.9.3: Slider 03 UI

Figure 8.9.4: Slider 04 UI

72
Figure 8.9.5: Slider 05 UI

Figure 8.9.6: Slider 06 UI

73
8.10. AWARENESS SCREENS

Figure 8.10.1: 01 UI

Figure 8.10.2: 02 UI

74
Figure 8.10.3: 03 UI

Figure 8.10.4: 04 UI

75
Figure 8.10.5: 05 UI

Figure 8.10.6: 06 UI

76
Figure 8.10.7: 07 UI

8.11. PERMISSION SCREENS

Figure 8.11.1: GSM UI

77
Figure 8.11.2: GPS UI

78
LIST OF ABBREVATIONS

Global Positioning System (GPS)

Global System for Mobile Communications (GSM)

Android Software Development Kit (SDK)

Java Development Kit (JDK)

Java Virtual Machine (JVM)

Extensible Markup Language (XML)

Graphical User Interface (GUI)

Database-as-a-service (DBaaS)

Final Year Project (FYP)

University Institute of Information Technology (UIIT)

79
REFERENCES

[1] https://tribune.com.pk/story/1348833/93-pakistani-women-experience-sexual-
violence/
[2] http://www.ijcstjournal.org/volume-5/issue-2/IJCST-V5I2P51.pdf
[3] https://pdfs.semanticscholar.org/2e31/148a2fe83d60faeb0c2bafa5d540d79c5a7
8.pdf
[4] http://ijarcet.org/wp-content/uploads/IJARCET-VOL-5-ISSUE-3-725-729.pdf
[5] ROGER S. Pressman, “Software Engineering: A Practitioner's Approach”,
SEVENTH EDITION McGraw-Hill International edition, Page No.1-888, 2010
[6] WOMEN’S SECURITY, Android App developed by AppSoftIndia,
December17, 2013
[7] Suraksha, A device to help women in distress: An initiative by a student of ITM
University Gurgaon, efytimes.com, 2013.
[8] https://www.researchgate.net/publication/287201587_Abhaya_An_Android_Ap
p_For_The_Safety_Of_Women
[9] Ajit, Arjun, A Software Engineering Project on Women Safety-Information
System Development, 10.13140/RG.2.1.4850.3449, 2016
[10] ttps://www.researchgate.net/publication/297549148_A_Software_Engine
ering_Project_On_Women_Safety-Information_System_Development
[11] https://projectworlds.in/android-projects-with-source-code/women-
safety-app-android-project-source-code/
[12] https://www.kashipara.com/project/android/1670/women-safety-app
[13] https://appsagainstabuse.devpost.com/submissions/4900-circle-of-6

The End

80

You might also like