Software Requirements Specification - SummerProgram2018/Travolla GitHub Wiki

Software Requirements Specification (SRS)

1. Prototype and Risk Status

Risk Severity Response
Version Control Discrepancies Medium Use Github and associated clients to enforce version control
Competitors Medium Implement unique features at a faster rate than other companies
New Team Low Spend time getting to know each member's strengths, and use this diversity to the team's advantage
Language Barrier Low Such a diverse team naturally experiences language barriers. To overcome this, communicating slowly and clearly, and in a variety of ways, such as with diagrams.
New Environment Medium Research the facilities that the environment has to offer, and try to fix any issues (such as inconsistent wifi)
New Technology Medium Research any unfamiliar technologies to gain some proficiencyRely on other team members with experience to share knowledge
Time Constraint High Ensure the team is highly organised and that deadlines are metCreate realistic goals and expectations of functionality
Linking of Different Components Low Ensure that the team communicates clearly when developing individual components so that assembling the final product is a more seamless procedure

Time will be the biggest limitation of this project. With only one development week, the initial prototype will have to be of limited complexity and functionality. The new environment also could hinder the development of the product. To overcome these challenges, a high degree of intra-team communication is key, as is superior organisation.

2. Introduction

2.1. Goal

Travolla makes global travel more accessible, for more people. Catering to single travellers, students, the elderly, and those with a disability, Travolla will devise a travel schedule that is uniquely suited to users' personal preferences and characteristics. Optimisation algorithms ensure a jam-packed schedule for the energetic and curious, or a laid-back getaway for those looking to escape the pressures of daily life, helping users to experience other cultures in a way that suits them. Travolla uses up-to-date statistics to allow users to explore potential activities, and to eliminate time wastage. Once a user's holiday is planned, Travolla connects them to a local, giving them the option to experience a place in a natural, authentic way.

2.2. Scope

There are three main functions that constitute the scope of Travolla's services: an Optimised Journey Planner (OJP), an Activity Heat Map (AH), and Local Tour Guide matching (LTG).

The OJP suggests a variety of activities within a location based on a user's preferences. It incorporates factors such as personal interests , popularity of certain attractions , the best times to visit certain attractions, distances of those attractions from the user, how active the user wants to be, and the accessibility requirements of the user. Accessibility requirements such as wheelchair access, how crowded attractions are, and emergency facilities are taken into consideration. The activities selected by the user are automatically optimised according to the aforementioned factors to produce a unique, personalised travel plan.

The AH takes live statistics on how popular individual attractions are, and displays this data in a visual way on an interactive heat map. This function will be used when users are initially selecting attractions to add to the OJP, but will also be accessible at any time for instantaneous suggestions.

The LTG service matches travellers with local people at each destination. A matching system that incorporates aspects such as location , timing , languages spoken, and personal preferences including activity level and accessibility , allows travellers to select a guide to suit their needs. A comprehensive review system will allow both travellers and guides to provide feedback on their experience, ultimately streamlining the services that Travolla provides. Finally, an emergency button will allow both travellers and guides to access emergency services, helping to protect the safety of all parties using Travolla.

For the initial phase of development, the scope of the product is defined as a single website , optimised to work on both desktop/laptop computers and mobile devices. The website will include the OJP, AH, and LTG functionality mentioned above. It will also include basic information on the Travolla service , as well as company information. The website is also responsible for processing payment information , including securely storing credit card details. Finally, a user account system will be implemented to ensure that each user can have a personalised experience.

The second phase of development will see the production of a mobile application for iOS and Android , which will allow users to access the OJP, AH and LTG services on mobile platforms. The application will also support user accounts and the secure storage of payment information.

Additionally, the initial phase of development will see only major cities supported by Travolla, but further development will extend this functionality to more global locations.

Functions that are not within the scope of this product, but which were considered include Augmented Reality navigation , Augmented Reality information on attractions, hotel/accomodation booking and optimisation, and the development of an Artificial Intelligence to predict crowd sizes.

2.3. Glossary

Term Definition
OJP Optimised Journey Planner that organises events in an efficient way to produce a timetable
AH Activity Heat map that displays realtime data on the popularity of attractions
LTG Local Tour Guide matching system that pairs travellers with locals
Travolla The name of this software product
Traveller Someone using Travolla to holiday
Guide Someone using Travolla to guide tourists around their city

2.4. Overview

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.

3. Use Cases

3.1. Actor and Stakeholder Table

Name of Actor Stakeholder Classification Description
Traveller Public Actor An end-user who will be travelling to another destination using Travolla. This person will fall into one of four categories: a student, a middle-aged citizen, a retired citizen, or a person with a disability.
Local Guide Public Actor An end-use who will be using Travolla as a source of income. This actor is responsible for taking travellers around their city.

3.2. Main Use-Case Diagram

Description: The process for a traveller to plan a holiday was designed in this was as it is easy and logical to follow, and achieves the desired outcome in minimal steps. Firstly the user is prompted to either login or sign up. This is a simple way to manage different users. Upon logging in, the user is presented with a screen to view existing holidays or create a new holiday. This is an intuitive way to use the main feature of the Travolla service. When creating a new holiday, the user is provided with a selection of activities based on their preferences, with the option of viewing the heat map for popular activities. It was logical to have these two features accessible concurrently, as they both provide similar functionality but in different formats, and both are required for the OJP to complete its task. Once the timetable is generated by the OJP, the user is given the option to hire a local guide, and to view the cost of the trip. These are logical steps to group together, as the decision to hire a local guide directly affects the cost. Finally, the trip can be confirmed and payment verified.

3.3. Use Case 1

Description: This diagram describes the process of a traveller accessing Travolla to view the heat map to get realtime activity information. As before, the user is given the option to login or sign up to the service from the landing page. The user can then directly view the heat map from the menubar.

3.4. Use Case 2

Description: This diagram details the process for a local tour guide to find and accept available jobs. As before, the user is given the option to login or signup from the landing page. They are then able to view a list of potential jobs, and given the option to accept or decline them. It was logical to make this the first page accessed when signing in, as it promotes more frequent reviewing of matches. This makes the whole matching system more efficient. Additionally, the local guide has the option to view the heat map from the menubar at any time. This allows them to view popular activities ahead of planned tours.

4. User Stories

4.1. Student:

As a 20 year old student, I want to optimise my holiday schedule so that I don't waste money and can fit in all of the attractions I want to visit. I also want to be able to connect with the locals in my destination so that I can gain a deeper understanding and insight of their culture.

4.2. Middle-Aged:

As a 45 year old accountant, I want to plan my holiday efficiently so that I maximise my time while I'm away, and don't spend much time travelling within my destination.

4.3. Elderly:

As a 65 year old retired social worker, I want to ensure that I see all of the attractions I desire while moving through the activities at a comfortable pace. I also want someone to guide me around the city, so that I can visit all of the best restaurants, and so that I have some company in case anything bad happens while I'm away.

4.4. Disabled:

As a 30 year old paraplegic, I am passionate about ensuring that my disability doesn't get in the way of me travelling the world. I want to ensure that all of the activities I attend are wheelchair-friendly, so that I can make the most of my time there. I also want to be able to see how busy certain attractions are in real-time, so that I can avoid crowded places.

4.5. Guide:

As a 25 year old resident, I want to show visitors around my city so that I can make some extra money on top of my existing job. I also want to be able to share my culture with the world in the hope that more people will be able to experience what my city has to offer.

5. Other/Non-Functional Requirements

5.1. Environmental Requirements

A variety of software tools and development environments were employed to create Travolla.

Tool Description Used For
GitHub Web-based Git version control hosting service Maintaining complete and up-to-date source code
GitHub Desktop/GitKracken Client for accessing GitHub services Synchronising local files with the GitHub repository
Brackets Text editor designed for web development Writing source code
Google Chrome Web browser Viewing html documents
Bootstrap Open source toolkit for developing adaptive HTML, CSS, and JavaScript Ensuring the website has the necessary components and can be adapted to many devices
Adobe Illustrator Vector graphic design software Designing website graphics such as logos and buttons

The software required for the end-user to access Travolla is:

Tool Description Used For
Desktop Web Browser Access the internet on desktop/laptop computers Gaining access and displaying the Travolla website
Mobile Web Browser Access the internet on mobile devices (smartphones, tablets) Gaining access and displaying the Travolla website

5.2. Hardware Requirements

A variety of hardware is required for the development of Travolla:

Tool Description Used For
Laptop Computer A portable personal computer The development of the Travolla website, maintaining the source code, testing the software
Server Device that provides functionality for clients Hosting the database, storing back-end data
Wireless Router A wireless access point to provide access to the internet Accessing the internet for research, version control, testing
Smartphone A handheld personal computer with a mobile operating system Testing on mobile devices

The hardware required to use the application includes one or more of:

Tool Description Used For
Smartphone A handheld personal computer with a mobile operating system Accessing the Travolla website 'on the go'
Laptop/Desktop Computer + internet connection A personal computer that can be used to access the internet Accessing the Travolla website

5.3. Additional Requirements

For the development of Travolla, knowledge of the following tools and languages are necessary:

  • HTML
  • JavaScript
  • PHP
  • SQL
  • Database Definition/Creation

The end-user requires basic computer literacy, such as accessing websites and using mobile applications.

Further requirements of the Travolla platform are as follows:

  • The ability for multiple users to be using the platform simultaneously
  • All user information must be secure, with passwords hashed
  • The ability for users to access the platform from any location with an internet connection
  • Ensuring that all users are as safe as possible, and that no users are subjected to mistreatment as a result of using the platform

6. User Interface Prototype

Landing Page

Landing Page With Login Fields:

Landing Page - About Travolla:

Sign-up Personal Details:

Sign-up Personal Preferences:

My Destinations Page:

My Destinations Page With Past Trips:

New Holiday Page:

Activity Selection - Heat Map:

Activity Selection - Recommendations:

OJP-Generated Timetable and Cost Information:

Guide Matching Page - Traveller's Perspective:

Guide Matching Page - Guide's Perspective:

Guide Rating Pop-Up:

Invoice Summary:

Direct Heat Map Page: