SlideShare a Scribd company logo
1 of 84
Download to read offline
1
TABLE OF CONTENTS
1. Feasibility Study................................................................................................................................................................... 7
1.1 Presents System ............................................................................................................................................................. 7
1.2 Problem Statement........................................................................................................................................................ 7
1.3 Objectives/ User Requirements................................................................................................................................. 8
Proposal of a new system.............................................................................................................................................. 8
The application will have the following features/modules................................................................................. 8
Initial Requirements........................................................................................................................................................ 8
1.4 Solutions/ System Proposals................................................................................................................................10
Proposed Operation Solution..................................................................................................................................10
Proposal Technical Solution (System Proposal).............................................................................................10
2. Cost Analysis.......................................................................................................................................................................10
2.1COCOMO Analysis.......................................................................................................................................................10
Basic COCOMO...............................................................................................................................................................11
Intermediate COCOMO ..............................................................................................................................................11
3. Flow Charts..........................................................................................................................................................................12
3.1 Data Flow Diagram...................................................................................................................................................12
3.2 Entity Relationship Model .....................................................................................................................................13
3.3 User Interface (Each output/report) ................................................................................................................14
Splash Screen.................................................................................................................................................................14
Login Screen...................................................................................................................................................................15
Register Screen.............................................................................................................................................................16
Map Screen .....................................................................................................................................................................17
Chats Screen...................................................................................................................................................................18
Find User Screen ..........................................................................................................................................................19
User Profile Screen......................................................................................................................................................20
Edit Profile Screen.......................................................................................................................................................21
Profile Screen.................................................................................................................................................................22
Chat Screen.....................................................................................................................................................................23
About Screen..................................................................................................................................................................24
Friend Profile Screen..................................................................................................................................................25
Save Location Screen..................................................................................................................................................26
Edit Saved Location Screen......................................................................................................................................27
2
4. System Testing..............................................................................................................................................................28
5. Summery ..............................................................................................................................................................................29
5.1 Contingency Plan.......................................................................................................................................................29
5.2 Conclusion....................................................................................................................................................................29
Project Description......................................................................................................................................................29
Project Goals ..................................................................................................................................................................29
Lessons Learned...........................................................................................................................................................29
Project Costs...................................................................................................................................................................29
Contact Information....................................................................................................................................................29
SOFTWARE REQUIREMENTS SPECIFICATION
Section 1: Introduction..................................................................................................................................................31
1.1 Vision Statement ..................................................................................................................................................31
1.1.1 Software Purpose........................................................................................................................................31
1.1.2 Software Scope............................................................................................................................................31
1.1.3 Software Perspective.................................................................................................................................31
1.2 Intended audience and reading suggestions.................................................................................................32
Section 2: Overall description.............................................................................................................................................32
2.1 User characteristics.....................................................................................................................................................32
2.2 Operating environment..............................................................................................................................................32
2.3 Design and Implementation Constraints..............................................................................................................32
2.4 Database Considerations...........................................................................................................................................32
2.5 Assumptions and dependencies ..............................................................................................................................33
Assumptions....................................................................................................................................................................33
Dependencies..................................................................................................................................................................33
Section 3: System Analysis..................................................................................................................................................33
3.1 Data Flow Diagram.....................................................................................................................................................33
3.2 Entity Relationship Diagram ...................................................................................................................................34
Section 4: System Features...................................................................................................................................................35
4.1 Share Location..............................................................................................................................................................35
4.2 Save Location...............................................................................................................................................................35
4.3 Directions.......................................................................................................................................................................35
4.4 Live Location................................................................................................................................................................35
4.5 Search by Range..........................................................................................................................................................35
3
4.6 Google-Maps ................................................................................................................................................................36
4.7 Login/Registration ......................................................................................................................................................36
4.8 Profile..............................................................................................................................................................................36
4.9 Friends ............................................................................................................................................................................36
4.10 Chat ...............................................................................................................................................................................36
Section 5: Use Case Model ..................................................................................................................................................37
5.1 Use Case Diagram.......................................................................................................................................................37
5.2 Use Case Description.................................................................................................................................................38
Use Case Name: On-Map-Long-Click....................................................................................................................38
Use Case Name: On-Marker-Click..........................................................................................................................39
Use Case Name: Map Options...................................................................................................................................40
Use Case Name: Friends List.....................................................................................................................................41
Use Case Name: Find User.........................................................................................................................................42
Use Case Name: Edit Profile......................................................................................................................................43
Use Case Name: Share TAG......................................................................................................................................44
Use Case Name: About................................................................................................................................................44
Use Case Name: Show/Hide Saved Locations.....................................................................................................45
Use Case Name: Show/Hide Friends.......................................................................................................................45
Use Case Name: Saved Locations............................................................................................................................46
Use Case Name: Register User..................................................................................................................................47
Use Case Name: Login ................................................................................................................................................47
Use Case Name: Logout..............................................................................................................................................48
Section 6: Elaborated Use Cases........................................................................................................................................49
6.1 On Map Long Click....................................................................................................................................................49
6.2 On Marker Click..........................................................................................................................................................50
6.3 Map Options..................................................................................................................................................................51
6.4 Friends List....................................................................................................................................................................52
6.5 Find User........................................................................................................................................................................53
6.6 Edit Profile ....................................................................................................................................................................54
6.7 Share TAG.....................................................................................................................................................................55
6.8 About...............................................................................................................................................................................56
6.9 Show/Hide Saved Locations....................................................................................................................................57
6.10 Show/Hide Friends...................................................................................................................................................58
6.11 Saved Locations ........................................................................................................................................................59
6.12 Register User..............................................................................................................................................................60
4
6.13 Login.............................................................................................................................................................................61
6.14 Logout...........................................................................................................................................................................62
Section 7: User Interface.......................................................................................................................................................63
7.1 Splash Screen................................................................................................................................................................63
7.2 Login Screen.................................................................................................................................................................64
7.3 Register Screen ............................................................................................................................................................65
7.4 Map Screen....................................................................................................................................................................66
7.5 Chats Screen..................................................................................................................................................................67
7.6 Find User Screen .........................................................................................................................................................68
7.7 User Profile Screen.....................................................................................................................................................69
7.8 Edit Profile Screen......................................................................................................................................................70
7.9 Profile Screen ...............................................................................................................................................................71
7.10 Chat Screen.................................................................................................................................................................72
7.11 About Screen..............................................................................................................................................................73
7.12 Friend Profile Screen...............................................................................................................................................74
7.13 Save Location Screen ..............................................................................................................................................75
7.14 Edit Saved Location Screen...................................................................................................................................76
Section 8: Non-Functional Requirements........................................................................................................................77
8.1 Business Rules ......................................................................................................................................................77
8.2 performance Requirements ...............................................................................................................................77
8.3 safety requirements..............................................................................................................................................77
8.4 Security Requirements........................................................................................................................................77
8.5 Software Quality Attributes .....................................................................................................................................77
8.6 User Documentation...................................................................................................................................................77
FUNCTIONAL SPECIFICATION DOCUMENT
1. Introduction .....................................................................................................................................................................79
1.1 Project Overview.........................................................................................................................................................79
1.2 Problem Statement......................................................................................................................................................79
1.3 User Characteristics....................................................................................................................................................79
1.4 Affected Groups...........................................................................................................................................................79
1.5 Assumptions..................................................................................................................................................................80
1.6 Dependencies/ External Systems............................................................................................................................80
1.7 Goals................................................................................................................................................................................80
5
1.8 Reference/ Source Documents ................................................................................................................................80
2. System Architecture Diagram....................................................................................................................................81
3. Use Case Model .............................................................................................................................................................82
3.1 Actors..............................................................................................................................................................................83
3.2 List of use cases...........................................................................................................................................................83
4. Functional Requirements.........................................................................................................................................84
6
ACKNOWLEDGEMENT
I would like to take this opportunity to express my deep sense of
gratitude to Mr. Kashif Naeem, In-Charge BSCS/M.Sc. (CS
Projects), Institute of Management & Science (IMS-PakAims),
Lahore, for his sincere guidance and help extended to me during
the project work. He as a guide has constantly encouraged and
inspired me by his personal involvement, making the project a
success. I am also grateful to the library authorities of IMS-
PakAims for providing me with the needed information during
my preparation of project work.
Thanking You,
Ali Goher Shabir.
7
ANALYSIS
1. FEASIBILITY STUDY
1.1 PRESENTS SYSTEM
The project “Chatmapion” is an Android application and is intended for people who travel a lot
and have to remember every place they have been to. The application will help by providing
users with the option to save location so they don’t have to remember every place they travel.
Also, for people who want to know best possible route to their destination as the application will
provide a Google-Maps like feature which will mark shortest/best possible route to the desired
location.
User will also be able to share their location with others who are using the same application or if
they are not using the same application, they will be directed to Google- Maps/Web Browser.
Furthermore, application will have features like “Friends List”, “Live Location” and “Chat” so,
users will be able to add other users to their friends list and will be able to see their live location
on the map in the application and will also be able to chat with them.
1.2 PROBLEM STATEMENT
Currently there are many android applications that provide with the features like “Live
Location”, “Chat” and “Saving Location” and a few of them are WhatsApp and Google-Maps
but none of these provide those features all together in a single application and Chatmapion
provides them all together.
8
1.3 OBJECTIVES/ USER REQUIREMENTS
PROPOSAL OF A NEW SYSTEM
The new proposed system is an android application which will provide all the before mentioned features
as a single product and will be initially targeting android platform.
THE APPLICATION WILL HAVE THE FOLLOWING FEATURES/MODULES
1. Save Location: You will be able to save a specific point on the map.
2. Live Location: You will be able to view your friends on the map live.
3. Google Maps: Maps-SDK will be used to display map in the application.
4. Chat: You will be able to send text and image messages to your friends.
5. Directions: You will be able to find shortest/best possible route to your desired location on map.
6. Friends: You will be able to add other users in your friends list.
7. Login/Register: Everyone will be provided with a unique application-ID upon registering with the
application which will be used throughout the app to identify the user.
8. Settings: You will be able to setup you profile picture, cover picture, user details and some map
settings.
INITIAL REQUIREMENTS
The initial requirements for the new system are defined feature by feature and are as follows.
1. Save Location
The new system is required to save the provided location/point on the map with the provided
“name” and “description” for the location and keep it stored in the application even after the
application is closed and needs to show the saved locations on the map. User will have the choice
to show/hide saved locations on the map. The saved location will be shown on the map as a
unique image which will not be determined by the user.
2. Live Location
The new system should be able to show live location of friends on the map and should be able to
send live location to others. Users will have the option to stop/continue providing their live
location to other users(friends). Only friends should be able to see each other’s location and no
other user should be able to see other users.
3. Google-Maps
The proposed system will have integrated Google-Maps. This feature will be used to show live
locations, saved location and will be used to find routes to any desired location by the user.
9
4. Chat
New proposed product should have an integrated chat application. Chat will initially be able to
send text and image messages to each other and only friends will be able to send/receive
messages. The application should make sure that the messages are delivered and ASAP with
timestamp. The messages will be displayed in the application as the standard set by WhatsApp,
which is, sent messages will be at the left of the screen and received messages will be on the
right of the screen.
5. Directions
The new application is needed to calculate and provide the user with the shortest/best possible
route to the provided point/location so the user can easily navigate to the place. User should be
able to clear the marked directions on the map after he is done with. The provided path/directions
should be accurate.
6. Friends
Proposed solution will have a feature to add other users as friends in the “Friends List” of the
user. Application should only add people as friends who are not added before and are verified
users of the application. The app also needs to have the option to un-friend an added friend from
the List. After adding a user to the List, the user will be able to chat with them and see their live
location on the map and see whether they are online or offline.
7. Login/Register
New system is required to make sure that the user registers with the application before using the
actual product. Initially the user will be required to fill user name, email and password fields, if
any field is left empty then the application should not make attempt to register user online and
warn user. Upon successful registration the user should be able to login without any problem.
The application should decide whether the user should be taken to the main screen or the
login/registration screen based on user is logged in.
8. Settings
New system needs to give user the flexibility to change/update user name, password, profile
picture, cover photo, status message, map settings and other settings. Upon request is made to
update/change a setting the application should upon completion notify user whether the update
was successful or not. The update should be successful in first attempt.
10
1.4 SOLUTIONS/ SYSTEM PROPOSALS
PROPOSED OPERATION SOLUTION
The new system will be used to navigate to specific locations/points on the map desired by
the user. Users will be able to save and share their location, send text and image messages
to each other and see each other’s live location position on the map.
PROPOSAL TECHNICAL SOLUTION (SYSTEM PROPOSAL)
HARDWARE REQUIREMENTS
 Dell Inspiron 5537 core i5, 12gb-ram, 2gb-GPU (laptop/desktop)
 One or two android mobiles that have SDK 21 (lollipop) or greater for testing
 Stable internet connection (2 to 4 Mbps)
SOFTWARE REQUIREMENTS
 Windows 10 (operating system)
 Android Studio (latest version)
 Adobe Photoshop CS6
2. COST ANALYSIS
2.1COCOMO ANALYSIS
Line of Code Lines
java 20192
txt 12325
properties 1134
xml 17758
Total Lines 51409
KLOC
51.409
EAF 2.722740022
Initial Cost Development Time * Per Month Expense
Organic 255000 Rs.
Semi-detached 270000 Rs.
Embedded 270000 Rs.
11
BASIC COCOMO
INTERMEDIATE COCOMO
More accurate cost analysis:
Initial Cost Development Time * Per Month Expense
Organic 411,145.20 Rs.
Semi-detached 366,440.29 Rs.
Embedded 326,109.05 Rs.
150.25
247.45
406.96
16.79
17.21
17.10
9
14
24
- 100.00 200.00 300.00 400.00 500.00 600.00 700.00
Organic
Semi-detached
Embedded
Organic Semi-detached Embedded
People Required (P) 9 14 24
Development Time (D) 16.79 17.21 17.10
Effort Applied (E) 150.25 247.45 406.96
BASIC COCOMO
545.44
673.74
861.81
27.41
24.43
21.74
20
28
40
88% 90% 92% 94% 96% 98% 100%
Organic
Semi-detached
Embedded
Organic Semi-detached Embedded
Effort Applied (E) 545.44 673.74 861.81
Development Time (D) 27.41 24.43 21.74
People Required (P) 20 28 40
INTERMEDIATE COCOMO
12
DESIGN
3. FLOW CHARTS
3.1 DATA FLOW DIAGRAM
13
3.2 ENTITY RELATIONSHIP MODEL
14
3.3 USER INTERFACE (EACH OUTPUT/REPORT)
SPLASH SCREEN
User Interface Title: Splash Screen
Interface No. 1
Use Case Reference Application
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
15
LOGIN SCREEN
User Interface Title: Login Screen
Interface No. 2
Use Case Reference Login/Register, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etEmail 50 Text abc@email.com Field to enter
user email.
abc@email.com
etPassword 30 Text/number --- Field to enter
user password
---
16
REGISTER SCREEN
User Interface Title: Register Screen
Interface No. 3
Use Case Reference Login/Register, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etName 50 Text --- Field to enter
user name
---
etEmail 50 Text abc@email.com Field to enter
user email.
abc@email.com
etPassword 30 Text/number --- Field to enter
user password
---
17
MAP SCREEN
User Interface Title: Map Screen
Interface No. 4
Use Case Reference Google-Maps, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
18
CHATS SCREEN
User Interface Title: Chats Screen
Interface No. 5
Use Case Reference Chat, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
19
FIND USER SCREEN
User Interface Title: Find User Screen
Interface No. 6
Use Case Reference Friends List, Friends, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etSearch 50 Text TAG-id Field to enter
unique TAG-id
generated by
firebase
---
20
USER PROFILE SCREEN
User Interface Title: User Profile Screen
Interface No. 7
Use Case Reference User Profile, User.
Snapshot
21
EDIT PROFILE SCREEN
User Interface Title: Edit Profile Screen
Interface No. 8
Use Case Reference Edit Profile, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etStatus 150 Text --- Field to enter
user status
Hi! Let’s be
friends…
etName 50 Text --- Field to enter
user name
User name
etEmail 50 Text abc@email.com Field to enter
user email
abc@email.com
etPhoneNo 12 Number 1234-1234567 Field to enter
contact info
1234-1234567
etAge 3 Number 24 Field to enter
user age
24
rMale --- Radio Button --- Radio button
for male
---
rFemale --- Radio Button --- Radio button
for female
---
22
PROFILE SCREEN
User Interface Title: Profile Screen
Interface No. 9
Use Case Reference View Profile, On Marker Click, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
23
CHAT SCREEN
User Interface Title: Profile Screen
Interface No. 9
Use Case Reference View Profile, On Marker Click, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etMessage 150 Text --- Field to enter
user message
to send
Hi… How are
you…
24
ABOUT SCREEN
User Interface Title: About Screen
Interface No. 11
Use Case Reference Map Screen, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
25
FRIEND PROFILE SCREEN
User Interface Title: Friend Profile Screen
Interface No. 12
Use Case Reference Friends List, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
26
SAVE LOCATION SCREEN
User Interface Title: Save Location Screen
Interface No. 13
Use Case Reference Save Location, Google-Maps, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etLocName 30 Text --- Field to enter
location name
Lahore
etLocDescription 100 Text --- Field to enter
location details
Ravi road,
lahore,
Pakistan…
27
EDIT SAVED LOCATION SCREEN
User Interface Title: Edit Saved Location Screen
Interface No. 13
Use Case Reference Save Location, Google-Maps, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etLocName 30 Text --- Field to enter
location name
Lahore
etLocDescription 100 Text --- Field to enter
location details
Ravi road,
lahore,
Pakistan…
28
IMPLEMENTATION & TESTING
4. SYSTEM TESTING
Following is a checklist used in testing of the application.
Exception management
faults
 Have all possible error conditions been taken into account?
Fault Class  Inspection Check
Data faults  Are all program variables initialized before their values are
used?
 Have all constants been named?
 Should the lower bound of arrays be 0, 1, or something else?
 Should the upper bound of arrays be size or size -1?
 If character strings are used, is a delimiter explicitly assigned?
Control faults  For each conditional statement, is the condition correct?
 Is each loop certain to terminate?
 Are compound statements correctly bracketed?
 In case statements, are all possible cases accounted for?
Input/ Output faults  Are all input variables used?
 Are all output variables assigned a value before they are
output?
Interface faults  Do all function and procedure calls have correct number of
parameters?
 Do formal and actual parameters types match?
 Are the parameters in right order?
 If components access shared memory, do they have the same
model of shared memory structure?
Storage management faults  If a linked structure is modified, have all links been correctly
assigned?
 If dynamic storage is used, has space been allocated correctly?
 Is space explicitly de-allocated after it is no longer required?
29
PROJECT REVIEW
5. SUMMERY
5.1 CONTINGENCY PLAN
In case the product fails in the market, then we would come up with new product. We will
reposition our product and some alteration will be made in its composition. We will use the
fixed facilities that we already have.
5.2 CONCLUSION
PROJECT DESCRIPTION
The new system will be used to navigate to specific locations/points on the map desired by the
user. Users will be able to save and share their location, send text and image messages to each other
and see each other’s live location position on the map.
PROJECT GOALS
To provide people maps and chat in a single platform.
LESSONS LEARNED
 Firebase
 JSON
 Data-Structures
 Google-Maps integration in Android application (Directions-API, Places-API, Utility-API)
 Designing Screen Layouts in Adobe Photoshop CS6
 Android programming patterns
PROJECT COSTS
According to the COCOMO analysis: Rs. 300,000
CONTACT INFORMATION
Ali Goher Shabir at aligohershabir@gmail.com, 03004335209.
30
Software Requirements
Specification
31
SECTION 1: INTRODUCTION
1.1 VISION STATEMENT
1.1.1 SOFTWARE PURPOSE
The intended product will be an android application named Chatmapion. It will be developed as
a complete standalone system and will have the following features and characteristics.
Name Chatmapion
Release No. 1.0
Version No. 1.0
Description
Chatmapion will have the following modules.
1. Google-Maps:
Maps-SDK will be used to display map in the application.
2. Chat:
You will be able to send text and image messages to your friends.
3. Login/Registration:
Everyone will be provided with a unique application-ID upon registering with the
application which will be used throughout the app to identify the user.
4. Live Location:
You will be able to view your friends on the map live.
5. User Profile:
You will be able to setup you profile picture, cover picture, user details and some map
settings.
6. Friends List:
You will be able to add other users in your friends list.
7. Directions:
You will be able to find shortest/best possible route to your desired location on map.
8. Save Location:
You will be able to save a specific point on the map.
1.1.2 SOFTWARE SCOPE
The new system will be used to navigate to specific locations/points on the map desired by the
user. Users will be able to save and share their location, send text and image messages to each
other and see each other’s live location position on the map.
1.1.3 SOFTWARE PERSPECTIVE
The new system will initially be launched on the Play-Store (Android-OS) and will be available
to the whole world. The intended system will be a new self-contained product and will be new
addition to the market.
32
1.2 INTENDED AUDIENCE AND READING SUGGESTIONS
This document is intended for the project manager (s), supervisor (s) and developer (s) involved
in the development of the new intended system. This document will provide as a guide to the
readers and can be used to track the progress of the software development
SECTION 2: OVERALL DESCRIPTION
This section presents high-level overview of the product being specified and the environment in
which it will be used, the anticipated users of the product and the known constraints,
assumptions and dependencies.
2.1 USER CHARACTERISTICS
The new system is intended for Mobile/Tablet users and initially for Android-OS platform. These
are the users who are always traveling place to place and need to know the best possible route to
their destination on the go and need to send/receive messages to/from others. Sales people and
consultants are some of the few examples of mobile users.
2.2 OPERATING ENVIRONMENT
The new system will initially be available on the Android-OS platform and will require 21 SDK-
Version (or greater) of the Mobile/Tablet.
2.3 DESIGN AND IMPLEMENTATION CONSTRAINTS
The new system will be developed using the following technologies and tools.
 Programming languages: Java, Android, XML, HTML5, PHP, SQLite.
 Google APIs: Google-Maps API, Google-Directions API, Google-Places API.
 Glide APIs: Glide API, Glide Transformations API.
2.4 DATABASE CONSIDERATIONS
The intended system’s back-end will be based on the newly introduced technology called Firebase.
Firebase is a non-SQL back-end service which has its own set of rules and advantages. Firebase is a good
choice for the proposed system because it is fast, reliable and provides many more functionalities than
just a plane-old SQL-database. It supports many technologies like Ad-Mobs, Push-Notifications, Cloud-
Messaging and firebase-storage.
The Firebase Realtime Database is a cloud-hosted database. Data is stored as JSON and synchronized in
Realtime to every connected client. When building cross-platform apps with firebase’s Android SDK, all
of the clients share one Realtime Database instance and automatically receive updates with the newest
data. Instead of typical HTTP requests, the Firebase Realtime Database uses data synchronization every
time data changes, any connected device receives that update within milliseconds. Providing collaborative
and immersive experience without thinking about networking code.
33
2.5 ASSUMPTIONS AND DEPENDENCIES
ASSUMPTIONS
 It is assumed that no additional code will be needed to produce for uploading and
downloading of image data as Firebase’s Android SDK will completely take care of it.
 Assuming that downloading of image data will be taken care of using Glide SDK.
 Assuming that adding ads will be taken care of by using Google-Ad-Mobs SDK.
 Assuming no additional code will be needed to make upload and download requests to
the database as firebase will take care of that.
DEPENDENCIES
The new system will be depending on the Chat Module to be provided with the correct operating
components on schedule. Development will not continue until Chat module is provided.
SECTION 3: SYSTEM ANALYSIS
3.1 DATA FLOW DIAGRAM
34
3.2 ENTITY RELATIONSHIP DIAGRAM
35
SECTION 4: SYSTEM FEATURES
Following are the details of the features that will be included in the android application.
4.1 SHARE LOCATION
User will be able to share their location or even any location selected by the user on the map with
each other. User will select a point on the map and will be presented with the option to share that
location. It is a quite simple yet very useful feature.
4.2 SAVE LOCATION
User will be able to save any and many locations in the application. User will be able to select a
point on the map and upon selection will be given an option to save the location on the firebase
database. User will type a name of his choice for the location and a description for the location to
be saved. When user is ready, user will press the save button and in result the location will be
saved on the firebase database within seconds and will be shown to the user on the map as a
unique image which will not be determined by the user. User will have the choice to show/hide
saved locations on the map.
4.3 DIRECTIONS
This feature will allow the user to navigate from his position to the desired location or point on
the map with ease. User will select a location on the map and from the provided options will
select “Show Directions” option. The application will create the shortest/best possible route for
the user from his position to the selected location. User when done can select the option to “Clear
Directions” from the screen which will clear the marked path from the map.
4.4 LIVE LOCATION
The application when active will keep track of user’s current location. User will be able to see
live location of their friends on the map. When the user is no longer using the application the
location of the user will not be updated and all other friends will see that user’s last location on
the map. Only friends will be able to see each other’s live location on the map.
4.5 SEARCH BY RANGE
Using this feature the user of the application will be able to search saved locations and friends in
a selected radius around the user. User will select the search option and then select saved
locations or friends whichever is desired for searching. User will also be able to select from
different ranges provided in the application.
36
4.6 GOOGLE-MAPS
Google-Maps will be integrated in the application as a feature and will be used to show live
locations, saved locations, friends and will be used to find routes to any desired location selected
by the user.
4.7 LOGIN/REGISTRATION
Initially the users will be able to create an account with using email and password before using
the actual product. The user will be required to fill user name, email and password fields, if any
field is left empty then the application should not make attempt to register user online and warn
user. Upon successful registration the user should be able to login without any problem. The
application should decide whether the user should be taken to the main screen or the
login/registration screen based on user is logged in.
4.8 PROFILE
To make user feel like at home, this feature will allow the user to setup user’s profile picture,
cover photo, status message and personal information. Here the user can change/update a setting
or personal information by pressing the edit profile button.
4.9 FRIENDS
This feature lets the application user to add other users as friends in the “Friends List”.
Application will only add people as friends who are not added before and are verified users of
the application. The user will also have the option to un-friend an added friend from the List.
After adding a user to the List, the user will be able to chat with them and see their live location
on the map and see whether they are online or offline.
4.10 CHAT
The feature of Chat will be integrated in the application so the user can communicate with each
other. Chat will initially be able to send text and image messages to each other and only friends
will be able to send/receive messages. Chat will make sure that the messages are delivered and
ASAP with timestamp. The messages will be displayed in the application as the standard set by
WhatsApp, which is, sent messages will be at the left of the screen and received messages will
be on the right of the screen.
37
SECTION 5: USE CASE MODEL
5.1 USE CASE DIAGRAM
38
5.2 USE CASE DESCRIPTION
USE CASE NAME: ON-MAP-LONG-CLICK
Basic Information
Actors: User
Purpose: Will select and mark a point on the map and provide
user with options.
Cross References: Share Location, Show Directions, Save Location.
Feature: Google-Maps / Map Screen
Typical Course of Events
This use case will be initiated when user will long click/press on the map screen. Upon initiation a marker
will be marked on the map. User will be able to select the marker for more options (save, share, directions).
Alternate Course of Events
If user is not connected to the internet then the marked location will be saved offline for current session and
when the user connects to the internet it will be saved on the database but if user closes the application
without connecting to the internet the marked location will be lost.
39
USE CASE NAME: ON-MARKER-CLICK
Basic Information
Actors: User
Purpose: Will show user options related to the type of marker
clicked (Friend / Saved Location)
Cross References: Share Location, Show Directions, Save Location,
View Profile, Chat.
Feature: Google-Maps / Map Screen
Typical Course of Events
This use case will be initiated when user will click/select a marker on the map screen. Upon initiation user
will be shown more options (save, share, show directions, chat, view profile) based on type of marker
selected (Friend, Saved location).
Alternate Course of Events
If user is not connected to the internet then the marked location will be saved offline for current session and
when the user connects to the internet it will be saved on the database but if user closes the application
without connecting to the internet the marked location will be lost.
40
USE CASE NAME: MAP OPTIONS
Basic Information
Actors: User
Purpose: Will show user map options (Clear Directions,
Search, Change Map Type)
Cross References: Clear Directions/Refresh Map, Search, Change Map
Type.
Feature: Google-Maps / Map Screen
Typical Course of Events
This use case will be initiated when user will click/select “Map Options” map screen. Upon initiation user
will be shown more options (Clear Directions, Search, Change Map Type).
Alternate Course of Events
41
USE CASE NAME: FRIENDS LIST
Basic Information
Actors: User
Purpose: Will show user a list of friends from which user can
select a friend to chat or view profile.
Cross References: Select Friend to Chat, View All Friends.
Feature: Chat, Chats Screen
Typical Course of Events
This use case will be initiated when user will click/select “Friends List” from Chats screen. Upon initiation
user will be taken to the Friends List screen.
Alternate Course of Events
If user clicks the button from User Profile screen then user will be able to un-friend the selected friend.
42
USE CASE NAME: FIND USER
Basic Information
Actors: User
Purpose: Will be used to search other app users to add as
friend by the current user.
Cross References: Send Request, Accept Request, Cancel Request.
Feature: Chat, Chats Screen
Typical Course of Events
This use case will be initiated when user will click/select “GO” button from Find User screen. Upon
initiation application will search the database and if the user exists then will show a profile dialog on the
screen.
Alternate Course of Events
If user enters wrong TAG-id or if the user does not exist on the firebase database then a warning message
will be shown on the screen.
43
USE CASE NAME: EDIT PROFILE
Basic Information
Actors: User
Purpose: Will be used to update/change user information.
Cross References: Update, Cancel.
Feature: Profile, User Profile Screen.
Typical Course of Events
This use case will be initiated when user will click/select “Edit Profile” button from User Profile screen.
Upon initiation application will take the user to the Edit Profile screen.
Alternate Course of Events
If user presses the cancel button then user profile will not be updated and a message will be shown on the
screen.
44
USE CASE NAME: SHARE TAG
Basic Information
Actors: User
Purpose: Will be used to share user unique TAG-id with other
users.
Cross References: Share TAG
Feature: Profile, User Profile Screen.
Typical Course of Events
This use case will be initiated when user will click/select “Share TAG” button from User Profile screen.
Upon initiation application will show an options dialog on the screen from which user will be able to select
a medium by which the TAG-id will be shared.
Alternate Course of Events
If user presses the cancel button then the TAG-id will not be shared.
USE CASE NAME: ABOUT
Basic Information
Actors: User
Purpose: Will be used to show the name of the application
developer and to show all the licenses of the third-
party software/libraries used in the development of
the application.
Cross References: About
Feature: Application, Home Screen
Typical Course of Events
This use case will be initiated when user will click/select “About” button from top bar menu. Upon
initiation application will take user to the About screen.
Alternate Course of Events
If user click the back button then user will be taken back to the previous screen.
45
USE CASE NAME: SHOW/HIDE SAVED LOCATIONS
Basic Information
Actors: User
Purpose: Will be used to show/hide saved location from the
map screen.
Cross References: Show/Hide Saved Locations
Feature: Google-Maps, Settings, Maps-Screen.
Typical Course of Events
This use case will be initiated when user will click/select “Show/Hide Saved Locations” button from Map
settings in the user profile screen. Upon initiation application will updated the maps screen and show/hide
saved location on/from the screen.
Alternate Course of Events
If there are no locations saved in the database then this option will have no effect.
USE CASE NAME: SHOW/HIDE FRIENDS
Basic Information
Actors: User
Purpose: Will be used to show/hide friends from the map
screen.
Cross References: Show/Hide Friends
Feature: Google-Maps, Settings, Maps-Screen.
Typical Course of Events
This use case will be initiated when user will click/select “Show/Hide Friends” button from Map settings in
the user profile screen. Upon initiation application will updated the maps screen and show/hide friends
on/from the screen.
Alternate Course of Events
If there are no friends added in the database then this option will have no effect.
46
USE CASE NAME: SAVED LOCATIONS
Basic Information
Actors: User
Purpose: Will be used to take user to the saved locations
screen where user can manage saved locations.
Cross References: Change Name, Change Description, Remove Saved
Locations.
Feature: Google-Maps, Save Location.
Typical Course of Events
This use case will be initiated when user will click/select “Saved Locations” button from user profile
screen. Upon initiation application will to the saved locations screen where user will be able to
change/update name and descriptions of a saved locations and will also be able to delete a saved location
from the list.
Alternate Course of Events
If there are no saved locations then the screen will be empty.
47
USE CASE NAME: REGISTER USER
Basic Information
Actors: User
Purpose: Will be used to add/register a new user to the firebase
database.
Cross References: Update Database
Feature: Login/Registration
Typical Course of Events
This use case will be initiated when user will click/select “Register” button from Login screen. Upon
initiation application will to take user to the registration screen where user will be able to enter user name,
email and password to get registered with the application.
Alternate Course of Events
If user clicks the “Register” button from the register screen then the application will add the user to the
firebase database. Also, if user leaves any field empty then a message will be shown on the screen.
USE CASE NAME: LOGIN
Basic Information
Actors: User
Purpose: Will be used to login user into the application.
Cross References: Update Database
Feature: Login/Registration
Typical Course of Events
This use case will be initiated when user will click/select “Login” button from Login screen. Upon
initiation application will to take user to the Map screen.
Alternate Course of Events
If user leaves any field empty then a message will be shown on the screen.
48
USE CASE NAME: LOGOUT
Basic Information
Actors: User
Purpose: Will be used to log out the user from the application.
Cross References: Update Database
Feature: Login/Registration
Typical Course of Events
This use case will be initiated when user will click/select “Logout” button from user profile screen. Upon
initiation application will to update the database and upon successful logout will take user to the login
screen.
Alternate Course of Events
If mobile screen turns off during the process then user might not get logged out.
49
SECTION 6: ELABORATED USE CASES
6.1 ON MAP LONG CLICK
Use Case Name: On Map Long Click
Priority: 1
Actors: User
Use Case Summery
Will select and mark a point on the map and provide user with options. This
use case will be initiated when user will long click/press on the map screen.
Upon initiation a marker will be marked on the map. User will be able to select
the marker for more options (save, share, directions). If user is not connected to
the internet then the marked location will be saved offline for current session
and when the user connects to the internet it will be saved on the database but
if user closes the application without connecting to the internet the marked
location will be lost.
Pre-condition: The User is logged into the application.
Scenarios
Step# Scenario
1. The User activates the “On Map Long Click” function.
2. The application responds by marking a point/location on the map.
3. The information dialog of the marker is shown on the screen.
4. Option related to the marker are shown to the user.
5. User selects an option from those options.
Alternate Scenarios: The User click on the map elsewhere.
1a: If user clicks somewhere else then the marked point from the map will be cleared.
Exceptions/Alerts
1. The application will not be able to save a location if user is offline.
Post Conditions
case# Description
Save
location
The user will be taken to the save location screen where they can add name and description of the
location and save it.
Share
location
The application will show an options dialog from user can select an option to share unique TAG-
id.
Show
directions
The application will mark a shortest/best possible path to that location/point from user’s location.
50
6.2 ON MARKER CLICK
Use Case Name: On Marker Click
Priority: 1
Actors: User
Use Case Summery
Will be used to show user options related to the type of marker clicked (Friend
/ Saved Location) This use case will be initiated when user will click/select a
marker on the map screen. Upon initiation user will be shown more options
(save, share, show directions, chat, view profile) based on type of marker
selected (Friend, Saved location). If user is not connected to the internet then
the marked location will be saved offline for current session and when the user
connects to the internet it will be saved on the database but if user closes the
application without connecting to the internet the marked location will be lost.
Pre-condition: The User is logged into the application.
Scenarios
Step# Scenario
1. The User activates the “On Marker Click” function.
2. The information dialog of the marker is shown on the screen.
3. Option related to the marker are shown to the user.
4. User selects an option from those options.
Alternate Scenarios: The User click on the map elsewhere.
1a: If user clicks somewhere else then the info window dialog will be cleared from the map screen.
Exceptions/Alerts
Post Conditions
case# Description
Save
location
The user will be taken to the save location screen where they can add name and description of the
location and save it.
Share
location
The application will show an options dialog from user can select an option to share unique TAG-
id.
Show
directions
The application will mark a shortest/best possible path to that location/point from user’s location.
Chat
The application will take user to the chat screen where user can send/receive messages to the
selected user.
View
Profile
The application will take user to the profile screen of the selected user.
51
6.3 MAP OPTIONS
Use Case Name: Map Options
Priority: 1
Actors: User
Use Case Summery
Will show user map options (Clear Directions, Search, Change Map Type)
This use case will be initiated when user will click/select “Map Options” map
screen. Upon initiation user will be shown more options (Clear Directions,
Search, Change Map Type).
Pre-condition: The User is logged into the application.
Scenarios
Step# Scenario
1. The User activates the “Map Options” function.
2. The map options menu will be shown on the screen.
3. User selects one of the options.
4. The menu disappears.
Alternate Scenarios: The User click on the map elsewhere.
1a: If user clicks somewhere else then the menu will be cleared from the map screen.
Exceptions/Alerts
Post Conditions
case# Description
Change
Map Type
The application will cycle through different pre-defined map type and will updated map screen.
Search The application will show a bottom sheet which has the options related to search.
Clear
directions
The application refreshes the map screen.
52
6.4 FRIENDS LIST
Use Case Name: Friends List
Priority: 1
Actors: User
Use Case Summery
Will show user a list of friends from which user can select a friend to chat or
view profile. This use case will be initiated when user will click/select “Friends
List” from Chats screen. Upon initiation user will be taken to the Friends List
screen. If user clicks the button from User Profile screen then user will be able
to un-friend the selected friend.
Pre-condition: The User is logged into the application.
Scenarios
Step# Scenario
1. The User activates the “Friends List” function.
2. The application responds by taking user to the friends list screen.
Alternate Scenarios: The User click on the button from user profile screen.
1a: If user clicks on the button from user profile screen then user will also be able to un-friend the selected
friend.
Exceptions/Alerts
Post Conditions
case# Description
Select
Friend to
Chat
The application will take user to the chat screen to send message to the selected user.
View
profile
The application will take user to the profile screen to the selected user.
Un-friend
The application will update database and remove the selected friend from the database and the
friends list.
53
6.5 FIND USER
Use Case Name: Find User
Priority: 1
Actors: User
Use Case Summery
Will be used to search other app users to add as friend by the current user. This
use case will be initiated when user will click/select “GO” button from Find
User screen. Upon initiation application will search the database and if the user
exists then will show a profile dialog on the screen. If user enters wrong TAG-
id or if the user does not exist on the firebase database then a warning message
will be shown on the screen.
Pre-condition: The User is logged into the application.
Scenarios
Step# Scenario
1. The User activates the “Find User” function.
2. The application responds by searching the database for the entered TAG-id.
3. The application displays a user profile dialog.
Alternate Scenarios:
Exceptions/Alerts
1. If user enters wrong TAG-id or if the user by the TAG-id does not exist in the database the application
will show a warning message on the screen.
Post Conditions
case# Description
Send
Request
The application will update the database and will add a request in the request tables of both users.
Accept
Request
The application will update the database and will clear the request from both user’s requests table
and then will add TAG-ids in both user’s friends list table.
Cancel
Request
The application will update the database and will remove request sent request from both user’s
request tables.
54
6.6 EDIT PROFILE
Use Case Name: Edit Profile
Priority: 1
Actors: User
Use Case Summery
Will be used to update/change user information. This use case will be initiated
when user will click/select “Edit Profile” button from User Profile screen.
Upon initiation application will take the user to the Edit Profile screen. If user
presses the cancel button then user profile will not be updated and a message
will be shown on the screen.
Pre-condition: The User is logged into the application.
Scenarios
Step# Scenario
1. The User activates the “Edit Profile” function.
2. The application responds by taking user to the Edit Profile screen.
Alternate Scenarios:
Exceptions/Alerts
Post Conditions
case# Description
Update The application will show a message on the screen “profile updated!”.
Cancel The application will show a message on the screen “Profile not updated!”.
Change
Password
The application will show a password change dialog on the screen.
55
6.7 SHARE TAG
Use Case Name: Share TAG
Priority: 1
Actors: User
Use Case Summery
Will be used to share user unique TAG-id with other users. This use case will
be initiated when user will click/select “Share TAG” button from User Profile
screen. Upon initiation application will show an options dialog on the screen
from which user will be able to select a medium by which the TAG-id will be
shared. If user presses the cancel button then the TAG-id will not be shared.
Pre-condition: The User is logged into the application.
Scenarios
Step# Scenario
1. The User activates the “Share TAG” function.
2. The application responds by show a share dialog on the screen.
3. The user selects an option form the dialog.
Alternate Scenarios: The user presses the back button.
1a: If user presses the back button then the dialog will be cleared from the screen.
Exceptions/Alerts
Post Conditions
case# Description
Share The application will show a message on the screen “TAG shared successfully”
56
6.8 ABOUT
Use Case Name: About
Priority: 1
Actors: User
Use Case Summery
Will be used to show the name of the application developer and to show all the
licenses of the third-party software/libraries used in the development of the
application. This use case will be initiated when user will click/select “About”
button from top bar menu. Upon initiation application will take user to the
About screen. If user click the back button then user will be taken back to the
previous screen.
Pre-condition: The User is logged into the application.
Scenarios
Step# Scenario
1. The User activates the “About” function.
2. The application responds by taking user to the about screen.
Alternate Scenarios: The user presses the back button.
1a: If user presses the back button then the application will take user back to the previous screen.
Exceptions/Alerts
Post Conditions
case# Description
Back The application will take user back to the previous screen.
57
6.9 SHOW/HIDE SAVED LOCATIONS
Use Case Name: Show/Hide Saved Locations
Priority: 1
Actors: User
Use Case Summery
Will be used to show/hide saved location from the map screen. This use case
will be initiated when user will click/select “Show/Hide Saved Locations”
button from Map settings in the user profile screen. Upon initiation application
will updated the maps screen and show/hide saved location on/from the screen.
If there are no locations saved in the database then this option will have no
effect.
Pre-condition: The User is logged into the application.
Scenarios
Step# Scenario
1. The User activates the “Show/Hide Saved Locations” function.
2. The application responds by updating the maps screen with updated map settings.
Alternate Scenarios:
Exceptions/Alerts
1. This will no effect if there are no locations saved in the database.
Post Conditions
case# Description
Show/Hide
Saved
Locations
The application will show a message on the screen.
58
6.10 SHOW/HIDE FRIENDS
Use Case Name: Show/Hide Friends
Priority: 1
Actors: User
Use Case Summery
Will be used to show/hide friends from the map screen. This use case will be
initiated when user will click/select “Show/Hide Friends” button from Map
settings in the user profile screen. Upon initiation application will updated the
maps screen and show/hide friends on/from the screen. If there are no friends
added in the database then this option will have no effect.
Pre-condition: The User is logged into the application.
Scenarios
Step# Scenario
1. The User activates the “Show/Hide Friends” function.
2. The application responds by updating the maps screen with updated map settings.
Alternate Scenarios:
Exceptions/Alerts
1. This will no effect if there are no friends added in the database.
Post Conditions
case# Description
Show/Hide
Friends
The application will show a message on the screen.
59
6.11 SAVED LOCATIONS
Use Case Name: Saved Locations
Priority: 1
Actors: User
Use Case Summery
Will be used to take user to the saved locations screen where user can manage
saved locations. This use case will be initiated when user will click/select
“Saved Locations” button from user profile screen. Upon initiation application
will to the saved locations screen where user will be able to change/update
name and descriptions of a saved locations and will also be able to delete a
saved location from the list. If there are no saved locations then the screen will
be empty.
Pre-condition: The User is logged into the application.
Scenarios
Step# Scenario
1. The User activates the “Saved Locations” function.
2. The application responds by taking user to the saved location’s screen.
Alternate Scenarios: user presses the back button.
1a: If user presses the back button then the application will take user back to the previous screen.
Exceptions/Alerts
Post Conditions
case# Description
Change Name
The application will update the database and will show the saved location with the updated
name.
Change
Description
The application will update the database and will show the saved location with the updated
description.
Delete Saved
Location
The application will update the database and will remove the selected saved location from the
database and will show the updated list.
60
6.12 REGISTER USER
Use Case Name: Register User
Priority: 1
Actors: User
Use Case Summery
Will be used to add/register a new user to the firebase database. This use case
will be initiated when user will click/select “Register” button from Login
screen. Upon initiation application will to take user to the registration screen
where user will be able to enter user name, email and password to get
registered with the application. If user clicks the “Register” button from the
register screen then the application will add the user to the firebase database.
Also, if user leaves any field empty then a message will be shown on the
screen.
Pre-condition: The application is running.
Scenarios
Step# Scenario
1. The User activates the “Register User” function.
2. The application responds by updating the database.
3. The application takes user to the Login screen.
Alternate Scenarios: user presses the back button.
1a: If user presses the back button then the application will cancel to add user to the database.
Exceptions/Alerts
1. If user enters a wrong password then the user will not be registered.
2. If user enters an invalid email then the user will not be created in the database.
3. If user leaves any field empty then the application will not make attempt to update the database.
Post Conditions
case# Description
success The application shows a message on the screen “Registrations successful”
Fail The application shows a message on the screen “Registrations un-successful”
61
6.13 LOGIN
Use Case Name: Login
Priority: 1
Actors: User
Use Case Summery
Will be used to login user into the application. This use case will be initiated
when user will click/select “Login” button from Login screen. Upon initiation
application will to take user to the Map screen. If user leaves any field empty
then a message will be shown on the screen.
Pre-condition: The application is running.
Scenarios
Step# Scenario
1. The User activates the “Login” function.
2. The application responds by updating the database.
3. The application takes user to the maps screen.
Alternate Scenarios: user presses the back button.
1a: If user presses the back button then the application will be closed.
Exceptions/Alerts
1. If user enters a wrong password then the user will not be logged-in.
2. If user enters an invalid email then the user will not be logged-in.
3. If user leaves any field empty then the application will not make attempt to update the database.
Post Conditions
case# Description
success The application shows a message on the screen “Welcome”
Fail The application shows a message on the screen “login failed”
62
6.14 LOGOUT
Use Case Name: Logout
Priority: 1
Actors: User
Use Case Summery
Will be used to log out the user from the application. This use case will be
initiated when user will click/select “Logout” button from user profile screen.
Upon initiation application will to update the database and upon successful
logout will take user to the login screen. If mobile screen turns off during the
process then user might not get logged out.
Pre-condition: The User is logged-in the application.
Scenarios
Step# Scenario
1. The User activates the “Logout” function.
2. The application responds by updating the database.
3. The application takes user to the Login screen.
Alternate Scenarios: user presses the back button.
1a: If user presses the back button then the application will be closed.
Exceptions/Alerts
1. If mobile screen turns off during the process then user might not get logged out.
Post Conditions
case# Description
success The application shows a message on the screen “Logged-out successfully!”
Fail The application shows a message on the screen “failed to logout!”
63
SECTION 7: USER INTERFACE
7.1 SPLASH SCREEN
User Interface Title: Splash Screen
Interface No. 1
Use Case Reference Application
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
64
7.2 LOGIN SCREEN
User Interface Title: Login Screen
Interface No. 2
Use Case Reference Login/Register, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etEmail 50 Text abc@email.com Field to enter
user email.
abc@email.com
etPassword 30 Text/number --- Field to enter
user password
---
65
7.3 REGISTER SCREEN
User Interface Title: Register Screen
Interface No. 3
Use Case Reference Login/Register, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etName 50 Text --- Field to enter
user name
---
etEmail 50 Text abc@email.com Field to enter
user email.
abc@email.com
etPassword 30 Text/number --- Field to enter
user password
---
66
7.4 MAP SCREEN
User Interface Title: Map Screen
Interface No. 4
Use Case Reference Google-Maps, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
67
7.5 CHATS SCREEN
User Interface Title: Chats Screen
Interface No. 5
Use Case Reference Chat, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
68
7.6 FIND USER SCREEN
User Interface Title: Find User Screen
Interface No. 6
Use Case Reference Friends List, Friends, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etSearch 50 Text TAG-id Field to enter
unique TAG-id
generated by
firebase
---
69
7.7 USER PROFILE SCREEN
User Interface Title: User Profile Screen
Interface No. 7
Use Case Reference User Profile, User.
Snapshot
70
7.8 EDIT PROFILE SCREEN
User Interface Title: Edit Profile Screen
Interface No. 8
Use Case Reference Edit Profile, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etStatus 150 Text --- Field to enter
user status
Hi! Let’s be
friends…
etName 50 Text --- Field to enter
user name
User name
etEmail 50 Text abc@email.com Field to enter
user email
abc@email.com
etPhoneNo 12 Number 1234-1234567 Field to enter
contact info
1234-1234567
etAge 3 Number 24 Field to enter
user age
24
rMale --- Radio Button --- Radio button
for male
---
rFemale --- Radio Button --- Radio button
for female
---
71
7.9 PROFILE SCREEN
User Interface Title: Profile Screen
Interface No. 9
Use Case Reference View Profile, On Marker Click, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
72
7.10 CHAT SCREEN
User Interface Title: Profile Screen
Interface No. 9
Use Case Reference View Profile, On Marker Click, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etMessage 150 Text --- Field to enter
user message
to send
Hi… How are
you…
73
7.11 ABOUT SCREEN
User Interface Title: About Screen
Interface No. 11
Use Case Reference Map Screen, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
74
7.12 FRIEND PROFILE SCREEN
User Interface Title: Friend Profile Screen
Interface No. 12
Use Case Reference Friends List, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
75
7.13 SAVE LOCATION SCREEN
User Interface Title: Save Location Screen
Interface No. 13
Use Case Reference Save Location, Google-Maps, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etLocName 30 Text --- Field to enter
location name
Lahore
etLocDescription 100 Text --- Field to enter
location details
Ravi road,
lahore,
Pakistan…
76
7.14 EDIT SAVED LOCATION SCREEN
User Interface Title: Edit Saved Location Screen
Interface No. 13
Use Case Reference Save Location, Google-Maps, User.
Snapshot
Data Dictionary
Field Name Field Size Data Type Data Format Description Example
etLocName 30 Text --- Field to enter
location name
Lahore
etLocDescription 100 Text --- Field to enter
location details
Ravi road,
lahore,
Pakistan…
77
SECTION 8: NON-FUNCTIONAL REQUIREMENTS
8.1 BUSINESS RULES
 The users of the application are allowed to share their location, chat with other
application users and save their location.
 The users of the application may request password details if they forget password.
 The users of the application should not use the application illegally by sharing sensitive
information and by any other means.
 Users should be careful to add anyone as a friend. Because anyone in the friends list is
able to see their live location on the map and can mis-use this information.
 Users should be careful while talking to unknown people on the application.
8.2 PERFORMANCE REQUIREMENTS
 uploading images on the database should be done after compressing the images.
 Adding background images to buttons or any other layouts should be avoided to save
precious memory space.
 Layouts should be reused where possible and should not be given useful names to save
memory.
8.3 SAFETY REQUIREMENTS
 Users should be careful before adding other users to their friends list as they will be able
know their live location and might mis-use that information.
 Users should be careful to talk to strangers on the application as they might get in danger.
8.4 SECURITY REQUIREMENTS
 It is required by the users to verify their email as in case of a password loss Chatmapion
will not be able to recover the password and user will lose all data.
8.5 SOFTWARE QUALITY ATTRIBUTES
 The application will be focusing on the quality and performance.
 The chat feature will be based on more performance and enough graphics.
8.6 USER DOCUMENTATION
The tutorial of the application will be available on the application’s You-tube channel.
78
Functional Specification
Document
79
1. INTRODUCTION
1.1 PROJECT OVERVIEW
The project “Chatmapion” is an Android application and is intended for people who travel a lot
and have to remember every place they have been to. The application will help by providing
users with the option to save location so they don’t have to remember every place they travel.
Also, for people who want to know best possible route to their destination as the application will
provide a Google-Maps like feature which will mark shortest/best possible route to the desired
location. User will also be able to share their location with others who are using the same
application or if they are not using the same application, they will be directed to Google-
Maps/Web Browser.
Furthermore, application will have features like “Friends List”, “Live Location” and “Chat” so,
users will be able to add other users to their friends list and will be able to see their live location
on the map in the application and will also be able to chat with them.
1.2 PROBLEM STATEMENT
The new system will be used to navigate to specific locations/points on the map desired by the
user. Users will be able to save and share their location, send text and image messages to each
other and see each other’s live location position on the map.
1.3 USER CHARACTERISTICS
The new system is intended for Mobile/Tablet users and initially for Android-OS platform.
These are the users who are always traveling place to place and need to know the best possible
route to their destination on the go and need to send/receive messages to/from others. Sales
people and consultants are some of the few examples of mobile users.
1.4 AFFECTED GROUPS
The following are some of the groups or users who will be affected by the new proposed system.
 Sales people
 Students
 Teachers
 Drivers
 Pedestrians
80
1.5 ASSUMPTIONS
 It is assumed that no additional code will be needed to produce for uploading and
downloading of image data as Firebase’s Android SDK will completely take care of it.
 Assuming that downloading of image data will be taken care of using Glide SDK.
 Assuming that adding ads will be taken care of by using Google-Ad-Mobs SDK.
 Assuming no additional code will be needed to make upload and download requests to
the database as firebase will take care of that.
1.6 DEPENDENCIES/ EXTERNAL SYSTEMS
The new system will be depending on the Chat Module to be provided with the correct operating
components on schedule. Development will not continue until Chat module is provided.
1.7 GOALS
The new proposed system is an android application which will provide all the before mentioned
features as a single product and will be initially targeting android platform.
The application will have the following features/modules
1. Save Location: You will be able to save a specific point on the map.
2. Live Location: You will be able to view your friends on the map live.
3. Google Maps: Maps-SDK will be used to display map in the application.
4. Chat: You will be able to send text and image messages to your friends.
5. Directions: You will be able to find shortest/best possible route to your desired location
on map.
6. Friends: You will be able to add other users in your friends list.
7. Login/Register: Everyone will be provided with a unique application-ID upon
registering with the application which will be used throughout the app to identify the
user.
8. Settings: You will be able to setup you profile picture, cover picture, user details and
some map settings.
1.8 REFERENCE/ SOURCE DOCUMENTS
 Software Requirements Specification Document
 Project Proposal Document
81
2. SYSTEM ARCHITECTURE DIAGRAM
82
3. USE CASE MODEL
83
3.1 ACTORS
 User: This person will perform all the activities on the system.
3.2 LIST OF USE CASES
1. On-Map-Long-Click: Will select and mark a point on the map and provide user with
options.
2. On-Marker-Click: Will show user options related to the type of marker clicked (Friend /
Saved Location).
3. Map Options: Will show user map options (Clear Directions, Search, Change Map
Type)
4. Friends List: Will show user a list of friends from which user can select a friend to chat
or view profile.
5. Find User: Will be used to search other app users to add as friend by the current user.
6. Edit Profile: Will be used to update/change user information.
7. Share TAG: Will be used to share user unique TAG-id with other users.
8. About: Will be used to show the name of the application developer and to show all the
licenses of the third-party software/libraries used in the development of the application.
9. Show/Hide Saved Locations: Will be used to show/hide saved location from the map
screen.
10. Show/Hide Friends: Will be used to show/hide friends from the map screen.
11. Saved Locations: Will be used to take user to the saved locations screen where user can
manage saved locations.
12. Register User: Will be used to add/register a new user to the firebase database.
13. Login: Will be used to login user into the application.
14. Logout: Will be used to log out the user from the application.
84
4. FUNCTIONAL REQUIREMENTS
Requirement
ID
Requirement Statement Must/ Want Comments
FR001
The intended system shall have a tab layout
so user can easily navigate.
Must
FR002
The intended system shall be required to
have google maps integrated.
Must
FR003
The system shall have Google Directions
API integrated.
Want
Will be used to show
path from user’s
location to the desired
location.
FR004 The intended system shall have chat feature. Must
Will be used to
communicate with other
application users.
FR005
The intended system shall have Locations
messaging feature
Want
Will be used to find
users within selected
range.
FR006
The intended system shall have search
feature
Must
Will be used to easily
navigate between saved
locations and friends.
FR007 The intended system shall have user profile. Must
User will be able to set
profile picture and cover
photo.
FR008
The intended system shall have the share
location feature.
Must
Will be used to share
user’s location with
other.
FR009
The intended system shall have the feature to
save location.
Must
The user will be able to
save a point on the map.
FR010
The intended system shall have Ad-Mobs
implemented.
Must
FR011
The intended system shall have an about
page/ screen.
Must
This will be used to
mention all the licenses
of the third-party
software used in the
application.
FR012
The intended system shall have the feature to
send image message.
Must
User will be able to
send/ receive image
messages.
FR013 The intended system shall have friends List. Must
User will be able to
manage all his/her
friends.

More Related Content

Similar to Final Roport_(After Binding).pdf

Kioti Daedong DK45S Tractor Service Repair Manual.pdf
Kioti Daedong DK45S Tractor Service Repair Manual.pdfKioti Daedong DK45S Tractor Service Repair Manual.pdf
Kioti Daedong DK45S Tractor Service Repair Manual.pdfkm7seyduh7dw
 
Kioti Daedong DK451 Tractor Service Repair Manual
Kioti Daedong DK451 Tractor Service Repair ManualKioti Daedong DK451 Tractor Service Repair Manual
Kioti Daedong DK451 Tractor Service Repair Manualkjksemjdmkdm
 
Kioti daedong dk45 s tractor service repair manual
Kioti daedong dk45 s tractor service repair manualKioti daedong dk45 s tractor service repair manual
Kioti daedong dk45 s tractor service repair manualfjskekdmjekm
 
Kioti daedong dk451 tractor service repair manual
Kioti daedong dk451 tractor service repair manualKioti daedong dk451 tractor service repair manual
Kioti daedong dk451 tractor service repair manualfjskedmmem
 
Kioti daedong dk451 tractor service repair manual
Kioti daedong dk451 tractor service repair manualKioti daedong dk451 tractor service repair manual
Kioti daedong dk451 tractor service repair manualfjseedcxkmdmme
 
Soa In The Real World
Soa In The Real WorldSoa In The Real World
Soa In The Real Worldssiliveri
 
Earss 2007 Final
Earss 2007 FinalEarss 2007 Final
Earss 2007 FinalFran Fran
 
Tellurium 0.6.0 User Guide
Tellurium 0.6.0 User GuideTellurium 0.6.0 User Guide
Tellurium 0.6.0 User GuideJohn.Jian.Fang
 
Man, marriage and machine – adventures in artificial advice
Man, marriage and machine – adventures in artificial adviceMan, marriage and machine – adventures in artificial advice
Man, marriage and machine – adventures in artificial adviceAsheesh Goja
 
Manual de servicio serie a1 de baic
Manual de servicio serie a1 de baicManual de servicio serie a1 de baic
Manual de servicio serie a1 de baicGonzalo Martinez
 
Practical Guide To Software System Testing
Practical Guide To Software System TestingPractical Guide To Software System Testing
Practical Guide To Software System Testingvladimir zaremba
 
Personal Development Mobile App Market 2022.pdf
 Personal Development Mobile App Market 2022.pdf Personal Development Mobile App Market 2022.pdf
Personal Development Mobile App Market 2022.pdfGlobemonitor
 
Skripsi - Daftar Isi
Skripsi - Daftar IsiSkripsi - Daftar Isi
Skripsi - Daftar IsiRian Maulana
 
SRS of software project lab 1
SRS of software project lab 1SRS of software project lab 1
SRS of software project lab 1Arafat Zaman Anik
 
Geology and Stratigraphy of Hazara,Mansehra and Oghi Khaki Road Pakistan
Geology and Stratigraphy of Hazara,Mansehra and Oghi Khaki Road PakistanGeology and Stratigraphy of Hazara,Mansehra and Oghi Khaki Road Pakistan
Geology and Stratigraphy of Hazara,Mansehra and Oghi Khaki Road PakistanHammad Ahmad Sheikh
 
How to Troubleshoot SELinux Audit2Allow unable to open (null)
How to Troubleshoot SELinux Audit2Allow unable to open (null)How to Troubleshoot SELinux Audit2Allow unable to open (null)
How to Troubleshoot SELinux Audit2Allow unable to open (null)VCP Muthukrishna
 
Physical exercise web application documentation
Physical exercise web application documentationPhysical exercise web application documentation
Physical exercise web application documentationTuononenP
 

Similar to Final Roport_(After Binding).pdf (20)

Kioti Daedong DK45S Tractor Service Repair Manual.pdf
Kioti Daedong DK45S Tractor Service Repair Manual.pdfKioti Daedong DK45S Tractor Service Repair Manual.pdf
Kioti Daedong DK45S Tractor Service Repair Manual.pdf
 
Kioti Daedong DK451 Tractor Service Repair Manual
Kioti Daedong DK451 Tractor Service Repair ManualKioti Daedong DK451 Tractor Service Repair Manual
Kioti Daedong DK451 Tractor Service Repair Manual
 
Kioti daedong dk45 s tractor service repair manual
Kioti daedong dk45 s tractor service repair manualKioti daedong dk45 s tractor service repair manual
Kioti daedong dk45 s tractor service repair manual
 
Kioti daedong dk451 tractor service repair manual
Kioti daedong dk451 tractor service repair manualKioti daedong dk451 tractor service repair manual
Kioti daedong dk451 tractor service repair manual
 
Kioti daedong dk451 tractor service repair manual
Kioti daedong dk451 tractor service repair manualKioti daedong dk451 tractor service repair manual
Kioti daedong dk451 tractor service repair manual
 
Fr a200
Fr a200Fr a200
Fr a200
 
Soa In The Real World
Soa In The Real WorldSoa In The Real World
Soa In The Real World
 
Earss 2007 Final
Earss 2007 FinalEarss 2007 Final
Earss 2007 Final
 
Tellurium 0.6.0 User Guide
Tellurium 0.6.0 User GuideTellurium 0.6.0 User Guide
Tellurium 0.6.0 User Guide
 
Man, marriage and machine – adventures in artificial advice
Man, marriage and machine – adventures in artificial adviceMan, marriage and machine – adventures in artificial advice
Man, marriage and machine – adventures in artificial advice
 
Earthing
Earthing Earthing
Earthing
 
Manual de servicio serie a1 de baic
Manual de servicio serie a1 de baicManual de servicio serie a1 de baic
Manual de servicio serie a1 de baic
 
Practical Guide To Software System Testing
Practical Guide To Software System TestingPractical Guide To Software System Testing
Practical Guide To Software System Testing
 
Personal Development Mobile App Market 2022.pdf
 Personal Development Mobile App Market 2022.pdf Personal Development Mobile App Market 2022.pdf
Personal Development Mobile App Market 2022.pdf
 
Skripsi - Daftar Isi
Skripsi - Daftar IsiSkripsi - Daftar Isi
Skripsi - Daftar Isi
 
SRS of software project lab 1
SRS of software project lab 1SRS of software project lab 1
SRS of software project lab 1
 
Geology and Stratigraphy of Hazara,Mansehra and Oghi Khaki Road Pakistan
Geology and Stratigraphy of Hazara,Mansehra and Oghi Khaki Road PakistanGeology and Stratigraphy of Hazara,Mansehra and Oghi Khaki Road Pakistan
Geology and Stratigraphy of Hazara,Mansehra and Oghi Khaki Road Pakistan
 
Ebilling project report
Ebilling project reportEbilling project report
Ebilling project report
 
How to Troubleshoot SELinux Audit2Allow unable to open (null)
How to Troubleshoot SELinux Audit2Allow unable to open (null)How to Troubleshoot SELinux Audit2Allow unable to open (null)
How to Troubleshoot SELinux Audit2Allow unable to open (null)
 
Physical exercise web application documentation
Physical exercise web application documentationPhysical exercise web application documentation
Physical exercise web application documentation
 

Recently uploaded

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Recently uploaded (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

Final Roport_(After Binding).pdf

  • 1. 1 TABLE OF CONTENTS 1. Feasibility Study................................................................................................................................................................... 7 1.1 Presents System ............................................................................................................................................................. 7 1.2 Problem Statement........................................................................................................................................................ 7 1.3 Objectives/ User Requirements................................................................................................................................. 8 Proposal of a new system.............................................................................................................................................. 8 The application will have the following features/modules................................................................................. 8 Initial Requirements........................................................................................................................................................ 8 1.4 Solutions/ System Proposals................................................................................................................................10 Proposed Operation Solution..................................................................................................................................10 Proposal Technical Solution (System Proposal).............................................................................................10 2. Cost Analysis.......................................................................................................................................................................10 2.1COCOMO Analysis.......................................................................................................................................................10 Basic COCOMO...............................................................................................................................................................11 Intermediate COCOMO ..............................................................................................................................................11 3. Flow Charts..........................................................................................................................................................................12 3.1 Data Flow Diagram...................................................................................................................................................12 3.2 Entity Relationship Model .....................................................................................................................................13 3.3 User Interface (Each output/report) ................................................................................................................14 Splash Screen.................................................................................................................................................................14 Login Screen...................................................................................................................................................................15 Register Screen.............................................................................................................................................................16 Map Screen .....................................................................................................................................................................17 Chats Screen...................................................................................................................................................................18 Find User Screen ..........................................................................................................................................................19 User Profile Screen......................................................................................................................................................20 Edit Profile Screen.......................................................................................................................................................21 Profile Screen.................................................................................................................................................................22 Chat Screen.....................................................................................................................................................................23 About Screen..................................................................................................................................................................24 Friend Profile Screen..................................................................................................................................................25 Save Location Screen..................................................................................................................................................26 Edit Saved Location Screen......................................................................................................................................27
  • 2. 2 4. System Testing..............................................................................................................................................................28 5. Summery ..............................................................................................................................................................................29 5.1 Contingency Plan.......................................................................................................................................................29 5.2 Conclusion....................................................................................................................................................................29 Project Description......................................................................................................................................................29 Project Goals ..................................................................................................................................................................29 Lessons Learned...........................................................................................................................................................29 Project Costs...................................................................................................................................................................29 Contact Information....................................................................................................................................................29 SOFTWARE REQUIREMENTS SPECIFICATION Section 1: Introduction..................................................................................................................................................31 1.1 Vision Statement ..................................................................................................................................................31 1.1.1 Software Purpose........................................................................................................................................31 1.1.2 Software Scope............................................................................................................................................31 1.1.3 Software Perspective.................................................................................................................................31 1.2 Intended audience and reading suggestions.................................................................................................32 Section 2: Overall description.............................................................................................................................................32 2.1 User characteristics.....................................................................................................................................................32 2.2 Operating environment..............................................................................................................................................32 2.3 Design and Implementation Constraints..............................................................................................................32 2.4 Database Considerations...........................................................................................................................................32 2.5 Assumptions and dependencies ..............................................................................................................................33 Assumptions....................................................................................................................................................................33 Dependencies..................................................................................................................................................................33 Section 3: System Analysis..................................................................................................................................................33 3.1 Data Flow Diagram.....................................................................................................................................................33 3.2 Entity Relationship Diagram ...................................................................................................................................34 Section 4: System Features...................................................................................................................................................35 4.1 Share Location..............................................................................................................................................................35 4.2 Save Location...............................................................................................................................................................35 4.3 Directions.......................................................................................................................................................................35 4.4 Live Location................................................................................................................................................................35 4.5 Search by Range..........................................................................................................................................................35
  • 3. 3 4.6 Google-Maps ................................................................................................................................................................36 4.7 Login/Registration ......................................................................................................................................................36 4.8 Profile..............................................................................................................................................................................36 4.9 Friends ............................................................................................................................................................................36 4.10 Chat ...............................................................................................................................................................................36 Section 5: Use Case Model ..................................................................................................................................................37 5.1 Use Case Diagram.......................................................................................................................................................37 5.2 Use Case Description.................................................................................................................................................38 Use Case Name: On-Map-Long-Click....................................................................................................................38 Use Case Name: On-Marker-Click..........................................................................................................................39 Use Case Name: Map Options...................................................................................................................................40 Use Case Name: Friends List.....................................................................................................................................41 Use Case Name: Find User.........................................................................................................................................42 Use Case Name: Edit Profile......................................................................................................................................43 Use Case Name: Share TAG......................................................................................................................................44 Use Case Name: About................................................................................................................................................44 Use Case Name: Show/Hide Saved Locations.....................................................................................................45 Use Case Name: Show/Hide Friends.......................................................................................................................45 Use Case Name: Saved Locations............................................................................................................................46 Use Case Name: Register User..................................................................................................................................47 Use Case Name: Login ................................................................................................................................................47 Use Case Name: Logout..............................................................................................................................................48 Section 6: Elaborated Use Cases........................................................................................................................................49 6.1 On Map Long Click....................................................................................................................................................49 6.2 On Marker Click..........................................................................................................................................................50 6.3 Map Options..................................................................................................................................................................51 6.4 Friends List....................................................................................................................................................................52 6.5 Find User........................................................................................................................................................................53 6.6 Edit Profile ....................................................................................................................................................................54 6.7 Share TAG.....................................................................................................................................................................55 6.8 About...............................................................................................................................................................................56 6.9 Show/Hide Saved Locations....................................................................................................................................57 6.10 Show/Hide Friends...................................................................................................................................................58 6.11 Saved Locations ........................................................................................................................................................59 6.12 Register User..............................................................................................................................................................60
  • 4. 4 6.13 Login.............................................................................................................................................................................61 6.14 Logout...........................................................................................................................................................................62 Section 7: User Interface.......................................................................................................................................................63 7.1 Splash Screen................................................................................................................................................................63 7.2 Login Screen.................................................................................................................................................................64 7.3 Register Screen ............................................................................................................................................................65 7.4 Map Screen....................................................................................................................................................................66 7.5 Chats Screen..................................................................................................................................................................67 7.6 Find User Screen .........................................................................................................................................................68 7.7 User Profile Screen.....................................................................................................................................................69 7.8 Edit Profile Screen......................................................................................................................................................70 7.9 Profile Screen ...............................................................................................................................................................71 7.10 Chat Screen.................................................................................................................................................................72 7.11 About Screen..............................................................................................................................................................73 7.12 Friend Profile Screen...............................................................................................................................................74 7.13 Save Location Screen ..............................................................................................................................................75 7.14 Edit Saved Location Screen...................................................................................................................................76 Section 8: Non-Functional Requirements........................................................................................................................77 8.1 Business Rules ......................................................................................................................................................77 8.2 performance Requirements ...............................................................................................................................77 8.3 safety requirements..............................................................................................................................................77 8.4 Security Requirements........................................................................................................................................77 8.5 Software Quality Attributes .....................................................................................................................................77 8.6 User Documentation...................................................................................................................................................77 FUNCTIONAL SPECIFICATION DOCUMENT 1. Introduction .....................................................................................................................................................................79 1.1 Project Overview.........................................................................................................................................................79 1.2 Problem Statement......................................................................................................................................................79 1.3 User Characteristics....................................................................................................................................................79 1.4 Affected Groups...........................................................................................................................................................79 1.5 Assumptions..................................................................................................................................................................80 1.6 Dependencies/ External Systems............................................................................................................................80 1.7 Goals................................................................................................................................................................................80
  • 5. 5 1.8 Reference/ Source Documents ................................................................................................................................80 2. System Architecture Diagram....................................................................................................................................81 3. Use Case Model .............................................................................................................................................................82 3.1 Actors..............................................................................................................................................................................83 3.2 List of use cases...........................................................................................................................................................83 4. Functional Requirements.........................................................................................................................................84
  • 6. 6 ACKNOWLEDGEMENT I would like to take this opportunity to express my deep sense of gratitude to Mr. Kashif Naeem, In-Charge BSCS/M.Sc. (CS Projects), Institute of Management & Science (IMS-PakAims), Lahore, for his sincere guidance and help extended to me during the project work. He as a guide has constantly encouraged and inspired me by his personal involvement, making the project a success. I am also grateful to the library authorities of IMS- PakAims for providing me with the needed information during my preparation of project work. Thanking You, Ali Goher Shabir.
  • 7. 7 ANALYSIS 1. FEASIBILITY STUDY 1.1 PRESENTS SYSTEM The project “Chatmapion” is an Android application and is intended for people who travel a lot and have to remember every place they have been to. The application will help by providing users with the option to save location so they don’t have to remember every place they travel. Also, for people who want to know best possible route to their destination as the application will provide a Google-Maps like feature which will mark shortest/best possible route to the desired location. User will also be able to share their location with others who are using the same application or if they are not using the same application, they will be directed to Google- Maps/Web Browser. Furthermore, application will have features like “Friends List”, “Live Location” and “Chat” so, users will be able to add other users to their friends list and will be able to see their live location on the map in the application and will also be able to chat with them. 1.2 PROBLEM STATEMENT Currently there are many android applications that provide with the features like “Live Location”, “Chat” and “Saving Location” and a few of them are WhatsApp and Google-Maps but none of these provide those features all together in a single application and Chatmapion provides them all together.
  • 8. 8 1.3 OBJECTIVES/ USER REQUIREMENTS PROPOSAL OF A NEW SYSTEM The new proposed system is an android application which will provide all the before mentioned features as a single product and will be initially targeting android platform. THE APPLICATION WILL HAVE THE FOLLOWING FEATURES/MODULES 1. Save Location: You will be able to save a specific point on the map. 2. Live Location: You will be able to view your friends on the map live. 3. Google Maps: Maps-SDK will be used to display map in the application. 4. Chat: You will be able to send text and image messages to your friends. 5. Directions: You will be able to find shortest/best possible route to your desired location on map. 6. Friends: You will be able to add other users in your friends list. 7. Login/Register: Everyone will be provided with a unique application-ID upon registering with the application which will be used throughout the app to identify the user. 8. Settings: You will be able to setup you profile picture, cover picture, user details and some map settings. INITIAL REQUIREMENTS The initial requirements for the new system are defined feature by feature and are as follows. 1. Save Location The new system is required to save the provided location/point on the map with the provided “name” and “description” for the location and keep it stored in the application even after the application is closed and needs to show the saved locations on the map. User will have the choice to show/hide saved locations on the map. The saved location will be shown on the map as a unique image which will not be determined by the user. 2. Live Location The new system should be able to show live location of friends on the map and should be able to send live location to others. Users will have the option to stop/continue providing their live location to other users(friends). Only friends should be able to see each other’s location and no other user should be able to see other users. 3. Google-Maps The proposed system will have integrated Google-Maps. This feature will be used to show live locations, saved location and will be used to find routes to any desired location by the user.
  • 9. 9 4. Chat New proposed product should have an integrated chat application. Chat will initially be able to send text and image messages to each other and only friends will be able to send/receive messages. The application should make sure that the messages are delivered and ASAP with timestamp. The messages will be displayed in the application as the standard set by WhatsApp, which is, sent messages will be at the left of the screen and received messages will be on the right of the screen. 5. Directions The new application is needed to calculate and provide the user with the shortest/best possible route to the provided point/location so the user can easily navigate to the place. User should be able to clear the marked directions on the map after he is done with. The provided path/directions should be accurate. 6. Friends Proposed solution will have a feature to add other users as friends in the “Friends List” of the user. Application should only add people as friends who are not added before and are verified users of the application. The app also needs to have the option to un-friend an added friend from the List. After adding a user to the List, the user will be able to chat with them and see their live location on the map and see whether they are online or offline. 7. Login/Register New system is required to make sure that the user registers with the application before using the actual product. Initially the user will be required to fill user name, email and password fields, if any field is left empty then the application should not make attempt to register user online and warn user. Upon successful registration the user should be able to login without any problem. The application should decide whether the user should be taken to the main screen or the login/registration screen based on user is logged in. 8. Settings New system needs to give user the flexibility to change/update user name, password, profile picture, cover photo, status message, map settings and other settings. Upon request is made to update/change a setting the application should upon completion notify user whether the update was successful or not. The update should be successful in first attempt.
  • 10. 10 1.4 SOLUTIONS/ SYSTEM PROPOSALS PROPOSED OPERATION SOLUTION The new system will be used to navigate to specific locations/points on the map desired by the user. Users will be able to save and share their location, send text and image messages to each other and see each other’s live location position on the map. PROPOSAL TECHNICAL SOLUTION (SYSTEM PROPOSAL) HARDWARE REQUIREMENTS  Dell Inspiron 5537 core i5, 12gb-ram, 2gb-GPU (laptop/desktop)  One or two android mobiles that have SDK 21 (lollipop) or greater for testing  Stable internet connection (2 to 4 Mbps) SOFTWARE REQUIREMENTS  Windows 10 (operating system)  Android Studio (latest version)  Adobe Photoshop CS6 2. COST ANALYSIS 2.1COCOMO ANALYSIS Line of Code Lines java 20192 txt 12325 properties 1134 xml 17758 Total Lines 51409 KLOC 51.409 EAF 2.722740022 Initial Cost Development Time * Per Month Expense Organic 255000 Rs. Semi-detached 270000 Rs. Embedded 270000 Rs.
  • 11. 11 BASIC COCOMO INTERMEDIATE COCOMO More accurate cost analysis: Initial Cost Development Time * Per Month Expense Organic 411,145.20 Rs. Semi-detached 366,440.29 Rs. Embedded 326,109.05 Rs. 150.25 247.45 406.96 16.79 17.21 17.10 9 14 24 - 100.00 200.00 300.00 400.00 500.00 600.00 700.00 Organic Semi-detached Embedded Organic Semi-detached Embedded People Required (P) 9 14 24 Development Time (D) 16.79 17.21 17.10 Effort Applied (E) 150.25 247.45 406.96 BASIC COCOMO 545.44 673.74 861.81 27.41 24.43 21.74 20 28 40 88% 90% 92% 94% 96% 98% 100% Organic Semi-detached Embedded Organic Semi-detached Embedded Effort Applied (E) 545.44 673.74 861.81 Development Time (D) 27.41 24.43 21.74 People Required (P) 20 28 40 INTERMEDIATE COCOMO
  • 12. 12 DESIGN 3. FLOW CHARTS 3.1 DATA FLOW DIAGRAM
  • 14. 14 3.3 USER INTERFACE (EACH OUTPUT/REPORT) SPLASH SCREEN User Interface Title: Splash Screen Interface No. 1 Use Case Reference Application Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example
  • 15. 15 LOGIN SCREEN User Interface Title: Login Screen Interface No. 2 Use Case Reference Login/Register, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etEmail 50 Text abc@email.com Field to enter user email. abc@email.com etPassword 30 Text/number --- Field to enter user password ---
  • 16. 16 REGISTER SCREEN User Interface Title: Register Screen Interface No. 3 Use Case Reference Login/Register, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etName 50 Text --- Field to enter user name --- etEmail 50 Text abc@email.com Field to enter user email. abc@email.com etPassword 30 Text/number --- Field to enter user password ---
  • 17. 17 MAP SCREEN User Interface Title: Map Screen Interface No. 4 Use Case Reference Google-Maps, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example
  • 18. 18 CHATS SCREEN User Interface Title: Chats Screen Interface No. 5 Use Case Reference Chat, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example
  • 19. 19 FIND USER SCREEN User Interface Title: Find User Screen Interface No. 6 Use Case Reference Friends List, Friends, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etSearch 50 Text TAG-id Field to enter unique TAG-id generated by firebase ---
  • 20. 20 USER PROFILE SCREEN User Interface Title: User Profile Screen Interface No. 7 Use Case Reference User Profile, User. Snapshot
  • 21. 21 EDIT PROFILE SCREEN User Interface Title: Edit Profile Screen Interface No. 8 Use Case Reference Edit Profile, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etStatus 150 Text --- Field to enter user status Hi! Let’s be friends… etName 50 Text --- Field to enter user name User name etEmail 50 Text abc@email.com Field to enter user email abc@email.com etPhoneNo 12 Number 1234-1234567 Field to enter contact info 1234-1234567 etAge 3 Number 24 Field to enter user age 24 rMale --- Radio Button --- Radio button for male --- rFemale --- Radio Button --- Radio button for female ---
  • 22. 22 PROFILE SCREEN User Interface Title: Profile Screen Interface No. 9 Use Case Reference View Profile, On Marker Click, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example
  • 23. 23 CHAT SCREEN User Interface Title: Profile Screen Interface No. 9 Use Case Reference View Profile, On Marker Click, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etMessage 150 Text --- Field to enter user message to send Hi… How are you…
  • 24. 24 ABOUT SCREEN User Interface Title: About Screen Interface No. 11 Use Case Reference Map Screen, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example
  • 25. 25 FRIEND PROFILE SCREEN User Interface Title: Friend Profile Screen Interface No. 12 Use Case Reference Friends List, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example
  • 26. 26 SAVE LOCATION SCREEN User Interface Title: Save Location Screen Interface No. 13 Use Case Reference Save Location, Google-Maps, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etLocName 30 Text --- Field to enter location name Lahore etLocDescription 100 Text --- Field to enter location details Ravi road, lahore, Pakistan…
  • 27. 27 EDIT SAVED LOCATION SCREEN User Interface Title: Edit Saved Location Screen Interface No. 13 Use Case Reference Save Location, Google-Maps, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etLocName 30 Text --- Field to enter location name Lahore etLocDescription 100 Text --- Field to enter location details Ravi road, lahore, Pakistan…
  • 28. 28 IMPLEMENTATION & TESTING 4. SYSTEM TESTING Following is a checklist used in testing of the application. Exception management faults  Have all possible error conditions been taken into account? Fault Class  Inspection Check Data faults  Are all program variables initialized before their values are used?  Have all constants been named?  Should the lower bound of arrays be 0, 1, or something else?  Should the upper bound of arrays be size or size -1?  If character strings are used, is a delimiter explicitly assigned? Control faults  For each conditional statement, is the condition correct?  Is each loop certain to terminate?  Are compound statements correctly bracketed?  In case statements, are all possible cases accounted for? Input/ Output faults  Are all input variables used?  Are all output variables assigned a value before they are output? Interface faults  Do all function and procedure calls have correct number of parameters?  Do formal and actual parameters types match?  Are the parameters in right order?  If components access shared memory, do they have the same model of shared memory structure? Storage management faults  If a linked structure is modified, have all links been correctly assigned?  If dynamic storage is used, has space been allocated correctly?  Is space explicitly de-allocated after it is no longer required?
  • 29. 29 PROJECT REVIEW 5. SUMMERY 5.1 CONTINGENCY PLAN In case the product fails in the market, then we would come up with new product. We will reposition our product and some alteration will be made in its composition. We will use the fixed facilities that we already have. 5.2 CONCLUSION PROJECT DESCRIPTION The new system will be used to navigate to specific locations/points on the map desired by the user. Users will be able to save and share their location, send text and image messages to each other and see each other’s live location position on the map. PROJECT GOALS To provide people maps and chat in a single platform. LESSONS LEARNED  Firebase  JSON  Data-Structures  Google-Maps integration in Android application (Directions-API, Places-API, Utility-API)  Designing Screen Layouts in Adobe Photoshop CS6  Android programming patterns PROJECT COSTS According to the COCOMO analysis: Rs. 300,000 CONTACT INFORMATION Ali Goher Shabir at aligohershabir@gmail.com, 03004335209.
  • 31. 31 SECTION 1: INTRODUCTION 1.1 VISION STATEMENT 1.1.1 SOFTWARE PURPOSE The intended product will be an android application named Chatmapion. It will be developed as a complete standalone system and will have the following features and characteristics. Name Chatmapion Release No. 1.0 Version No. 1.0 Description Chatmapion will have the following modules. 1. Google-Maps: Maps-SDK will be used to display map in the application. 2. Chat: You will be able to send text and image messages to your friends. 3. Login/Registration: Everyone will be provided with a unique application-ID upon registering with the application which will be used throughout the app to identify the user. 4. Live Location: You will be able to view your friends on the map live. 5. User Profile: You will be able to setup you profile picture, cover picture, user details and some map settings. 6. Friends List: You will be able to add other users in your friends list. 7. Directions: You will be able to find shortest/best possible route to your desired location on map. 8. Save Location: You will be able to save a specific point on the map. 1.1.2 SOFTWARE SCOPE The new system will be used to navigate to specific locations/points on the map desired by the user. Users will be able to save and share their location, send text and image messages to each other and see each other’s live location position on the map. 1.1.3 SOFTWARE PERSPECTIVE The new system will initially be launched on the Play-Store (Android-OS) and will be available to the whole world. The intended system will be a new self-contained product and will be new addition to the market.
  • 32. 32 1.2 INTENDED AUDIENCE AND READING SUGGESTIONS This document is intended for the project manager (s), supervisor (s) and developer (s) involved in the development of the new intended system. This document will provide as a guide to the readers and can be used to track the progress of the software development SECTION 2: OVERALL DESCRIPTION This section presents high-level overview of the product being specified and the environment in which it will be used, the anticipated users of the product and the known constraints, assumptions and dependencies. 2.1 USER CHARACTERISTICS The new system is intended for Mobile/Tablet users and initially for Android-OS platform. These are the users who are always traveling place to place and need to know the best possible route to their destination on the go and need to send/receive messages to/from others. Sales people and consultants are some of the few examples of mobile users. 2.2 OPERATING ENVIRONMENT The new system will initially be available on the Android-OS platform and will require 21 SDK- Version (or greater) of the Mobile/Tablet. 2.3 DESIGN AND IMPLEMENTATION CONSTRAINTS The new system will be developed using the following technologies and tools.  Programming languages: Java, Android, XML, HTML5, PHP, SQLite.  Google APIs: Google-Maps API, Google-Directions API, Google-Places API.  Glide APIs: Glide API, Glide Transformations API. 2.4 DATABASE CONSIDERATIONS The intended system’s back-end will be based on the newly introduced technology called Firebase. Firebase is a non-SQL back-end service which has its own set of rules and advantages. Firebase is a good choice for the proposed system because it is fast, reliable and provides many more functionalities than just a plane-old SQL-database. It supports many technologies like Ad-Mobs, Push-Notifications, Cloud- Messaging and firebase-storage. The Firebase Realtime Database is a cloud-hosted database. Data is stored as JSON and synchronized in Realtime to every connected client. When building cross-platform apps with firebase’s Android SDK, all of the clients share one Realtime Database instance and automatically receive updates with the newest data. Instead of typical HTTP requests, the Firebase Realtime Database uses data synchronization every time data changes, any connected device receives that update within milliseconds. Providing collaborative and immersive experience without thinking about networking code.
  • 33. 33 2.5 ASSUMPTIONS AND DEPENDENCIES ASSUMPTIONS  It is assumed that no additional code will be needed to produce for uploading and downloading of image data as Firebase’s Android SDK will completely take care of it.  Assuming that downloading of image data will be taken care of using Glide SDK.  Assuming that adding ads will be taken care of by using Google-Ad-Mobs SDK.  Assuming no additional code will be needed to make upload and download requests to the database as firebase will take care of that. DEPENDENCIES The new system will be depending on the Chat Module to be provided with the correct operating components on schedule. Development will not continue until Chat module is provided. SECTION 3: SYSTEM ANALYSIS 3.1 DATA FLOW DIAGRAM
  • 35. 35 SECTION 4: SYSTEM FEATURES Following are the details of the features that will be included in the android application. 4.1 SHARE LOCATION User will be able to share their location or even any location selected by the user on the map with each other. User will select a point on the map and will be presented with the option to share that location. It is a quite simple yet very useful feature. 4.2 SAVE LOCATION User will be able to save any and many locations in the application. User will be able to select a point on the map and upon selection will be given an option to save the location on the firebase database. User will type a name of his choice for the location and a description for the location to be saved. When user is ready, user will press the save button and in result the location will be saved on the firebase database within seconds and will be shown to the user on the map as a unique image which will not be determined by the user. User will have the choice to show/hide saved locations on the map. 4.3 DIRECTIONS This feature will allow the user to navigate from his position to the desired location or point on the map with ease. User will select a location on the map and from the provided options will select “Show Directions” option. The application will create the shortest/best possible route for the user from his position to the selected location. User when done can select the option to “Clear Directions” from the screen which will clear the marked path from the map. 4.4 LIVE LOCATION The application when active will keep track of user’s current location. User will be able to see live location of their friends on the map. When the user is no longer using the application the location of the user will not be updated and all other friends will see that user’s last location on the map. Only friends will be able to see each other’s live location on the map. 4.5 SEARCH BY RANGE Using this feature the user of the application will be able to search saved locations and friends in a selected radius around the user. User will select the search option and then select saved locations or friends whichever is desired for searching. User will also be able to select from different ranges provided in the application.
  • 36. 36 4.6 GOOGLE-MAPS Google-Maps will be integrated in the application as a feature and will be used to show live locations, saved locations, friends and will be used to find routes to any desired location selected by the user. 4.7 LOGIN/REGISTRATION Initially the users will be able to create an account with using email and password before using the actual product. The user will be required to fill user name, email and password fields, if any field is left empty then the application should not make attempt to register user online and warn user. Upon successful registration the user should be able to login without any problem. The application should decide whether the user should be taken to the main screen or the login/registration screen based on user is logged in. 4.8 PROFILE To make user feel like at home, this feature will allow the user to setup user’s profile picture, cover photo, status message and personal information. Here the user can change/update a setting or personal information by pressing the edit profile button. 4.9 FRIENDS This feature lets the application user to add other users as friends in the “Friends List”. Application will only add people as friends who are not added before and are verified users of the application. The user will also have the option to un-friend an added friend from the List. After adding a user to the List, the user will be able to chat with them and see their live location on the map and see whether they are online or offline. 4.10 CHAT The feature of Chat will be integrated in the application so the user can communicate with each other. Chat will initially be able to send text and image messages to each other and only friends will be able to send/receive messages. Chat will make sure that the messages are delivered and ASAP with timestamp. The messages will be displayed in the application as the standard set by WhatsApp, which is, sent messages will be at the left of the screen and received messages will be on the right of the screen.
  • 37. 37 SECTION 5: USE CASE MODEL 5.1 USE CASE DIAGRAM
  • 38. 38 5.2 USE CASE DESCRIPTION USE CASE NAME: ON-MAP-LONG-CLICK Basic Information Actors: User Purpose: Will select and mark a point on the map and provide user with options. Cross References: Share Location, Show Directions, Save Location. Feature: Google-Maps / Map Screen Typical Course of Events This use case will be initiated when user will long click/press on the map screen. Upon initiation a marker will be marked on the map. User will be able to select the marker for more options (save, share, directions). Alternate Course of Events If user is not connected to the internet then the marked location will be saved offline for current session and when the user connects to the internet it will be saved on the database but if user closes the application without connecting to the internet the marked location will be lost.
  • 39. 39 USE CASE NAME: ON-MARKER-CLICK Basic Information Actors: User Purpose: Will show user options related to the type of marker clicked (Friend / Saved Location) Cross References: Share Location, Show Directions, Save Location, View Profile, Chat. Feature: Google-Maps / Map Screen Typical Course of Events This use case will be initiated when user will click/select a marker on the map screen. Upon initiation user will be shown more options (save, share, show directions, chat, view profile) based on type of marker selected (Friend, Saved location). Alternate Course of Events If user is not connected to the internet then the marked location will be saved offline for current session and when the user connects to the internet it will be saved on the database but if user closes the application without connecting to the internet the marked location will be lost.
  • 40. 40 USE CASE NAME: MAP OPTIONS Basic Information Actors: User Purpose: Will show user map options (Clear Directions, Search, Change Map Type) Cross References: Clear Directions/Refresh Map, Search, Change Map Type. Feature: Google-Maps / Map Screen Typical Course of Events This use case will be initiated when user will click/select “Map Options” map screen. Upon initiation user will be shown more options (Clear Directions, Search, Change Map Type). Alternate Course of Events
  • 41. 41 USE CASE NAME: FRIENDS LIST Basic Information Actors: User Purpose: Will show user a list of friends from which user can select a friend to chat or view profile. Cross References: Select Friend to Chat, View All Friends. Feature: Chat, Chats Screen Typical Course of Events This use case will be initiated when user will click/select “Friends List” from Chats screen. Upon initiation user will be taken to the Friends List screen. Alternate Course of Events If user clicks the button from User Profile screen then user will be able to un-friend the selected friend.
  • 42. 42 USE CASE NAME: FIND USER Basic Information Actors: User Purpose: Will be used to search other app users to add as friend by the current user. Cross References: Send Request, Accept Request, Cancel Request. Feature: Chat, Chats Screen Typical Course of Events This use case will be initiated when user will click/select “GO” button from Find User screen. Upon initiation application will search the database and if the user exists then will show a profile dialog on the screen. Alternate Course of Events If user enters wrong TAG-id or if the user does not exist on the firebase database then a warning message will be shown on the screen.
  • 43. 43 USE CASE NAME: EDIT PROFILE Basic Information Actors: User Purpose: Will be used to update/change user information. Cross References: Update, Cancel. Feature: Profile, User Profile Screen. Typical Course of Events This use case will be initiated when user will click/select “Edit Profile” button from User Profile screen. Upon initiation application will take the user to the Edit Profile screen. Alternate Course of Events If user presses the cancel button then user profile will not be updated and a message will be shown on the screen.
  • 44. 44 USE CASE NAME: SHARE TAG Basic Information Actors: User Purpose: Will be used to share user unique TAG-id with other users. Cross References: Share TAG Feature: Profile, User Profile Screen. Typical Course of Events This use case will be initiated when user will click/select “Share TAG” button from User Profile screen. Upon initiation application will show an options dialog on the screen from which user will be able to select a medium by which the TAG-id will be shared. Alternate Course of Events If user presses the cancel button then the TAG-id will not be shared. USE CASE NAME: ABOUT Basic Information Actors: User Purpose: Will be used to show the name of the application developer and to show all the licenses of the third- party software/libraries used in the development of the application. Cross References: About Feature: Application, Home Screen Typical Course of Events This use case will be initiated when user will click/select “About” button from top bar menu. Upon initiation application will take user to the About screen. Alternate Course of Events If user click the back button then user will be taken back to the previous screen.
  • 45. 45 USE CASE NAME: SHOW/HIDE SAVED LOCATIONS Basic Information Actors: User Purpose: Will be used to show/hide saved location from the map screen. Cross References: Show/Hide Saved Locations Feature: Google-Maps, Settings, Maps-Screen. Typical Course of Events This use case will be initiated when user will click/select “Show/Hide Saved Locations” button from Map settings in the user profile screen. Upon initiation application will updated the maps screen and show/hide saved location on/from the screen. Alternate Course of Events If there are no locations saved in the database then this option will have no effect. USE CASE NAME: SHOW/HIDE FRIENDS Basic Information Actors: User Purpose: Will be used to show/hide friends from the map screen. Cross References: Show/Hide Friends Feature: Google-Maps, Settings, Maps-Screen. Typical Course of Events This use case will be initiated when user will click/select “Show/Hide Friends” button from Map settings in the user profile screen. Upon initiation application will updated the maps screen and show/hide friends on/from the screen. Alternate Course of Events If there are no friends added in the database then this option will have no effect.
  • 46. 46 USE CASE NAME: SAVED LOCATIONS Basic Information Actors: User Purpose: Will be used to take user to the saved locations screen where user can manage saved locations. Cross References: Change Name, Change Description, Remove Saved Locations. Feature: Google-Maps, Save Location. Typical Course of Events This use case will be initiated when user will click/select “Saved Locations” button from user profile screen. Upon initiation application will to the saved locations screen where user will be able to change/update name and descriptions of a saved locations and will also be able to delete a saved location from the list. Alternate Course of Events If there are no saved locations then the screen will be empty.
  • 47. 47 USE CASE NAME: REGISTER USER Basic Information Actors: User Purpose: Will be used to add/register a new user to the firebase database. Cross References: Update Database Feature: Login/Registration Typical Course of Events This use case will be initiated when user will click/select “Register” button from Login screen. Upon initiation application will to take user to the registration screen where user will be able to enter user name, email and password to get registered with the application. Alternate Course of Events If user clicks the “Register” button from the register screen then the application will add the user to the firebase database. Also, if user leaves any field empty then a message will be shown on the screen. USE CASE NAME: LOGIN Basic Information Actors: User Purpose: Will be used to login user into the application. Cross References: Update Database Feature: Login/Registration Typical Course of Events This use case will be initiated when user will click/select “Login” button from Login screen. Upon initiation application will to take user to the Map screen. Alternate Course of Events If user leaves any field empty then a message will be shown on the screen.
  • 48. 48 USE CASE NAME: LOGOUT Basic Information Actors: User Purpose: Will be used to log out the user from the application. Cross References: Update Database Feature: Login/Registration Typical Course of Events This use case will be initiated when user will click/select “Logout” button from user profile screen. Upon initiation application will to update the database and upon successful logout will take user to the login screen. Alternate Course of Events If mobile screen turns off during the process then user might not get logged out.
  • 49. 49 SECTION 6: ELABORATED USE CASES 6.1 ON MAP LONG CLICK Use Case Name: On Map Long Click Priority: 1 Actors: User Use Case Summery Will select and mark a point on the map and provide user with options. This use case will be initiated when user will long click/press on the map screen. Upon initiation a marker will be marked on the map. User will be able to select the marker for more options (save, share, directions). If user is not connected to the internet then the marked location will be saved offline for current session and when the user connects to the internet it will be saved on the database but if user closes the application without connecting to the internet the marked location will be lost. Pre-condition: The User is logged into the application. Scenarios Step# Scenario 1. The User activates the “On Map Long Click” function. 2. The application responds by marking a point/location on the map. 3. The information dialog of the marker is shown on the screen. 4. Option related to the marker are shown to the user. 5. User selects an option from those options. Alternate Scenarios: The User click on the map elsewhere. 1a: If user clicks somewhere else then the marked point from the map will be cleared. Exceptions/Alerts 1. The application will not be able to save a location if user is offline. Post Conditions case# Description Save location The user will be taken to the save location screen where they can add name and description of the location and save it. Share location The application will show an options dialog from user can select an option to share unique TAG- id. Show directions The application will mark a shortest/best possible path to that location/point from user’s location.
  • 50. 50 6.2 ON MARKER CLICK Use Case Name: On Marker Click Priority: 1 Actors: User Use Case Summery Will be used to show user options related to the type of marker clicked (Friend / Saved Location) This use case will be initiated when user will click/select a marker on the map screen. Upon initiation user will be shown more options (save, share, show directions, chat, view profile) based on type of marker selected (Friend, Saved location). If user is not connected to the internet then the marked location will be saved offline for current session and when the user connects to the internet it will be saved on the database but if user closes the application without connecting to the internet the marked location will be lost. Pre-condition: The User is logged into the application. Scenarios Step# Scenario 1. The User activates the “On Marker Click” function. 2. The information dialog of the marker is shown on the screen. 3. Option related to the marker are shown to the user. 4. User selects an option from those options. Alternate Scenarios: The User click on the map elsewhere. 1a: If user clicks somewhere else then the info window dialog will be cleared from the map screen. Exceptions/Alerts Post Conditions case# Description Save location The user will be taken to the save location screen where they can add name and description of the location and save it. Share location The application will show an options dialog from user can select an option to share unique TAG- id. Show directions The application will mark a shortest/best possible path to that location/point from user’s location. Chat The application will take user to the chat screen where user can send/receive messages to the selected user. View Profile The application will take user to the profile screen of the selected user.
  • 51. 51 6.3 MAP OPTIONS Use Case Name: Map Options Priority: 1 Actors: User Use Case Summery Will show user map options (Clear Directions, Search, Change Map Type) This use case will be initiated when user will click/select “Map Options” map screen. Upon initiation user will be shown more options (Clear Directions, Search, Change Map Type). Pre-condition: The User is logged into the application. Scenarios Step# Scenario 1. The User activates the “Map Options” function. 2. The map options menu will be shown on the screen. 3. User selects one of the options. 4. The menu disappears. Alternate Scenarios: The User click on the map elsewhere. 1a: If user clicks somewhere else then the menu will be cleared from the map screen. Exceptions/Alerts Post Conditions case# Description Change Map Type The application will cycle through different pre-defined map type and will updated map screen. Search The application will show a bottom sheet which has the options related to search. Clear directions The application refreshes the map screen.
  • 52. 52 6.4 FRIENDS LIST Use Case Name: Friends List Priority: 1 Actors: User Use Case Summery Will show user a list of friends from which user can select a friend to chat or view profile. This use case will be initiated when user will click/select “Friends List” from Chats screen. Upon initiation user will be taken to the Friends List screen. If user clicks the button from User Profile screen then user will be able to un-friend the selected friend. Pre-condition: The User is logged into the application. Scenarios Step# Scenario 1. The User activates the “Friends List” function. 2. The application responds by taking user to the friends list screen. Alternate Scenarios: The User click on the button from user profile screen. 1a: If user clicks on the button from user profile screen then user will also be able to un-friend the selected friend. Exceptions/Alerts Post Conditions case# Description Select Friend to Chat The application will take user to the chat screen to send message to the selected user. View profile The application will take user to the profile screen to the selected user. Un-friend The application will update database and remove the selected friend from the database and the friends list.
  • 53. 53 6.5 FIND USER Use Case Name: Find User Priority: 1 Actors: User Use Case Summery Will be used to search other app users to add as friend by the current user. This use case will be initiated when user will click/select “GO” button from Find User screen. Upon initiation application will search the database and if the user exists then will show a profile dialog on the screen. If user enters wrong TAG- id or if the user does not exist on the firebase database then a warning message will be shown on the screen. Pre-condition: The User is logged into the application. Scenarios Step# Scenario 1. The User activates the “Find User” function. 2. The application responds by searching the database for the entered TAG-id. 3. The application displays a user profile dialog. Alternate Scenarios: Exceptions/Alerts 1. If user enters wrong TAG-id or if the user by the TAG-id does not exist in the database the application will show a warning message on the screen. Post Conditions case# Description Send Request The application will update the database and will add a request in the request tables of both users. Accept Request The application will update the database and will clear the request from both user’s requests table and then will add TAG-ids in both user’s friends list table. Cancel Request The application will update the database and will remove request sent request from both user’s request tables.
  • 54. 54 6.6 EDIT PROFILE Use Case Name: Edit Profile Priority: 1 Actors: User Use Case Summery Will be used to update/change user information. This use case will be initiated when user will click/select “Edit Profile” button from User Profile screen. Upon initiation application will take the user to the Edit Profile screen. If user presses the cancel button then user profile will not be updated and a message will be shown on the screen. Pre-condition: The User is logged into the application. Scenarios Step# Scenario 1. The User activates the “Edit Profile” function. 2. The application responds by taking user to the Edit Profile screen. Alternate Scenarios: Exceptions/Alerts Post Conditions case# Description Update The application will show a message on the screen “profile updated!”. Cancel The application will show a message on the screen “Profile not updated!”. Change Password The application will show a password change dialog on the screen.
  • 55. 55 6.7 SHARE TAG Use Case Name: Share TAG Priority: 1 Actors: User Use Case Summery Will be used to share user unique TAG-id with other users. This use case will be initiated when user will click/select “Share TAG” button from User Profile screen. Upon initiation application will show an options dialog on the screen from which user will be able to select a medium by which the TAG-id will be shared. If user presses the cancel button then the TAG-id will not be shared. Pre-condition: The User is logged into the application. Scenarios Step# Scenario 1. The User activates the “Share TAG” function. 2. The application responds by show a share dialog on the screen. 3. The user selects an option form the dialog. Alternate Scenarios: The user presses the back button. 1a: If user presses the back button then the dialog will be cleared from the screen. Exceptions/Alerts Post Conditions case# Description Share The application will show a message on the screen “TAG shared successfully”
  • 56. 56 6.8 ABOUT Use Case Name: About Priority: 1 Actors: User Use Case Summery Will be used to show the name of the application developer and to show all the licenses of the third-party software/libraries used in the development of the application. This use case will be initiated when user will click/select “About” button from top bar menu. Upon initiation application will take user to the About screen. If user click the back button then user will be taken back to the previous screen. Pre-condition: The User is logged into the application. Scenarios Step# Scenario 1. The User activates the “About” function. 2. The application responds by taking user to the about screen. Alternate Scenarios: The user presses the back button. 1a: If user presses the back button then the application will take user back to the previous screen. Exceptions/Alerts Post Conditions case# Description Back The application will take user back to the previous screen.
  • 57. 57 6.9 SHOW/HIDE SAVED LOCATIONS Use Case Name: Show/Hide Saved Locations Priority: 1 Actors: User Use Case Summery Will be used to show/hide saved location from the map screen. This use case will be initiated when user will click/select “Show/Hide Saved Locations” button from Map settings in the user profile screen. Upon initiation application will updated the maps screen and show/hide saved location on/from the screen. If there are no locations saved in the database then this option will have no effect. Pre-condition: The User is logged into the application. Scenarios Step# Scenario 1. The User activates the “Show/Hide Saved Locations” function. 2. The application responds by updating the maps screen with updated map settings. Alternate Scenarios: Exceptions/Alerts 1. This will no effect if there are no locations saved in the database. Post Conditions case# Description Show/Hide Saved Locations The application will show a message on the screen.
  • 58. 58 6.10 SHOW/HIDE FRIENDS Use Case Name: Show/Hide Friends Priority: 1 Actors: User Use Case Summery Will be used to show/hide friends from the map screen. This use case will be initiated when user will click/select “Show/Hide Friends” button from Map settings in the user profile screen. Upon initiation application will updated the maps screen and show/hide friends on/from the screen. If there are no friends added in the database then this option will have no effect. Pre-condition: The User is logged into the application. Scenarios Step# Scenario 1. The User activates the “Show/Hide Friends” function. 2. The application responds by updating the maps screen with updated map settings. Alternate Scenarios: Exceptions/Alerts 1. This will no effect if there are no friends added in the database. Post Conditions case# Description Show/Hide Friends The application will show a message on the screen.
  • 59. 59 6.11 SAVED LOCATIONS Use Case Name: Saved Locations Priority: 1 Actors: User Use Case Summery Will be used to take user to the saved locations screen where user can manage saved locations. This use case will be initiated when user will click/select “Saved Locations” button from user profile screen. Upon initiation application will to the saved locations screen where user will be able to change/update name and descriptions of a saved locations and will also be able to delete a saved location from the list. If there are no saved locations then the screen will be empty. Pre-condition: The User is logged into the application. Scenarios Step# Scenario 1. The User activates the “Saved Locations” function. 2. The application responds by taking user to the saved location’s screen. Alternate Scenarios: user presses the back button. 1a: If user presses the back button then the application will take user back to the previous screen. Exceptions/Alerts Post Conditions case# Description Change Name The application will update the database and will show the saved location with the updated name. Change Description The application will update the database and will show the saved location with the updated description. Delete Saved Location The application will update the database and will remove the selected saved location from the database and will show the updated list.
  • 60. 60 6.12 REGISTER USER Use Case Name: Register User Priority: 1 Actors: User Use Case Summery Will be used to add/register a new user to the firebase database. This use case will be initiated when user will click/select “Register” button from Login screen. Upon initiation application will to take user to the registration screen where user will be able to enter user name, email and password to get registered with the application. If user clicks the “Register” button from the register screen then the application will add the user to the firebase database. Also, if user leaves any field empty then a message will be shown on the screen. Pre-condition: The application is running. Scenarios Step# Scenario 1. The User activates the “Register User” function. 2. The application responds by updating the database. 3. The application takes user to the Login screen. Alternate Scenarios: user presses the back button. 1a: If user presses the back button then the application will cancel to add user to the database. Exceptions/Alerts 1. If user enters a wrong password then the user will not be registered. 2. If user enters an invalid email then the user will not be created in the database. 3. If user leaves any field empty then the application will not make attempt to update the database. Post Conditions case# Description success The application shows a message on the screen “Registrations successful” Fail The application shows a message on the screen “Registrations un-successful”
  • 61. 61 6.13 LOGIN Use Case Name: Login Priority: 1 Actors: User Use Case Summery Will be used to login user into the application. This use case will be initiated when user will click/select “Login” button from Login screen. Upon initiation application will to take user to the Map screen. If user leaves any field empty then a message will be shown on the screen. Pre-condition: The application is running. Scenarios Step# Scenario 1. The User activates the “Login” function. 2. The application responds by updating the database. 3. The application takes user to the maps screen. Alternate Scenarios: user presses the back button. 1a: If user presses the back button then the application will be closed. Exceptions/Alerts 1. If user enters a wrong password then the user will not be logged-in. 2. If user enters an invalid email then the user will not be logged-in. 3. If user leaves any field empty then the application will not make attempt to update the database. Post Conditions case# Description success The application shows a message on the screen “Welcome” Fail The application shows a message on the screen “login failed”
  • 62. 62 6.14 LOGOUT Use Case Name: Logout Priority: 1 Actors: User Use Case Summery Will be used to log out the user from the application. This use case will be initiated when user will click/select “Logout” button from user profile screen. Upon initiation application will to update the database and upon successful logout will take user to the login screen. If mobile screen turns off during the process then user might not get logged out. Pre-condition: The User is logged-in the application. Scenarios Step# Scenario 1. The User activates the “Logout” function. 2. The application responds by updating the database. 3. The application takes user to the Login screen. Alternate Scenarios: user presses the back button. 1a: If user presses the back button then the application will be closed. Exceptions/Alerts 1. If mobile screen turns off during the process then user might not get logged out. Post Conditions case# Description success The application shows a message on the screen “Logged-out successfully!” Fail The application shows a message on the screen “failed to logout!”
  • 63. 63 SECTION 7: USER INTERFACE 7.1 SPLASH SCREEN User Interface Title: Splash Screen Interface No. 1 Use Case Reference Application Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example
  • 64. 64 7.2 LOGIN SCREEN User Interface Title: Login Screen Interface No. 2 Use Case Reference Login/Register, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etEmail 50 Text abc@email.com Field to enter user email. abc@email.com etPassword 30 Text/number --- Field to enter user password ---
  • 65. 65 7.3 REGISTER SCREEN User Interface Title: Register Screen Interface No. 3 Use Case Reference Login/Register, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etName 50 Text --- Field to enter user name --- etEmail 50 Text abc@email.com Field to enter user email. abc@email.com etPassword 30 Text/number --- Field to enter user password ---
  • 66. 66 7.4 MAP SCREEN User Interface Title: Map Screen Interface No. 4 Use Case Reference Google-Maps, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example
  • 67. 67 7.5 CHATS SCREEN User Interface Title: Chats Screen Interface No. 5 Use Case Reference Chat, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example
  • 68. 68 7.6 FIND USER SCREEN User Interface Title: Find User Screen Interface No. 6 Use Case Reference Friends List, Friends, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etSearch 50 Text TAG-id Field to enter unique TAG-id generated by firebase ---
  • 69. 69 7.7 USER PROFILE SCREEN User Interface Title: User Profile Screen Interface No. 7 Use Case Reference User Profile, User. Snapshot
  • 70. 70 7.8 EDIT PROFILE SCREEN User Interface Title: Edit Profile Screen Interface No. 8 Use Case Reference Edit Profile, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etStatus 150 Text --- Field to enter user status Hi! Let’s be friends… etName 50 Text --- Field to enter user name User name etEmail 50 Text abc@email.com Field to enter user email abc@email.com etPhoneNo 12 Number 1234-1234567 Field to enter contact info 1234-1234567 etAge 3 Number 24 Field to enter user age 24 rMale --- Radio Button --- Radio button for male --- rFemale --- Radio Button --- Radio button for female ---
  • 71. 71 7.9 PROFILE SCREEN User Interface Title: Profile Screen Interface No. 9 Use Case Reference View Profile, On Marker Click, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example
  • 72. 72 7.10 CHAT SCREEN User Interface Title: Profile Screen Interface No. 9 Use Case Reference View Profile, On Marker Click, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etMessage 150 Text --- Field to enter user message to send Hi… How are you…
  • 73. 73 7.11 ABOUT SCREEN User Interface Title: About Screen Interface No. 11 Use Case Reference Map Screen, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example
  • 74. 74 7.12 FRIEND PROFILE SCREEN User Interface Title: Friend Profile Screen Interface No. 12 Use Case Reference Friends List, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example
  • 75. 75 7.13 SAVE LOCATION SCREEN User Interface Title: Save Location Screen Interface No. 13 Use Case Reference Save Location, Google-Maps, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etLocName 30 Text --- Field to enter location name Lahore etLocDescription 100 Text --- Field to enter location details Ravi road, lahore, Pakistan…
  • 76. 76 7.14 EDIT SAVED LOCATION SCREEN User Interface Title: Edit Saved Location Screen Interface No. 13 Use Case Reference Save Location, Google-Maps, User. Snapshot Data Dictionary Field Name Field Size Data Type Data Format Description Example etLocName 30 Text --- Field to enter location name Lahore etLocDescription 100 Text --- Field to enter location details Ravi road, lahore, Pakistan…
  • 77. 77 SECTION 8: NON-FUNCTIONAL REQUIREMENTS 8.1 BUSINESS RULES  The users of the application are allowed to share their location, chat with other application users and save their location.  The users of the application may request password details if they forget password.  The users of the application should not use the application illegally by sharing sensitive information and by any other means.  Users should be careful to add anyone as a friend. Because anyone in the friends list is able to see their live location on the map and can mis-use this information.  Users should be careful while talking to unknown people on the application. 8.2 PERFORMANCE REQUIREMENTS  uploading images on the database should be done after compressing the images.  Adding background images to buttons or any other layouts should be avoided to save precious memory space.  Layouts should be reused where possible and should not be given useful names to save memory. 8.3 SAFETY REQUIREMENTS  Users should be careful before adding other users to their friends list as they will be able know their live location and might mis-use that information.  Users should be careful to talk to strangers on the application as they might get in danger. 8.4 SECURITY REQUIREMENTS  It is required by the users to verify their email as in case of a password loss Chatmapion will not be able to recover the password and user will lose all data. 8.5 SOFTWARE QUALITY ATTRIBUTES  The application will be focusing on the quality and performance.  The chat feature will be based on more performance and enough graphics. 8.6 USER DOCUMENTATION The tutorial of the application will be available on the application’s You-tube channel.
  • 79. 79 1. INTRODUCTION 1.1 PROJECT OVERVIEW The project “Chatmapion” is an Android application and is intended for people who travel a lot and have to remember every place they have been to. The application will help by providing users with the option to save location so they don’t have to remember every place they travel. Also, for people who want to know best possible route to their destination as the application will provide a Google-Maps like feature which will mark shortest/best possible route to the desired location. User will also be able to share their location with others who are using the same application or if they are not using the same application, they will be directed to Google- Maps/Web Browser. Furthermore, application will have features like “Friends List”, “Live Location” and “Chat” so, users will be able to add other users to their friends list and will be able to see their live location on the map in the application and will also be able to chat with them. 1.2 PROBLEM STATEMENT The new system will be used to navigate to specific locations/points on the map desired by the user. Users will be able to save and share their location, send text and image messages to each other and see each other’s live location position on the map. 1.3 USER CHARACTERISTICS The new system is intended for Mobile/Tablet users and initially for Android-OS platform. These are the users who are always traveling place to place and need to know the best possible route to their destination on the go and need to send/receive messages to/from others. Sales people and consultants are some of the few examples of mobile users. 1.4 AFFECTED GROUPS The following are some of the groups or users who will be affected by the new proposed system.  Sales people  Students  Teachers  Drivers  Pedestrians
  • 80. 80 1.5 ASSUMPTIONS  It is assumed that no additional code will be needed to produce for uploading and downloading of image data as Firebase’s Android SDK will completely take care of it.  Assuming that downloading of image data will be taken care of using Glide SDK.  Assuming that adding ads will be taken care of by using Google-Ad-Mobs SDK.  Assuming no additional code will be needed to make upload and download requests to the database as firebase will take care of that. 1.6 DEPENDENCIES/ EXTERNAL SYSTEMS The new system will be depending on the Chat Module to be provided with the correct operating components on schedule. Development will not continue until Chat module is provided. 1.7 GOALS The new proposed system is an android application which will provide all the before mentioned features as a single product and will be initially targeting android platform. The application will have the following features/modules 1. Save Location: You will be able to save a specific point on the map. 2. Live Location: You will be able to view your friends on the map live. 3. Google Maps: Maps-SDK will be used to display map in the application. 4. Chat: You will be able to send text and image messages to your friends. 5. Directions: You will be able to find shortest/best possible route to your desired location on map. 6. Friends: You will be able to add other users in your friends list. 7. Login/Register: Everyone will be provided with a unique application-ID upon registering with the application which will be used throughout the app to identify the user. 8. Settings: You will be able to setup you profile picture, cover picture, user details and some map settings. 1.8 REFERENCE/ SOURCE DOCUMENTS  Software Requirements Specification Document  Project Proposal Document
  • 82. 82 3. USE CASE MODEL
  • 83. 83 3.1 ACTORS  User: This person will perform all the activities on the system. 3.2 LIST OF USE CASES 1. On-Map-Long-Click: Will select and mark a point on the map and provide user with options. 2. On-Marker-Click: Will show user options related to the type of marker clicked (Friend / Saved Location). 3. Map Options: Will show user map options (Clear Directions, Search, Change Map Type) 4. Friends List: Will show user a list of friends from which user can select a friend to chat or view profile. 5. Find User: Will be used to search other app users to add as friend by the current user. 6. Edit Profile: Will be used to update/change user information. 7. Share TAG: Will be used to share user unique TAG-id with other users. 8. About: Will be used to show the name of the application developer and to show all the licenses of the third-party software/libraries used in the development of the application. 9. Show/Hide Saved Locations: Will be used to show/hide saved location from the map screen. 10. Show/Hide Friends: Will be used to show/hide friends from the map screen. 11. Saved Locations: Will be used to take user to the saved locations screen where user can manage saved locations. 12. Register User: Will be used to add/register a new user to the firebase database. 13. Login: Will be used to login user into the application. 14. Logout: Will be used to log out the user from the application.
  • 84. 84 4. FUNCTIONAL REQUIREMENTS Requirement ID Requirement Statement Must/ Want Comments FR001 The intended system shall have a tab layout so user can easily navigate. Must FR002 The intended system shall be required to have google maps integrated. Must FR003 The system shall have Google Directions API integrated. Want Will be used to show path from user’s location to the desired location. FR004 The intended system shall have chat feature. Must Will be used to communicate with other application users. FR005 The intended system shall have Locations messaging feature Want Will be used to find users within selected range. FR006 The intended system shall have search feature Must Will be used to easily navigate between saved locations and friends. FR007 The intended system shall have user profile. Must User will be able to set profile picture and cover photo. FR008 The intended system shall have the share location feature. Must Will be used to share user’s location with other. FR009 The intended system shall have the feature to save location. Must The user will be able to save a point on the map. FR010 The intended system shall have Ad-Mobs implemented. Must FR011 The intended system shall have an about page/ screen. Must This will be used to mention all the licenses of the third-party software used in the application. FR012 The intended system shall have the feature to send image message. Must User will be able to send/ receive image messages. FR013 The intended system shall have friends List. Must User will be able to manage all his/her friends.