Mobile Based Campus Guide System For Hu
Mobile Based Campus Guide System For Hu
Authors:
First of all, we would like to thank our Advisor Mr. Samuel, for his restless edition of our
document, input to the quality of this document, heart full guidance, his valuable advice,
and providing direction when we got information and reading materials to execute this
project.
At the last but not the least, even if it is unusual, the group members would like to thank
each other. The main contributors to the success of this project are teamwork, friendship
and the belief that we may achieve something we set out to do. We also hope that this
project and the documentation may be testaments to our continued friendship and better
work.
ABSRACT
The system is mobile based campus guide system. The main idea of this project is to design and
implement android base mobile application which will by visitors and people who live in the
campus to get guidance through mobile phone. Hence a mobile tour guide system can be a
solution to support peoples as well as for the campus. In this work, some functionality like
showing the route direction and location map of POIs, locating users and POIs location users are
implemented. The expected outcome of this system is to enable users to get guidance about the
campus through their mobile phone and view their request using Google map API.
List of Abbreviation
HU…………………………………Haramaya University
POI…………………………………Point of interest
MS……………………………………..Microsoft
MB……………………………………Mega byte
Table of Contents
Acknowledgementi
ABSRACTii
List of Abbreviationiii
List of Tablesiv
List of Figuresv
CHAPTER ONEviii
INTODUCTIONviii
1.1.viiiviiiviii
1.2 Statement of the problemix
1.3xxx
1.3.2. General objectivex
1.3.2. Specific objectivex
1.4 Methodologyxi
1.4.1 Data Collection Methodxi
1.4.2 System Development Modelxi
1.4.3 Software development techniquexii
1.4.4xiixiixii
1.5 Project Scope and Limitationxiv
1.5.1 Scope of the projectxiv
1.5.2 Limitation of the projectxiv
1.6 Significance of the projectxiv
1.7 work break downxv
Chapter – Twoxvi
System Requirement and Specificationxvi
2.1 Existing system descriptionxvi
2.1.2 Business Rulesxvii
2.2 Feasibility Studyxviii
1.5.1 Economic Feasibilityxviii
1.5.2 Technical Feasibilityxix
1.5.3 Schedule Feasibilityxix
1.5.3 Operational Feasibilityxix
2.3. Proposed Systemxix
2.3.1 Overviewxix
2.3.2. Functional Requirementsxx
2.3.3 Nonfunctional Requirementsxxi
Chapter Threexxiii
3. System Modelxxiii
3.1 Use case Modelxxiii
1.5xxivxxivxxiv
3.3xxxivxxxivxxxiv
3.3.1xxxivxxxivxxxiv
3.3.2 Object Diagramxxxv
3.4 Dynamic modelxxxvi
3.4.1 Sequence Diagramxxxvi
3.4.2 Activity Diagramxlv
3.4.3 State chart Diagramliv
Chapter Fourlxiii
System Designlxiii
4.1 Introductionlxiii
4.1.1 Overview of system designlxiii
4.1.2 Design goallxiii
4.2 system Decomposition with servicelxv
4.3 Proposed software Architecturelxvii
4.4lxixlxixlxix
4.5lxixlxixlxix
4.6lxxiilxxiilxxii
4.7lxxiiilxxiiilxxiii
4.8 Boundary conditionlxxiii
REFERENCElxxv
CHAPTER ONE
INTODUCTION
1.1. Background
Haramaya University (HU) is the oldest and top teaching universities in Ethiopia and is
located in Oromia Region, Haramaya Zone. The campus occupies more than thirty hectares.
Which have many complex buildings and most of the buildings are connected each other.
And consists of number of services like dormitory, clink, library, classroom, student
cafeteria, lounge, administrative office and others. This makes it difficult find and to know
information about the place and also services especially for new comers to the campus.
Because the current system works with tagged direction or people who know about the
campus this makes difficult for new comers.
Mobile guide is a term that starts to appear in the last two decades. It involves using mobile
device as electronic guide a specific place [1]. The tourist needs to search information about a
Point of Interest (POI) from his mobile. Mobile campus guide consists of three main
applications: information guide, event guide and navigation support.
Place Guide:- emphasizes on providing information about places around user’s position in a
campus.
Navigation Support:- puts navigation support as its main feature. Which help the user to
navigate and find specific location.
In the current system to guide/ know about the places in HU campus, that are done in
traditionally tagged direction. In addition everyone, who is new to the campus, is guided by
using the help of other experienced peoples. Almost all new students, teachers and other workers
in Haramaya University use this kind of techniques system in order to adapt themselves to the
campus. We had observed many short comings of the existing systems in Haramaya University.
The following are some of them.
New peoples to the campus fully relay on experienced peoples in order to orient
themselves to campus and find specific places.
Time consuming: it takes a lot of time to find the place we are looking for since there is
no system which navigates us to the place we want to go.
It not able to get travel information timely when people are on the move.
Lack of trust: - It is difficult to know whether the provided information is true or not.
Manually tagged: the tagged direction only show us the direction not the actual place.
Couldn’t find alternative path because the tagged direction only show us one direction
and people who help new comers take people on the path they chose.
Change location: when there is change of location the tagged direction won’t be helpful
anymore.
1.3 Objective
The general objective of this project is to develop an android based campus guide system for
Haramaya University.
In order to achieve the above general objective we will have the following activities.
Interviewing:- we use this data gathering methods for collecting data’s from the students and
teachers of HU campus. We also interview the campus administrators and other workers and we
get information about how they are guiding the campus and problems on using the current
system.
Group discussions:-we use this data gathering methods in order to get Brain Storming Idea
about the need of proposed system. We had done this technique with our friends.
Before developing system the team crew decided to use Object-Oriented system because the
features of object oriented system are necessary for us. For example
These are the reasons which make us to choose object-oriented system, and this development
technique will help us to develop our system in the way we want to develop.
We used different hardware and software tools to analyze the problem found on existing system
in HU campus and for development and simulation of the project.
Those hardware tools are:
Cpu 2.4GHz
The scope of this project is to develop a mobile based campus guide system for Haramaya
University. The system will have two major deliverables. The first one is mobile application that
guide the user throughout the campus. And the second one is the google map server which
responds the request of the user by searching all possible routes and calculating the shortest path
to reach the user destination, it also responds question like nearby place and searches. And the
system will provide additional service like reminding for alarmed occasions and weather
condition of Haramaya University.
The limitation of this project is the functionality that the system will not incorporate. The major
limitation is the system doesn’t support indoor navigation, it will not incorporate local language
to the system and the system can be used for only android smart phones, it cannot be used for
computer platform and any other types of smart phone.
Mobile based guide system is a technology that uses GPS service for locating the location of user
and Google map is used to fetch the information about location detected. The system provides
information about services and events that are near to the user location. The information about
POI and event is managed by the campus administrators. The aim of the proposed system is to
minimize the drawbacks that are existed in the current (traditional) system and to make an
impact on making human life simple. In general the system has the following benefits to the
campus and individual users:-
The System has technological significance since it support guidance to people using new
technology (smart phone).
The System reduces dependence of new comer people on others, because they can move
from place to place using developed application.
The System increase economic development since it reduces wastage of time that means
work time will be increased.
The System reduces time needed from experienced people to the campus to guide new
comers to the campus.
Chapter – Two
The current system used by new people to the campus is using manually in order to guide the
campus. That means there is no developed system for HU campus that helps new comers to the
university. In existing system the people use their friends or other people which will hired by
the campus in order to guide the campus, reach specific place , move from place to place. The
hired guide then narrates history of the place and service available around the place and there is
no surety that all narrate story is true. There are tagged place markers that are intended to help
sand navigate visitors but the place might be changed and it will be confusing for visitors. The
visitor is not aware about location or place before going there, hence the whole information is
hidden by visitors. And also consume more time in finding proper locations. These are the main
disadvantage for the visitors. In general the proposed project tries to address the above stated
problems.
Economic feasibility
Technical feasibility.
Schedule feasibility.
Operational feasibility.
Economic analysis is the most frequently used method for evaluating the effectiveness of a new
system. It concern with the cost-benefit analysis while we are going to develop a proposed
system. But we are doing this project for the partial fulfillment of the requirements of Bachelor of
computer Science in 2018/2019, so we will not concern about it.
1.5.2 Technical Feasibility
Now a day we observed that most peoples in HU campus use smart mobile phone to call to their
related. They also use their mobile phone for playing audio, video recording and camera. Mobile
based campus guide system is not more complicated compared to those applications that the
people used daily. This system also makes the system easier by making the interface more users
friendly. So we can conclude using this system almost technically feasible.
Schedule feasibility concerned with the analysis and conclude whether the given project can be
completed within the time available to the project. We have a short time to develop the proposed
system because we waste much of our time in finding a project title that will be accepted by our
department. Even though we have started late, we believe that the time will be enough to
accomplish our project by using appropriate time management for our team to be successful and
to do efficiently.
We perform the activity first by having understanding the main problem of traditionally tagged
direction have and we thought to change this existing system to android based system and the
project result is operational since it solve the existing problem.
2.3.1 Overview
To overcome the drawbacks of the existing system (techniques), the proposed system has been
evolved. In our proposed system we are going to develop a campus guide system for android
smart Mobile phones. The proposed system is a Location based campus guide system that use
GPS service for finding location and Google map to fetch the information about location that the
user is in. The Mobile application will be installed on the mobile of user and can act as a guide.
The system will provide different information about services around the user position place, rout
path for location of places where the user wants to go. The system will enables to guide users
while they are on the move without wasting their time in finding proper locations. And also it
provides necessary details about routes and descriptions of the guide objects. While there is
change of location the system will update the location of that specific place. It also provide
alterative paths with shortest path for the user and the user choose the path he/she likes.
In general this system will reduce the cost, time and effort of the user and also it will provide
such an easy way to get the location of the required places and nearby services.
Functional requirements are requirement that are function or operation should have to perform
even if there are a lot of constraints in the environment. Functional requirements may be
calculations, technical details, data manipulation and processing and other specific functionality
that determines the proposed system to say it campus guide system or not to the users. These
groups of requirement steers functionality that the system should support for the user.
Navigation: - the system should allow user to navigate the campus using map with able to
see Point of interest on the map like clinic, cafe, library.. .
Route finding: The system shall show the route between current location and POI
location with smallest estimated distance.
Search POI and place: the system will allow the users to search places and POI in order
to get information about them.
Notification: the system will notify users when it is around POI.
View service: the system will allow users to see POI that are found nearest to user
location with information and event associated on that particular location.
The system allows the administrator to manage events include: creating, view, modify
and remove events.
The system will also provide a map to user that will be zoomed in, zoomed out and
scrolled.
Reminder: The system help users to add reminder or note and notify them.
Weather forecast : The system will gives information about the weather of the campus
2.3.3 Nonfunctional Requirements
Non-functional requirements, as the name suggests, are requirements that are not directly
concerned with the specific functions delivered by the system. They may relate to overall
performance of the system properties such as reliability, response time and store occupancy.
Non-functional requirements are often used to determine the quality of the software.
In order to give satisfaction to the client is should do all the operations of existing system in
interactive and easy way with fast response time and maximum through put. The memory used to
deploying and while performing the system in clients mobile need not be excessive.
Generally the following are some of the non-functional requirements that we will try to address
while we are developing the proposed system:
Maintainability: the prosed system will be very suitable to be modified and expended in
both scope and functionality aspect.
Availability: the proposed system will be working any time the user wants to use it.
Security: Security requirements are important factors in this system as classified data will be
stored in the database. The proposed system will insure this by not including an operation on
that enable users to modify the data on the system.
Operability: Every operation of the system must be as simple as possible for the users to
operate easily. Functions of the system must achieve the need of user. The proposed
system will achieve this by providing simple user interface.
Robustness: is a system that does not break easily or is not wholly affected by single
application failure or invalid input. Mobile based guide system will be a robust system
by making not to accept invalid input and notify about the situation to user about the
problem to correct for the future.
Reliability: the reliability of the proposed system much more dependent on the internet
network availability on the user smart cell phone. If there is a reliable and continues
internet network available on the user’s phone then the system will work in fine way
without lack of its functionality. The information that is going to be provided by the
proposed system is correct this makes the proposed system reliable.
Chapter Three
3. System Model
notification
edit reminder
navigate <<extend>> logout
<<include>>
<<extend>>
login
search place <<include>> view HU map
<<include>>
<<include>>
wather forcast
pre-condition
The user must get internet connection
Post condition Your location on the map is displayed and you can zoom in and out to see well.
Let the user to know the weather to determine its day, in case of wearing clothes.
Actor User
pre-condition
User must have app on his phone.
Flow of event
Post condition
The system display the current weather condition and advice the user with regarding of
cloth.
Alternative Flow
i. If incorrect username/password combination is entered, system
display, “incorrect username or password” message and request
the user to re-enter the combination.
ii. If empty field value exists, system displays corresponding error
message.
Post condition
person
+firstname:string
+lastnam e:string
+status:strinng
+field:string
+em ail:em ail
+getusername()
+getlastname()
+getstatus() user
getemail() 1
admin
-viewPOI()
-username:string -viewplace()
-password:varchar -viewreinder()
Crwateaccount()
1 view
manage 1..m 1
has 1
rem
inder
account map
1
Manage +name:string
+username +date:date +longtime:number
+paswword:varchar +time:tim e +latitude:number
1..m +create_account() +description:string +getlatitude()
+create_reminder() +getlongtude()
+edit_reminder() +displaylocation()
view
place +view_reminder() +view()
1..m +remove_reminder()
+name:string generate 1
+latitude:number has
+longtude;number
+add_place() 1 1
+view_place()
+remove() generate notification weather
person
+firstname:Bonsa
+lastnam e:Gemechu
+status:Student
+field:com p
+em ail:[email protected]
om
user
admin manage
view
-username:bonsag
-password:almiye
has
rem
inder
account map
Manage +name:Birtgday
+username:bonsag +date:3/92019 +longtime:4.965874
+paswword:almiye +time:2:00 +latitude:9.357410
c +description:mybirtday view
generate
place
+name:Am el generate
+latitude:4.965874
+longtude;9.357410
notification weather
+content:Youhavereached -temprature:17C
+status:T
POI
+type:building
+service-discription:dormitery
navigate
navigate navigate result place
user controlle GPS
button form interface database
r
press()
create() get location()
return location()
X
X
create
accept()
X
check location()
return result()
alt
X
[if result = empty] error message()
view()
[else]
X
X
press
create()
creat()
fill&submit
accept
x alt
x
getsearchplace()
returnresult
if(result=empty)
errormessage() x
else
getlocation()
returnlocation()
displaylocationonmap
view()
x x
x x
enterusername
andpassword()
createcontroller() checkusername
andpassword()
alt returnresult()
ifusername
andpasswordnotmatch X
return()
[else] create()
view()
X X X X
click()
createcontroler()
requestlogout
clearsession()
X
returnresult()
displaylogin() X
X
viewloginpage()
press()
create()
getweather(()
x returnresult
x
displayresult()
view()
x
x x
press()
create()
getlocation()
getlocation()
x x returnlocaation
displayresult()
view()
x x
preess()
create()
getreminder()
returnrem
inder()
x view()
dispalyresult()
x
x
x x
press()
create()
create()
x fill&submit()
accept()
validitycheck()
forsim ilarentry
alt returnresult
[ifresult=yes]
errorm
essage()
view
[else]
savedata()
successm
essage()
view()
x
x x x x
pressbutton()
create()
create()
fillandsend
accept
x alt
getplace()
returnresult
[ifresult=empty]
errormessag()
view()
[else]
displayplace()
viewandselectplace()
accept
removeplace()
successmessage()
view()
x x x x
x
Navigate Button
Fill form
Verify in DB
Fill form
Verify in DB
Go to login page
Weather DB
Display Result
Verify in DB
Get Location
Check POI in DB
Check Validity
Display Noitifaction
Fill outform
Getplacein
D B
Disp
layPlace
Disp
layEmpty
Disp
layNotification SelectPlace
Click Logout
button
Login Page
Check POI
in DB
enable disable
Click
Weather
button
Display
Weather
Fill out
form
enable disable
Active Inactive
System Design
4.1 Introduction
We use System design to transform the analysis model into a system design model. Up to now
we were in the problem domain. System design is the first part to get into the solution domain in
a software development. This chapter focuses on transforming the analysis model into the design
model that takes into account the non-functional requirements and constraints described in the
problem statement and requirement analysis sections discussed earlier.[2]
The purpose of designing is to show the direction how the system is built and to obtain clear and
enough information needed to drive the actual implementation of the system. It is based on
understanding of the model the software built on. The objectives of design are to model the
system with high quality. Implementing of high quality system depend on the nature of design
created by the designer. If one wants to change to the system after it has been put in to operation
depends on the quality of the system design. So if the system is design effectively, it will be easy
to make changes to it
The second step in software design phase is identifying the qualities that the software should
address. So the qualities of our system inferred from the non-functional requirements
documented in the requirements analysis.
The design goals can be selected from a number of quality criteria that should be incorporated in
the application. In this particular project the following design goal criteria have been identified to
be realistic.
Performance criteria: It is concerned with speed and space requirements imposed on the
system.
Response time: The response time of our system is highly dependent on network
connection and device performance.
Memory: As memory is one of the main constraints in mobile devices. The system
will have optimized space requirement for the application program as well as for the
data which is going to be persistently stored in the mobile device. In the development
of the proposed system we will not use any kind of experiments to testify the
performance. But by observing and analyzing projects that are similar to our project
title and scope which are available on internet and we predict that the system needs
android phones having minimum of 500MB RAM capacity.
Dependability criteria: It is concerned with the amount of effort needed in alleviating system
crash and their consequences, frequency of the system crash, and the availability of the system to
users.
Reliability: the reliability of the proposed system much more dependent on the
internet network availability on the user smart cell phone. If there is a reliable and
continues internet network available on the user’s phone then the system will work in
fine way without lack of its functionality.
Security: The proposed system will insure this by not including an operation on that
enable users to modify the data on the system and by authenticating admin using
login operation.
Maintenance criteria: It deals with the considerations of possible changes to be made on the
software after it has been deployed.
Extensibility: The system should be built considering possible mechanisms for
expanding or enhancing the system to gain new capabilities without making major
changes to the system structure.
Readability: - The code of the system easily understood by any user who has knowledge
about java, android and xml.
End user criteria : include qualities that are desirable from a users’ point of view, but have not
yet been covered under the performance and dependability criteria.
Usability: The system should be sufficiently intuitive to allow users to learn its
operations within short time. The system uses graphical user interfaces with
interactive features so the users exploit its utility easily to the fullest.
In the proposed system we breakdown the system into logically connected sub systems, and
aggregating them into the complete system. In order to simplify and minimize the complexity of
the solution domain, the proposed system is decomposed into six subsystems, namely the
account management subsystem, reminder management subsystem, map management subsystem
and notification subsystem, notification subsystem and weather subsystem.
Account management: allow Admin to manage their own account like changing
user name and password.
Reminder management: allow users to create, modify and remove reminder and
can be seen by the mobile phone user.
Map : allow user to see the current location of the user , POI and navigate user to
the specified place
Notification management: allow user to receive a popup message based on the
user current position or current reminder.
Place management: is responsible for adding and deleting place
Weather management: is responsible for showing users the status of weather
The proposed system will have two- tier architecture. In other word it is a client server
architecture where the system is organized as a set of services and associated with servers and
clients that access and uses the services.
Figure 35 System architecture for mobile application of MBCGS
The diagram above presents the general architecture of the prototype. We build the project based
on the assumption that users use their Android phones in the environment with internet and
having the ability of getting GPS data. GPS will be used for automatic localization since android
phones are usually equipped with GPS. Map Activity in red is the core and the start of
application. Map Activity imports Google Map as the map, and retrieves information of POIs
from remote Server. Map Activity calls Map Overlay to add POIs mark to Google Map. And
Map Activity calls Menu to present more functions such as reminder, search and so on.
4.4 Hardware software mapping
The system have two main components, client machine and google map server. The user can
access the server through mobile application. The client component defines the user of the
system which access the system through map activity. So the user send the request by the
application found on client machine and the server will respond back the request to the user
using internet.
Persistence objects are need to our system to be stored in persistence mechanism, so we use
persistence modeling to store the data on the database. This allows the programs in the system to
share the data, to do operations consistently. In addition to this storing data on the database
allows the program to perform complex queries on the large data sets. So the system will have
one database with three tables.
Adm
istratortable
Adm
instrator
PK id:Varchar
id
nam e
nam e:Varchar
Address
Address:V archar
Designation
Designation:V archar
Rem
inder Rem
indertable
date PK Name:Varchar
start_time
nam e date:date
description starttime:time
desrciption:varchar
Placetable
Place
nam e PK name:String
lattiude:
longitude: lattiude:Number
longitude:Number
User table
User
PK id: Varchar
id
name
name:Varchar
Address
Address:Varchar
Account
Account table
Password
Username PK Password:Varchar
Username:Varchar
Map table
Map
lattiude: lattiude:Number
PK
longitude: longitude:Number
Location name
Location name: Varchar
POI table
POI
name PK name:String
lattiude:
lattiude:Number
longitude:
longitude:Number
service_decription
service_desription:varchar
The android based campus guide system must stablish secure access and trust between users and
authenticating access. And some user and admin information like password should be encrypted.
People who uses the system will have their own privilege and they can only access the system
according to the privilege given to them.
Admin Add()
Remove()
We are going to introduce two global control flow for mobile based campus touring system.
These two global control flows are
1. Procedural driven control flow: This advocate that users of the system should have to
follow the system procedure and wait for the system to give response before using it.
2. Event driven control flow: This flow control is responsible for handling different events
of the system and dispatching to the appropriate resource based on information
association.
Login An administrator of the system enters user To be logged in, the login button should
name and password and then he/she will be be clicked
authenticated after that Homepage will be
displayed
Add place An administrator of the system fills all the To be added , the Add place button
requirements to add place, after that the place should be clicked
will be added.
Delete An administrator of the system fills all the To be deleted , the delete place button
place requirements to delete place, after that the should be clicked
place will be removed or deleted.
Error Conditions:
Logging in:
User settings
Data Entry
Logging out