Ticketing System
Ticketing System
Module Co-ordinator:
Prof. Paul McKevitt
Contents table
Chapter 1 Introduction
1 Introduction
The following report will outline the development of an automated Ticket Reservation
System for the Millennium Forum which will incorporate features in order to aid the
process for visually impaired users. This application has been designed for
customers to reserve theatre tickets for various shows.
1.1 Aims and Objectives
The main aim and objective of this system is to design and implement a speech
driven reservation system for show listings.
This application should allow customers to:
1) View show listings;
2) Select show;
3) View show description;
4) Check availability;
5) Reserve Tickets.
The information for the show description will be stored in a database that can be
accessed using spoken dialogue.
1.2 Overview of Chapters
This subchapter will outline the seven chapters within this report which are the
literature review, Requirements Analysis, Design, Implementation, Testing and
Conclusion.
1.2.1 Chapter 2 - Literature Review/Background
This chapter will discuss the background research which was carried out within the
relevant areas of the design. Traditional Multimedia and Intelligent Multimedia will
also be outlined along with information on Visually Impaired Users. A sub section
regarding Speech technologies will also be discussed with reference to the CSLU
toolkit which is the software being used to implement the Ticket Reservation System
for the Millennium Forum. Similar systems will also be discussed.
Apple's Quicktime
The above provides access only to multimedia devices directly connected to the
same PC an application is running on. The network is supported as a source of data
but the middleware cannot extend its control to other devices on the network. For
example, it is impossible to transparently watch TV via the TV card in your
colleague's PC, or control remote cameras attached to other PCs or directly to the
network. (Lohse, Slusallek &Wambach 2001)
2.3 Intelligent Multimedia
Mc Kevitt (1997, p.1) notes Intelligent Multimedia is a growing area which involves
the computer processing of language and vision information and representing it in
terms of its semantics. Semantics is identifying the study of meaning in
communication. Intelligent Multimedia is a computers ability to process and
understand an input in text, speech, images etc and responding to it.
people have some type of visual problem at some point in their lives. Some can no
longer see objects far away. Others have problems reading small print. Therefore it
is important to recognise the needs of visually impaired users.
2.5 CSLU Toolkit
The CSLU Toolkit was created to provide the basic framework and tools for people
to build, investigate and use interactive language systems. These systems
incorporate leading-edge speech recognition, natural language understanding,
speech synthesis and facial animation technologies. The toolkit provides a
comprehensive, powerful and flexible environment for building interactive language
systems that use these technologies, and for conducting research to improve them.
CSLU Toolkit (2008).
The CSLU Toolkit development started in 1992 and it has progressed to meet
different needs. Hoson (2008) has outlined the main goals of the CSLU Toolkit as:
easy to use;
Audio Tools;
6
Display Tools:
Speech Recognition;
Speech Generation;
Animated Faces.
The second section is the System Integration, at this point the components of the
system are brought together and system functionality is ensured. The third section is
the Technology Transfer, here the system ensures that the technology which has
been developed can be accessed by a range of users. In figure 2.4.1 the users
include High Schools, Universities, Researchers and the Industries.
2.5.2 CSLU Toolkit Core Technologies
Text to Speech Synthetic voice: used to translate the text which is required to
be spoken by the toolkit.
Speech Recognition: used by the toolkit in order to understand the end user.
Speech technologies are used to make the system more acceptable and usable by
its users. The first choice of speech technology which could be used is Clear Voice.
Clear voice is the technology of noise cancellation for speech signals. This is used in
call centres and helps block out background noise which could interfere with the
system or responses given by the caller. As they will be new shows being added and
deleted each week the use of clear voice would be effective in creating a new list of
shows.
7
Once a user makes a purchase using the system they can set up an account which
means that they details will be saved. One way of doing this securely is by using
Biometric Voice Verification (Voice Key) which is a voice-based access control
algorithm performing user authentication by voice password. In just 0.5 sec Voice
Key will identify a user and define his/her access rights to information and services.
The Behaviour Expression Animation Toolkit (BEAT) allows animators to input typed
text that they wish to be spoken by an animated human figure, and to obtain as
output appropriate and synchronized nonverbal behaviours and synthesized speech
in a form that can be sent to a number of different animation systems. The toolkit is
extensible, so that new rules can be quickly added.
An online booking system is a system on the internet where users can book products
or services. Usually customers are required to fill out web-forms with details such as
their name, address and telephone number and are also required to provide
payment details such as credit/debit card details.
Reservation system
Reservation systems are electronic systems that allow users to check the availability
of a product or service and then if available allows the end user to reserve the
product or service without payment.
2.11 Conclusion
10
This chapter provided a background on the relevant areas for this project, detailing
information on the different areas of Multimedia, the CSLU Toolkit, Speech
Technologies, Theatre, Reservation Systems, Visual Impairment and the HCI
Guidelines. Also included is a sub-chapter detailing the papers which were discussed
in class which are relevant to this project.
11
The functional and non-functional requirements of the system will now be discussed.
3.4 Functional Requirements and Non Functional Requirements
Functional Requirements
Sommerville (2004) has identified functional requirements as Statements of services
the system should provide how the system should react to particular inputs and how
the system should behave in particular situations. In some cases, the functional
requirements may also explicitly state what the system should do.
The main functional requirements for the Millennium Forum are as follows:
The system must provide the user with information of all current shows
The system must allow users to book a quantity of tickets for a show on a
specific time and date.
Non-functional Requirements
Sommerville (2004) has identified the non-functional requirements as constraints on
the services or functions offered by the system. They include timing constraints,
12
The main non-functional requirements for the Millennium Forum are as follows:
Usability: the system will be fully operational and in working condition, along
with providing a user friendly interface for visually impaired users.
Security: the system will contain security features in the form of a username
and password.
The minimum hardware requirements for the Ticket Reservation System for the
Millennium Forum are:
A Computer;
512MB RAM;
Sound Card;
Microphone;
13
Headset.
The minimum software requirements for the Ticket Reservation System for the
Millennium Forum are:
Windows 97 or above;
CSLU Toolkit;
Microsoft Access;
Macromedia Fireworks.
3.6 Methodology
The development of any software needs to be a precise plan of action. This plan can
be also known as a process model. A process model is made up of the steps that are
to be taken as the development of the software progresses. The following process
models have been researched in order to decide which will be most appropriate for
this project.
14
After evaluating the methodologies we decided to use the RAD because this best
suits our project requirements due to the short period of time we have to develop the
application. It also has been decided that UML will be used to support the design
methodology as this includes a wide collection of tools and allows the modelling of a
system from many different views.
15
3.9 Conclusion
16
4 Design
4.1 Introduction
This chapter identifies how the requirements gathered in chapter three are
implemented into the design of the system. The system architecture, the HCI
guidelines and the storyboards for the system will be outlined.
Chitnis et al (2009) state that the Use case diagram is used to identify the primary
elements and processes that form the system. The primary elements are termed as
"actors" and the processes are called "use cases." The Use case diagram shows
which actors interact with each use case.
A use case diagram has been developed in order to identify the processes that the
system needs to carry out; it outlines the relationship between the different functions
and can be seen in figure 4.1.
In designing the Ticket Reservation System Millennium Forum, the eight HCI
guidelines outlined by Atakan (2006) have been taken into consideration to ensure
that the system is suitable for all types of users needs including those who are
17
visually impaired. The important aspect of this software product is a well laid out and
intuitive user interface also the spoken dialogue should be easily understood.
Abbreviations and technical words should be avoided in order to avoided user missunderstanding and confusion.
Smith-Atakan (2006) outlines five of the best known design guidelines that can be
applied for the design and creation of a suitable internet revision interface. If the
interface is to be of a high standard in terms of HCI these must be applied to our
system and will now be discussed:
Predictable: Customers will know what the system offers and what must be
done to carry out the reservation of tickets as a simple approach to design will be
taken.
system interfaces. Interfaces will be flexible as this is good practice as it allows for
the customer to operate the system on their own terms, for example, being able to
resize screens or minimize and maximize windows.
dialogue will reinforce what the customer says. The customer will be kept informed
what is being carried out.
4.4 Storyboards
Storyboards have been utilised in the design phase of Millennium Forum to provide
an insight into how the user interfaces will appear. User Interfaces will be kept to a
minimum as spoken dialogue will be used to help aid the experience of visual
impaired users. (see appendix 9.2)
18
storyboard does not look good we have the ability to change this.
2) We will be able to spot errors.
3) The storyboards can be evaluated by the whole group.
4) Advanced planning can help produce a more usable interface.
range from novice users to expert users, the system needs to be able to
accommodate both, as previously stated one of the aims of this project is to develop
a system that is usable by visually impaired users. Therefore a basic approach will
be taken to the design of the interface and a minimum number of interfaces will be
implemented.
In order to for the system to be able to advise users of the available tickets, shows,
shows descriptions and show times a database is required to store this information
and to allow the system to retrieve this information when required. A Microsoft
Access Database will be implemented and Open Database Connectivity (ODBC) will
be incorporated in order to connect the database to the CSLU Toolkit, as this will
allow the information to flow from the database to the system. Advantages of using a
database have been outlined by Connolly and Beggs (2005) include:
4.8 Conclusion
Now the design process has been outlined it will now be implemented in accordance
with the human computer interaction guidelines this will be discussed in chapter 5.
20
21
Chapter 5 Implementation
Introduction
The purpose of this chapter is to present a step by step account of the
implementation of the Ticket Reservation system for the Millennium Forum.
According to Sommerville (2001; p45) throughout the implementation stage of the
software development process the software design is realised as a set of programs
or program units. This means that there are several ways to implement a system
which includes unit, module and system implementation. For this project the
database and system implementation will be discussed.
Database Implementation
The database for the ticket reservation system was implemented using Microsoft
Access 2007. It was agreed upon by the group that it would be best to use Access as
all the team has prior knowledge and experience using Microsoft Access 2007.
Microsoft Access 2007 also allows the user to have two view points of the tables
which include design view and database view. Implementing a database has allowed
us to set validation rules ensuring invalid data cannot be entered, the properties
allows us to set the criteria for the ticket reservation system, and allows us to
incorporate usernames and passwords. Figure 5.1 shows a database table in the
design view were we have been able to set the field size, in this instance it is eight
characters long and the field has been identified as required field therefore advising
this field must be completed.
22
There are many objects available in RAD which have been used in the
implementation of the Ticket Reservation Booking System SLI. Objects included in
the implementation of this system are:
Start Object - The start object indicates the point where the dialog begins for the
ticket reservation system. All RAD applications must begin with the start object.
Sub-dialogue resembles a mini RAD canvas. Used to organise the application into
smaller separate components and provides a much clearer and neater canvas. Subdialogues can be reused time and time again throughout the application. In relation
to the Ticket Reservation Booking System SLI this icon was used to take the user of
the system to a sub screen which is where they can select their tickets and seats for
the show. Figure 5.2 shows the process of booking tickets and seats for a show
using Sub-dialogue. Figure 5.3 shows the process of what happens within the subdialogue objects associated with this application.
Media The media object has two methods of operation which are Present Media
and Remove Media. Present Media, presents images and clickable image maps
on the screen, in relation to the ticket reservation booking system it presents the
poster which outlines the current shows and information on the shows. Remove
Media removes the image that is presented on screen. Remove Media is used
within the system, it is auctioned six times in total for example it removes the seating
plan which is present in each sub-dialogue associated which each show.
Goodbye as with every RAD having to start with the start object, the same method
rule applies with the end of any RAD application. The only way to finalise and end an
application is by finishing with the goodbye object and so this has been implemented
at the end of the ticket reservation system.
Figure 5.2: Use of Sub-dialogue objects in the ticket reservation booking
system
System Functionality
The main functionality of the ticket reservation system is to allow customers to
reserve tickets for shows in the Millennium Forum, In order to perform this task
successfully there are a number of steps that the customers need to undertake.
Customers need to be register to use the system; once customers are registered
they will receive a username and password which is required to process
reservations. For the purpose of this small prototype a number of usernames which
are in the form of pin numbers were generated along with passwords.
In order for the system to verify if the username and password entered are correct
the system connects to the database and retrieves the relevant information. In order
to attach the database to the RAD the following steps were carried out:
1. The Tcl ODBC extension package was downloaded and installed;
2. A Data Source Name (DSN) was created for the database;
3. The RAD canvas was linked to the database.
Figure 5.4 illustrates the code used in order to load the TclODBC and this outlines
the Tcl code required in order to complete this task.
24
The speech prompts that the ticket reservation system use are entered into the
generic objects. This is done by double clicking on the generic object icon, and then
the following screen is displayed.
Figure 5.5: RAD prompt screen
Under the Text To Speech (TTS) tab is where the prompt is entered and this is what
is spoken to the customer when using the system.
RAD only recognises pre-defined words therefore the prompts entered must inform
the customer what to say so that the application can run smoothly. In order to carry
this out successfully the red ports have been populated with answers so that the
customers responses can be judged according to pre-defined inputs that the system
will expect. For example the spoken dialogue from the system to the customer may
be How many tickets would you likely to reserve, 1, 2, 3 or 4? the customer then
knows to reply with the number 1, 2, 3 or 4.
Figure 5.6 highlights the welcome object in the ticket reservation system. This is the
first response the systems gets from the customer as the object asks the user if they
would like to reserve tickets using the automated ticket reservation system for the
Millennium Forum.
Figure 5.6: Welcome object with pre-defined responses
If the customer answers yes the system will automatically direct them to the login
sub-dialogue which is the left port. This allows the customer to continue using the
system. If the customer had of answered no the system travels to the goodbye icon
which is the right port were the customer sees the end the application. If the
customer answers a response that is not predefined and therefore not recognised by
the system, for example bananas the system will say that it does not understand
and will repeat the question until the user says either yes or no.
In order to set a response which the customer needs to say we simply double clicked
the red port and then placed the required response. In relation to figure 5.6 the left
25
port has a response of yes and the right port has a pre-defined answer of no.
Figure 5.7 highlights how the responses are applied to the port, for this illustration it
outlines the response associated with the left port.
26
The image map features allowed us to edit an image with clickable sections which
work like hyperlinks. Within the system users are presented with an interface with a
image of the Millennium Forums seating plan. Using the special features allowed us
to predefine clickable areas which customers can click in order to choose if they
would like to sit in the upper or lower tier, as shown in figure 5.9. The outline in green
shows where a customer can click in order to choose the seating area for the upper
tier.
Figure 5.10 illustrates the window which appears in order to remove the media
related to the seating plan. Once a customer chooses the upper or lower tier the
seating plan should disappear. This has been done by clicking removemedia.
27
6 Testing
6.1 Introduction
The testing process of the Ticket Reservation System will now be discussed. It is
crucial that any system which is developed is tested. Testing is the process of trying
to find as many errors as possible so that they can then be resolved and the system
can then be deemed usable.
6.2 What is testing?
Testing involves executing the implemented software using test data in the system,
examining outputs and monitoring the operational behaviour to ensure the system
works effectively.
28
system. The user performing the tests will require a detailed knowledge of the
working of the (Pressman, 2000).
6.7 System Testing
System testing checks that, when all the modules are integrated together, overall
system functionality is achieved (Pressman, 1997). The main aim of the system
testing is to discover any errors or bugs when the system is being put together.
Task
1) Reserve four tickets.
Expected Outcome
Tickets
should
Actual Outcome
be Expected outcome
was
reserved.
Tickets should
achieved.
be Expected outcome
was
achieved.
selected Expected outcome
was
reserved.
3) Whilst reserving tickets Tier
was
select lower tier.
correctly.
not
achieved.
Alpha testing: here the developer and client worked together in order to
determine if the system was usable and therefore accepted. The result of the
process was successful and the system was accepted.
29
Beta testing: here the system was released to a number of sample customers,
no errors or problems were reported and so the system passed this stage of
the testing.
6.5 Conclusion
This chapter identified the testing processes which have been employed in order to
ensure no errors existed in the application. The system has proven to be currently
error free as any errors which were discovered were examined, retested until they
were resolved. Therefore The Ticket Reservation System for the Millennium Forum
has been deemed successful.
30
Chapter 7 Conclusion
Overall we believe that we have achieved our main aims and objectives. We
believe a consistent approach was taken to the design and implementation
of the system therefore allowing visually impaired users to use the system
easily and successfully. Currently there are not many reservation or
booking systems that visually impaired customers can use easily and so
we feel this system would be beneficial not only for visually impaired users
but all customers. To conclude we believe we have achieved all our
requirements outlined in chapter three and therefore feel we have
produced a successful system.
Chapter 8 Critical Analysis
From the testing it can be seen that the ticket reservation system meets
requirements outlined in chapter three and therefore an effective and usable system
has been developed and implemented.
The acceptance testing allowed sample customers to use the system and they it
interesting to use and they enjoyed certain aspects of the system such as the
spoken dialogue. Certain customers commented on the use of the different shows
and that all they had to say to reserve a show was state the show number instead of
the show title which made the system more user-friendly.
Others commented on the seating plan, many customers liked that they could select
the seating area that best suited their needs. One example of this is that a mother
with small children was processing a testing example of reserving show tickets, and
found it satisfying that she would be able to choose the lower tier for seats so that
hey could see the show.
The customers of the system commented how easy the system was to use; however,
a few commented that at times they had to repeat their response as the system did
not fully understand their original answer. This proved to have a rather negative
impact on the systems customers as the process became frustrating and one user
31
commented that they would not like to use this system until it could understand
people with different speech accents.
One additional negative aspect of the system is the prompts, a few customers felt
that they may not be as clear as they could be as some prompts are long and others
are short, therefore a user could get bored of distracted.
Good aspects of the system:
1) Simple process: the process is extremely simple and errors cannot be made
easily by customers.
2) Usability for Visually Impaired Customers: the usability for visually impaired
customers is quite high as the interfaces have been kept to a minimum and
any interfaces that do appear are large and easily viewed.
Unfavourable aspects of the system:
1) Lengthy dialogue spoken to customers: customers may become distracted or
and pre pay for their tickets if they wish. By incorporating this feature the
Millennium Forum would be guaranteed to be paid for reserved tickets.
3) Another feature which could be incorporated into the design of the ticket
reservation system would be the ability for customers to choose actual seats.
At the minute customers can chose the upper or lower tier, by allowing
customers to chose and reserve actual seats could boost customer
satisfaction. Also if the seat has already been reserved for a show it could
display a red x on the unavailable seats so customers know they cannot
select these seats.
33
9 Appendices
As the system has been designed with the needs of visually impaired customers in
mind, the number of interfaces that appear to customers have been kept to a
minimum in order to enhance the service visually impaired customers experience.
Below we have outlined the interfaces that do appear as part of the reservation
process.
34
35
Reference List
1) Anon, (2008) SoftwareTestingClub.com, 2009, "Is Integration A Phase?",
http://www.softwaretestingclub.com/forum/topics/is-integration-a-phaseIs
2) Chitnis, M; Tiwari, P; Anathamurphy, L (2009). Creating Use Case Diagrams.
[online].
Available
from:
http://www.developer.com/design/article.php/2109801.
S.
(2007).
Visual
Impairment.
[online]
Available
from:
http://kidshealth.org/teen/diseases_conditions/sight/visual_impairment.html.
[Accessed: 12th March 2009].
5) Manner, W. (1997). Rapid Application Development. [online]. Available from: http://
csweb.cs.bgsu.edu/maner/domains/RAD.htm. [Accessed: 13th February 2009]
36
11) ) Sommerville, I., (2001), Software Engineering, 6th Edition, Pearson Education
Ltd.
12) Sommerville, I., (2007), Software Engineering, 6th Edition, Pearson Education
Ltd.
13)
Wesley.
37