Bachelor Thesis

vos.cz

Bachelor Thesis

European Polytechnic Institute, Ltd.Bachelor Thesis2009 Adrián SVÍDA


European Polytechnic Institute, Ltd., KunoviceField of study: Economic InformaticsLINUX SERVER FOR TICKET SYSTEM(Bachelor Thesis)Author: Adrián SVÍDASupervisor: Ing. Ferdinand HODÁŇHodonín, August 2009


I confirm that I am the sole author of this work under the supervision of Ing. FerdinandHodáň. All sources are listed in the bibliography.Hodonín, August 2009


I am very thankful to Ing. Ferdinand Hodáň for the useful methodical help he provided meduring the preparation of my Bachelor Thesis.Hodonín, August 2009 ........................................signature


Contents:Introduction...……………………………………………………………………………...61 Introduction to the issue........................................................................................81.1 Theoretical and notional characteristic....................................................................91.1.1 Operation system Linux...........................................................................................91.1.2 Software web server Apache ...................................................................................91.1.3 Database server MySQL........................................................................................101.1.4 Server scripting language PHP Script.....................................................................102 Analysis of the proposed solution and preparation for the programming.....112.1 Proposal of the ticket reservation system ..............................................................122.1.1 Possibilities of use - Use Case ...............................................................................122.1.2 Diagrams of activities ............................................................................................142.2 Proposal of the database ........................................................................................212.2.1 Entity and relation diagram....................................................................................212.2.2 Declaration of storage of data................................................................................222.2.3 Declaration of the data elements............................................................................233 Description and functionality of the system......................................................283.1 Description of administration of the ticket system................................................283.1.1 Logging in..............................................................................................................283.1.2 Administration interface ........................................................................................293.1.3 Management of films.............................................................................................303.1.4 Management of performances ...............................................................................383.1.5 Management of reservations..................................................................................413.2 Description of the user interface............................................................................444 Verification of the system functionality.............................................................46Conclusion ….. ...................................................................................................................47Summary.............................................................................................................................49List of illustrations and tables...........................................................................................50Bibliography.......................................................................................................................52List of annexes....................................................................................................................53


IntroductionThe availability of the Internet connection is nowadays the standard of mosthouseholds and its use is not restricted. Many users understand the fact that the Internetand on-line world as a whole is not just focused on the gathering and receipt of staticinformation. One of the biggest advantages saving not only time, but also money, is the socalledreservation of objects and services which I use very often myself. That is why Iproposed to execute a new ticket reservation system.After a discussion with the manager of USAGI Ltd., (fig. 1) I proposed to create anew ticket reservation system. The aim of my Bachelor Thesis is to reach a modernsystem, created using perspective technical means which are becoming standard indeveloped countries in these applications.First of all, I would like mention the main activities of USAGI Ltd:• parking systems:automatic barriers, terminals, issuing of tickets, ticket control terminals, non-contactidentification terminals, serviced cash-desks, automatic cash-desks• ticket systems:ticket sale terminals, ticket control terminals, tourniquets – RFIDidentification elements [1]Fig. 1 : Introduction page of USAGI Ltd.Source: [1]6


The Bachelor Thesis was structured in the main part into four chapters. In the firstchapter I focused on the availability of the ticket systems, current and theoreticalknowledge. In the next chapter, I focused on the analysis and proposal of the givensolution, preparation of programming. The third chapter deals with the description andfunctionality of the system and the fourth chapter deals with the system functionalityverification.The aim of my Bachelor work is to propose the functionality of the ticketreservation system for USAGI Ltd. and increase the visit rate of events due to thereservation via Internet. The proposed system must support the cinema agenda with theticket reservation. The real output is the creation of a web portal designed for all those whoare interested in the ticket reservation.In order to reach the given target, I used in my Bachelor work the operation systemLinux, software web server Apache, database MySQL and the scripting programminglanguage PHP. For the ticket reservation I created a system which will enable thecustomers to:• quickly and simply search for information on the given events• select a concrete place in a concrete auditorium of the given event• quickly and simply reserve tickets for the required performance7


1 Introduction to the issueThere are several systems enabling the reservation of tickets on the market. Theydifferentiate by the extent, possibilities of administration, use of various technologies andof course price. I will mention the functioning of several ticket systems available on webportals.The Ticketportal systems offer to the customer the possibility of on-line reservationof tickets. The important step in the reservation process if the user registration, otherwise itis not possible to reserve tickets for the cinema, theatre, cultural events, etc. Upon theregistration, the reservation of tickets is possible. The user is then prompted to choose anaction (cinema, theatre, concerts, cultural events, etc.), seat numbers, type and method ofpayment. He or she can also display the list of reserved tickets which can be furthermodified or cancelled. In order to use the system, plug-in Flash from Macromedianecessary for the display of the user seat must be installed on your computer. [2]System Arena consists of the proper software for the control of the entrance ofvisitors with tickets and season-tickets sold directly at the place of the event, in the salespoints network or via Internet portal. Using the tourniquets with terminals and a software,controlled entry into stadiums, sporting halls, theatres, concert halls, cinemas, discos, etc.is ensured.System AQUA with its proper software which is primarily designed for the sale ofchip tickets and season-tickets in the shape of bracelets given to visitors enables theentrance into the aquapark area, spas, swimming pool, leisure centre, etc... [3]System DIS data tickets on the Cine-Max portal offers us on-line reservation withoutthe user registration. The basic step for the user is to choose the event, place and name ofthe event. After the reservation is entered, the user receives an information on thereservation by email which will also be used as an identification sign when buying thetickets. [4]8


1.1 Theoretical and notional characteristic1.1.1 Operation system LinuxLinux is a free operation system. Free in this case means unpaid with the accesscodes, modifiable and copiable for anyone. You can copy the operation system for a friend,for your parents and schoolmates. It is a full-value operation system with thousands ofapplications that we need for our everyday work. The office software, programs for thework with Internet, multimedia, graphic, entertainment, programming – Linux can be usedfor all of these. Linux is a modern operation system (OS) and its management is as simpleas the management of other systems. It is a system containing a great amount of drivers forvarious standardised hardware. This operation system supports a wide range of USBdevices, Bluetooth and IrDA, accelerated graphic cards (nVidia, ATI and others), disksSATA and PATA, burning mechanisms and many others. Linux was the first availableoperational system running on a PC in 64-bit mode and usually supports multi-processorcomputers.Many users can exist and work on Linux. The users can share the same desktop orthey can have their desktop completely separated. During the system administration it isnot necessary to log off and relogin even we usually do not work as an administrator. Manyapplications from different users can be run on Linux at once. Linux is a universaloperation system. It is used as a server, but also as an office of home computer. But Linuxis really powerful in the network environment. The network support is a part of thestandard system. In most distributions, we will find the tools for the server in the networkUNIX, Microsoft Windows, NetWare and Apple. [5]1.1.2 Software web server ApacheApache Server is a software web server with Open Source licence for Linux, BSD,Microsoft Windows and other platforms. Today, it is the most frequently used server in thewhole world.The architecture is created by several layers. The basic layer is the core which isresponsible for the communication with the operation system and communication with thenetwork environment. The functionality of Apache itself is given by modules which can bea part of it or which can be added dynamically or withdrawn during the operation. Themodules contain a set of directives setting the individual server characteristics. The Apache9


core fulfils two roles. The first role is the ensuring of the basic functionality of the serverand the second role is the creation of the application interface (API) for the modules. Thebasic functionality of the sever means that the core must ensure the exchange of sources(with the help of file descriptors, memory segments, etc.), support the model of processes,listen at the communication ports of protocol TCP/IP, transfer the requirements of the httpprotocol, etc.The resulting functionality of Apache depends on the used modules. The core mustensure a program connection of these modules, ensure the exchange of informationbetween them and set the API functions which can be used by these modules. [6]1.1.3 Database server MySQLMySQL is a free and open multithread, SQL relation database server for moreusers. MySQL is supported on several platforms (as Linux, Windows or Solaris and isimplemented in several programming languages such as PHP, C++ or Perl. Every databaseis created in MySQL by one or more tables with lines and columns. The lines contain theindividual records, the columns define the data type of the individual records, and theyserve as fields. The work with the MySQL database is done with the help of the so-calledqueries resulting form the programming language SQL (Structured Query Language). [7]1.1.4 Server scripting language PHP ScriptPHP is a technology which is not a product of a company, it is a product ofindividuals maintaining PHP as a technology with open source codes. Since PHP isrenowned for its simplicity and works on various operation systems and on various webservers, it is very popular and widespread. PHP is the server scripting language enabling tocreate the dynamic web pages with huge possibilities. There are many high-quality editorstoday for the work with PHP for free that is why it is useless to buy them for money. Sincethe PHP scripts are nothing else but simple text files, they can be written practically in anyeditor enabling clean non-formatted texts. In Linux, you can use the very well knownNotepad. In a practical use, an editor with more elaborated PHP possibilities will be used.[7]10


2 Analysis of the proposed solution and preparationfor the programmingBefore the program proposal itself, I tried to find programs with a similarorientation in order to become familiar wit the ticket reservation systems. Upon a moredetailed study of function of the individual systems, I decided to focus on the system usedby Cine-Max. The basic requirement was the use of MySQL database with the datarepresentation using HTML and PHP.When working with MySQL, I can create any number of databases and any numberof tables inside them. Te database is the highest structural unit. It encompasses the giventable filled with the data.PHP became popular especially due to the simplicity of use and the fact he it combinesfeatures of several programming languages and leaves a partial liberty in syntax. Incombination with the operation system Linux, database system MySQL and web serverApache, I will use it for the creation of web applications. This combination got theabbreviation of LAMP – which is a connection of Linux, Apache, MySQL and PHP.The advantages of PHP are the following:• Specialisation on the web pages• extensive set of functions in the basic PHP library• native support of many database systems• multiplatformity (especially Linux, Windows)• possibility of use of the native functions of the operation system (possible noncompatibilitywith another operation system)• steep learning curve• huge support of hosting services – PHP is a real standard that I can find anywhere• huge amount of projects and codes which can be used for free• quite good documentation• exceptional, very free licence, more free than GPL11


2.1 Proposal of the ticket reservation systemIn this part of my Bachelor Thesis I focused on the analysis of requirements that Imade. On the basis of these requirements, I made an idea of what functions the systemshould offer and in what extent.In the proposal, I used the Use Case diagrams, on which I formulated the individualactivities. Upon this basic analysis I created diagrams of entities in the system (which serveas the basis for the data model) representing the mutual relationships. I added diagrams ofstatus to these diagrams.2.1.1 Possibilities of use – Use CaseUse Case is used for the representation of the functional requirements and describethe relations between the system and the system user in the form of sequence of theindividual steps. The system user is called the primary actor and makes interaction with thesystem in order to reach a certain target. Every Use Case represents a series of activitiesand events from the point of view of the actor.The individual cases of use describe how the actor communicates with the systemin order to reach the required target. According to the detail level, to which Use Case isdescribed, every Use Case can represent one or more communication scenarios. Thesescenarios display different system behaviours depending on the special requirements andconditions accompanying the original requirement. [8]The Use Case diagrams usually contain also the user guides. I will omit them in mywork due to the total extent, because the content of these user guides is much visible in thedescription of diagrams and the following diagrams.The diagram on fig. 2 represents the accessibility of the individual system modulesfor the authorised users, it marks the difference between the possibilities of administratorand operators. The administrator has access to the management of films, management ofperformances and to the management of reservations. The operators have access only tothe management of reservations.12


Fig. 2 : Use case diagram of the administrator’s functionSource: own proposal made in Corel Draw13


This diagram shows the possibilities of users without authorisations. These are theusers who can reserve the tickets via a web interface.Fig. 3 : Use Case diagram of the user’s functionSource: own proposal made in Corel Draw2.1.2 Diagrams of activitiesThe diagrams of status and activities, unlike Use Case diagrams describing only therequired system function, describe how this function should look like. I will analyse theexpected system behaviour on them from the point of view of administrator. Theadministrator has full authorisations for all functions of the system. The operators haveaccess only to the management of reservations.The administrator’s environment is divided into four basic modules. Each modulein the system is represented by the diagram of activities, with a short description and a listof actions.The first basic module is the administrator’s login or the operator’s login which isshown in the diagram of activities (fig. 4 ).14


Fig. 4 : Diagram of activities – logging inSource: own proposal made in Corel Draw15


Step PositionAction1 Administrator Logging in to the system2 System Identity verification system (administrator, operator)3 System Accessibility of operator3a Operator Accessibility of reservations4 System Accessibility of administrator4a Administrator Accessibility of management of films4b Administrator Accessibility of management of performances4c Administrator Accessibility of management of reservationsSystem will approve the user from the system (administrator,5 System operator)Table no. 1 : Description of logging inSource: own proposal made in Microsoft ExcelThe second module of the administrator’s environment is the administration offilms. The entire course of the administration of films is displayed in the diagram ofactivities on fig. 5 and the description of the course is displayed in table no. 2.Step Position1 AdministratorActionThe authorised user has a possibility to enter new data to thesystem1a System It will make accessible the form for entering new filmsThe authorised user has a possibility to modify the data upon the2 Administrator selection of the film2a System It will make accessible the form with the possibility of editing3 Administrator The authorised user has a possibility to delete the data3a System Deletes the selected itemTable no. 2 : Description of film administrationSource: own proposal made in Microsoft Excel16


Fig. 5 : Diagram of activities – management of filmSource: own proposal made in Corel Draw17


I will shoe the course of the reservation on the third diagram of activities shown onfig. 6, which represents the reservation management module. The description of the courseof reservation is defined in table no. 3.Fig. 6 : Diagram of activities – management of reservationsSource: own proposal made in Corel Draw18


Step Position Action1 Authorised user Selection of performance2 System Accessibility of forms of reservations2a Authorised user Deletion of all reservations2b Authorised user Deletion of one reservation2c Authorised user Modification of reservationsTable no. 3 : Description of reservation administrationSource: own proposal made in Microsoft ExcelThe management of performances is the fourth module. The description of thecourse of the management of performances is represented in table no. 4. and fig. 7.Step PositionAction1 Administrator Selection of performances2 System Accessibility of the form of performances2a Administrator Entering of data on the new performances2b Administrator Deletion of performances2c Administrator Modification of performancesTable. no. 4 : Description performance administrationSource: own proposal made in Microsoft Excel19


Fig. 7 : Diagram of activities – management of performancesSource: own proposal made in Corel Draw20


2.2 Proposal of the databaseDuring the proposal of the database, I decided to use the MySQL database. Thedatabase is based on four tables.• film - table with films and information on them• performance - projection of films• reservations - reservations of places for the individual performances• users - users with authorisations to enter the administration2.2.1 Entity and relation diagramThe information that I divided into several tables will finally have to be merged (Iwill have to take out information from several tables). The relation database systemsenable to define the relations between the tables, i.e. the connection of the tables in order toget the required information from several tables.Fig. 8 : Entity and relation diagramSource: own proposal made in Corel Draw21


2.2.2 Declaration of storage of dataName of tablefilmCompositionOrganisationNote(id, name,description, price)Align in ascending order according to idAll attributes must be filled in when entering the recordName of tableCompositionOrganisationNoteperformance(id, film id, date, time, hall)Align in ascending order according to idAll attributes must be filled in when entering the recordName of tableCompositionOrganisationNotereservation(id, performance id, seat, status, timeout, id_session, name,surname, mail)Align in ascending order according to idAll attributes must be filled in when entering the recordName of tableCompositionOrganisationNoteusers(id, login, password, account, active)Align in ascending order according to idAll attributes must be filled in when entering the record22


2.2.3 Declaration of the data elementsfilmName of elementValues andimportanceididentification number of the film max. 11 characters – type: int(auto_increment)Note allowed character = [ 0-9 ]Name of elementValues andimportancenamefilm name max. 255 characters – type: varcharNote allowed character = [ ASCII ]Name of elementValues andimportancefilm description – type: textdescriptionNote allowed character = [ ASCII ]Name of elementpriceValues andimportanceticket price – type: float(8,2)Note allowed character = [ 0-9 ]performancesName of elementValues andimportanceidentification number of the performance max. 11 characters –type: intid(auto_increment)Note allowed character = [ 0-9 ]23


Name of elementValues andimportanceid_filmidentification number of the film max. 11 characters – type: intNote allowed character = [ 0-9]Name of elementValues andimportancedatedate of performance – type: dateNote allowed character = [ rrrr-mm-dd ]Name of elementValues andimportancetimetime of beginning of the performance – type: timeNote allowed character = [ hh:mm:ss ]Name of elementhallValues andimportanceprojection hall – type: enumNote allowed character = [ A, B ]reservationsName of elementValues andimportanceididentification number of reservation max. 11 characters – type:int(auto_increment)Note allowed character = [ 0-9 ]24


Name of elementValues andimportanceid_performanceidentification number of the performance max. 11 characters –type: intNote allowed character = [ 0-9 ]Name of elementValues andimportanceseatseat number max. 11 characters – type: intNote allowed character = [ 0-9 ]Name of elementValues andimportancestatusseat occupancy state – type: enumNote allowed character = [ V, A, R, N ]Name of elementValues andimportancetimeouttime of preliminary seat reservation – type: timestampNote allowed character = [ rrrr-mm-dd hh:mm:ss ]Name of elementValues andimportanceid_sessionidentification mark of the reserving person max. 255 characters– type: varcharNote allowed character = [ ASCII ]Name of elementValues andimportancenamename of the reserving person max. 50 characters – type: varcharNote allowed character = [ ASCII ]25


Name of elementValues andimportancesurnamesurname of the reserving person max. 50 characters – type:varcharNote allowed character = [ ASCII ]Name of elementValues andimportancemailmail of the reserving person max. 100 characters – type:varcharNote allowed character = [ ASCII ]usersName of elementValues andimportanceididentification number of the user max. 11 characters – type: int(auto_increment)Note allowed character = [ 0-9 ]Name of elementValues andimportanceloginuser login max. 50 characters – type: varcharNote allowed character = [ ASCII ]Name of elementValues andimportancepassworduser password max. 50 characters – type: varcharNote allowed character = [ ASCII ]26


Name of elementValues andimportanceaccountuser authorisations – type: enumNote allowed character = [ A, O ]Name of elementValues andimportanceactiveactivation / deactivation of the user account – type: enumNote allowed character = [ E, D ]27


3 Description and functionality of the systemThe last step in the creation of the system is the execution of the ticket reservationsystem which serves for the reservation of tickets for users according to the criteria definedby the system administrator. It is adapted to the conditions of selection of films andperformances. The system itself is executed with the help of language HTML and PHPscripts. In general, we can say that the HTML language is used as the presentation layerand the PHP scripts ensure the processing of the entered data together with the connectionto the database server.The basic possibilities of the program:• creation of “unlimited” number of films and performances• reservation of tickets for the individual performances• administration interface for the system management3.1 Description of administration of the ticket system3.1.1 Logging inEntry to the administration interface is conditioned by the entering of the usernameand password (fig. 9). After the entering and verification of the data, the interface isaccessible according to the authorisations of the logged user.Fig. 9 Logging in of the administratorSource: own28


Translation key:SlovakAdministračné prostredieMeno:Heslo:prihlásenieEnglishAdministration SystemName:password:login3.1.2 Administration interfaceUpon logging in, the initial page of the system appears with the information on theadministration interface and the main menu of the offered functions (fig. 10). The mainmenu is different for the administrator as well as the operators. The administrator canaccess all modules, the operators can work only with the module for the management ofreservations.Fig. 10: Main profileSource: own29


Translation key:SlovakAdministračné prostrediePolohaFilmyPredstaveniaNastaveniaVitajte v administračnom rozhraníAdministračné rozhranierezervačného systému narezerváciu vstupeniek cez internetMožnosti:správa filmovspráva predstaveníspráva rezerváciíEnglishAdministration SystemHomeFilmPerformancesSettingsWelcome to the administration interfaceAdministration Systemreservation system on reservationadmission ticket over internetoptionsmanagement of filmsmanagement of performancesmanagement of reservation3.1.3 Management of filmsThe film button leads you to the management of films. In the table there are itemsentitled name, performances, figures and film actions. The individual items of the actioncan be modified. (fig.11)Fig. 11: Management of filmsSource: own30


Translation key:SlovakSpráva filmovPridať položkuNázovPredstaveniaObrázkyAkciaEnglishManagement of filmsAdd extendNamePerformancesPictsActionBy clicking on “add item” the form for entering the name, price and filmdescription appears (fig.12). After you fill in the form (fig.13), by clicking on the button“Done” the data will be recorded in the table “film” (fig.14).Fig. 12: Form for adding filmsSource: own31


Translation key:SlovakPridanie FilmuNázovCenaPopisHotovoEnglishAdd filmNamePriceAccountcompletedFig. 13: Filling in of the formSource: ownFig. 14: Management of films – added filmSource: own32


Translation key:SlovakSpráva FilmovBol pridaný film - "Vesničko mástřediková"Pridať položkuNázovPredstavenieObrázkyAkciaEnglishManagement of filmsExist added film - "Vesničko má střediskova"Add itemnamePerformancPictsActionOn the form of the management of films, there is a possibility of several actions.One of them is the deletion of films. After clicking on the “cross” (fig.15) a questionwhether I want to remove the item appears (fig.16). If I click “ok”, I will delete the item, ifI click “cancel”, the item will not be deleted.Fig. 15: Management of films - deletionSource: ownTranslation key:SlovakEnglishvymazanie filmu - Vesničko mástředisková Deletion of film - Vesničko má středisková33


Fig. 16: Management of films - questionSource: ownTranslation key:SlovakEnglishOznámenie stránky http://Advice page http://Naozaj chcete odstrániť túto položku? Really want abstracting this item?OkOkZrušiťdiscardAnother action is the film modification. After clicking on the “green arrow”, “filmmodification” form will appear. On this form, you can modify the name, price and filmdescription (fig.18). After clicking on button “Done”, the film is modified.Fig. 17: Management of films - modificationSource: own34


Translation key:SlovakEditácia filmu - Vesničko mástřediskováEnglishModification of film - Vesničko mástřediskováFig. 18: Modification of filmSource: ownTranslation key:SlovakEditácia FilmuNázovCenaPopisHotovoEnglishModification of filmNamePriceAccountCompletedBy clicking on the green button “plus” (fig. 19), the form for adding theperformance of the selected film will appear (fig. 20). This form contains the items of hall,date and time, film is already filled in. After filling in the items and clicking on button“Done” (fig. 21), the data will be recorded to the performance table. On the form of35


management of films, this action will be represented in the increasing of the number ofperformances (item Performances) at the film concerned by the record (fig. 22).Fig. 19: Management of films – adding of a new performanceSource: ownTranslation key:SlovakPridať nové predstavenie filmu -Vesničko má střediskováEnglishAdd new performance film - Vesničko mástřediskováFig. 20: Form for adding a performanceSource: own36


Translation key:SlovakPridanie predstaveniaFilm: Vesničko má střediskováSálaDátumČasHotovoEnglishAdd performanceFilm: Vesničko má strediskováHallDateTimeCompletedFig. 21: Adding of a performanceSource: ownFig. 22: Management of films – added performanceSource: own37


3.1.4 Management of performancesIn the main panel, by clicking on the performance button, you will pass to themanagement of performances. On the form there are items with date, time, hall, film,number of reservations and actions displayed. The individual items of the action can bemodified (fig. 23).By clicking on the button “add item”, a form with the selection of film, hall, dateand time will appear (fig. 24). After filling in the items by clicking on button “Done”, theperformance will be added.Fig. 23: Management of performancesSource: ownTranslation key:SlovakSpráva PREDSTAVENÍPridať položkuDátumČasSálaFilmRezervácieAkciaEnglishManagement of performaancesAdd itemDateTimeHallFilmreservationsAction38


Fig. 24: Form for adding a performanceSource: ownTranslation key:SlovakPridanie PREDSTAVENIADátumSálaČasvýber filmuHotovoEnglishAdd PERFORMANCEDateHallTimeselect filmCompletedOn the form of the management of performances, I have a possibility to choose oneof two actions. One of them is the deletion of performances. After clicking on the red“cross” (fig. 25), a question whether I want to remove the item will appear. By clicking on“ok”, the item will be deleted, by clicking on “cancel”, the item will not be deleted.39


Fig. 25: Management of performances - deletionSource: ownTranslation key:Slovakvymazanie predstavenia -2009-05-23 o 18:00:00Englishdeletion of performance - 2009-05-23at 18:00The second action is the modification of performances. After clicking on the “greenarrow”, the form of “performance modification” will appear (fig. 27). On this form you canmodify date and time of the film projection. After clicking on button “Done”, theperformance data will be modified.Fig. č. 26: Management of performances - modificationSource: own40


Translation key:Fig. č. 26: Management of performances - modificationSlovakEnglisheditácia predstavenia - 2009-05-23 o18:00:00Modification of performances - 2009-05-23 at18:00:00Fig. 27: Modification of performanceSource: ownTranslation key:SlovakEditácia PREDSTAVENIAFilm: Vesničko má střediskováDátumČasHotovoEnglishModification of performanceFilm: Vesničko má střediskováDateTimeCompleted3.1.5 Management of reservationsThe management of reservations is accessible for the administrator as well as forthe reservation system operators. The administrator passes to the management ofreservations from “management of performances” module by clicking on the reservationicon (fig. 28). The operators have the list of performances displayed immediately uponlogging in, because they have access only to the management of reservations. The output isa table with the list of reservations of the selected performance. It contains the items of theseat number, status, user name and actions.41


Fig. 28: Management of performances - reservationsSource: ownTranslation key:SlovakPočet rezerváciíEnglishCount reservationsFig. 29: management of reservations - deletionSource: own42


Translation key:SlovakSpráva REZERVÁCIÍPredstaveniesálaFilm: NestydaSedadlo č..StavRezervácia preAkciaEnglishmanagement of reservationPerformanceHallFilm: NestydaPosition no.StateReservation forActionThe table of “Management of reservations” represents a small form with the fieldfor the modification and deletion of reservations (fig. 29). After clicking on the red “cross”,a question whether I want to remove the item will appear. If I click “ok”, the item will bedeleted, if I click the button “cancel”, the initial item will remain. After clicking on the“green arrow” (fig. 30) the form of “seat reservation modification” will appear (fig. 31)with a concrete performance and user film. On the form there are the items entitled name,surname and mail which can be modified. After the modification of the items and clickingon button “Done”, the seat reservation modification will be changed.Fig. 30: Management of reservations - modificationSource: ownTranslation key:Slovakeditácia rezervácie sedadla č.:23EnglishAdd reservation position no.2343


Fig. 31: Seat reservation modificationSource: ownTranslation key:SlovakEditácia REZERVÁCIE sedadlač.:23PredstaveniesálaFilmMenoPriezviskoMailHotovoEnglishAdd RESERVATION position no.23PerformanceHallFilmNameSurnameMailCompleted3.2 Description of the user interfaceThe user interface is accessible for everyone who is interested in the reservation oftickets. The basic page contains the list of all performances of the individual filmsclassified according to the date and projection time. After clicking on the concreteperformance, the form for the reservation of seats appears (fig. 32). By clicking on the seatnumber this seat will remain marked (preliminarily reserved) for the given user for thedefined time in which the reservation has to be confirmed. When confirming thereservation, the user is prompted to enter his or her name and email address. He or she will44


eceive an email confirmation of the reservation which will be used for the purchaseof the tickets. If the reservation is not confirmed within the given time from the marking ofthe seat, the marking will be cancelled and the places will be accessible again for markingand possible reservation for any other interested users. The status of reservation of theindividual seats is represented by the change in colour.Fig. 32: Places of seatsSource: ownTranslation key:Slovakstav sedadlaPLÁTNOnemožnovoľnérezervovanévybranévybrané niekým inýmEnglishState positionProjection screencannotfreereservationscoopchosen somewhere another45


4 Verification of the system functionalityThe process of the system functionality verification is based on the testing of theindividual modules of the administration and reservation interface. When testing thereservation interface, some possible collision situations were caused on purpose whenusing the system by several persons. The testing of the administration interface wasfocused on the verification of correct functionality of the individual modules. During thesystem development, all PHP and SQL scripts were tested.During the testing, I found out that the system did nit run on the server with PHP4.4.2. In order to reach the correct running of the system, PHP in version 5.2.1 was needed.Recommended system requirements are the following:• operation system Linux in common configuration for the operation of www server• software web server Apache 1.3.36• database MySQL 4.1.12• scripting programming language PHP 5.2.346


ConclusionThe aim of this work was to elaborate a proposal of the ticket reservation systemfor USAGI Ltd., and implement the system according to this proposal.During this proposal, first of all I analysed the system requirements and defined thenotions which will be used in the system description. I also made an analysis of existingsolutions with a similar problem. I dealt these topics in chapter one.After this initial analysis, I started to analyse the application and make its proposalwhich I describe in chapter two. In my analysis, I was moving from simple models ofusage possibility, through the description of the course of the individual system activitiesand analysis of the individual entities, up to the application proposal.Due to the requirements of the manager of USAGI Ltd., the system is based on theweb server Apache, scripting language PHP and on the data support of the relationdatabase server MySQL. Upon the analysis of the above mentioned facts I think that theserver is fully compatible with the system requirements.In chapter three I deal with the description and functionality of the ticketreservation system where one of the basic possibilities of the program is the user interfaceand administration interface for the management of the entire system, ticket reservation forthe individual performances and the creation of “unlimited” number of films andperformances. Chapter four deals with the verification of the system functionality.Only a part of the source codes will be published for this work, since this project isa commercial solution that is why the publication of the complete code is not possible.Quick and transparent searching of information on the performances is saved in thedatabase and that is why the searching is in fact unlimited. It depends only on the concreterequirements of the customer which parts of the system will be required to be processed. Inthis work a record in the table according to the dates and times is used, which can be addedby various classifications and searching’s.47


The requirements on the selection of the concrete place in a concrete auditorium ofthe given performance and quick, simple reservation of the tickets for the selectedperformance have been fulfilled.The result is very good, there were no functional problems, the manager of thecompany appreciated the result of my work. Considering the above mentioned facts, Ithink that the task has been fulfilled in accordance with the requirements of the investor.This ticket reservation system will be further developed and has not been put intoreal operation yet.48


SummarySVÍDA, A. Linux server for ticket system. Kátov 2009. Bachelor Thesis. EuropeanPolytechnic Institute, Ltd.Supervisor: Ing. Ferdinand HodáňKey words: reservation ticket system, operation system Linux, software web serverApache, database server MySQL, server scripting language PHP .My Bachelor work is focused on the execution of the reservation ticket systemfor USAGI Ltd.,. The aim was to propose a functionality of the ticket reservation systemand increase the visit rat of events due to the reservation via Internet. The real output is thecreation of a web portal designed for all those who are interested in the entries. My work isdivided into four chapters creating a simple unit due to their nature. In the first part, first ofall, I analyzed the system requirements and defined the notions which will be used duringthe system description. I also executed the analysis of existing solutions with a similarproblem. The second part deals with the analysis and proposal of the given solution. In thethird part, I deal with the description and functionality of the ticket reservation systemwhere the basic program features are the user interface and the administration interface forthe management of the entire system, reservation of tickets for the individual performancesand the creation of an “unlimited” number of films and performances. The fourth part isdesigned for the verification of the system functionality. The requirements on the choice ofa particular place in a particular auditorium and quick, simple reservation of tickets for theselected performance have been fulfilled.49


List of illustrations and tablesFig. 1 : Introduction page of USAGI Ltd.,Fig. 2 : Use case diagram of the administrator’s functionFig. 3 : Use Case diagram of the user’s functionFig. 4 : Diagram of activities – logging inFig. 5 : Diagram of activities – management of filmFig. 6 : Diagram of activities – management of reservationsFig. 7 : Diagram of activities – management of performancesFig. 8 : Entity and relation diagramFig. 9 : Logging in of the administratorFig. 10: Main profileFig. 11: Management of filmsFig. 12: Form for adding filmsFig. 13: Filling in of the formFig. 14: Management of films – added filmFig. 15: Management of films - deletionFig. 16: Management of films - questionFig. 17: Management of films - modificationFig. 18: Modification of filmFig. 19: Management of films – adding of a new performanceFig. 20: Form for adding a performanceFig. 21: Adding of a performanceFig. 22: Management of films – added performanceFig. 23: Management of performancesFig. 24: Form for adding a performanceFig. 25: Management of performances - deletionFig. 26: Management of performances - modificationFig. 27: Modification of performanceFig. 28: Management of performances - reservationsFig. 29: Management of reservations – deletionFig. 30: Management of reservations - modificationFig. 31: Seat reservation modificationFig. 32: Places of seats50


Table no. 1 : Description of logging inTable no. 2 : Description of film administrationTable no. 3 : Description of reservation administrationTable no. 4 : Description of performance administration51


Bibliography[1] USAGI [online]. 2006 [quotation 2008-11-13]. Available at WWW:[2] TICKETPORTAL [online]. 2001-2009 [quotation 2008-12-06]. Available at WWW:[3] TRITON s.r.o. elektronické systémy [online]. 2008 [quotation 2008-12-22].Available at WWW: [4] CINEMAX [online]. 2006-2009 [quotation 2009-01-09]. Available at WWW:[5] WIKIPÉDIA [online]. 2001-2009 [quotation 2009-01-09]. Available at WWW:[6] POŠMURA, V. Apache příručka správce www serveru. 1st edition Praha:Computer Press, 2002. ISBN: 80-7226-696-9.[7] PONKRÁC, M. PHP a MySQL bez předchozích znalostí. 1st edition Praha:Computer Press, 2007. ISBN: 978-80-251-1758-3.[8] WIKIPÉDIA [online]. 2001-2009 [quotation 2009-04-26]. Available at WWW:[9] CSFD [online]. 2001-2009 [quotation. 2009-05-08]. Available at WWW:[10] Knihovna PHP [online]. 2007-2009 [quotation 2009-04-03]. Available at WWW:52


List of annexesAnnex 1:CD with the program and other program documents53

More magazines by this user
Similar magazines