BS-IT 18-02 Thesis (Final Year Project)
BS-IT 18-02 Thesis (Final Year Project)
Submitted by
A REPORT
1
2
PROJECT BRIEF
3
SUPERVISOR / EXTERNAL EXAMINER
Supervisor
DIRECTOR OF INSTITUTE
Dr. Maruf Pasha
EXTERNAL EXAMINER
In the name of Allah, the Compassionate, the Merciful. Praise be to Allah, Lord of Creation, The
Compassionate, the Merciful, King of Judgment-day! You alone we worship, and to You alone,
we pray for help, Guide us to the straight path. The path of those who have incurred your wrath,
4
DECLARATION
I Zainab Khalil UR Rahman declare that I have done the work presented in this thesis, during the
scheduled time of the study. It is further declaring that I have developed this project, Report, and
its interface entirely based on my efforts made under the guidance of my project supervisor Dr.
Maruf Pasha. I also declare that I have not taken any material from any source except referred to
CERTIFICATE OF APPROVAL
It is to certify that the final year project of BS (IT) “Project title” was developed by Zainab
Khalil UR Rahman under the supervision of “Dr. Maruf Pasha and that in his opinion; it is fully
adequate, in scope and quality for the degree of Bachelors of Science in Information
Technology.
---------------------------------------
5
Supervisor
--------------------------------
External Examiner
--------------------------------
Head of Department
(Department of Information
Technology)
6
EXECUTIVE SUMMARY
Today there is a tremendous increase in users with an android-based phone. This app provides a
generalized solution for sharing Mobile information between shopkeepers and also to users. This
app also helps to find and check mobile whether it is clean or stolen from someone else. Losing
and stealing mobile is very common for mobile phone users. This app introduces a phone tracker
application for android users using an IMEI number. This app will help to match the IMEI
number of the mobile when it comes to a shop for selling and check whether the mobile is stolen
from someone else or is clean. After identifying the mobile if it is a stolen mobile then the app
shows the alert to the shopkeeper and shows the information of the real owner. Through this app,
we will help to find stolen mobile and also finds who lost them and it also helps shopkeeper to
ACKNOWLEDGMENT
All praise to Almighty Allah alone, the Omnipotent, the most compassionate. His prophet
“MUHAMMAD” (peace be upon him), the most perfect and exalted among and of ever born on
the surface of the earth, who is forever torch of guidance and knowledge for humanity as a whole
We feel great pleasure in expressing my heartiest gratitude to my family and our honorable HOD
and Supervisor Dr. Maruf Pasha for kind behavior, valuable suggestions, worth and keen
7
supervision, scholarly criticisms, sympathetic attitude towards completion of this thesis. His kind
behavior and attitude during the period of project work are unforgettable.
I express my sincere thanks to all respectable teachers and faculty members of the Information
expressing my thanks to my family for their love and support. The prayers for my family are a
treasure in my life. This dissertation report is proof of the sincerity of those who helped us during
this project work. So, I submit my earnest thanks again to all of them for their encouragement
and moral support. Finally, I pray for the health happiness, and prosperity of all the participants.
---------------------------
ABBREVIATIONS
8
Table of Contents
1 Chapter 1 ............................................................................................................................. 12
Introduction ................................................................................................................................. 13
1.1 Project Introduction.............................................................................................. 13
2 Chapter 2 ............................................................................................................................. 20
9
Software Requirement Specification (SRS) ................................................................................
21
2.1 DataAnalysis.........................................................................................................21
2.2 UseCasesDiagram(s).............................................................................................22
2.3 FunctionalRequirements.......................................................................................26
2.4 Non-FunctionalRequirements...............................................................................27
2.5 SystemDependability............................................................................................
27
3 Chapter 3 ................................................................................................................................ 28
Design and Architecture ..............................................................................................................
29
3.1 System
Architecture.................................................................................................29
3.1.2
DesignModels[alongwithdescriptions]....................................................................31
4 Chapter 4 ...................................................................................................................................34
Implementation ............................................................................................................................
35
4.1 LanguageTools.........................................................................................................35
4.1.2 External
APIs .............................................................................................................36
10
4.2 User Interface……….…............................................................................................37
Chapter5......................................................................................................................................49
5.2 Functional
Testing...................................................................................................52
5.2.2
IntegrationTesting.....................................................................................................54
Chapter6 ………………………………………………………………………………………...55
Conclusion and Future Work...............................................
…………………………………...56
6.1 Conclusion...............................................................................................................56
6.2
FutureWork.............................................................................................................56
References................................................................................................................................57
11
List of Figures
12
Chapter 1
INTRODUCTION
The thesis research focuses on the development of the mobile travel guide application by
existing one.
“Mobile phone market is one of the biggest markets in Pakistan and it is still growing we tried
13
Losing a mobile or buying of mobile is a daily thing. After losing android mobile phone users
suffer a lot Such as losing valuable data stored in the mobile phone memory card, economical
loss, loss of contact details in the sim, etc. So this s becoming important for the mobile phone
user to get back the mobile. This App will help to find the owner of the mobile and also help the
shopkeeper to check the mobile whether is clean or not. This app also helps the user to register
the complaint of his/her lost mobile and also user can the check the mobile. This app also
provides a feature for shopkeepers to post ads on the mobile phone available in their shops.
This project is totally dependent on the course that we have studied during BSIT. We have used
HCI rules to design the application’s interface to the best of our knowledge. After designing the
interface, we used different software engineering rules for the production and implementation of
the project. We have applied developmental methods to develop this app in a better way so that
it can be effective.
Back-end development is the key value for any project which is also the key purpose of our
degree. We have studied different coding subjects, OOP, Data Structure, Mobile application
1.1.2Project Background
In recent years, a dramatic increase has taken place in the number of Android smartphones and
their importance in the daily life. Android powers millions on mobile devices in more than 190
countries. Its popularity is growing fast and this is the largest installed base for any mobile
platform. Every day a million customers power up their Android devices and start looking for
14
games, apps, and other digital content. This leads to a rising motivation for ensuring the
apps such as online banking business management, starting a huge data military domains or
health care Storing or collecting important data or documents in the mobile home users are at all
times scared of losing also to theft or personal attention about the mobile phone. Nowadays
Android phones or any mobile phone theft or loss is a daily occurrence and this is increasing
reported to the police in Pakistan over 45000 cell phones are lost every year in Karachi and
34000 in Lahore. There are average 31 million mobile phones have lost every year across the
world. After losing android mobile phone users suffer a lot Such as losing valuable data stored
in the mobile phone memory card, economical loss, loss of contact details in the sim, etc. So this
s becoming important for the mobile phone user to get back the mobile. This App will help to
find the owner of the mobile and also help the shopkeeper to check the mobile whether is clean
or not. This app also helps the user to register their complaint about his/her lost mobile and also
users can check the mobile. This app also provide feature to shopkeeper to post ads of mobile
Over the last two decades, Pakistan’s mobile phone market increases dramatically and it became
one of the biggest growing markets in Pakistan. This market includes mobile manufacturers,
vendors, and small retailers, and they all are rising because of users. Mobile phone losing and
snatching is a big issue in Pakistan also there is no system for shopkeepers or users to check
15
their mobile before buying whether it is clean or this mobile has been snatched from someone
to the police in Pakistan over 45000 cell phones are lost every year in Karachi and
34000 in Lahore.
As we have seen that it is a much-growing factor over the years and keep on growing day by day
in this scenario there are many applications that help user to check whether their mobile is PTA
approved or not or some applications try to find mobile location using Gmail account but there
is no application which helps the user or shopkeeper to check the mobile whether it is clean or
not. And in many cases, after the mobile is lost the thief reset the mobile so Gmail is also
removed. So to over this problem, this application helps to check the mobile using its IMEI
number.
We have used the android development life cycle here which is much effective in our case to
develop this app. It is mostly known as the traditional software development process model,
widely used, and the most popular SDLC model and the one you should avoid using. Moreover,
it was the first introduced presentation of the software lifecycle. In which progress is seen as
flowing steadily downwards (like a waterfall) through the phases of software implementation.
16
1.3 Rationale behind Selected Methodology
Making a mobile App is no mystery in today’s time however making a successful mobile app is
a process that involves quite an extensive pre-planning. There has been a meteoric rise in the
App market in the past few years with millions of Apps in the two prominent App stores. In
such a case when the competition is so huge, don’t you think that you should really go through
with the basic concepts of App building? Also, you have to really make it stand out in function,
in its use, and in its design to attract the consumer’s attention. And to achieve all this you have
to get it right the very first time. Since it is so important for an App to be spot-on the first time
hence it is necessary for developers to follow a step-by-step process to build an App. This
process of building an App following a detailed one step at a time approach is called “Mobile
just a representation of the conventional Software Development Lifecycle (SDLC) but from the
perspective of a mobile device. So without further ado let us have a look at the eight phases of
To develop an application that helps the general user as well as a retailer to check the mobile
phone integrity. There are many mobile problems while buying a mobile phone and the most
dangerous problem is what happens if this mobile is stolen from someone else and used in some
crime there is no easy way to check the mobile phone so this application will solve this issue for
both user, the user who lost his mobile and the user or retailer who is buying the mobile.
17
1.4.1Problem Statement
There are many mobile problems while buying a mobile phone and the most dangerous problem
is what happens if this mobile is stolen from someone else and used in some crime. Many
mobile phones are lost or stolen every day. Then these mobiles were sold to another party
because there is not a proper system to check whether this mobile is a lost or stolen mobile or
not. Users cannot file a complaint themselves. He might have to go to a police station or to a
mobile company franchise. Some users don't make any complaints due to this. If the complaint
is made to the police, then also there is no way for the user or retailer to check the mobile. The
tracking applications in the market use mail ID to find the location of the mobile but the
problem is mail is removed when the mobile phone is reset and easily sold to any third person.
In some cases, the person who is not responsible for the crime pays the cost of the crime just
This application will allow all users or retailers to check their mobile phones on their own. It
helps the people who check the mobile to contact the real owner of the mobile phone. This app
also helps to recognize thief or mobile phone which is used in some crime. This app is totally
free of cost and less time-consuming than any other method of registering a complaint.
Currently, we have interacted with tracking-based applications those are not cover such usable
and important fields that we have covered in this app. It’s outdated now. Everybody wants a
18
more easy and more convenient way of registering complaints. This app is much easier for
anyone to use. This app allows all users or retailers to use it free of cost.
• User does not register its complaint by himself. He has to visit any franchise or mainly
• Application Find my Device my Google only finds mobile if the google account still
“Find My Mobile” an android app is a solution for the proposed problem. A mobile phone
tracker application for the android device using an IMEI number This application will help to
match the IMEI no of the mobile when it comes to a shop for selling and check whether the
mobile was stolen from someone else. After identifying the phone if the mobile is a stolen
mobile then the application will show an alert to the retailer and also show the detail of the
owner. Thus, this application will help to find stolen mobiles and also identify that who steal
mobile phones.
When a mobile is lost or stolen and then the person who stole that mobile goes to a mobile shop
to sell it, the shopkeeper checks the mobile on this app and because that mobile phone was a
stolen mobile phone an alert will automatically be generated and show the detail of owner of. It
19
also checks the IMEI number with database at the time when user registers his mobile to
20
Chapter 2
21
2.1 Data Analysis
Data requirements are prescribed directives or consensual agreements that define the content
and/or structure that constitute high-quality data instances and values. Data requirements can
Things that are considered while defining data requirements are as follows:
• Define Entities
Data require is this project is about user and retailer and the information about mobile phone.
• General User
• Retailers
22
23
2.2.1Detailed Use Case
UC 1
Actors: Admin
and password.
login.
systems functionality
24
UC 2
Actors: Shopkeeper
25
UC 3
Actors: User
signup first.
system
26
2.3 Functional Requirements
• Admin Login
Admin should be able to login to the admin panel so than he can post notifications. Admin
• Add shopkeeper
• User Signup
The user should be able to register him/herself in this app and will be able to manage their
profile.
• User Login
The user should be able to log in to the mobile application. The log-in information will be
Stored on firebase cloud and phone as well so that in the future the user should be logged in
automatically.
• Shopkeeper Login
Shopkeeper is allowed to login in the system with his email and the password given by the
admin.
Shopkeeper can add different mobile phones ads with all necessary information.
Shopkeeper and user is allowing check the IMEI number of mobile to check that if there is
27
• Call to shopkeeper
When user see a mobile phone ad he is allow to call the shopkeeper who posted the ad.
• GUI Design:
• Security:
A user can only view the field’s detail that are allowed.
• Profile management:
A user will be able to create profile so that he can check mobile and see different ad.
2.5System Dependability
Following are the requirements that an application require from the device/mobile on which it is
installed.
• Internet Permission:
Application developed, require full internet permissions of mobile so that it can fetch detail
from the server. At the same time, it should be able to receive buzz or notification tone
• Account Info:
It also fetches your Google account information in order to get the user registered with
It also need user’s phone number for security purpose and also for purpose of contact.
28
Chapter 3
29
Design and Architecture
3.1System Architecture
30
3.1.1 Data Flow Representation
31
3.1.2 Design Models [along with descriptions]
The first phase is the most important one because it is during this phase that you lay down the necessary
ground work for what is to follow next. During this step it is very important to do substantial research
and brainstorming before moving on to the next phase. You need to do the homework and have answers
to questions like – What is the main aim of this App? Who is the target audience? Which platform should
you target first? Is the App going to be free or paid? Once you have the answer to all these questions
will take for you to develop the App. Another thing which is a must in this phase is the analysis of the
competition. Do a detailed study of your competitor’s App to see what features they are offering.
Once you are done with the research and have laid down the costs involved then the next phase involves
preparing a detailed scope of work. You need to do a mental prototyping of your App and draw your
ideas in the form of sketches on a whiteboard. This will be the first visual representation of the ideas
which you collected in Phase 1 and it will help you uncover usability issues.
Another thing which needs to done in this phase is to take the feedback of relevant people to get
a perspective of what they think about your idea. Discussing it with them will help you figure out the
loopholes and allow you to look for a solution to tackle with them.
32
Having an understanding of the visuals is not enough because you need to analyze whether the back end
systems will support the App’s functionality or not. To understand if the idea of your App is technically
feasible you need to get access to public data by simply sourcing public APIs. You also need to
determine which platform you are building your App for, first. Building an App shall have different
requirements depending upon its platform (Android/iOS) as well as its format (tablet/smartphone).
You cannot define the touch experience until and unless you actually touch the App and see how it works
and flows. In order for that to happen you must build a prototype and get the experience of the App into
the user’s hand as soon as possible. This will help you see if things are going in
the right direction. In this phase you can use rough and not exhaustive wireframes. Including the
stakeholders in this process and allowing them to touch the prototype shall help you take their feedback
A User Experience designer can create the interaction architecture of the design elements while a
User Interface designer can create the look and feel of your App. This in itself is a multi-step process and
the end results is visual directions and blueprints which gives envision of the final product. It also informs
Once the design is ready then it is the time for you to build the App. Agile methodology is the best
approach for mobile application development as it allows you to make changes, add new features and
33
Phase 7: Testing the mobile App
UAT Testing: For user experience testing you need to put your App in the hands of the users which you
are targeting and once it passes the UAT test you know that the solution which you are providing
actually works.
Beta Testing: Make your App available for the beta trial by allowing open participation of people to test
it. The feedback from these beta users will help you determine if your App’s functions work well in the
However, this is not the end as every App requires regular updates and new features to be added to it
during the mobile application development lifecycle. The development cycle begins once again as soon
34
Chapter 4
35
Implementation
4.1.1(a) Java
Java is a very popular programming language developed by Sun Micro-systems (now owned by
Oracle). Developed long after C and C++, Java incorporates many of the powerful features of
those powerful languages while addressing some of their drawbacks. Still, programming
languages are only as powerful as their libraries. These libraries exist to help developers build
oriented.
Android relies heavily on these Java fundamentals. The Android SDK includes many
standards.
Java libraries (data structure libraries, math libraries, graphics libraries, networking libraries
and everything else you could want) as well as special Android libraries that will help you
36
4.1.1(b) Android Development Tools:
Android SDK:
Android debug bridge (adb): The Android SDK contains the Android debug bridge
(adb), which is a tool that allows you to connect to a virtual or real android device, for the
Google provides two integrated development environments (IDEs) to develop new applications.
The Android Developer Tools (ADT) are based on the Eclipse IDE. ADT is a set of components (plug-
ins), which extend the Eclipse IDE with Android development capabilities. Google also supports an IDE
called Android Studio for creating Android applications. This IDE is based on the IntelliJ IDE.
Both IDEs contain all required functionality to create, compile, debug and deploy Android applications.
They also allow the developer to create and start virtual Android devices for testing. Both tools provide
specialized editors for Android specific files. Most of Android’s configuration files are based on XML.
In this case these editors allow you to switch between the XML representation of the file and a
4.1.2External APIs
37
4.2 User Interface
“Find My Mobile” an android app which is basically focus on mobile phone buyers. A mobile
phone application for android device using IMEI number This application will help to match
IMEI no of mobile when it comes to a shop for selling and check whether the mobile stolen
from someone else. After identifying the phone if the mobile is a stolen mobile then the
application will show an alert to retailer and also show detail of owner. Thus, this application
will help to find stolen mobiles and also identify that who steel mobile phone.
When mobile is loss or stolen and then the person who stole that mobile go to a mobile shop to
sell it, then shopkeeper check the mobile on this app and because that mobile phone was a stolen
mobile phone an alert will automatically generated and show the detail of owner of. It also
checks the IMEI number with database at the time when user registers his mobile to confirm that
This App is very easy user interface. The mock ups of the user interface are given bellow:
Main Screen
38
39
Admin login
Add shopkeeper
40
41
User page
42
User login
43
User Signup
44
User panel
45
Shopkeeper login
46
Add mobile complaint
47
Add a mobile add
48
Theft mobile list
49
Chapter 5
50
Testing and Evaluation
5.1 Manual Testing
Manual Testing is a type of Software Testing where Testers manually execute test cases without
using any automation tools. Manual Testing is the most primitive of all testing types and helps
find bugs in the software system. The key concept of manual testing is to ensure that the
requirements.
Testing, Transparent Box Testing, Code-Based Testing, or Structural Testing is a software testing
method in which the internal structure/design/implementation of the item being tested is not known to the
tester. We choose inputs to exercise paths through the code and determine the appropriate outputs.
It is a software testing method in which the internal structure/design/implementation of the item being
Interface errors
51
5.1.3 System testing
Once the system has been successfully developed, testing has to be performed to ensure that the
system working as intended. This is also to check that the system meets the requirements stated
earlier. Besides that, system testing will help in finding the errors that may be hidden from the
user. There a are few types of testing which include unit testing, functional testing, and
integration testing. The testing must be completed before being deployed for users to use.
Unit testing is a level of software testing where individual units/components of a software are
tested. The purpose is to validate that each unit of the software performs as designed. A unit is
the smallest testable part of any software. It usually has one or a few inputs and usually a single
etc. In object-oriented programming, the smallest unit is a method, which may belong to a
base/super class, abstract class, or derived/child class. (Some treat a module of an application as
a unit. This is to be discouraged as there will probably be many individual units within that
module.) Unit testing frameworks, drivers, stubs, and mock/fake objects are used to assist in
unit testing.
52
No. Test case/Test script Attribute and value Expected result Result
The functional testing will take place after the unit testing. In this functional testing, the
functionality of each of the module is tested. This is to ensure that the system produced meets
53
5.2.1 Functional Testing 1: Login with different roles
5.2.1.1 Objective: To ensure that the correct page with the correct navigation bar is loaded.
No. Test case/Test script Attribute and value Expected result Result
And successfully
new Mobile shop. add new mobile
Shop.
54
Verify Retailer login Username: Successfully Pass
after click on the
“Login” button on [email protected] complaint against
login form with
Password: a IMEI number.
correct input data
and Add mobile Class224466
complaint.
No. Test case/Test script Attribute and Value Expected result Result
55
Chapter6
56
Conclusion and
Future Work
This chapter concludes the project and highlights future work.
6.1 Conclusion
Android for making application. Although I had knowledge of other languages before. But now I learned
a lot about Java and got knowledge of using Android for developing mobile application.
This App will hap shopkeeper in buying and selling of mobile phone and helps user to check mobile
before buying it. This app will reduce risk of any fraud with buyer.
The application can be improved by modifying and adding few functionalities. We will add further
functionality to the app and can modify some features. we will improve this application and can register
with play store so people can download the app and this app will use across the country.
57
References
References to any book, journal paper or website should properly be acknowledged. Please consistently
follow the style. The following are few examples of different resources i.e. journal article, book, and
website.
6. Layout: http://developer.android.com/guide/topics/ui/declaring-layout.html
7. Common Tasks:
http://developer.android.com/guide/appendix/faq/commontasks.html
mobileab902/database/find-my-mobile-ab902-default-rtdb/data
58
59