Estimated reading time: 22 minutes
This project is dedicated to my lovely mother Mrs. Etambong Regina and to my brother Amate Elvis E.
Also, I dedicate this work to lovely sister Irene Dione. Finally, I dedicate this project to God Almighty for giving me the strength, wisdom and knowledge to build this project.
I hereby certify that this project titled “PARK TICKETING MANAGEMENT SYSTEM” is the work of MBULLE CLODIA ETAMBONG with Matriculation Number CT19A193 of the Department of Computer Engineering, College of Technology, University of Buea under the supervisor of the undersigned.
Signature: ___________________ (Project supervisor) |
Date: ___________________ |
Date: ___________________ |
Signature: ___________________ (Student) |
The success and final outcome of this project required a lot of guidance and assistance from many people and I am extremely fortunate to have got this all along the completion of my project work. Whatever I have done is due to such assistance and guidance so I will like to acknowledge everyone for the part(s) played in making this project a success.
THE PROJECT SUPERVISOR: I am grateful and I appreciate the effort put in by my project supervisor Mr. Hilaire Mathieu Megoze for his directions and guidelines in building this project. I will like to appreciate the time he took to read through this report and how to present this project in an excellent way.
COLLEGE OF TECHNOLOGY: My gratitude goes to my school for the role played in this project for it to be a success. I thank the College of Technology in providing the appropriate education and giving me the honor to do this project.
THE DIRECTOR: I will like to thank and appreciate the efforts of the Director of College of Technology Dr. Sone Ekonde for his fatherly love, advices and ability to recognize our needs as students and engineers.
HOME: Finally, my sincere thanks go to my sweet mother Mrs. Regina Etambong, my lovely brother Mr. Elvis Etambong, my lovely sisters Mrs. Moki Irene, Mrs.Ebene Queenter, Mrs. Enyalle Calista, Miss. Esunge Marbel who were there to support me financially, spiritually, morally and encourage me in my studies making sure I yield success at the end.
THE MOST HIGH GOD: Above all, I thank the Almighty God for life and for giving me the strength, wisdom and knowledge required in developing and completing this project.
In recent time, the development of park ticketing management system applications has help to save a lot of time and hence has attract many visitors in theme or amusement park. The applications have come to replace the manual record of visitor’s information and handing of tickets on paper file such as register.
This study aims to develop a park ticketing management system with a case study of South West region in Cameroon. This application manages tickets and provides ticket to the person who comes to visits in park with his/her family with the help of an admin. With this project admin is able to see the number of people who visited the park and also see how many tickets are generated within a particular period and is able to update and print the tickets. This application contains functionalities such as mange tickets, add tickets, update tickets, search tickets, report tickets, print tickets and add admin. The development of this application will help to generate tickets and stores them in a database, this system is very fast, less time consuming and secure. Should in case something goes wrong with a visitor, it is easy to track down that particular visitor by using the visitor’s ID to access the visitor’s information.
1.4.3 System Development Life Cycle. 4
1.4.4 System Development Life Cycle Methodology. 4
1.4.5 Functional Requirements. 6
1.4.6 Non-functional requirement. 7
2.1.3 Hardware Resources. Error! Bookmark not defined.
CHAPTER 3: SYSTEM ARCHITECTURE.. 10
CHAPTER 4: APLICATION DOMAIN.. 16
CHAPTER 6: USER INTERFACE.. 20
CHAPTER 7: SYSTEM IMPLEMENTATION AND TESTING.. 23
7.1 Tools and Technologies used. 23
7.1.1 Adobe Experience Design (Adobe XD). 23
7.1.3 Hyper Text Markup Language (HTML), Cascading Stylesheet (CSS) and JavaScript. 23
7.1.4 Hypertext Preprocessor (PHP). 24
7.1.6 Google Chrome / Mozilla Firefox Web Browser. 24
Figure 1.1: Illustration of Iterative and Incremental Model 5
Figure 3.1: System Architecture of Park Ticketing Management System.. 10
Figure 3.2: Software Architecture of Park Ticketing Management System.. 12
Figure 3.3: Use Case Diagram.. 14
Figure 3.4: Class Diagram.. 15
Figure 4.1: Amusement Park Limbe. 16
Figure 5.1 Entity Relationship Diagram.. 18
Figure 5.2 Database Schema. 19
Figure 6.2: Admin dashboard. 21
Figure 6.3: Manage ticket page. 21
Figure 6.4: Search Ticket Page. 22
Figure 6.5: Add Admin page. 22
Table 1.1: Functional Requirements of the software. 6
PTMS Park Ticketing Management System
XAMPP Cross-Platform Apache server MariaDB PHP and Pearl
HTML Hypertext Markup Language
CSS Cascading Stylesheet
PHP Hypertext Preprocessor
SQL Structured Query language
MYSQL My Structured Query Language
ADOBE XD Adobe Experience Design
OS Operating System
SDLC Software Development Life Cycle
UML Unified Modelling Language
UI User Interface
ER-Diagram Entity Relationship Diagram
IDE Integrated Development Environment
RAM Random Access Memory
The purpose of this system is to manage tickets in Amusement Park or Theme Park which helps to generate visitor’s tickets and stores them in a database, this system is very fast, less time consuming and secure hence reduces the stress for both visitors and staff in the park. The proposed system will help to keep track of visitor’s details or information which is safer than storing them on paper file.
Managing tickets in theme parks or amusement parks is one of the problems people face in most parts of the world today; as they need to wait in a long line for tickets to be issued, and collecting their information and storing it manually on paper file thereby consuming a lot of time to issue tickets to them which is very stressful and very insecure.
So, I came up with the solution to create a system to manage these tickets call is the Park Ticketing Management System that helps to generate tickets and stores them in a database, this system is very fast, less time consuming and secure. Should in case something goes wrong with a visitor, it is easy to track down that particular visitor by using the visitor’s ID to access the visitor’s information.
Park Ticketing Management System is a web-based application that helps manages and generates the visitors’ tickets in a theme or amusement park. The system can generate a various ticket at once in different types and all of the tickets has a unique ticket number. The theme park management or administrator can set up different pricing for the entrance that the park offers to the visitors. The system separates the adult and child fee for every pricing setup. The system can effectively manage and handle all the functioning of a park. The system also generates a sales report for the number of tickets sold in the management’s choice of the date range, software system can store the data of people’s tickets that came to visit in the park. The system also maintains and calculates the price of tickets and system needs an administrator to input the detail of tickets like how many are adults and how many are children and print the ticket and give it to person.
The proposed system will affect or interface with the person who visits in the park and administrator.
The system works and fulfills all the functionalities as per the proposed system.
It will provide reduced response time against the queries made by different users.
This project is based on PHP language with MYSQL database which manages people and provides ticket to the person who comes to visits in park with his/her family.
All possible features such as verification, validation, security, user friendliness etc. have been considered.
In this project there is one module i.e.
Admin
Admin:
- Dashboard: In this section, admin can see how many foreigner and Cameroon tickets are being generated today and yesterday.
- Manage Ticket: In this section, admin can update price and ticket type of tickets.
- Normal (Cameroon) Ticket: In this section, admin can add the detail of number of adults and number of children and print the ticket with their total cost.
- Foreigner Ticket: In this section, admin can add the detail of number of adults and number of children and print the ticket with their total cost.
- Search: In this section admin, can search ticket by ticket id.
- Reports: In this section admin can view how many tickets has been generated in particular period.
Admin can also update his profile, change the password and recover the password.
1.4.1 Introduction
This section presents the details about the analysis made for Park Ticketing Management System with the methodologies and the System Development Lifecycle (SDLC) methodology used, and proper justifications for the choice made and the materials used.
1.4.2 Feasibility study
Whenever we design a new system, normally the management will ask for a feasibility report of the new system. The management wants to know the technicalities and cost involved in creation of new system.
- Technical feasibility
- Economic feasibility
- Schedule feasibility
- Physical feasibility
- Technical feasibility:
Technical feasibility involves study to establish the technical capability of the system being created to accomplish all requirements to the user. The system should be capable of handling the proposed volume of data and provide users and operating environment to increase their efficiency.
For example, system should be capable of handling the proposed volume of data and provide users.
- Economic feasibility:
- Economic feasibility involves study to establish the cost benefit analysis. Money spent on the system must be recorded in the form of benefit from the system. The benefits are of two types:
Tangible benefits:
- Saving man labor to do tedious tasks saves time.
Intangible benefits:
- Improves the quality of organization.
- Schedule feasibility:
- Schedule feasibility means that the project can be completed on time.
- The project does not have a deadline but accounting to the proposed system, the development process is on schedule. Therefore, it is feasible.
- Physical feasibility:
It involves study to establish the time responses of the new system being created. For e.g., if the new system takes more than one day to prepare crucial finance statement for the management, wherever it was required in an hour, the system fails to provide the same.
It should be clearly established that the new system requirements in the form of time responses would be completely met with. It may call for increase in cost. If the required cost is sacrificed then the purpose of the new system may not be achieved even if it was found to be technically feasible.
Software Development Life Cycle (SDLC) is a process that aims to develop software with the. Lowest Cost, Highest Quality, and in the Shortest Time. in detail, the SDLC methodology focuses on the following phases of software development:
- Requirement analysis
- Planning
- Software design such as architectural design
- Software development
- Testing
- Deployment
In designing and developing any software, understanding system requirements for existing running system is not very easy to do and also understanding the properties and requirements of a new system is more difficult and requires creative thinking. Once system requirements have been specified and analyze accurately, system design is the first of the three technical activities: design, code and test that is required to build and verify any software.
- ITERATIVE MODEL
The iterative model is also called an incremental model in which a particular project or software is broken down into large numbers of iterations, where each iteration is a complete development loop resulting in a release of executable product or software. A subset of the final product under development, which grows from iteration to iteration to become the final product or software.
Iterative process starts with a simple implementation of a subset of the software requirements and iteratively enhances the evolving versions until the full system is implemented. At each iteration, design modifications are made and new functional capabilities are added. The basic idea behind this method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental).
Figure 1.1: Illustration of Iterative and Incremental Model
Iterative and Incremental development is a combination of both iterative design or iterative method and incremental build model for development. During software development, more than one iteration of the software development cycle may be in progress at the same time. This process may be described as an “evolutionary acquisition” or “incremental build” approach. In this incremental model, the whole requirement is divided into various builds. During each iteration, the development module goes through the requirements, design, implementation and testing phases. Each subsequent release of the module adds function to the previous release. The process continues till the complete system is ready as per the requirement. The key to a successful use of an iterative software development lifecycle is rigorous validation of requirements, and verification & testing of each version of the software against those requirements within each cycle of the model. As the software evolves through successive cycles, tests must be repeated and extended to verify each version of the software.
- When to use iterative model
- This model can be used when the requirements of the complete system are clearly defined and understood.
- Major requirements must be defined; however, some details can evolve with time.
- There is a need to get a product to the market early.
- A new technology is being used
Requirement | Role |
Functional requirement | Admin |
Admin Authentication that is Login, Sign in and Logout Add ticket Change price of ticket Update ticket Manage ticket Submit ticket Print ticket Search ticket by ID Report ticket Add admin |
- Functional requirements are those which are related to the technical functionality of the system.
Table 1.1: Functional Requirements of the software
These are requirements that specifies criteria that can be used to judge the operation of a system in particular conditions, rather than specific behaviors. These non-functional requirements include:
- Security
- This web application provides admin authentication so that only legitimate user is allowed to manage the application.
- Performance
- Fast to response
- Data query and response is fast
- Compatibility
- This web application is compatible with all browsers and other operating systems
- Usability
- This system has a simple and highly interactive user interface which makes is easy for admin to interact through.
- Integrity
- Is the data available when needed?
- Flexibility
- The system is very flexible
- Scalability
- This system can be further modified in the future.
- Capacity
- Memory (storage) what amount of data can the system store?
Taking into account the above, the design and implementation of the final system must be able to:
- Provide a system that generates visitor’s ticket and store visitor’s information
- Assure security and confidentiality of data
- Manage visitor’s ticket and the UI should be user-friendly.
Two persons were involved in the design and implementation of this application which include a student in level 400 who built the user interface and entire project and a student in level 300 who designed the login form.
The Hardware resources used include:
- Processor: Intel core i5
- Processor speed: 2.6 GHz
- RAM: 10GB
- Hard Disk: 40GB to 80 GB
The software resources used include:
- Operating System: Windows 10
Cost Estimation | ||||
Category | Description | Begin Date | End Date | Cost |
UI/UIX Designer, Developer, Tester, Project Manager | Personnel | 11/01/2022 | 11/01/2023 | 3,000,000 CFA |
Design and Building | Contractors | 11/01/2022 | 11/01/2023 | 600,000 FCA |
Communication | Commercial software | 11/01/2022 | 11/01/2023 | 600,000 CFA |
Energy, Water, Power, Waste Management | Infrastructure | 11/01/2022 | 11/01/2023 | 600,000 CFA |
Structure, Fixture and fitting, amenities | Facilities | 11/01/2022 | 11/01/2023 | 300,000 CFA |
Total | 5,100,000 CFA |
Table 2.1: Cost Estimate
CHAPTER 3: SYSTEM ARCHITECTURE
3.1 System Architecture
A system architecture is the conceptual model that defines the structure, behavior, and more views of a system. An architecture description is a formal description and representation of a system, organized in a way that supports reasoning about the structures and behaviors of the system.
Figure 3.1: System Architecture of Park Ticketing Management System
In this system, a 3-tier architecture is being used due to the fact that it Offers higher flexibility as far as configuration and platform deployment is concerned. It improves data integrity. It offers higher level of security as client does not have access to the database directly.
3.1.1 what is a 3-tier architecture?
A 3-tier application architecture is a modular client-server architecture that consists of a presentation tier, an application tier and a data tier.
Presentation tier:
- This tier, which is built with HTML5, cascading style sheets and JavaScript, is deployed to a computing device through a web browser or a web-based application.
Application tier:
- The application tier, which may also be referred to as the logic tier, is written in a programming language such as Java, PHP and contains the business logic that supports the application’s core functions.
Data tier:
- The data tier consists of a database and a program for managing read and write access to a database. This tier may also be referred to as the storage tier and can be hosted on-premises or in the cloud. Popular database systems for managing read/write access include MySQL, PostgreSQL, Microsoft SQL Server and MongoDB.
3.2 Software Architecture
Software architecture is, simply, the organization of a system. This organization includes all components, how they interact with each other, the environment in which they operate, and the principles used to design the software.
Figure 3.2: Software Architecture of Park Ticketing Management System
3.3 System Application
3.3.1 Unified Modelling Language Diagrams (UML):
- The unified modelling language allows the software engineer to express an analysis model using the modelling notation that is governed by a set of syntactic semantic and pragmatic rules.
- A UML system is represented using five different views that describe the system from distinctly different perspective. Each view is defined by a set of diagrams, which is as follows.
User Model View
- This view represents the system from the user’s perspective.
- The analysis representation describes a usage scenario from the end-user’s perspective.
Structural model view
- In this model the data and functionality are arrived from inside the system.
- This model view models the static structures.
Behavioural Model View
- It represents the dynamic of behavioural as parts of the system, depicting the interactions of collection between various structural elements described in the user model and structural model view.
Implementation Model View
- In this the structural and behavioural as parts of the system are represented as they are to be built.
Environmental Model View
In these the structural and behavioural aspects of the environment in which the system is to be implemented are represented.
UML is specifically constructed through two different domains they are
- UML Analysis modelling, which focuses on the user model and structural model views of the system?
- UML design modelling, which focuses on the behavioural modelling, implementation modelling and environmental model views.
3.3.1.1 Use Case Diagram A use case diagram is a graphical depiction of a user’s possible interactions with a system. A use case diagram shows various use cases and different types of users the system has and will often be accompanied by other types of diagrams as well. The use cases are represented by either circles or ellipses and actors are represented as stick figure.
Figure 3.3: Use Case Diagram
3.3.1.2 Class Diagram
Class diagrams are the blueprints of your system or subsystem. You can use class diagrams to model the objects that make up the system, to display the relationships between the objects, and to describe what those objects do and the services that they provide. The main purpose of class diagrams is to build a static view of an application
Figure 3.2: Class Diagram
This application can be applied in amusement park or in a theme park where visitor’s information is being recorded.
The park ticketing management system application can be used in: the following domain
- Theme parks
- Amusement parks
The view below shows an amusement called ALCEF RIVIERA where this Park Ticketing Management System can be used. This Amusement Park is located at mile 4 Limbe in the South west region of Cameroon.
Figure 4.1: Amusement Park Limbe
A piece of data is said to be persistent when its lifetime is independent of that of its creator process. Typical examples of persistent data are the contents of files or databases. Persistent data is static and does not change with time (not dynamic).
ER Diagram stands for Entity Relationship Diagram, also known as ERD is a diagram that displays the relationship of entity sets stored in a database. In other words, ER diagrams help to explain the logical structure of databases. ER diagrams are created based on three basic concepts: entities, attributes and relationships.ER Diagrams contain different symbols such as rectangles to represent entities, ovals to define attribute diamond shapes to represent relationships.
Figure 5.1: Entity Relationship Diagram
A database schema is a structure of a database that defines how data is organized within a relational database.
Figure 5.2: Database schema
This section presents the different interfaces of the park ticketing management system application
Here the admin is able to login with the correct credentials
Figure 3.1: Login Page
In the dashboard, the admin is able to see the number of visitors who visited the park for the previous and present day for both adults and children.
The admin is able to manage and update ticket
Figure 6.3: Manage ticket page
The admin is able to search visitor’s ticket by the ticket ID to get details about the visitor
Figure 6.4: Search Ticket Page
Here, admin can add an admin
Figure 6.5: Add Admin page
This chapter provides details about the implementation and testing of the Park Ticketing Management System application.
7.1 Tools and Technologies used
7.1.1 Adobe Experience Design (Adobe XD)
Adobe XD is a vector-based user experience design tool for web apps and mobile apps, developed and published by Adobe Inc. It is available for macOS and Windows OS.
Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made by Microsoft for Windows, Linux and macOS and is a principal tool to implement and code this application. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git.
7.1.3 Hyper Text Markup Language (HTML), Cascading Stylesheet (CSS) and JavaScript
These are the default languages used to build user interface. HTML and CSS are computer languages that allow you to create web pages (websites). Almost all websites are based on these languages.
HTML is the main markup language for displaying web pages and other information that can be displayed in a web browser. HTML Elements form the building blocks of all websites.
CSS is a stylesheet language used for describing the presentation semantics that is the look and formatting of a document written in a markup language
JavaScript is the programming language of the Web. JavaScript is used by programmers across the world to create dynamic and interactive web content like applications and browsers.
7.1.4 Hypertext Preprocessor (PHP)
PHP is an open-source server-side scripting language designed for Web development to produce dynamic Web pages. It is one of the first developed server-side scripting languages to be embedded into an HTML source document rather than calling an external file to process data. The code is interpreted by a Web server with a PHP processor module which generates the resulting Web page. It is Fast and flexible.
MySQL is an open-source relational database management system (RDMS) that uses SQL. SQL is primarily used to query and operate database systems. MySQL allows you to handle, store, modify and delete data and store data in an organized way.
7.1.6 Google Chrome / Mozilla Firefox Web Browser
In order to view and access this Park Ticketing Management System application, we need a web browser. A web browser is required in viewing and implementation during testing and debugging of our application. The web browser enables us in carrying out online research.
This application was coded in the visual studio code which is an integrated development environment.
Frequent Testing is essential in the development of all engineered products. Software Testing is a method to check whether the actual software product matches expected requirements and to ensure that software product is Defect free. It involves execution of software/system components using manual or automated tools to evaluate one or more properties of interest. The purpose of software testing is to identify errors, gaps or missing requirements in contrast to actual requirements. Software testing is a process that uses both static and dynamic technique of system checking.
1. Unit testing:
A Unit is a smallest testable portion of system or application which can be compiled, liked, loaded, and executed. This kind of testing helps to test each module separately. The aim is to test each part of the software by separating it. It checks that component are fulfilling functionalities or not. This kind of testing is performed by developers.
2. Integration testing:
Integration means combining. For Example, in this testing phase, different software modules are combined and tested as a group to make sure that integrated system is ready for system testing. Integrating testing checks the data flow from one module to other modules. This kind of testing is performed by testers.
3. System testing:
System testing is performed on a complete, integrated system. It allows checking system’s compliance as per the requirements. It tests the overall interaction of components. It involves load, performance, reliability and security testing. System testing most often the final test to verify that the system meets the specification. It evaluates both functional and non-functional need for the testing.
4. Acceptance testing:
Acceptance testing is a test conducted to find if the requirements of a specification or contract are met as per its delivery. Acceptance testing is basically done by the user or customer. However, other stockholders can be involved in this process.
Once the software has been tested and making sure it is free from all bugs and defects, the software is then deployed over the internet.
CONCLUSON
Conclusively, the study shows how to design and develop a Park Ticketing Management System. The system was developed using HTML, CSS JavaScript, PHP programming language for backend and MYSQL for database management system which uses the SQL. This system is a standalone application which requires only an admin to manage the application which can be accessed on desktop. This application consists of features such as manage tickets, add tickets, update tickets, print tickets, report tickets, search tickets and add admin. The development of this application is to help keep details of visitor’s information and to ease stress and save time in an Amusement Park or Theme Park.
RECOMMENDATION
Regarding the design and development of the Park Ticketing Management System that helps to keep details of visitor’s information hence saving time and encouraging more visitors to visit the park, the application should have an online booking of tickets alongside with the various meals and activities of the Amusement or Theme Park where visitors can book tickets.
Also, I recommend Theme or Amusement parks should implement this system in their parks.
Moreover, for future recommendation this system should be updated and upgraded to mobile version.
Feasibility Study – Definition, How to Conduct, Contents (corporatefinanceinstitute.com) Accessed on the 12th November 2022, at 3am.
2. https://www.techtarget.com/searchsoftwarequality/definition/3-tier-application
Accessed on the 7th January 2022, at 8pm.
3.https://www.castsoftware.com/glossary/what-is-software-architecture-tools-design-definition-explanation Accessed on the 12th January 2022, at 11pm.
4. Use case diagram – Wikipedia Accessed on the 15th January 2022, at 3pm.
5. https://www.guru99.com/er-diagram-tutorial-dbms.html#1 Accessed on the 4th February 2022, at 5pm.
6. SDLC Tutorial (tutorialspoint.com) Accessed on the 3rd March 2022, at 9am.
7. https://park.alcef.com Accessed on the 2nd May 2022, at 2am.
Related articles