Академический Документы
Профессиональный Документы
Культура Документы
0
Step-In Date: 20/08/2017
Step-In
STATEMENT OF SUBMISSION
________________________________
Project Management Committee
Department of Computing and IT
University of Sargodha, Lahore Campus
_____________________________ _____________________________
Supervisor HOD
APPROVAL CERTIFICATE
The undersigned have examined the Project entitled ‘Step-In’ presented by Junaid
Hamid, Najam Amajd Butt, Shahzad Hussain, Atif Shahzad and Zeeshan Aziz,
candidates for the degree of Bachelors of Science (BS (Hons) in Information
Technology) and hereby certify that it is worthy of acceptance.
Proofreading Certificate
________________________________
Mr.Rehmat Ullah
Acknowledgement
Up and above, everything, all appreciation to Allah Almighty, the compassionate and
merciful, Who enabled us to elucidate a drop from the existing ocean of knowledge,
countless salutation be upon the Holy Prophet Muhammad (Sallallaho Alaihe wa
Aalehi Wassalam), the city of knowledge, Who has guided our “Ummah” to seek
knowledge from cradle to grave.
We truly acknowledge the cooperation and help make by Project Management Office, CS
& IT department, UOS. He has been a constant source of guidance throughout the course
of this project. It is quite delectable and to becoming to avail of this most propitious
opportunity to articulate with utmost gratification, our profound and intense sense if
indebtedness to our affectionate supervisor,
Mr. Rehmat Ullah, Software Engineer, University Sargodha, Lahore Campus, Pakistan.
Their proficient counseling, valuable suggestions, boundless forbearance, indefatigable
help with anything, anywhere, anytime, consummate advice and thought-provoking
instruction in piloting this project. Special thanks for him would always be due.
We express our thankful feeling to our friends and families whose silent support led us to
complete our project.
1- Junaid Hamid
2- Najam Amjad Butt
3- Shahzad Hussain
2- Atif Shahzad
3- Zeeshan Aziz
Date:
Sep, 05, 2017
Abstract
In Current age the whole world is moving towards modern technology for fast
communication. This project is designed to provide a fast communication and
interconnectivity between peoples through android application. In today's world our
social life is limited. If you want to communicate with someone, you should have his/her
phone number or email id even if someone lives to your next door. Let me put you in a
situation , you are sitting in a restaurant and you are very hungry and you want to eat
something delicious , you cannot ask to anyone in restaurant because you don't know any
one's id or phone. Here we need a mobile application by which we are able to connect
everywhere without knowing contact information of people near to you.
The main purpose is to make communication possible within surrounding
environment. People who are supposed to be close with each other in social environment
can make the best use of this application i.e. in the case of office work, neighborhood and
educational purposes etc. It wouldn’t make any difference if you are new to the
application or in an unknown environment where you are unable to communicate face to
face with somebody.
TABLE OF CONTENTS
1.2 Purpose.......................................................................................................14
1.3 Objective....................................................................................................15
2.1 Scope................................................................................................................18
2.2.6 Operations.....................................................................................................21
2.2.8 Constraints.....................................................................................................21
Chapter 5: Testing 65
6.1 Languages......................................................................................................72
6.1.2 XML...........................................................................................................73
6.1.3 Android.......................................................................................................73
6.2 Application....................................................................................................73
6.2.1 Adobe Photoshop........................................................................................73
6.2.2 Firebase.......................................................................................................73
6.2.3 Android Studio............................................................................................73
6.2.4 Draw.io........................................................................................................73
6.3 Physical Devices.............................................................................................74
6.3.1 Android operating system based smart phones .........................................74
TABLE OF Figures
3.1.1 Login..........................................................................................................31
3.1.2 Search.........................................................................................................32
3.1.3 Set Range.....................................................................................................33
3.1.4 Create Group..............................................................................................34
3.1.5 Create Message...........................................................................................35
3.1.6 Delete Message...........................................................................................36
3.1.7 Delete Group..............................................................................................37
3.2 Use Case Model.............................................................................................38
4.1 System Architecture Design.........................................................................41
4.3.1 Domain Model Diagram...........................................................................42
4.4.1 Registration Sequence Diagram................................................................43
4.4.2 Login Sequence Diagram..........................................................................44
4.4.3 Profile Sequence Diagram.........................................................................44
4.4.4 Message Sequence Diagram......................................................................45
4.4.5 Create & delete group Sequence Diagram................................................45
4.4.2 Overall Sequence Diagram.......................................................................46
4.5 Erd................................................................................................................47
4.6 Deployment Diagram...................................................................................48
4.7 Collaboration Diagram.................................................................................48
4.8 Class Diagram..............................................................................................50
4.9 Database design Diagram.............................................................................51
4.10 GUI Design Diagram...................................................................................53
Chapter 1
Introduction
Chapter-1
Analysis: Outline:
In this chapter we analyze the introduction, 1. Introduction
purpose, objective, existing and proposed 2. Purpose
solution of system very deeply. 3. Objective
4. Exiting solution
5. Proposed solution
station, railway station etc. where you don’t know anyone and you need help, how will
you get help?
This application is need of hour. No application in the world giving these features.
Once you installed this application you will feel friendly, easy and comfortable at every
place because you will be assisted everywhere you go.
1.2-Purpose:
The main purpose is to make communication possible within the limited
range. People who are supposed to be close to each other all day can make the best use of
this application i.e. in the case of office work, neighborhood, educational
purposes(university, school, colleges) etc. As well as it wouldn’t make any difference if
you are new to the application and haven’t have any known friend on the platform. Just
Give any anonymous username as starter and communicate with any person who has
application installed in his phone. Of course, the purpose is to differentiate it from the
various other applications. Likewise, in other applications, if you want to communicate
with someone you need to have the phone number or email id of that particular person.
But Here we need a mobile application by which we are able to connect everywhere
without knowing contact information of people near to you. Of course, the chat
Application like Step-in Messenger can provide you with the several advantages which
includes:
You meet new People.
You exchange your views about certain subjects.
If you are shy, it can be a way of making friends.
You can relax because you don’t have to see the person physically.
1.3-Objective:
Objectives are:
To produce a highly reliable application for public use.
To produce an app which can provide you with the collection of user friendly as
well as better user experience environment when compared with other socializing
apps.
1.4-Existing Solution:
There are some famous apps at present which can be found as a good
competitor of this app and are an existing solution right now. All apps only provide basic
features like chat, voice call, video call, media sharing etc. are FB Messenger, Viber,
What-Sapp, Line, We Chat, and Skype etc. You can only use these features if you have
some in your contact list and most of them are your friends and family member.
1.5-Proposed Solution:
People in IT field are working on instant messaging mobile
applications from the last few years. And everybody is eager to make this world a global
village. Now the Point to be noted here is that, everybody is working hard to make this
whole world contact with each other consisting of different creative ideas. But nobody
here is really interested in making conversation better between the closed range people.
Closed range people are the one who are supposed to be near to each other almost the
everyday and we can also call them the family .And the importance of family has also
been well described in Islam as well. So here we proposed a system which will have a
special attention on the close range people communication. For example suppose if you
are at some place like airport, bus station and railway station or in university etc. where
you don’t know anyone and you need help, you can make yourself at ease by the use of
this application.
We propose that we will provide a system that help the user with feature
location base chat and with a unique feature that other existing solution are not providing
that feature is Get any info anywhere in the world. (As well as the set “range feature”
which will especially allow you to get closer to the people who are sitting closer to you at
the moment.
Chapter 2
System Requirements
Specification
Chapter-2
Analyses: Outline:
In this chapter we will analyze the system 1. scope
requirement specifications critically and 2. Overall description
will describe problem statement in details. 3. Specific requirements
2.1 Scope
The application is named as “STEP IN” (A step towards GPS Socialization).
The software product will improve the socializing trend.it will make communication
possible between different anonymous users in the Well-defined range.
The relevant benefits from the public point of view is that they can communicate
with the different people sitting around them and can ask the query regarding to the place
where they are sitting etc. Objective is :To produce an app which can provide you with
the collection of user friendly as well as better user experience environment when
compared with other socializing apps. Goal is to produce a highly reliable application for
public use. The software product is covering the modules like Group chat, current
location, Public Suggestions, Audio and video chat etc. People from all walks of the life
will be its Audience.
This Step-In application can be used for group discussion. It allows users to
find logged-in users in same area.
Step-in is a mobile application for android platform. It will support all android
based devices which contains GPS in it.
We are specially designing this mobile application which will support the
highest android software version i.e. Kit Kat and the lowest android software version i.e.
Frodo. Initially it is designed and tested for jelly Beans 4.2. Data will be synchronized
between the local application and the server application. Application will send and
receive data through Wi-Fi, mobile internet and GPS to get coordinates or to get location
information.
The Step in app will develop for android operating system using java JDK
and android SDK tools.
Name: Android
Mnemonics: Core Software
Specification number: 1
Version number: 2.2 or higher
Name: Web Server
Mnemonics: Server side
Specification number: 2
Source : JAVA
Name: Android Studio
Mnemonics: Development software
Specification number: 3
Version numb: Latest Studio
Source : Google
2.2.4 Communications interfaces
Step in application will have a Firebase Database .Server will
retrieve information from online database. Application is supposed to
store user information, messages and message history information on
Server database
2.2.5 Memory constraints
Minimum disk space required is 20MB and the Minimum Ram
required is 512MB.
2.2.6 Operations
There are some normal features like private chat, current location, public
suggestions and group chat. In the future, some features i.e. public place rating and video
chat can be added. There are some special features which are sort of a user initiative like
group creation and group chat. Meanwhile, someone has to make the group and will add
the desired users (All list of user who are in database should be shown) to make
communication possible in a circle of different people.
Current location
Private chat
Group chat.
Public suggestions.
2.2.9 Constraints
A) Design constraints: As we are developing this app for limited mobile phone size, so
there are constraints like limited screen size, low resolution and a problem of settling
complete interface on a limited small screen.
C) Memory Constraints: Memory constraints are to take hold of all the database for all
information.
Private chat
Group chat.
Firebase
Home Screen.
Chat Screen.
Profile screen.
Id FR1
Title Login
Description To use application, user must logged in.
Input Phone number
Verification Code
Output Application home screen
Dependency Null
Id FR2
Title Search
Description User can search people in their selected range.
Input User name
Group name
Output List of searched people and groups.
Dependency FR1
Id FR3
Title Set range
Description User can set range to find people.
Input Distance.
Output Selected Radius.
Id FR4
Title Create group
Description User can create Group of selected Users.
Input Group name
Output Group created message.
Dependency FR1
Id FR5
Title Create Message.
Description User can write Message to send to selected User or group.
Dependency FR1
Id FR6
Title Delete Message
Description User can delete messages from inbox.
Input Inbox messages.
Output Successful notification.
Id FR7
Title Delete Group
Description User can delete his group.
Dependency FR4,FR1
b) Frequency of use;
It depends on usage of system by the users.
c) Accessing capabilities;
Not a high accessing capabilities of the system.
2.3.6.1 Reliability
Reliability factor should have been there in the application to make sure.
That the software is reliable enough and is ready to accommodate as much a load as
possible in extreme circumstances. This factor is just a core need of software. As the
software isn’t hang or stopped under some circumstances. Step-In application is reliable
and in good working condition. It will not crash even if device memory is full or server is
loaded with high traffic. It will provide proper messages to user to accommodate user for
better user experience. All the features will be ready to use at any time and with no extra
wait. Battery usage will be optimized by putting minimum load on battery and maximum
usage. Location is optimized by getting location by different sources. All the screens are
designed according to HCI point of view by providing simple, informative and interactive
designs. All the network activities are highly secure and reliable. User privacy is highly
taken care of by providing all possible security and privacy features.
2.3.6.2 Availability
Application will be available to use if you have any internet source like Wi-Fi
or mobile data.
2.3.6.3 Security
Security is the one thing that should have been looked after with the great
care if you want to build a location based application. In our app several
cryptographically techniques will be highly preferred just to make the maximum security
of user. block just to add more security if in some cases i.e. Somebody is not feeling
secured from the other person.
2.3.6.4 Maintainability
Just to make and run the software is not enough. Its maintainability should
have been highly preferred just to make it reliable from time to time. Its defects, errors,
faults needs to be removed on scheduling bases. Time to time improvement of the
software adds the maintainability feature in the software. Some requirements will be
applied here just to check out the complexities and interfaces in spite of all requirements .
2.3.6.5 Portability
Step in is a location based application designed especially for Android Mobile
operating system. Almost 80 % of its code and components are host dependent. the
biggest and wide variety of android devices are just enough to prove the portability factor
as every person has one these days and they can take it everywhere they would like.
Chapter 3
Use case description
and model
Chapter-3
Analyses: Outline:
In this chapter we analyze all the use case 3.1 Use cases
model and write it down.
1. Signup
2. Login
3. Search
4. Set Range
5. Create Message
6. Delete Message
7. Create Group
8. Delete Group
3.1.1 Login
Actor User
Description User must login for using this app.
Precondition Not login
Basic flow User enter the Username Password.
3.1.2 Search
Use case 2
number
Use case Search
name
Actor User
Description User can search people.
Precondition No Search
Basic flow People found
Alternative Search again
flow
Post Successfully.
condition
Use case 3
number
Use case Set range
name
Actor User
Description User can set range to find people.
Precondition Range not set.
GPS available.
Basic flow Select radius of area.
Set range.
Alternative Range not set.
flow Location not available.
Post Range set Successfully.
condition
Use case 4
number
Use case Create Group
name
Actor User
Description User can create Group.
Precondition Group create
Basic flow Creating group
Alternative Group not create
flow
Post Successfully
condition
Use case 5
number
Use case Write Message
name
Actor User
Description User can write Message.
Use case 6
number
Use case Delete Message
name
Actor User
Description User can delete messages from inbox.
Precondition Message should be in inbox.
Basic flow Go to inbox.
Select message.
Go to options and delete.
Alternative No message to delete.
flow
Post Message no more present in inbox.
condition
Result Successfully deleted.
Use case 7
number
Use case Delete Group
name
Actor User
Description User can delete his group.
Precondition User should be its admin.
Group should be present.
Basic flow Go to group options.
Select the delete options.
Alternative Not the admin of the group.
flow
Post Group not available anymore.
condition
Result Successfully deleted.
Chapter 4
Software Design
Description
Chapter-4
Software design description
Introduction: Outline:
This chapter is all about overall 1. System Architectural
Software design description. Design
2. User interface design
3. Data base Design
4. Data Flow diagram
5. System Sequence diagram
Signup / Login
Firebase Authentication
Profile
Set Range
Near by
One 2 One chat
Group Chat
Figure 4.3
Usage scenarios
The logic of methods
The logic of services
Sequence of actions that are used in this project are
Signup
Login
messages
Create & Delete Group
System Sequence diagram
ER model is a data model for describing the data or information aspects of a business
domain or its process requirements, in an abstract way that lends itself to Ultimately
being implemented in a database such as a relational database. The main components of
ER models are entities (things) and the relationships that can exist among them.
4.9.1 Groups:
Location:
4.9.5 Users:
Chapter 5
Testing
Chapter-5
Testing
Introduction
This chapter contains all the information about the testing of the step in messenger.
Test Case Name: Test Whether the profile pic is uploaded or not
Pre-Condition Profile Setting Tab UI is Open.
Chapter 6
Tool and used
Chapter-6
Introduction: Outline:
This chapter makes know 1. Languages
technical expertise and other readers 2. Application
about the tools which are used to 3. Physical Devices
develop this android application
project.
Introduction:
This chapter will let people know about the tools i.e. (Languages, Applications
and other physical devices) used to build this android Application.
This Chapter is all about the tools used in this application to develop the app named STEP
IN: (A Step towards GPS based Socialization).The tools are divided into three categories
and are as follow:
1-Languages.
3-Physical Devices.
6.1- Languages
6.1.1 Java
The application step in is developed for android operating system supported
devices. While working on SDK, the programing language of android application is java
programing language which is different from java SE and java ME. The android’s version
of java programming language does not directly relate to java SE although it used a
subset of apache Harmony SE 6 libraries and tools.it also uses other custom libraries too.
6.1.2 XML
To Design the front end of the android application, XML is used. Using
Android’s XML vocabulary UI layouts and the screen elements they contain, are
designed.
6.1.3 Android
Android has been used here for server side of Step In Messenger. Which is
used on the server side and acts as a bridge between client side local database and the
server side Firebase database.
6.2 Applications:
The Applications and software used are as follows:
6.2.2 Firebase:
Firebase is an online database
Chapter 7
Future Enhancement
Chapter 7
Introduction: Outline:
This chapter contain lessons 1. Lessons Learnt.
we have learnt by working on this 2. Future Enhancement
project. This chapter also contain the
future work and enhancement of our
software product.
This project really made us realize the value of working together as a team,
and a new and great experience in this learning environment. This is the most precious
thing we have learnt in this project .this project really provided us opportunity to make
our friendship stronger as we spent more and more time together for project discussions.
Moreover, there are a lot of memorable moments which are worthwhile for us.
Using later releases of Step in, one might be able to send and receive
media file like images, and audio files through this messenger. Step in will also provide a
feature to send an audio recorded message to your friends.
7.2.2 Cross-Plate Form:
The Step In Messenger is currently available only for android based
handheld devices .We will make this application available to other plate forms too, which
includes IOS, Window and Black Berry.
7.2.3 Video and Audio Calls:
Another Enhancement which can be made to this Step in Messenger is to allow users
audio and video calls though Wi-Fi and mobile data.