3 CHAPTER THREE
METHODOLOGY
3.1 INTRODUCTION
This chapter presents the overall system architecture's design aspects. The procedures employed in
designing the software implementations are extensively discussed. The software design describes
the steps taken to create the web application; which shows the different technologies utilized to
accomplish the project;
3.2 DESIGN REQUIREMENT
The design requirement provide a detailed description of how the system is designed to meet the
functional and non-functional requirements. In this section, we will categorize the design
requirements into functional and non-functional requirements.
3.2.1 Functional Requirement
The functional requirements of the application are the basic functions that should be offered by the
system to give the respected output. These requirements address the system's core capabilities and
define what it should be able to do. Customers will be able to register, login, and browse the movie
catalogue at the cinema using the website as an interface. Users will also be able to browse and
book multiple show offerings for a specific set of movies. Users can also choose the number of
seats and the specific seats they want to book. Users will also have access to a profile page where
they can update their information and view current and previous bookings. Customers will also
receive digital tickets for their bookings via the web application. The functional requirements are:
a) Registration of Users: Users must provide a username, an email address, and a secure
password to create an account (for future logins).
b) User Homepage: After logging in successfully, users are taken to a personalized homepage
where they can explore the following options: Keep up to date on upcoming movies. Search
for a specific movie with ease. Examine the various show times for each film. Check the
availability of seats for a specific show.
c) Admin Login: The administrator enters their admin username and password to access their
account.
d) Booking Tickets: Users can reserve available tickets, select the desired number of seats, and
secure their reservations for a specific Showtime.
e) Manage Movies: The admin has the authority to manage movies, including adding new ones
and removing old ones.
f) Manage Users: Admins can manage user accounts, adding new users, deleting users, and
even creating new admin accounts.
g) Manage Shows: Administrators have access to show schedules and can add or remove show
times for existing movies.
h) User Profile: Following ticket bookings, users can access their profile page to review their
booking history.
3.2.2 Non-Functional Requirement
In addition to the functional requirements, non-functional requirements define the qualities and
characteristics of the application.
a) Usability: The system provide a seamless user interface and experience which is easy to use
and navigate by users
b) Scalability: The services used on the system is capable for handling concurrent users without
significant degradation in performance.
c) Security: The system employs a robust security framework to avoid various cyber threats
like cross-site scripting and SQL injection.
d) Reliability: The system is highly reliable, it has reduced downtime and highly available to
users.
e) Integration: For expansion, the system could be integrated with various systems.
f) Maintainability: The system is developed in a modular manner, in other to facilitate future
enhancement and maintenance.
3.3 SYSTEM DESIGN
The Improved Cinema booking experience can be implemented using various technologies and
framework. In implementing the system a combination of technologies is used for the front-end,
back-end, database and machine learning.
3.3.1 Design and modelling of the web application
i. Front-end design: The frontend design was implemented with pure HTML and CSS
technology using the bootstrap framework for customization and designing it to be more
user friendly.
ii. Backend design: The backend of this web application is developed using a combination of
PHP and JavaScript. PHP provides the server-side scripting capabilities, while JavaScript
enhances the client-side interactivity. PHP is a versatile and secure scripting language that
ensures the web application's robust performance. Additionally, JavaScript is employed to
create dynamic and responsive user experiences. The backend also incorporates various
tools and libraries for seamless communication with the database
iii. Database design: The database is created with MySQL and various tables are created and
connected with a connector to the backend.
3.3.2 User Interface mockup design
The UI mockup design is shown below, the mockup design is used to implement the user frontend
design.
Figure 3.1: User Login and Registration
Figure 3.2: User Homepage
Figure 3.3: Movie Information Page
Figure 3.4: Seat selection Page
Figure 3.5: Admin Functionality page
3.4 UML DIAGRAM
The Unified modelling language UML diagrams provide a graphical representation of the entire
system, it shows a schematic approach of implementing the system. Use case diagram, activity
diagram and conceptual diagram is modelled.
3.4.1 Use case diagram
Figure 3.6 represents the use case diagram of the system. It shows the different interactions between
users (actors) and the system. The actors are the users/visitors and the administrator.
Figure 3.6: Use Case Diagram
3.4.2 Conceptual Design
Figure 3.7: Conceptual Design diagram
i. Users are distinguished by their unique Username and accompanied by other attributes like
Email and Password.
ii. Admins, a subset of Users, possess distinct attributes such as AdminId and JoiningDate.
iii. Bookings are recognized by their unique BookingId and encompass details like Username,
Timestamp, and ShowId.
iv. Seats are differentiated by SeatId and their association with BookingId, along with
characteristics like Availability.
v. Movies are individually identified through MovieId and encompass descriptors such as
MovieName, Description, ReleaseDate, and AdminId.
vi. Shows are uniquely identified by ShowId and their connection to MovieId. They comprise
details like ShowTiming, Screen, Price, and AdminId.
3.4.3 Database Design
The database comprises of various tables and fields, they are listed below with their field attribute
and properties
User Table
Username: VARCHAR(32) [Primary Key]
Email: VARCHAR(64)
Password: VARCHAR(128) [Password stored with MD5 hashing for 128-bit security]
Admin Table
Username: VARCHAR(32) [Primary Key]
AdminId: INT
JoiningDate: DATE
Admin is a generalization (subclass) of User (superclass)
Movie Table
MovieId: INT [Primary Key]
MovieName: VARCHAR(150)
Description: VARCHAR(1024)
ReleaseDate: DATE
AdminId: INT [Foreign Key referencing [Link]]
Show Table
ShowId: INT [Primary Key]
MovieId: INT [Foreign Key referencing [Link]]
ShowTiming: DATETIME
Screen: INT
Price: REAL
AdminId: INT [Foreign Key referencing [Link]]
ShowId and MovieId uniquely identify a particular record
Booking Table
BookingId: INT [Primary Key]
Username: VARCHAR(32) [Foreign Key referencing [Link]]
Timestamp: DATETIME
ShowId: INT [Foreign Key referencing [Link]]
Seat Table
SeatId: INT [Primary Key]
BookingId: INT [Foreign Key referencing [Link]]
Availability: BOOLEAN
SeatId and BookingId uniquely identify a particular record
These table definitions provide a detailed overview of the database schema, including the
relationships between tables and the primary key (PK) and foreign key (FK) constraints for data
integrity.
Figure 3.8: Database Schema
3.5 SYSTEM REQUIREMENT
In developing the improved movie booking experience application it requires some basic hardware
and software requirement to support the computational needs and ensure the system meets up with
the functionalities.
3.5.1 Hardware requirement
Table 3.1: Hardware requirement
Hardware Minimum System Requirements
Processor 1GHz processor speed
Memory (RAM) 512MB
Internal Memory 1GB
3.5.2 Software requirement
Software Minimum System Requirements
Operating System (OS) Windows 8 OS and above
Database Management System MYSQL
Technologies PHP 7, HTML
Libraries
3.5.3 XAMPP Server
XAMPP is a popular cross-platform web server that allows developers to build and test
applications locally. It was produced by Apache Friends, and its native source code may be
revised or modified by anybody. It includes MariaDB, Apache HTTP Server, and PHP and Perl
interpreters, among other things. Figure 3.10 shows the XAMPP interface.
Figure 3.9: Xampp Interface
3.5.4 NetBeans IDE
NetBeans provides a free and open-source integrated development environment (IDE) that
supports C/C++, PHP, Groovy, and HTML5. NetBeans is also known as a modular Java
desktop application development platform. NetBeans uses components, also known as
modules, to help with program development. NetBeans dynamically installs modules and
allows users to download digitally authorized new features and upgrades. Among the IDE's
components are NetBeans Profiler, a graphical user interface (GUI) design tool, and
NetBeans JavaScript Editor. The NetBeans framework's reusability makes it easier to create
Java Swing desktop applications, allowing third-party developers to extend the platform.
Figure 3.10: Netbeans IDE
3.5.5 HTML
HTML, which stands for Hypertext Markup Language, serves as a fundamental tool in web
development. It is instrumental in crafting web pages, web applications, and dynamic content.
HTML operates as a markup language, primarily employed to construct and structure web pages,
enhancing their visual appeal and interactivity.
3.5.6 CSS
Cascading Style Sheet is referred to as CSS. It was this tool that was used to style the websites.
Using this script on HTML-generated pages produced stunning aesthetics for the system while
maintaining a simple code because styling was handled in a separate CSS Style sheet.
3.5.7 PHP
PHP is a recursive acronym for hypertext preprocessor, it is also known as personal homepage, PHP
is an open-source server-side scripting language, it is used mostly in creating web server, it runs on
browser side and can also run on the command line. PHP connects to all databases, both relational
and non-relational, with ease. As a result, it can quickly connect to MySQL, MongoDB, or any
other database.
3.5.8 MySQL
The Open-Source Interactive SQL Database Management System MySQL is the most widely used.
MySQL is a widely used relational database management system (RDBMS) for developing online
applications. MySQL AB is a Swedish business, it is in charge of its development, marketing, and
support. Here are some of MySQL's benefits:
3.5.9 Bootstrap
Bootstrap is a free open-source front-end HTML, CSS, and JavaScript framework, it is a huge
collection of reusable bits of code written in CSS, HTML and JavaScript, it is used for faster and
responsive web page development.
3.5.10 JavaScript
JavaScript is high level programming language which is used to provide logic to a web page.
JavaScript was created to "bring online sites to life." Scripts are the name for the programs written
in this language. They may be written directly in a web page's HTML and run when the page is
loaded. Scripts are provided in plain text format and are executed in that format. They don't need
any further setup or compilation to work.