Software Design Specification - SummerProgram2018/Travolla GitHub Wiki

Software Design Specification (SDS)

Introduction and Document Goals

Travolla is a service that makes holidaying more accessible. Using a website (and later, an app) form factor, Travolla allows users to create an account to either become a traveller or a local guide. An optimised journey planner generates an efficient itinerary for a traveller based on their preferences. A heat map allows travellers and guides to visualise which attractions are busy in realtime. Finally, the traveller-guide matching service pairs travellers with locals from the city in which they are travelling. The pairing process is based on the personal preferences and characteristics of each party. With a special focus on the elderly and people with disabilities, Travolla is an ideal solution for ensuring that everyone can travel efficiently.

This document outlines the design-specific factors of the Travolla software. It details specific design choices and provides justification for these decisions.

UML Modelling

Deployment Diagram

Description: It is intended that the user will be able to access the Travolla platform from both mobile devices, as well as personal computers. Both of these devices will run the Travolla software, which connects to a backend server via the internet. The server hosts all of the data for users and activities on a virtual machine.

Class/Site Diagram

Description: This diagram shows the structure of the website, and the instance variables and pseudo-methods associated with each page.

Behaviour: Sequence Diagram

Description: This diagram shows the sequence of events, and the lifetime of those events, for a traveller to plan a holiday and book a guide.

Persistence

There are various elements of the Travolla service that exhibit persistence:

Persistent Object Description
User Profile Information on all users is stored permanently. This includes username, password, basic details such as age, payment information, and personal preferences.
User Destinations (Trips) The previous and current destinations of each user are recorded for reference at a later time. This includes information on where the destination is, the OJP-generated timetable for that destination, and the cost of the trip.
Destination/Activity Information Information about each specific activity and location is recorded in the Travolla database. This is used for optimisation of journeys and for suggesting activities to match users' preferences.
Reviews of all Users Ratings and reviews of both travellers and local guides are stored to assist with the LTG pairing system. This information also helps improve the safety of all users.

Non-Functional Requirements

The Travolla system shall be easy to use for people of all ages. This implies a simple, logical user interface with clear fonts and graphics. It shall also be accessible in that the service should be usable on a wide variety of devices. This results in a large potential user base. The system shall also be safe to use. All users, both travellers and local guides, should feel secure when using the services provided by the application, regardless of age and ability. Importantly, user information should be kept secure, with security measures in place to prevent attacks on the database, website, and app. The Travolla system shall also act to make holidaying more efficient. It shall work to reduce time wastage and increase the number of meaningful interactions and experiences travellers have when visiting new locations. Finally, it shall also reduce the stresses that are inherent in travelling.

Wireframes

For wireframes of the Travolla website, see the Software Requirements Specification.