Internship Report
Internship Report
Internship Report
TITLE
A project work submitted to
K L Deemed to be University under the
partial fulfillment of B.Tech (2ndYear) during
2017-18
By
RollNo:160050086
SummerTraining
DURATION OF THE
INTERNSHIP
Under taken at
Gachibowli,Hyderabad
1
2
CERTIFICATE
2
3
Acknowledgements
I also express my thanks to Sai Shashank Founder and CEO of Erusen Pvt.Ltd
for allowing me to do this project work.
I also take this opportunity to thanks all research and administrative staff of
Erusen Pvt.Ltd for their cooperation during this project. My thanks are also due
to the staff of the library, Erusen for their help and cooperation.
3
4
Abstract
There were several tools used in the development. Android studio was
utilized to create the Android development environment. Hierarchy
viewer is a tool to examine and design the User Interface. The test tool
Android Virtual Device Nexus 5 in Android studio was mainly used
for program automatic testing. The outcome of this research is a
practical and easy application that everyone is able to use. It includes
basic function which is textual and audio explanation, and added
functions which are online ticketing sale and online shop service.
CONTENTS
ABSTRACT
SYMBOLS AND ABBREVIATIONS ......................................................... 4
FIGURES AND TABLES ............................................................................ 5
1 INTRODUCTION ..................................................................................... 7
1.1 Background Information and Motivation ......................................... 7
1.2 Objectives and Scope ........................................................................ 8
1.3 Research Questions and Research Methodology.............................. 8
1.4 Assumptions and Limitations ......................................................... 10
1.5 Structure .......................................................................................... 10
2 SYSTEM DEVELOPMENT ENVIRONMENT AND TOOLS ............ 11
2.1 Android Development Environment ............................................... 11
2.2 Development Tools ......................................................................... 11
3 ANALYSIS OF MOBILE TRAVEL GUIDE APPLICATION .............. 14
3.1 Requirements Analysis ................................................................... 14
3.2 System Analysis .............................................................................. 15
3.3 Structure Analysis ........................................................................... 17
4 APPLICATION DESIGN ........................................................................ 20
4.1 User Interface Design ..................................................................... 20
4.2 Database Design.............................................................................. 23
4.3 Program Module Design ................................................................. 25
5 PROGRAM DEVELOPMENT ............................................................... 27
5.1 Documents’ Structure and Purpose ................................................ 27
5.2 Core Code of Mobile Travel Guide Application ............................ 29
5.3 User Interface Layout ..................................................................... 33
6 SYSTEM TEST........................................................................................ 36
6.1 Starting Android AVD .................................................................... 36
6.2 Starting Travel-guide Application .................................................. 36
6.3 Other Pages ..................................................................................... 38
5
6
6
7
7
8
8
9
9
10
1 INTRODUCTION
The thesis research focuses on the development of the mobile travel guide
application by applying software engineering principles and software
development methods based on an existing one. “Mobile tourism is an
emerging trend in the field of tourism involves the use of mobile devices as
electronic guides” (Smirnov, Kashevnik, Balandin & Laizane 2013, 94).
Users are able to get enriched travel information on the Internet; however,
there is a limitation to get information timely when they are on move
(Jinendra, Bhagyashri, Pranav, Seema
& Parag 2012, 1). From museums’ perspective, users are able to use the
application with and without network, which helps museums to be known
by more tourists. In the process of development, a use case diagram and
structure diagrams were described. In this research, the existing condition,
design idea and implementation methods of application which were built on
Android environment were described. Furthermore, the analysis and design
of the application were based on the actual using situation.
11
12
Based on the objectives and the scope of this work, the following research
questions are addressed.
application?
13
14
2. What benefits will users and museums acquire from the application?
The research method used in this study was constructive research and
questionnaire. The travel-guide application design theory was presented in
this research, and this theory was based on our practical training company’s
application. On this basis, there are development functions designed on this
mobile application, such as digital shop and online-ticketing.
This thesis involves mostly development work based on the literature. The
research is developmental and explanatory because it makes clear
understanding of how the mobile application was accomplished and the
production processed.
Due to the fact that this research is the development work, there are some
development tools to be used in this study. For instance, the mobile
application under development was based on the Android operating system.
Therefore, Hierarchy Viewer was a mandatory tool. It comes with Android
and it is the Android APP development tool that helps us to better examine
and design the user interface (hereinafter UI). Hierarchy Viewer has two
main functions as follows:
14
15
The two features illustrated above are the reasons we chose to use it.
Hierarchy Viewer is able to help us better review and design UI. Therefore,
it was found useful to use in conducting this research.
15
16
10
1.5 Structure
16
17
11
AND TOOLS
Android Studio
every plugin, such as Git, Markdown and Gradle. Figure 1 presents the
interface of Android Studio.
18
19
12
Every programming language has its own SDK, and it is available for
various languages. The SDK for Java is called JDK, the Java Development
Kit, which is included in SDK.
Java programming language is “designed to have the ‘look and feel’ of the
C++language”. It “can be used to create complete applications that may run
19
20
20
21
13
Photoshop CS3
Photoshop was originally released in 1990 and has been popularly used for
25 years. It was created by Adobe Systems and it is the “predominant photo
editing and manipulation software” for both professionals and beginners
(University of Washington 2014). On one hand, with Photoshop every
picture is able to be created and edited professionally. On the other hand, it
is easy to begin editing the pictures (Soffar 2015). Photoshop is used for
editing pictures in this thesis.
21
22
14
APPLICATION
22
23
Firstly, through the questionnaire result and combining our own thought,
online ticketing and online shopping services were chosen to be designed.
As the Internet penetration gets higher and higher, modern people’s life
style has changed a lot. Literature also points out this aspect by stating that
“Since the Internet has made things simpler”, there is no reason to stand in
the long lines to get one ticket, because by touching a few keys on the
phone one can buy tickets easily (Roben 2014). Considering other aspects,
secondly, login function with valid email address and password should be
provided for users, and the system should be able to manage and maintain
all user accounts. Thirdly, the application should be able to add and publish
new scenic spots information. It includes texts, audios and photos, and it
needs to be displayed properly on the mobiles. Fourthly, the information
should be able to be modified and maintained in the application, which
includes user login information, scenic spots information, online ticket
information and shop product information. Fifthly, after the application is
getting online, users are able to give feedback and post their own suggested
trip itinerary on website or in scoring system.
23
24
15
24
25
16
25
26
26
27
17
In order to make the application complete with high efficiency and match
the requirement analysis, the user and administrator must have their own
access control. The application is divided into two parts, i.e. user interface
and administration. The user interface is designed to users, and
administration is from backend to manage all user accounts and data.
User Interface
With the rapid development of technology, “most of the time users are not
sure of what and how they will be using the new systems and their
yardstick for the requirement comes from their current system/process”
(Bhatnager 2011). What is more, “most users expect a system to adapt to
their preferred way of working and to be more interactive rather than being
required to change their processes to accommodate the systems
themselves” (Bhatnager 2011). Unquestionably, the user interface should
be as simple as possible and with practical functions as well. It is extremely
important to catch users’ eyes at first time.
27
28
18
As Figure 4 shows above, there are the following models in user interface:
The above models are listed to show what functions users are able to use.
What is more, in sub-models there are detailed introduction of every model.
Administration
29
30
19
The above models are listed to show what limit of authority the
administrator has. It is all-sided that the administrator is able to operate
every aspect of the mobile travel guide application, in order to provide
updated and timely information.
30
31
20
4 APPLICATION
DESIGN
Design
There are four user interfaces designed shown as below, which are
homepage, audio page, ticket page and shop page. The design of each page
is simple and clear (Jin & Yao, 2009).
Once the user enters the Homepage interface, the system will request the
user to input the correct Email address and password to login. Furthermore,
recommended museums and museums’ recent activities are displayed on
the view. It is simple for users to find their ideal museum. The interface of
homepage is shown in Figure 6 below.
32
33
21
In the scenic spot information interface, users are able to listen to audio
guides, read text guides and view pictures. Figure 7 depicts the interface of
scenic spot information.
22
The ticketing sale interface is designed for users to search and order
museum tickets. The tickets information includes purchase date, punch date,
ticket amount, price and tickets code. Figure 8 demonstrates the interface of
ticketing sale.
23
There are four kinds of data required to store, and they rely on the
normalization rule. Normalization is “the process of organizing data in a
database”, and it includes “creating tables and establishing relationships
between those tables according to rules designed both to protect the data
and to make the database more flexible by eliminating redundancy and
inconsistent dependency” (Microsoft 2013).
Every page has its ID. Homepage’s ID is the primary key, and other sub-
pages’ IDs are stored as widget component. Furthermore, other data has its
own property. In the design of relational database, the SQL data definition
and query language were used to store information. Part 1 is the item of
homepage that shows log-in table and museums’ recommendation. Part 2 is
the item of text guide and audio guide. Part 3 is the item of shop products.
Further, part 4 is the item of tickets insert. The database was named as
“MuseumApp.db”, and there are four tables.
35
36
Table 1. App_home
In App_audio (Table 2), the property includes the component id, picture of
museums audio guide of museums and text guide of museum. The data type
of these properties are “Integer”, “Image”, “Text” and “Audio”, in that
order.
36
37
24
Table 2. App_audio
Property Data Type Description
Table 3. App_shop
Property Data Type Description
37
38
25
There are component id, museums’ name, price of tickets and date of
tickets in Table 4. App_ticket. The data types of every property in
App_ticket (Table 4) are “Integer”, “Text”, “Double” and “Timestamp”, in
that order.
Table 4. App_ticket
Property Data Type Description
38
39
39
40
26
The most important parts of this application are the Backstage Service and
Data Acquisition Module. The Data Acquisition Module is in charge of
data collection, data processing and sending the requirements data to the
User Interface. The Backstage Service is running when App Starter is
switched on, and after the Backstage Service turns on, it is going to keep
the running status.
The User Interface obtains the museums’ and log-in information from the
database module. Data Acquisition Module processes with analyzing and
dealing with required information, and then sending the information to
Backstage Service, to enable the User Interface to update the information in
time from Backstage Service.
40
41
27
5 PROGRAM DEVELOPMENT
In the source code structure shown above in Figure 11, the main java code
has nine sections. The resource includes animator, layout and menu.
Besides, the animator has two sections which are layout and menu. There
are four sections under the layout, and four sections under the menu.
41
42
28
In order to make the structure of the source code files clearer, there were
multiple domain names and space set up in the primary group
“travelguide”. They were used to save user interface, database and
functional code documents. Table 5 above is the name of the source code
and explanation.
42
43
29
animator
animation2.xml mutual transformation
audio.png
home.png
ticket.png
drawable
museum1.png button, user interface
logo and so
news1.png on.
onlineticket.png
sourvenirs.png
......
layout
ticket.xml Ticket page interface
43
44
The source files of Android were saved in /res. Herein, the /res/animator
directory was stored in XML files about generating animation, while the
/res/drawable directory was stored in image files, and the /res/layout
directory was stored in user interface XML files. All resources in the
program development phase can be stored in these directories (Young
2001). The specific purpose of every resource file is shown above in Table
6.
44
45
30
Creating the database needs to make the database name, database version
and constructor properly. Further, this code is to create the application
widget table and museum_activities table.
45
46
The audio guide is one of the basic functions in the mobile travel guide
application. All of the audio files were stored in the database, and the users
are able to download them. The main code to implement the audio player is
shown in Figure 13 below.
46
47
31
The code above is regarding to create the audio player. The functionalities
include searching audio resources, starting to play and pause the audio. The
audio player will judge the audio’s length duration and current duration.
Furthermore, it will check if the audio is playing or not automatically.
47
48
48
49
32
“Fiap object” refers to the product that the user chooses. Once the product
is confirmed, the information will be passed to the container. After that, the
payment method will be selected, and the payment amount will be
displayed.
49
50
33
The travel guide application contains four main pages, which are
Home.xml, audio.xml, ticket.xml and shop.xml. In the user interface
design, AppWidget frame structure was adopted and intuitive interaction
was provided. Four user interfaces were designed in a simple style and easy
to operate. The detailed content of each of them are shown below. Figure
15 displays the content of Home.xml, Figure 16 illustrates the content of
audio.xml, Figure 17 demonstrates the content of ticket.xml and Figure 18
shows the content of shop,xml.
51
52
34
The content of ticket-page contains text, buttons, image buttons and image.
“TicketTopview” is located on the upper part of the screen, and this section
is for the image which is “tickets”. Hence, “imageView” is the sub-object
of the “ticketTopView”.
35
The content of shop-page has image view, image button and buttons. For
example, “topBar” is on the upper part of the screen, and this part is for
setting an image which represent “souvenir”. Therefore, “souvenir” is the
sub-object of the “topBar”.
53
54
36
6 SYSTEM TEST
So far, the coding work has been completed. The travel guide application is
ready to be tested, and the test steps and results are described in this
chapter. The Android virtual device Nexus 5 was used, and the test system
was Android 5.1.1. As shown in Figure 19.
54
55
There were several default icons on the mobile screen in Figure 20.
However, due to the test was under a virtual environment, not all of the
functions could be used, such as camera, maps and email. The travel guide
application icon was the second last of the bottom row. The name was titled
as “TravelGuide”.
55
56
37
On the homepage, the user was able to input his/her email address and
password to log in the system. The picture in the middle included
museums’ news and information, in order to let users know some
museums’ activities directly. Further, users were able to jump to audio,
ticket and shop page by clicking three icons at the bottom.
56
57
38
Clicking “tickets” button, the page turned into ticketing service page. As
shown in Figure 22. In the ticketing service interface, the user could
operate ticket information easily, such as purchase date, number of tickets
and total price. “BUY NOW” is the button to confirm the ticket information
and implement the payment.
Clicking “audio” button took the user to the scenic spot information
interface. Both audio and text guides worked well in Figure 23. In the
scenic spot information page, the user could choose different audio guides.
Besides, the pictures and texts were changed with the selected audio. For
example, if the user chooses audio guide of the Louvre, the picture will
change to a symbol of the Louvre, and the text will be same with the audio.
57
58
39
Clicking “shop” button, the button looked like a blanket. Every picture
worked successfully as shown in Figure 24. In the online shop page, the
user was able to select favorite product if he/she was interested in the
museum. The products can be pre-ordered by choosing pictures.
58
59
40
It was same as the real operation, clicking enter backstage button, then
clicking exit button on “TravelGuide”. So far, the system test was finished
as shown in Figure 25.
In the interface of exit, exiting the application was same with the operation
of a real device. The user can hold the application’s border and pull to
right, then it was successful to exit the application.
The Android AVD was based on Android Studio. Nexus 5 was chosen to
be the virtual device, and the testing system was Android 5.1.1. This travel
guide application should follow the recent device and operation system. At
first step, the application started successfully without any errors. Then,
59
60
every “onclick” button worked, and the text-typing box was able to type in.
After the home page testing, the page switched to other three pages by
clicking each button at bottom. These three interfaces include scenic spot
information page, ticketing service page and online shop page. It took a
long time to finish the whole test, every function operated successfully.
However, there was one
60
61
41
problem during the test, which is the Android AVD’s RAM was allocated
insufficiently. Therefore, this application has possibility to crash during the
operational status.
61
62
42
7 CONCLUSION
Deriving from the objectives of this research, the outcome of the research
was development of a mobile travel guide application with added
functionalities to an existing application, and quizzes for every part were
included as well. The objective of the travel guide application was to
develop functions of audio guide, online ticketing sale and online shop
service. The aim of the travel guide was to provide the users with a more
convenient application to users compared with the traditional travel guide.
The added functions to an existing application were the core focuses of this
thesis study. On the Internet, some basic function codes are presented as
open source code, which provides convenience to the development. For
instance, the audio feature was implemented by using MP3 code. Mostly,
regarding the similar applications, the old version of application’s
implementation had many kinds of issues with scaling the layout or others.
Thus the new version which developed this time had to be an integral one.
Within this Bachelor level thesis study, only three added functionalities
were designed and developed. However, there is still a wide range of space
62
63
63
64
43
BIBLIOGRAPHY
Gibilisco, S. 2015. Use case diagram (UML use case diagram). Accessed
13
February 2016
http://whatis.techtarget.com/definition/use-case-diagram.
Govender, S. 2014. Getting Started With Android Studio. Accessed 20
November 2015
http://code.tutsplus.com/tutorials/getting-started-with-android-studio--
mobile-
22958.
Jewett, T. 2016. Database design with UML and SQL, 3rd edition.
Accessed 20
February 2016
http://www.tomjewett.com/dbdesign/dbdesign.php?page=models.html.
Jin, Y. & Yao, S. 2009. Android Google development entry and actual
combat.
People’s Post and Telecommunications Press.
http://issuu.com/roben11/docs/advantages_of_buying_tickets_on_the.
Rouse, M. 2007a. GUI (graphical user interface) definition. Accessed 10
September 2015
http://searchwindevelopment.techtarget.com/definition/GUI.
65
66
44
66
67
67
68
68