1.
Introduction to the area
This application designed to provide security to woman, the main purpose of this application to
provide the awareness on the time of critical situation for woman. Generally by this application can
active this service by clicking on ACTIVE SERVICE window ok button. User should login by their
email id and password. When by clicking on emergency (SOS) button to get activate GPS service,
and this application will send SMS to guardians contact number by using default message application
of device. Which will save at the time of registration the SMS contain emergency message and
current location of user device, and user must fill all the details as mentioned in application
otherwise this app will not work properly.
Woman safety App, A life-saving piece of technology woman can get hold of at this particular of
time. These apps can offer an invisible guard and can be the best and safest tool available against the
crooked minds out there in society.
2. Literature Survey
To develop this application we collected requirements by discussing with end-users, also
keeping the same concern in mind many developers have come up with innovative applications. Few
of such applications are as follows.
2.1 Existing system.
bSafe App
bSafe application will consumes more memory (upto-134mb) of your device. For registration
process this application will takes more time and also need to enter the OTP which is send through
SMS, for OTP generation it consumes more time.
In this application to active the service user need to take the premium subscription pass that is
of cost 55 rupees for that to only 24 hours activation of this application services.
2.2 Problem in the existing system.
Advertisement keeps popping up which is annoying to a lot of users.
Sometimes more than a message will be required to make sure that the person on
the other end has received the message.
Existing systems like bSafe apps have the subscription base service by paying
amount weekly to activate the app service.
Applications are takes more memory space.
2.3 Proposed solution.
The proposed system is especially for the woman safety will overcome from the
disadvantages of existing system. This proposed system is ‘GSM & GPS Based woman
safety System’. This application works on any Android mobile device. The device will
provide the position information such as normal map, hybrid map and satellite map of device.
An emergency / SOS button is fixed on the device screen at a particular position.
When users facing any kind of critical situations, then user need to click on the emergency /
SOS button and an alert message will be immediately sent to the registered guardians contact
number.
Advantages
Woman Safety app consumes less memory and it provides service with no cost.
This application has minimum useful features and compatible to all android devices.
Easy to use the application features.
User friendly GUI.
3. PROBLEM DEFINITION
3.1 Problem Definition
The main problem with the existing system is the Complicated GUI, some
applications will consumes more memory (upto-134mb) of your device. For registration
process this application will takes more time and also need to enter the OTP which is send
through SMS, for OTP generation it consumes more time. In other application to active the
service user need to take the premium subscription. To activate the some services application
charges the cost to provide the services to user.
3.2 Proposed Solution
The proposed system is especially for the woman safety will overcome from the
disadvantages of existing system. This proposed system is ‘GSM & GPS Based woman
safety System’. This application works on any Android mobile device. The device will
provide the position information such as normal map, hybrid map and satellite map of device.
4. Software requirement specification
It is statement of what system developers have to implement. Software requirement is an
abstract detail of system should provide and operate.
4.1 Purpose
The main purpose the application is to provide highly reliable security system for the safety
of woman. The proposed system has advanced features, GSM in the device. The basic aim of the
system is to develop a low cost solution for GPS based woman safety system.
4.1.1 Scope
The main objective of the system is to track the current location of the user which has an
android GPS enabled mobile by extracting the current location of user device and providing the
message service to the application.
4.2 Application overview
Woman Safety App is an android application for users in a society, this application is user
friendly and enables the user to easily track their location in real-time. The application is quick and
easy to use and makes tracking location easy. It helps to provide the security to user. Woman Safety
App simplifies and automates a location tracking, eliminates drawbacks of existing applications. This
Woman Safety App will manage the user GPS location URL link frequently by storing in server
database file.
1. The application is able to run/launch on Android OS.
2. More the product is developed to provide the safety and security to users.
3. The application provides detailed information about guardians in guardian details.
4.3 Functional requirements
It is nothing but services provided by system, how system will behaves and responses when
user will some input to the application.
1. Registration
Interested users can install this application on any Android device, launch and register by
providing important credentials email_id and password.
2. Login
After completing the registration by user, user can login to his/her profile by entering
credentials email and password which will redirect user to homepage of the application.
3. Add Guardians
User will be able to add the guardian details like guardian name, guardian relation, guardian
phone number, and email_id of guardian.
4. View Guardians
User will be able to view the all registered guardian details like guardian name, guardian
relation, guardian phone number, and email_id of guardian.
5. Delete Guardians
User will be able to delete the registered guardian’s details by clicking on delete GUI symbol.
4.4 Performance Requirement
Performance of this application must send the message. And confirming that it meet all
requirements of the woman safety app or if it not meet all requirement, then analyze the system error
and check again.
User must fill guardian details.
Pressing emergency button in app, it must send present location of user.
1. User Interface
The user interface (UI) is the point of human-android device interaction and communication,
this application contains display screens, keyboard, a navigator view and the appearance of an
application GUI. It is also the way through which a user interacts with an application or a
website.
2. Compatibility
The application is compatible with devices having Android OS. It requires Android device to
run the application for running the same on non android devices such as computers it should have
Android Studio and emulator.
3. Security
The application asks user to enter credential information for logging in into the application
which draws a line of security for the user data which can only be accessed by the authenticated
user.
4. Serviceability
Serviceability is the ease with which a deployed application can be maintained, including
tasks such as monitoring the system, repairing problems that arise, adding and removing users
from the system, and upgrading hardware and software components.
5. Availability
Availability implies an agreed minimum up time and level of performance for directory
service. Our application succeeds in provides such availability. Failure, in this context, is defined
as anything that prevents the directory service from providing this minimum level of service
4.6 Exception Handling
User should register.
User must login using email_id and password. If user enters incorrect id or password app
must show error message.
Without registering to app user can’t get enter in to the application.
4.7 Acceptance criteria
The “Woman safety app” have all requirements are implemented, based on user
requirements.
4.8 Technology Requirements
Hardware Requirements
Processor Intel core i3 and above
RAM 8GB or above
Hard-Disk 56GB or above
Software Requirements
Operating System Windows 10
Front End Java or kotlin
Back End Sqlite or Firebase
IDE Android Studio 4.1
6. System Design
6.1 Use case model
A use case diagram at its simplest is a representation of a user's interaction with the
system that shows the relationship between the user and the different use cases in which the
user is involved. A use case diagram can identify the different types of users of a system and
the different use cases and will often be accompanied by other types of diagrams as well.
The use cases are represented by either circles or ellipses.
Login
Set Permissions
Add Guardian
View Guardian
Delete Guardian
USER
Click on SOS
Logout
Figure 5.1. User Profile
6. DETAILED DESIGN
6.1 High Level Design
Data flow diagram is graphical tool used to describe and analyze the moment of data through
the system. DFD’s are used to capture the essential feature both existing real system and feature
physical implementation of the system. The DFD is a graphical technique that depicts the
information flow and the transforms that are applies as data move from input to the output.
Level – 0 DFD Shows outline of the System Models
MessageMessage
Acknowledgement Woman safety app
Woman Guardians
Level – 1 DFD Show the separations of all external modules, relationship between those
modules and application.
Login
Fire base server
Email_ID & Password
Guardian
Woman
Guardian details GuardianDB
Send Message
GPS URL
7. Low Level Design
7.1 Relational Model
Attributes of guardian_info entity.
Guardian_phoneno
Guardian_relationm
Guardian_name
Guardian_email_Id
Guardian_ID
Guardian_info
7.2 Flow chat
Start
User login page
Fails
If login is Error message
Pass
App homepage / Register
guardian details
No
Is woman in trouble?
Stop
Yes
Click on SOS button
Controller receives the input
and makes GSM to message
and GPS to find location.
An encoded message sent to
guardians contact number.
Guardian 2 Guardian 3
Guardian 1
Stop
7.3 Pseudo code
User
Step 1: Start
Step 2: Validate Email _ID and Password for login
If Exists then
Print “Login Successfully”
Else
Print “Invalid Email or Password”
Step 3: Display Home page
Step 4: Manage guardian details
Step 5: Allows GPS to track current location
Step 6: If user in trouble then
Click on SOS button
Else
Go to step 7
Step 7: Stop
8. Important concepts Implemented
Java Programming
Java is a programming language and a platform. Java is a high level, robust, object-
oriented and secure programming language. It is used to develop desktop and mobile
applications, big data processing, embedded systems, and so on. According to Oracle, the
company that owns Java, Java runs on 3 billion devices worldwide, which makes Java one of
the most popular programming languages.
XML
XML stands for Extensible Markup Language. It is a text-based markup language
derived from Standard Generalized Markup Language (SGML). XML tags identify the data
and are used to store and organize the data, rather than specifying how to display it like
HTML tags, which are used to display the data. XML is not going to replace HTML in the
near future, but it introduces new possibilities by adopting many successful features of
HTML.
SDK
A Software Development Kit (SDK) is a collection of software development tools in
one installable package. They facilitate the creation of applications by having compiler,
debugger and perhaps a software framework. They are normally specific to a hardware
platform and operating system combination.
Gradle
Gradle is a build automation tool for multi-language software development. It controls
the development process in the tasks of compilation and packaging to testing, deployment,
and publishing. Supported languages include Java (Kotlin, Groovy, Scala), C/C++
& JavaScript.
9. Testing and Results
In testing process, this reveals errors in programs. In this process programs are
executed with some criteria known as test case and output is evaluated to determined whether
program performs as expected or not.
Following test cases developed and application has tested.
Test case Id #1
Scenario Test case for login for user.
Predications User should sign in.
Inputs Email_Id , password
Expected output Display home page if Email is valid
Post condition Email and password is correct.
Result Valid test
Figure 9.1: Login page Figure 9.2: Home page
Test case Id #2
Module Name Guardian
Predications All fields are required
Expected output Data inserted successfully
Result Valid test
Figure 9.3: Add Guardian Figure 9.4: Data inserted
Introduction Testing
Testing is an investigation conducted to provide stakeholders with information about
the quality of the product or service under test. Software testing can also provide an
objective, independent view of the software to allow the business to appreciate and
understand the risks of software implementation. Test techniques include the process of
executing a program or application with the intent of finding software bugs (errors or other
defects), and verifying that the software product is fit for use.
Software testing involves the execution of a software component or system
component to evaluate one or more properties of interest. In general, these properties indicate
the extent to which the component or system under test:
1. Meets the requirements that guided its design and development
2. Responds correctly to all kinds of inputs
3. Performs its functions within an acceptable time
4. Is sufficiently usable
5. Can be installed and run in its intended environments
6. Achieves the general result its stake holder’s desire.
Unit Testing:
Unit Testing is a level of software testing where individual units/components of
software are tested. The purpose is to validate that each unit of the software performs as
designed. A unit is the smallest testable part of software. It usually has one or a few inputs
and usually a single output. In procedural programming a unit may be an individual program,
function, procedure, etc. In object-oriented programming, the smallest unit is a method,
which may belong to a base/ super class, abstract class or derived/ child class. (Some treat a
module of an application as a unit. This is to be discouraged as there will probably be many
individual units within that module). Unit testing frameworks, drivers, stubs, and mock/ fake
objects are used to assist in unit testing.
Integration Testing
Integration Testing is a level of software testing where individual units are combined
and tested as a group. The purpose of this level of testing is to expose faults in the interaction
between integrated units. Test drivers and test stubs are used to assist in Integration Testing.
Testing performed to expose defects in the interfaces and in the interactions between
integrated components or systems. In the testing the programs are constructed and tested in
small segments.
White box Testing
White-box testing (also known as clear box testing, glass box testing, transparent box
testing, and structural testing) is a method of testing software that tests internal structures or
workings of an application, as opposed to its functionality (i.e. black-box testing ). In white-
box testing an internal perspective of the system, as well as programming skills, are used to
design test cases. The tester chooses inputs to exercise paths through the code and determine
the appropriate outputs. This is analogous to testing nodes in a circuit, e.g. in-circuit testing
(ICT). White-box testing can be applied at the unit , integration and system levels of
the software testing process. It can test paths within a unit, paths between units during
integration, and between subsystems during a system–level test. Though this method of test
design can uncover many errors or problems, it has the potential to miss unimplemented parts
of the specification or missing requirements.
Black Box Testing:
Black Box Testing, also known as Behavioural Testing, is a software testing
method in which the internal structure/ design/ implementation of the item being tested is not
known to the tester. These tests can be functional or non-functional, though usually
functional. This method is named so because the software program, in the eyes of the tester,
is like a black box; inside which one cannot see. This method attempts to find errors in the
following categories:
1. Incorrect or missing functions
2. Interface errors
3. Behaviour or performance errors
4. Initialization and termination errors
10. CONCLUSION
The problem of the women safety is increased rapidly in this environment, so we
proposed as an effective Android application to prevent such type of the incidents, by alerting
the concern authorities using the android mobile phone which helps to stop such type of
illegal activates and to trace the concern user location.