0% found this document useful (0 votes)
140 views106 pages

Final Editedd

Uploaded by

tsemahlets18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
140 views106 pages

Final Editedd

Uploaded by

tsemahlets18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 106

Chapter One

1.1. Introduction

In the current era of improving consumption structures, there has been a significant surge in the number of
people engaging in recreational and entertainment tours. Tourism has emerged as one of the most robust
and expansive industries, contributing approximately 11% to the global gross domestic product (GDP) and
employing 200 million individuals, while serving 700 million tourists worldwide as of 2020.

Simultaneously, the internet has provided an abundance of travel information, enriching the experiences
of tourists. However, a prevalent challenge persists tourists often struggle to access timely travel
information while they are on the move. To address this issue, we aim to develop a mobile tourist guide
system using mash-up technology.

Through this project, our objective is to create a comprehensive solution that allows users to make hotel
reservations, obtain real-time weather conditions, eliminate the need for tour guides by providing heritage
information through image recognition, and much more. By leveraging the power of technology, we intend
to alleviate the various problems tourists commonly face today.

With this innovative system and application, we envision a world where tourists can seamlessly navigate
their journeys, access vital information at their fingertips, and make informed decisions to enhance their
travel experiences. Our ultimate goal is to provide a comprehensive and user-friendly platform that resolves
the most pressing challenges faced by tourists today.

1.2. Background of the project

In our country, each activity is completed manually under the current system of tourism, and processing is
a time-consuming procedure. Currently, Tourists have to rely on travel agents for making tour
arrangements, which is extremely consuming and costly. The users are unable to meet their needs in a
timely manner.
Furthermore, the outcome may be inaccurate. This will decrease the safety of the tourists. Thus, the existing
system is very time-consuming and being manual work sometimes leads to a great loss as well.
Our system is highly automated and makes the travelling activities much easier and flexible. With digital
tools at hand, people now prefer to make their own travel arrangements through portable and user-friendly
mobile apps. iTOUR provides online booking system, hotel reservations depending on their financial status
and cashless travel which facilitates all kinds of payment since theft and the hassle of cash is a big security
concern for tourists visiting new countries and regions for the first time. Real-time weather forecasting
with recommendations assists users plan better with what to pack and things to watch out for along with

1
suggestions on timely travel bookings, choose the type of transportation they want, get detailed
information

2
about specific heritages or sights without the help of tour guides, by simply taking a picture of it, iTOUR
provides location based information and can access GPS of user’s location, and leave recommendations
after visiting a place and rate the services provided so that it can help the other users who are planning to
visit and plan better trips based on their travel history, preferences, and review and rate. In general, users
can manage all their plans with limited human intervention by simply using this mobile application. This
ensures a safe and comfortable stay of tourists in the country.

1.3. Statement of the problem

The current Ethiopian travel agencies were.


 A one-stop-shop for travelers (traveler couldn’t view travel packages themselves)
 Challenge for travel agencies is to maintain their credibility and visibility.
 Face is losing customers due to the common tour packages they offer.
 Complex and long booking process
 Unaware of what their customer requires and are unable to understand them very well.
 The increasing and diverse travel requirements by people, it gets difficult to manage inquiries.
 A stressful and tense environment for travel agents
These all are challenges of currently existing agencies. proposed system deals with these all-agencies
problems. The proposed project is an online tour and travel system that provides an effective solution for
travelers to plan, manage and schedule their tour according to their requirements and demands. They may
have need good suggestions for places that they might enjoy. For example, about plan trip, booking, where
and how long they might stay, how they will get around, how much they think it will cost. the system also
solves this and all other problems by providing all required information (detail tour packages) about tour
and travel for all customers during their journey. it would help traveler to manage their budget properly.

3
1.4. Objective
1.4.1 General objective

The general objective of this project is to help tourists find transportation, hotels rooms that fit all their
needs at the right price by comparing the options from a wide range of providers and guide themselves and
get fast, accurate and detailed information about the places they are visiting without a tour guide by simply
scanning the QR code placed on those area.

1.4.2 Specific Objectives

 To develop a system that is easy for users.


 To identify necessary features/tasks and prioritize them for an efficient workflow
 To build prototype for experimentation
 To acquire user rating and review to improve accordingly
 To test

1.5. Scope and Limitations


1.5.1 Scope

Tourism is one of the biggest sectors of our economy as a country. Since Ethiopia is a big country and has
many attraction sights, we figured it would not be possible to cover all of the places and sights. Thus, in
order to design our application, we were obligated to choose a smaller city, specifically Adama, for this
project. Its scope includes registration, GPS location tracking, reservations and information sharing. It
also includes different features such as payment methods and place recognition.

1.5.2 Limitations
The limitations we may face when and after doing these project are: -
 Since, it is a mobile application the service given by the system is not accessed by users as long as there
is no smart phone and internet connection.
 Because of budget, our marketing may not be big
 Here in Ethiopia, most Ethiopians are not used to using mobile applications for these purposes.

4
1.6. Feasibility Study

A feasibility study is simply an assessment of the practicality of a proposed project plan or method. On the
basis of the feasibility study decision is taken on whether to proceed or to cancel the project. It includes the
following.
 Technical feasibility
 Operational feasibility

 Economic feasibility

1.6.1 Technical feasibility:


Technical feasibility analysis mainly analyzes the mechanical conditions can be completed smoothly the
development work, the hardware and software can meet the need. This assessment focuses on the technical
resources available to the project team members. The project team members have learned monogramming
languages that required for the successful completion of the project such as Dart, JavaScript, and MongoDB
Also Team members have the required skill to develop the system by using Flutter software kit, so that the
project can be said technically feasible.

1.6.2 Operational feasibility:


Our project is an online tour and travel system that provides an effective solution for users to plan, manage
and schedule their tour according to their requirements and demands. We reviewed how the existing
Tourism service works and our technical skill transforms the existing system into mobile based application.
The proposed system is also compatible to any smart phones. So the proposed system is operationally
feasible.

1.6.3 Economic feasibility:


Economic feasibility is the process of identifying the financial benefits and costs associated with the
project being developed. If benefits outweigh costs, then the decision is made to design and implement the
system. It is must accurately weigh the cost versus benefits before taking an action. The proposed system is
economically feasible because it uses software tools that are available for free (open source software).

5
1.7. Significance of the project
This project’s approach is intended to be more efficient than the current manual method. It automates all
basic processes that are currently happening in the tourism industry, which is a significant benefit. In
addition, this project aims to revolutionize the tourism industry by enabling customers to engage in
valueadded and personalized engagement. With the availability of this mobile applications
 people no longer have to rely on travel agents
 users get accurate information with limited human intervention
 simplifies the manual work
 up to date and useful information

 tourists’ details can be provided easily


 ensures safety for users and 24/7 Accessibility

1.8. Beneficiaries of the project

iTOUR mobile app benefits various target groups. This app assists users for booking their hotel rooms
and transportation services via the Internet only by using this mobile application. Also allow users to
travel without tour guidance in their visitation time.
Benefits for the user:
• Easy access for booking
• Payment method integrated so payment can be done easily
• Get exact location of the place they are visiting through map
• Check the weather condition of their stay before going

• Get a place description by scanning the QR code placed on the attraction place.

Benefits for the Online system:


 Help users book their desire service easily
 Easy payment and transaction

6
1.9. Methodology
1.9.1 Data collection methodology

We have used the following data collection method which will be conducted by way of interviews,
questionnaires, requests for data from different organizations like hotels and resorts, transportation service
sectors like Ride and observing how the existing or current system works and how laborious and
unorganized it can be.

1.9.2 Conceptual Modeling

Helps in creating an abstract and physiological representation of a real-world concept and the analysis of
this model to make decisions about implementation. We are developing a conceptual model of the system,
and we have defined the important features of the system that we want to include. This modeling helps us to
focus on the essential features of the system and the relationships between those features, and so to identify
the functional requirements for the system to function as intended.

1.9.3 Secondary data collection methodology

 Looking up different travel management system's websites


 Surfing the internet for a similar system as the proposed one

1.10. Development tools


While working on the project from the start phase which is the documentation to the end which is the
implementation, we have used these tools.

1.10.1. Hardware
 Flash (External hard disk)
 Computer

7
1.10.2. Software

Tools Use

For database
Flutter To create customized mobile app designs (Front-end)
Figma For UI/ mockup design
Design the project
Enterprise
architect
MS-word Documentation
Browser To open the system

NodeJS For Backend


Postman Developer’s side used for testing API

Azure Cloud To host the application, web page and APi

React For Admin web-page UI Design

Table 1.1: Software development tools

1.11. Project deliverables

The final product will be interactive, intuitive and user-friendly mobile application which runs on a wide
range of smartphones.

1.12. Cost Breakdown

A cost breakdown analysis is a cost analysis that involves itemizing all of the components of the cost of a
particular product or service. The itemized components are called cost drivers. Different products and
services have their own different sets of itemized cost drivers. A cost breakdown analysis is an effective
tool

8
used when cutting down costs on certain things. Although there is no official budget/cost allocated for this
project, here is an estimated budget/cost for resources required for the project:

Resource Amount Cost Total Price

Laptops 2 80,000 ETB 160,000 ETB


USB Drivers 2 250 ETB 500 ETB
Smart phone
Pen 5 50 ETB 50ETb
Paper 1 200ETB 200ETB
Visual Studio - Open source -
MongoDB - Open source -
Android Studio/Flutter - Open source -
Figma - Open source -
Printing and Stationery -
1800 ETB 1800 ETB

Hard disk 1 3,000 ETB 3,000 ETB


Total price - - 164,550 ETB
Table 1.2: cost breakdown

1.13. Task and Schedule

Activities Week 1 Week 2-3 Week 4 - Week Week 11 - Week 12-


7 7-10 12 27

Research  
Planning 

Proposal 

9
Documentation 
Preparation

Implementation    
Build   
Prototype

Test   
Obtain  
Feedback

Finalize 

Table 1.3: Task and schedule

1.14. Team composition


No Name ID Responsibility

1 Abdurez UGR/16680/11 Requirement gathering,


ak implementation, Analysis,
Shemsed Design

in
2 Henok Belachew UGR/17210/11 Design, Implementation, Testing

3 Mahlet Sintayehu UGR/17329/11 Coordinator, implementation,


Analysis, Testing

4 Meron Muleta UGR/17369/11 Requirement gathering, implementation,


Design

5 Implementation, Testing, Design


Rediet Melaku UGR/17573/11

Table 1.4: Team composition

1
Chapter Two: Existing system

2.1. Description of existing system

To create a better system, it is essential to understand the present system of the given organization. It now
carries out a variety of tasks manually, including transferring information manually, making manual
reservations for hotels and transportation, and generating reports. One of the main downsides of the
current system is that users must locate a real, ideal travel agent, which can be difficult, take a lot of time,
and try their patience.

2.2. Major function of existing system

The major function of the existing system is:


 Register new member.

 Gather and send information.

 Coordinate trips

 Manual payment and collection of receipts

 Wait-listing.

 Manual transportation and hotel booking

 Search

 Login as a registered member

 Travelling Facility for the Limited Area or Person.

2.3. Major functions of current system

 Provides search facility for customer.


 Access to live GPS location.
 Views weather condition.

1
 Tour guides are not needed as we can simply get full information by scanning the QR code placed on
the areas of attraction (such as heritages, monuments etc..)

VIEW
SEARCH
BOOKING
CANCEL BOOKING
ONLINE PAYMENT

2.4. Drawback of current system

 Absence of computerized and centralized systems.

 Absence of good time management.

 Absence of data accessibility.

 The manual way of data handling and running up of the activities is tedious Data security

is not assured.

 There is no database to store information.


 It can be harder to change a booking.
 Unreliable internet access
 Having to pay a commission.
 Customer service issues and cancellation rules
 Loss of complete control

2.5. Business rule

A significant non-functional requirement that might have an impact on the system is the business rule. The
development of the system may be negatively impacted if the system's owner changes or if numerous
owners disagree with one another. Therefore, business rules must be taken into account at every step of
development. The agreement with the system owner should be renewed after every significant advancement
or should be made at the beginning of the system for the entire system.

1
The following are business rules of system.

1. The system does not allow to perform any activity if they are not registered.
2.Be aware of the agent’s requirements.
3. The user must be authenticated to access the system.
4. Report is generated if and only if a specific project and requirements are already registered.
5. Group leader can represent the members.
6. Users of the system should be well known.

1
Chapter Three: Proposed System

3.1. Overview

This chapter primarily concentrates on defining and analyzing the requirements for our proposed system.
The functional and non-functional requirements of the proposed system are stated at the beginning of the
chapter. In addition, various scenarios are presented to support how the issues with the current system will
be fixed in the suggested solution. We use object-oriented modeling to create models and provide solutions
for the suggested system. The chapter's last portion comprises use-case diagrams, activity and sequence
diagrams, class diagrams, persistence diagrams, and other UML- compatible modeling diagrams.

3.2. Functional Requirements

A functional requirement describes the intended behavior of our system or the application.

 Users can register to the app by providing necessary information.


 User can login after validation of his/her details from the database.
 Users should be able to view list of places
 Users can book and pay online for the visit to any tourist location.
 Users can view the weather condition on that specific day
 Users can view the route, type of transportation to selected location.
 Online systems such as Hotels and transportation services are registered to be a member of the system,
based on the requirements, by the admin.

 Users can search nearby attractions points, can figure out the distance between these point and
current location.
 When user login to the system on his/her mobile, application will trigger the GPS to get and update
information of user’s location.
 iTOUR also analyze the user information stored in database to get user’s preferred requirements.
 Users can rate the app and the services provided by the app.
 iTOUR provide location based information which can be browsed through a map.
 The system only accepts a valid login details to enroll on a travel the system and offer logout
functionality to end users.

1
 The system should be able to provide full information about attraction places by simply taking a picture of
it.
 iTOUR will provide password recovery facility.
 Admin can register hotel and transportation service providers, route information, and flight information.
 Admin can view daily, weekly and monthly reports.
 Admin can update, search and delete any package and information.
 The admin can also change his name or password from the dashboard settings.

3.3. Non-functional Requirements

Non-functional requirements are those that aren't necessary for our system's operation but can still support
it and improve its quality.

1. Accessibility: We have taken every type of user in to account and provided them with an option to
access the system.
2. Database: An unauthorized person cannot access the panel and database, do not read and write
the information. It should maintain the security of the client’s payment method.

3. Reservations: The system should reserve a travel package.

4. Scalability: The system encompasses several technologies that enable the platform to
accommodate larger workloads while maintaining consistent and acceptable levels of performance.

5. Resources: The system is compatible with specified hardware and software environment.

6. Reliability: It should provide a reliable environment to both customers and


owner. Admin should be able to upload delete update new packages without any error.

7. Usability: The System is designed for user friendly environment and ease of
use. Unauthorized person should not use the system; rather just view the main page.
No one can change the password without login to the system

8. Authentication Requirement: The system support user name and password to authentic and
has different privilege to protect intruding.

1
9. Availability: It should be available for 24 hours because it offers international tourists
reserved packages from different countries so it should be available for 24 hours.

10. Robustness (Error handling requirement): The system has error handling mechanisms that is, as
errors occur it will not stop functioning rather provide error manages and back to the previous page to give
chance to renter data and process the task by beyond the error.

11. Efficiency: When an online package of travel implemented customer can have reserved packages
in an efficient manner.

12. Well documented: the document of this project is processed in well manner.

1
3.4. System Model

System modeling is the process of developing abstract models of a system. These models help to
understand the functionality of the system by representing it with simple steps and ignoring
irrelevant details. It gives a representation of the system from different perspectives. It can
represent the interaction between the system and environment or between the components of the
system; the representation of the structure of the data that is processed by the system and the
representation of dynamic behavior of the system and how it responds to events.

3.4.1 Scenario

Scenario 1

Name of use case Register

Participating User
Actor Admin

Entry Condition Users of this system must install the mobile application and have
internet access

Flow of events 1. Open app


2. Click “Get Started” button
3. Display registration form
4. Input completed personal details.
5. Click Sign up button for confirmation via email.
6. Receive confirmation code for login.

1
Alternate If the user does not provide the required information, the system
immediately requests the user to provide the missing information.
Condition

Exit Condition System saves the entered data into database

Special requirement The application must be installed on the smart phone

Table 3.1: Register

Scenario 2

Name of use case Log in

Participating Actor User


Online systems
Admin

Entry Condition 7. Users of this system must install the mobile

application and have internet access.


8. User information is stored in the database.

Flow of events 1. Open app


2. Login form is displayed
3. Enter valid username and password
4. Click login button
5. Display home page

1
Alternate Condition If the user doesn’t input its email and password correctly,
the system notifies and asks them to fill the form again.

Exit Condition The user is logged in and can see the home page.

Special requirement Must install the mobile application.

Table 3.2: Log in scenario

Scenario 3

Name of Use case Booking (package, transportation and hotel)

Participating Actor User

Entry Condition  Internet connection must be available


 User should have the mobile app installed
 User must be logged in
Flow of events 1. Open app
2. Login into app
3. Navigate to Booking page
4. Choose packages or any other services provided by
the system.

1
5. Make reservation.
6. Navigate to payment page
7. Choose payment methods.
8. Click pay now button
9. Input amount
10. Authenticate transaction
11. Save changes
12. The system displays successful message
13. Receive Automated email and text notifications
14. Logout

Alternate Condition Booking details will be saved to the database

Exit Condition The system saves entered data into data

Special requirement The user should install the mobile app on their smartphones

Table 3.3: Booking Scenario

Scenario 4

Name of Use case Add, Update and delete Services

Participating Actor Admin

Entry Condition  Internet connection must be available


 Admin and Online systems should be logged in
Flow of events 1. Open app
2. Login to app
3. Go to account page

2
4. Add or update any services.
5. Logout

Exit Condition The system saves data into database

Table 3.4: add, delete and update services scenario.

Scenario 5

Name of Use case Search

Participating Actor User

Entry Condition  Internet connection must be available.


 User should have the mobile app installed
 User must be logged in
Flow of events 1. Open app
2. Login into the app
3. Home page will be displayed.
4. Type on the search bar which is located on top of the
T
screen.

5. Results will be shown

6. Logout

Alternate Condition The system will notify the user if they haven’t filled the

correct information

Exit Condition Result will appear from the database

Special requirement User must install the mobile app

Table 3.5: search scenario

2
Scenario 6

Name of Use case View weather condition


T
Participating Actor User

Entry Condition  Internet connection must be available User


should have the mobile app installed User must be logged
in.
 Location setting must be turned on.

Flow of events 1. Open


2. Login into app
3. Displayuser page
4. Navigate booking page
5. Navigate to weather condition
6. Click visit place
7. Click on weather condition
8. Weather condition will be displayed
9. Logout

Alternate Condition -

Exit Condition Weather condition will be displayed

Special requirement User must install the mobile app

Table 3.6: View weather condition scenario

2
Scenario 7

Name of use case View nearby attraction place

Participating Actor User

Entry Condition  Internet connection must be available


 User should have the mobile app installed
 User must be logged in
Flow of events 1. Open
2. Login into app
3. Display user page
4. Navigate booking page
5. Navigate to weather condition
6. Click the place to be visited
7. Click on weather condition
8. Logout

Exit Condition Recommended nearby places will be displayed on the home page.

Special requirement User must install the mobile app

Table 3.7: View nearby attraction places scenario

Scenario 8

Name of Use case View Travel history of user

Participating Actor User

Entry Condition  Internet connection must be available


 User should have the mobile app installed

2
User must be logged in

Flow of events 1. Open app


2. Login into app
3. Navigate to account page
4. Display option to history
5. Choose view travel history
6. Logout

Special requirement User must install the mobile app

Table 3.8: View travel history of user scenario

Scenario 9

Name of Use case Place description

Participating Actor User

Entry Condition  Internet connection must be available


 User should have the mobile app installed
 User must be logged in
 Access to camera and location must be turned on
Flow of events 1. Open app
2. Login to app
3. Click on the location icon
4. Click scanner icon
5. view picture description
6. logout

2
Special requirement User must install the mobile app

Table 3.9: Place description scenario

Scenario 10

Name of Use case View Location

Participating User
Actor

Entry Condition  Internet connection must be available


 User should have the mobile app installed
 User must be logged in
 Location setting on the mobile phone must be turned on
Flow of events 1. Open app
2. Login in to app
3. Choose the map icon
4. “Allow access to location/map.” message will be displayed
5. Choose allow
6. Display live location of user

Special requirement User must install the mobile app

Table 3.10: View location scenario

2
Scenario 11

Name of Use case Review and rate

Participating Actor User

Entry Condition  Internet connection must be available


 User should have the mobile app installed
 User must be logged in
Flow of events 1. Open app
2. Login into app
3. Navigate to user page
4. Click on feedbacks and rating
5. Leave feed-backs and rate
6. Logout

Special requirement User must install the mobile app

Table 3.11: Review and rate scenario

Scenario 12

Name of Use case Update profile

Participating User
Actor

Entry Condition  Internet connection must be available


 User should have the mobile app installed
 User must be logged in
Flow of events 1. Open app
2. Login in to app

2
3. User page displayed
4. Navigate to user page
5. Update profile
6. Logout

Special requirement User must install the mobile app

Table 3.12: Update profile scenario

Scenario 13

Name of Use case Manage Reservation

Participating Online system


Actor

Entry Condition  Internet connection must be available


 User should have the mobile app installed
 User must be logged in
Flow of events 1. Open app
2. Login in to app
3. View Hotel, Transportation and Transaction Information of the
user
4. Fetch details from database
5. Accept request if there’s any.
6. Add, update and delete packages according to the request.
7. Logout

Table 3.13: manage reservation scenario.

2
3.4.2. Use case model.

A use-case model is UML (Unified Modeling Language) which is a de facto standard for object-oriented
modeling, so use-cases and Use-case–based elicitation are increasingly used for requirements elicitation.
Model of how different types of users interact with the system to solve a problem. As such, it describes the
goals of the users, the interactions between the users and the system, and the required behavior of the
system in satisfying these goals.

A use-case model consists of several model elements. The most important model elements are use
cases, actors, and the relationships between them.

1. Actor Identification

user
● Register
● Search location
● View place description
● View specific weather condition.
● View nearby attraction place
● View travel history
● View notification
● Review and rate
● Book services
● Make payment.
● Update profile
● Track location
● Delete account.

2
Admin
● Add service
● Update service
● Delete service
● Ban account
● Verify account
● Verify transaction

2
3.4.3 Use case Diagram

Figure 3.1 Use Case Diagram

3
3.4.3 Use case description

Use case name Register

Use case ID 01

Use case description To register users, admin and Online system

Actor All users, admin and Online system

Pre-condition  Internet connection must be available


 Users must install the iTOUR app
Post-condition  Users forwarded to home page
 Admin and Online system forwarded to
complete their profile

Main flow 1. Click get started button


2. Fill the required form
3. Click sign up button
4. Enter verification code
5. Click confirm button
6. Message will be displayed
Exceptional flow  Notifies if the form is not filled as required
 If the confirmation code is not sent, click
“send again” button
 If they already have an account, they can jst click
“have an account?” button and sign in

Include Have an account

Frequency of use Once

Table 3.14: Register use case description

3
Use case name Log in

Use case ID 02

Use case description Admin, users and Online system will be asked to login
with their account information before they can use the
system

Actor Admin, users and Online system

Pre-condition  They all must have a registerd account


 Internet connection must be availaible
 Users must install the application in their mobile
phones

Post-condition They will all be forwarded to their respective


dashboards

Main flow 1. Enter email/phone number and password in their


specified fields 2. Click sign in button
3. They can use the “ forgot password” link to reset
their password if they forget it.

Exceptional flow If they do not enter the correct email/phone number


and password correctly, the system notifies them
that it is incorrect and requires them to fill it
correctly.

Include Forgot password

Frequency of use Every time user wants access to the system


Table 3.15: log in Usecase description

3
Use case name Booking

Use case ID 03

Use case description Book trips, reserve hotel rooms and transportation types or
packages

Actors All Users

Pre-condition  Internet connection must be available


 Users must install the app on their
smart phones

 Users must be signed in


Main flow 1. The system identifies who is logged in into the
system and opens the booking page according to their
identification
2. Users should browse and search through the booking
page to find the suitable trips and packages them.
3. Select the suitable trip, hotel and transportation
servie, packages etc.

4. Select the “book” icon


5. Choose payment options

Exceptional flow  User should choose one payment method and must
have enough money on their account
 User should also choose one type of hotel
and transportation service

Include Make payment

Business rule -

Table 3.16: Booking usecase description

3
Use case name Search

Use case ID 04

Use case To discover places, hotels, resorts, packages..etc


description

Actors All Users

Pre-condition  Internet connection must be available


 Users must install the app on their smart phones
 Users must be signed in
Main flow 1. The system identifies who is logged in into the system and
opens the booking page according to their identification
2. Users type the places, hotels ..etc they want to visit.
3. List will be displayed.
4. They can select what they desire and detailed information
will be displayed.

Exceptional flow If the given name is not found, there will be search results
related to it.

Include  View places they want to visit


 View packages
Business rule -

Table 3.17: Search usecase description

Use case name Manage reservation and booking

Use case ID 05

3
Use case Accept and decline reservation requests
Description

Actors Online system

Precondition  Internet connection must be available


 Must install the app on their smart phones
 Must be signed in
Main flow 1. Online system must be logged in to the system.
2. They should be able to accept or decline reservations offered by
the client

Exceptional -
flow

Include  Accept request


 Decline request
Business rule -

Table 3.18: Manage reservations usecase description

Use case name View weather condition

Use case ID 06

Use case Users can view the specific weather condition of a specific place on
description that specific day

Actors All users

Precondition  Internet connection must be available


 Users must install the app on their smart phones

3
 Users must be signed in
 Location setting must be turned on
Main flow 1. The system identifies who is logged in into the system and
opens the booking page according to their identification.
2. Click the booking button.
3. Choose a destination
4. View weather condition of that destination
5. Book for the trip if it is suitable for the user.

Exceptional -
flow

Include -

Table 3.19: View weather condition Usecase Description


Use case name View location

Use case ID 07

Use case Users can access their location through the app
description

Actors All users

Precondition  Internet connection must be available


 Users must install the app on their smart phones
 Users must be signed in
 Location setting must be turned on
Main flow 1. The system identifies who is logged in into the system and opens the
booking page according to their identification 2. User must click the
location button on the bottom of the

3
screen
3. User can track its location and get direction to a specific
destination

Exceptional flow Access to location must be turned on.

Include -

Table 3.20: view location usecase description

Use case name View description

Use case ID 08

Use case Users can get full description of a specific place byscanning the QR
description code placed on the attraction area

Actors All users

Precondition  Internet connection must be available


 Users must install the app on their smart phones
 Users must be signed in
 Access to camera and location must be allowed
Main flow 1. The system identifies who is logged in into the system and opens
the booking page according to their identification
2. User clicks the camera icon located on top of the home page
3. User can scan the QR codes and get detailed information.

Exceptional Access to camera must be allowed

3
flow

Business rule ---

Table 3.21: view description use case description

Use case name View travel history

Use case ID 09

Use case Users can view their travel and transaction history
description

Actors All users

Precondition  Internet connection must be available


 Users must install the app on their smart phones
 Users must be signed in
Main flow 1. The system identifies who is logged in into the system and opens
the booking page according to their identification
2. User goes to its account page.
3. User clicks on history and a list will show up.
4. User clicks view transaction history

Exceptional -
flow

Table 3.22: view travel history usecase description

3
Use case name Manage services

Use case ID 10

Use case Add, delete and update services


description

Actors Admin

Precondition  Internet condition must be available.


 Admin portal must be launched
Main flow 1. Choose Online system’s accounts to verify or ban
2. Choose services and accounts to add, delete or update.
Exceptional -
flow

include  Add service


 Delete service
 Update service
 View services
Business rule -

Table 3.23: manage services use case description

Use case name Rating and review

Use case ID 11

Use case description Users can review the services provided for them and rate the
app in general

Actor All users

3
Pre-condition  Internet connection must be available
 Users must install the app on their smart phones
 Users must be signed in
 User must actually go to a trip
Main flow 1. The system identifies who is logged in into the system
and opens the booking page according to their identification
2. Choose travel history on the account page
3. Choose feedback option

4. Write user’s feedback on the given form

Exceptional flow You can also give ratings

Include Rate

Business rule -
Table 3.24: feedback and rate usecase description

3.5. Object Model

3.5.1 Data Dictionary

The object model is a description of an object-oriented architecture, including the details of the
object structure, interfaces between objects, and other object-oriented features and functions.

4
Class Attributes Operations Description

User -Register() -Allow the user to be


-Username: String
registered into the
-Full name: String system
-Email: String
-Password: String
Search - Place name: String -Search place() -Allows the user to
search their desire
tour places

Notification -id: string - -read()


notification content:
string -receiver id: -Sends a
int notification to user
and Online system
about reservation
and acceptance

Admin -AdminId: String -Manage overall


-Verify Account
-Full name: String system
()
-Phone Number: int
-Delete service ()
-Email: String
-delete account ()

-Block Account ()

-verify transaction
()

-update service ()

-add service ()

4
Booking -booking id: int - add booking () -this allow user
to choose their
-booking type: -edit booking () desire booking
preference
string -delate booking ()

-booking title: string -search booking ()


- virw booking ()
-booking date: date

Transportation -transportation id: int -this allow users to


-add
have easy
-transportation name: transportation () transportation
int options they want
-delate
_transportation transportation ()
description: int
-edit
-transportation transportation ()
amount: int
-search
transportation ()

Hotel -hotel id: int - -add hotel ()

hotel name: int -delate hotel () -this allow users


to choose the
_hotel description: -edit hotel () place the want
int to stay in in
-search hotel () their vitiation
- hotel amount: int time

Search -place name: () -search place


name () -allow the user
to search the
place they want
to visit

4
Tour place -place id: int -view description -allow users to
() search the place
-place name: int
they want to visit
-place type: int -scan place () and view
description of the
-place address: int -search place ()
place they are
visiting by
-place description int
scanning the QR
code placed on
the attraction
site.
Payment -pay telebirr () -Allow users to
-id: int pay for the service
-pay CBE () they get easily
-payer id: int
-transaction report ()
-transaction amount:
-select payment ()
float

-transaction for: string

-is paid: Boolean

-booking code: string

Review -id: int -review () -allow users to rate


-reviewer id: int -read () and give feedback
-feedback: string about the
-rating: int system

Table 3.25: Data dictionary

4
3.5.2 Class Diagram

Figure 3.2 Class Diagram

4
3.5.3 Dynamic Model

The dynamic model describes those aspects of the system that are concerned with the time and
sequencing of events. This model specifies how the state of events occurs when certain operations
are performed. Once the main scenarios are modeled, various events on objects that are needed to
support executions corresponding to the various scenarios are known. For objects, events are a
request for an operation.

3.6.1 Sequence Diagram

A sequence diagram shows object interactions arranged in time sequence. It depicts the objects and
classes involved in the scenario and the sequence of messages exchanged between the objects
needed to carry out the functionality of the scenario.

4
Figure 3.3: User registration sequence diagram

4
Figure 3.4: Login Sequence diagram

4
Figure 3.5: update profile sequence diagram

4
Figure 3.6: Update service sequence diagram

4
Figure 3.7: Delete service sequence diagram

5
Figure 3.8: add service sequence diagram

5
Figure 3.9: manage Reservation sequence diagram

5
Figure 3.10 Booking sequence diagram

5
Figure 3.11: place description sequence diagram

5
3.6.2 Activity Diagram

Figure 3.12: Sign in activity diagram

5
Figure 3.13: Sign up activity diagram

5
Figure 3.14: Add service activity diagram

5
Figure 3.15: Delete service activity diagram

5
Figure 3.16: Manage Reservation activity diagram

5
Figure 3.17: Place description activity diagram

6
Figure 3.18: update service activity diagram

6
Figure 3.19: Booking activity diagram

6
3.6.3 State chart Diagram

The state diagram specifies how the class will handle events depending on their current state.

1. Login in state diagram

Fig 3.20: state chart diagram 1

2. Select the tour place in state diagram

Fig 3.21: state chart diagram 2

6
3. Scanning in state diagram

Fig 3.22: state chart diagram 3

4. Tour transportation in state diagram

Fig 3.23: state chart diagram 4

6
5. Hotel/Guesthouse reservation in state diagram

Fig 3.24: state chart diagram 5

6. Payment in state diagram

Fig 3.25: state chart diagram 6

6
Chapter Four: System Design

4.1 Overview of the System

Systems design is the process of defining elements of a system like modules, architecture, components and
their interfaces and data for a system based on the specified requirements. It is the process of defining,
developing and designing systems which satisfies the specific needs and requirements of a business or
organization.
System Analysis is the process that decomposes a system into its component pieces for the purpose of
defining how well those components interact to accomplish the set requirements.
The purpose of the System Design process is to provide sufficient detailed data and information about the
system and its system elements to enable the implementation consistent with architectural entities as defined
in models and views of the system architecture.
This chapter focuses on changing the analytical model into the design model, which takes into consideration
the non-functional needs and constraints outlined in the previous sections on problem definition and
requirement analysis.

4.2 Purpose of the System Design

The purpose of the System Design is to supplement the system architecture by providing information and
data useful and necessary for implementation of the system elements. It goes in detail of the process of
developing, expressing, documenting, and communicating the realization of the architecture of the
system through a complete set of design characteristics described in a form suitable for implementation.

4.3 Design Goals

Some required goals are deduced after analyzing and comprehending the functional and non-functional
requirements of this document, these objectives will aid in determining if the system delivers what the system
design promised at the conclusion of development.

6
In order to create an excellent product, designers must overcome several obstacles. It must be
right according to the requirement; it should be flexible, robust, reusable and efficient to use
Robust - A design or system is robust if it tolerates misuse without catastrophic fault-tolerance. Includes bad
data, wrong use, bad environment, and bad programming.
Flexibility - Requirements may change during or after the project.
Reusability - Reuse object code.
• Reuse source code. Reuse patterns of designs.
Efficiency - is often achieved by writing clever algorithms and data structures. Needs a good education in
this area.

6
4.4 Proposed System Architecture

Response

Request

Figure 4.1: System architecture

4.5 Subsystem decomposition


Subsystem decomposition is the process of decomposing the system into smaller subsystems in order to
easily understand the design and maintain the system. And also it helps to reduce the complexity of the

6
solution domain, we decompose a system into simpler parts, called subsystems. In Our system, there are
five sub system decomposition.

1. Tour and package Management Subsystem.


2. Transaction and booking Subsystem.
3. Data Management Subsystem.
4. Account and user Management Subsystem.

5. Online system Management Subsystem

Figure 4.2: System Decomposition

6
4.6 Subsystem decomposition description

Subsystem Purpose Class


Tour and package Management This subsystem is responsible for Tour
Subsystem. the management of the Tour and Packages
package information in the system

User and Account Management This subsystem is responsible User


Subsystem. with account management of System Admin
the entire system and Online system
responsible with general user
login and modification of user
information which includes
registration, updates and
deletions.

Payment and booking Subsystem. This subsystem is responsible Transaction


with booking with Transaction of Booking
users it consists a class called
transaction.

Online system Management This subsystem is responsible Admin


Subsystem. with entire management of
Online system and responsible
with check available services,
update service and delete
reserved
service.

7
Data Management Subsystem. This is a subsystem responsible Data Storage
with data management tasks Data Access
like storage, Message
update and retrieval
requests triggered by
the subsystems.
Data Storage: This class is
responsible to handle persistent
data storage activities. Data
Access: The actual data
manipulation activity will be
carried out though this class.
This class will serve all data
entry and retrieval activities in
the system. Message: Errors,
warning and confirmation
messaging activities related to
data entry and retrieval will be
carried on this class.

Table 4.1: subsystem decomposition description

7
4.7. Persistent Data Management

Figure 4.3: Mapping Hotel object

Figure 4.4: Mapping Transportation object

7
Figure 4.5: Mapping Notification object

Figure 4.6: Mapping User object

7
Figure 4.7: Mapping Admin object

Figure 4.8: Mapping Review object

7
Figure 4.9: Mapping Payment object

Figure 4.10: Mapping Tour Place object

7
Figure 4.11: Mapping Booking object

Figure 4.12: Mapping Search object

4.8. Components Diagram


A component diagram describes the organization and wiring of the physical components in a system.
Component diagrams are often drawn to help model implementation details and double-check that every
aspect of the system's required function is covered by planned development. It shows the system in terms
of modules.
The purpose of the component diagram can be summarized as:
• Visualize the components of a system.
• Construct executable by using forward and reverse engineering.

7
• Describe the organization and relationships of the components.

Figure 4.13: Component diagram

7
4.9. Database Design

Figure 4.14: Database diagram

7
4.10. Access Control

In the proposed system the actors have different privileges. The privileges of each actor are listed below.

1. User: have the following privileges


 Register and Login
 Search
 View packages and tour details
 Rate and review
 Hotel and transportation booking
 Onlinr Reservation
 Payment
 Edit profile
 Delete account
 Attend trips
 Logout

2. Online system: have the following privileges


 Register
 Login
 View packages and tour details
 Create package
 Delete package
 Modify package
 Edit profile
 Post photos
 Notify

3. Admin: have the following privileges


 Verify Online system

7
 Manage accounts
 Manage transaction
 Notify, View list of reported trips and reservations

4.11. User Interface

Figure 4 . 1 5 : Splash screen and onboarding

8
Figure 4 . 1 6 : Register and Login Page

Figure 4.17 : Home page and search

8
Figure 4 . 1 8 : Booking, hotel and payment

Figure4.19 : payment and hotel

8
Figure4.20 : Location Page

8
Figure 4 . 2 1 : Transportation booking and payment

Figure 4 . 2 2 : Favorite Page

8
Figure 4 . 2 3 : Notification

Figure 4 . 2 4 : Personal profile Page

8
Figure 4.25 : change password

Figure 4 . 2 6 : History and rating

8
Figure 4 . 2 7 : Edit and delete page

8
Chapter Five Implementation

5.1 Overview

This section aims to define the information system development process, whether the system is
operational and being utilized, and whether the system satisfies quality standards. Integrating system
functionality is the process of implementation. The functional and non-functional needs of the system are
implemented by our project.

5.2 Coding Standard

To do our system we have used coding standards Which coding standards is the collection of rules and
guidelines that determine the programming style, procedures, and methods for a programming language or
the development of software and hardware based on functional and non- functional requirements of the
project.

Purpose of Having Coding Standards:

• Gives a uniform appearance to the codes written by different engineers.

• It improves readability, and maintainability of the code and it reduces complexity also.

• It helps in code reuse and helps to detect error easily.

• It promotes sound programming practices and increases efficiency of the programmers.


• Using appropriate naming conventions for coding
• Write few lines as much as possible
• Not using an identifier for multiple purpose
• Don’t use lengthy function a single function carryout a single task
• Error handling should be notified clearer and easier for the user

5.3 Prototype

Client-side: The mobile application is installed at the client-side. It is responsible for accessing our
system on the user's device.

8
Server-side: This is a program that runs on a server dealing with the generation of content on a
mobile application.
1. Access/Write a file on the server.
2. Process user input.
3. Database querying and operation.
4. Structuring the application
5. User authentication

5.3 Implementation detail

Implementation is divided into two parts or ends


1. Client-side (frontend)
2. Server-side (backend)

5.2.1 Client-Side

This is the part of the application which runs on the user’s machine. Since users have
different kinds of machines with different kinds of capacity, client performance should be
optimized as much as possible. The client-side implementation of this project consists of a
mobile app.

Mobile app
Flutter, a Google cross-platform mobile app development framework, is used to create the mobile app.
This makes it possible for us to create apps both Android and iOS from a single code base, improving
maintainability. The app also interacts with our backend server and a number of other services to
display a variety of information, including Tour Detail, location, Account information, and much
more.

-Feature list of the Travelers’ mobile app is listed below


● Sign up
● Sign in
● Search for touring destinations
8
● View packages posted by Online system
● Book for a trip
● Rate and review
● Reserve for hotel and transportation
● Post photos of the trip
● Update Profile

React is a free and open-source front-end JavaScript library for building user interfaces based
on components. It helps us build the admin web page.

-Feature list of the Online system web page is listed below


● Login
● Create
● View Package
● Delete Package
● Modify or update Package
● Edit profile

5.4.2. Server Side

This is the part of the application where the client apps and devices request services from the
server and the server returns the requested query or function to the aforementioned apps and
devices. The server-side implementation was carried out using the following technologies

 NodeJS: is an interface that two computer systems use to exchange information securely over the
internet.
 Google weather API: These APIs enable developers to build applications for their users that
can access the latest weather information from a variety of sources. With the help of this API, we
can

9
access current conditions, hourly and daily forecasts as well as long-term outlooks with just a few
lines of code..
 MongoDB: NoSQL database program, which uses JSON-like documents with optional schemas.
 Payment Systems: Santim-pay is a platforms for digital payment. By using this services, the
user can recharge his/ her wallet by executing a payment transaction. In turn, the server fetches
new transactions every minute automatically from its payment gateways.
 Google Map Platform: The Google Maps Platform is a set of APIs and SDKs that allows
developers to embed Google Maps into mobile apps and web pages, or to retrieve data from
Google Maps.
 RestFul API: an architectural style for an application program interface (API) that uses HTTP
requests to access and use data. It is an interface that two computer systems use to exchange
information securely over the internet.
 Azure Cloud: is used for hosting API.
 Postman: is an API development tool which helps to build, test and modify APIs. Almost any
functionality that could be needed by any developer is encapsulated in this tool.
 Swagger: helps users build, document, test and consume RESTful web services. It can be used to
design an API before any code is written

5.5. Deployment

iTOUR has 2 ways of deployment, using google cloud service for the mobile app and webpage and azure cloud
service for the server side. The system expects millions of users be connected to the network.

Component name Implementation detail


Authentication controller Includes the following details:

 The AuthController class


 The FlutterSecureStorage class
 The GoogleSignIn class is used
for signing in with Google.

9
Page controller This is a class which will direct the user to
each intended page according to the user
actions.
API gateway A gateway to the mobile app so that the
server can provide service.
Payment service Is the service that controllers and
validates every payment transaction on
the system

9
Chapter Six: Testing Plan

6.1 Overview

This section will outline the test protocols, resources, and test cases that will be used to guarantee an error-free
platform by putting the specified processes into practice.
● By testing out all possible scenarios
● By listing all the recommended test requirements
● By carrying out user testing.

6.2 Scope

The overall testing plan will include testing all the modules individually and the integration of the modules.
The unit tasks of this testing documentation is:
● Test the usability of all platforms (Mobile App + Admin Web Page)
● Test the functionality of all features employed in all platforms
● Test the systems tolerance for faulty data

6.3 Resource

For the testing process, our primary sources are the human resource, such as Test team and Developer
and Software resources such as Test tools, Test dataand Testing environment

6.4 Schedule

The suggested system will be tested according to the following schedule.


1. Test plan:
June 11, 2023 to June 12 , 2023

9
2. Test Design:
June 13, 2023 to June 16, 2023

3. Test Development:
June 16, 2023 – June 19, 2023

4. Test Execution:
June 21, 2023

5. Test Evaluation:
June 22, 2023 – June 23, 2023

6.5 Test case Scenarios and Requirements

The listing below identifies those items (use cases, functional requirements, non-functional requirements) that
have been identified as targets for testing. This list represents what will be tested.
To test this application we used the following steps:
1. Unit Testing
 Test utility functions
 Write and execute unit tests for specific functions.

2. Widget Testing
 Test UI components and their interactions
 Validate Behaviors under scenarios.
 Perform widget tests after implementing UI changes.

3. Integration Testing
 Test integration between different components
 Validates the data flow, navigation and overall functionality

9
 Execute test

4. Manual Testing
 To evaluate user experience, we use manual testing
 Test on both portrait and landscape modes
 Test on different screen sizes
 Test edge cases and flows and error scenarios
 Regression test after bug is fixed

6.5.1. Test Cases and Scenarios:


1. Authentication:
 Verify successful login with valid credentials.
 Test unsuccessful login attempts with incorrect or missing credentials.
 Validate password reset functionality.
2. UI Testing:
 Test UI layout and responsiveness on different screen sizes.
 Validate UI elements' visibility, alignment, and styling.
 Check for proper localization and support for different languages.
 Test various user interactions, such as tapping buttons, scrolling, and entering text.

3. Data Handling:
 Test data retrieval and storage from local or remote sources.
 Verify proper handling of empty or invalid data.
 Test data synchronization and conflict resolution in case of offline mode.

4. Network Connectivity:
 Test app behavior when there is no internet connection.
 Validate error handling and messaging related to network failures.
5. Error Handling:
 Verify that appropriate error messages are displayed to the user.
 Validate error logging and reporting mechanisms.

6. Performance Testing:

 Measure and validate app performance in terms of responsiveness and speed.


 Test app behavior under various load conditions and stress scenarios.
 Identify and optimize any performance bottlenecks.
7. Security Testing:
 Verify that sensitive user data is properly encrypted and protected.
 Test for potential security vulnerabilities, such as injection attacks or unauthorized access.

9
8. Compatibility Testing:
 Test app compatibility across different versions of Flutter and its dependencies.
 Verify app behavior on different operating systems (iOS, Android) and versions.

Test compatibility with various device models and configurations.

9
CHAPTER SEVEN: USER MANUAL

7.1 User manual and Demo


Our system is designed to be simple and familiar, ensuring a user-friendly experience for seamless
travel planning.

Figure 7.1: This is the landing page of our project

Figure 7.2 Search and hotels

9
Figure 7.3 Payment and confirmation

Figure 7.4 Location and maps

9
Figure 7.5 Favorite page of our system

Figure 7.6 Personal and booking

9
7.2 Git structure and version control

The systems version is controlled using git and Github. Git is a distributed version control system that tracks
changes in any set of computer files, usually used for coordinating work among programmers collaboratively
developing source code during software development. It helps you keep track of code changes and is used to
collaborate on code.
In Git, a repository refers to your entire project. Within a single Git repository, you can have multiple
branches. All Git repositories in which at least one commit has been made have at least one branch, which is
named the master branch by default.

Figure : itour API

1
Figure : itour API

Figure : itour API

1
Figure : itour user interface

 We leveraged Postman, a powerful API testing tool, to ensure the reliability and functionality of our project's API.
With its user-friendly interface and extensive features, Postman streamlined our testing process. We created a
comprehensive collection of requests, customized headers and parameters, and validated responses with ease.
 Postman's authentication support and collaboration features further enhanced our testing efforts. Overall,
Postman played a crucial role in delivering a robust and reliable API for our project.

Figure : Postman

1
CHAPTER EIGHT: CONCLUSION AND RECOMMENDATION

8.1 Conclusion
Our project aims to develop a mobile tourist guide system using different technologies, catering to the growing
number of individuals engaging in recreational and entertainment tours. By providing features such as hotel
reservations, real-time weather and location updates, heritage information by scanning QR code placed on the
area of visit, and personalized recommendations, we strive to address the challenges faced by tourists today.
Through this system and application, we hope to empower travelers with timely and comprehensive
information, enhancing their overall travel experiences.

8.2 Recommendation
During the development of our system, our team and advisors encountered various challenges and successfully
addressed them. Based on our experience, we have a few recommendations for those undertaking similar
projects. We recommend incorporating additional features that were not included due to time constraints, such
as allowing users to share their experiences by posting images within the system. This feature will enable
users to visually capture and share memorable moments, enhancing engagement and fostering a sense of
community among participants. By integrating this feature, the tour management system can offer a more
immersive and interactive experience for users

1
1
Reference

UML diagram - everything You Need to Know About UML diagrams. (n.d.).
Smartdraw., https://www.smartdraw.com/uml-diagram/

Introducing Types of UML Diagrams | Lucidchart Blog. (2020, May 13). Lucidchart.
https://www.lucidchart.com/blog/types-of-UML-diagrams https://www.tutorialspoint.com/index.html

1
1

You might also like