Vous êtes sur la page 1sur 16

Movie Ticket Booking

Abstract
This project is aimed to provide the customers facility to book tickets for cinema halls online,
through which they can book tickets anytime , anywhere. E-ticket system is basically made for
providing the customer an anytime and anywhere service for booking the seat in the cinema hall
and to gather information about the movies online. The user can easily be able to know about the
movies released and then make the choice.

The main purpose of our online ticket booking system is to provide another way for the customer
to buy cinema ticket. It is an automatic system.

This system is basically aimed to provide the customer the complete information of the movie,
according to which the customer can book the tickets and the refund facility provides more
flexibility to the system.

The goals of our system are:


 To provide a anytime anyplace service for the customer.
 To minimize the number of staff at the ticket box.
 To promote the film on the internet.
 To increase the profit
Introduction

The movie ticket booking system has been developed to override the problems prevailing
in the practicing manual system. This system is supported to eliminate and in some cases
reduce the hardships faced by this existing system. Moreover this system is designed for
the particular need of the company to carry out operations in a smooth and effective
manner. The application is reduced as much as possible to avoid errors while making the
data it provides error message while entering invalid data. No formal knowledge is needed
for the user to use this system. Thus, by this all it proves it is user friendly. Online movie
ticket booking system as described above can lead to error free, secure, reliable and first
management system. It can assist the user to concentrate on their other activities rather
than to concentrate on a Record Keeping. Thus, it will help Organisation in better
utilisation of resources.

System Requirements

Functional Requirements

Functional Requirement defines a function of software system and how the system must behave
when presented with specific inputs or conditions. These may include calculations, data
manipulation and processing and other specific functionality. The functional requirements of the
project are one of the most important aspects in terms of entire mechanism of modules.
The functional requirements here are:

Non Functional Requirements

 Reliability
The framework ought to be dependable and solid in giving the functionalities. When a
client has rolled out a few improvements, the progressions must be made unmistakable by
the framework. The progressions made by the Programmer ought to be unmistakable both
to the Project pioneer and in addition the Test designer.
 Security
Aside from bug following the framework must give important security and must secure
the entire procedure from smashing. As innovation started to develop in quick rate the
security turned into the significant concern of an association. A great many dollars are
put resources into giving security. Bug following conveys the greatest security accessible
at the most noteworthy execution rate conceivable, guaranteeing that unapproved clients
can't get to imperative issue data without consent. Bug following framework issues
diverse validated clients their mystery passwords so there are limited functionalities for
all the clients.
 Maintainability
The framework observing and upkeep ought to be basic and target in its approach. There
should not be an excess of occupations running on diverse machines such that it gets hard
to screen whether the employments are running without lapses.
 Performance
The framework will be utilized by numerous representatives all the while. Since the
framework will be facilitated on a solitary web server with a solitary database server out
of sight, execution turns into a noteworthy concern. The framework ought not succumb
when numerous clients would be utilizing it all the while. It ought to permit quick
availability to every last bit of its clients. For instance, if two test specialists are all the
while attempting to report the vicinity of a bug, then there ought not to be any irregularity
at the same time.

 Portability
The framework should to be effectively versatile to another framework. This is obliged
when the web server, which s facilitating the framework gets adhered because of a few
issues, which requires the framework to be taken to another framework.

 Scalability
The framework should be sufficiently adaptable to include new functionalities at a later
stage. There ought to be a typical channel, which can oblige the new functionalities.
 Flexibility
Flexibility is the capacity of a framework to adjust to changing situations and
circumstances, and to adapt to changes to business approaches and rules. An adaptable
framework is one that is anything but difficult to reconfigure or adjust because of diverse
client and framework prerequisites. The deliberate division of concerns between the
trough and motor parts helps adaptability as just a little bit of the framework is influenced
when strategies or principles change.

Hardware Requirements

System : Intel i3 2.1 GHZ

Memory : 4GB.

Hard Disk : 40 GB.

Monitor : 15 VGA Colour.

Mouse : Logitech.

Software Requirements
Operating System : Windows 7 / 8.

Language : JAVA, J2EE

Database : MySQL

Tool : NetBeans, Navicat

System Design

System Architecture (Explain each module)

ER Diagram (apply ER-mapping rules)

An Entity Relationship (ER) Diagram is a type of flowchart that illustrates how “entities” such
as people, objects, or concepts relate to each other within a system. An Entity Relationship
diagram describes inter-related things of interest in a specific domain of knowledge. An ER
model is composed of entity types and specific relationships that can exist between instances of
those entity types.

Normalize the relations

Normalization

Database normalization, or simply normalization, is the process of organizing


the columns (attributes) and tables (relations) of a relational database to reduce data
redundancy and improve data integrity. Normalization is accomplished by applying some formal
rules either by a process of synthesis or decomposition. Synthesis creates a normalized database
design based on a known set of dependencies. Decomposition takes an existing database design
and improves it based on the known set of dependencies.There are three types of normal forms:

1. 1NF (First Normal Form)


2. 2NF (Second Normal Form)
3. 3NF (Third Normal Form)
1 First Normal Form
First normal form is considered to be part of a relation in the basic relational model. It disallows
multivalued attributes, composite attributes, and their combinations. It states that the domain of
an attribute must include only atomic values and that the value of any attribute must be a single
value from the domain of the attribute. Hence, 1NF disallows having a set of values, a tuple of
values, or a combination of both as an attribute value for a single tuple. 1NF disallows relation
within relations or relations as attribute values within tuple.
2 Second Normal Form
Second normal form is based on the concept of full functional dependency. A functional
dependency X→Y is a full functional dependency if removal of any attribute A from X means
that the dependency does not hold anymore; i.e, for any attribute A ƭ X,(X-{A}) does not
functionally determine Y. A functional dependency X→Y is a partial dependency if some
attribute A ƭ X can be removed from X and the dependency still holds
3 Third Normal Form
Third normal form is based on the concept of transitive dependency. A functional
dependency X→Y in a relation schema R is a transitive dependency if there exists a set of
attributes Z in R that is neither a candidate key nor a subset of any key of R 11, and both X→Z
and Z→Y hold. The dependency is transitive because both the dependencies is neither a key
itself nor a subset.

NORMALIZATION

Schema diagram

The schema diagram formulates all the constraints that are to be applied on the data, A database
schema defines its entities and the relationship among them. It contains a descriptive detail of the
database, which can be depicted by means of schema diagram.
Primary Key: There can be more than one candidate key in a relation out of which one can be
chosen as primary key

Foreign Key: If an attribute can only take the values which are present as values of some other
attribute, it will be foreign key to the attribute to which it refers. The relation which is being
referenced is called referenced relation and corresponding attribute is called referenced attribute
and the relation which refers to referenced relation is called referencing relation and
corresponding attribute is called referencing attribute. Referenced attribute of referencing
attribute should be primary key.

System Implementation

 Tools and languages used

Tools
NetBeans IDE
NetBeans IDE is the official IDE for Java 8. With its editors, code analyzers, and
converters, you can quickly and smoothly upgrade your applications to use new Java 8 language
constructs, such as lambdas, functional operations, and method references. Batch analyzers and
converters are provided to search through multiple applications at the same time, matching
patterns for conversion to new Java 8 language constructs. With its constantly improving Java
Editor, many rich features and an extensive range of tools, templates and samples, NetBeans IDE
sets the standard for developing with cutting edge technologies out of the box. An IDE is much
more than a text editor. The NetBeans Editor indent lines, matches words and brackets, and
highlight source code syntactically and semantically. It also provides code templates, coding tips,
and refactoring tools. The editor supports many languages from Java, C/C++, XML and HTML,
to PHP, Groovy, Javadoc, JavaScript and JSP. Because the editor is extensible, you can plug in
support for many other languages. Keeping a clear overview of large applications, with
thousands of folders and files, and millions of lines of code, is a daunting task. NetBeans IDE
provides different views of your data, from multiple project windows to helpful tools for setting
up your applications and managing them efficiently, letting you drill down into your data quickly
and easily, while giving you versioning tools via Subversion, Mercurial, and Get integration out
of the box. When new developers join your project, they can understand the structure of your
application because your code is well-organized.
Design GUIs for Java SE, HTML5, Java EE, PHP, C/C++, and Java ME applications
quickly and smoothly by using editors and drag-and-drop tools in the IDE. For Java SE
applications, the NetBeans GUI Builder automatically takes care of correct spacing and
alignment, while supporting in-place editing, as well. The GUI builder is so easy to use and
intuitive that it has been used to prototype GUIs live at customer presentations. The cost of
buggy code increases the longer it remains unfixed. NetBeans provide static analysis tools,
especially integration with the widely used FindBugs tool, for identifying and fixing common
problems in Java code. In addition, the NetBeans Debugger lets you place breakpoints in your
source code, add field watches, step through your code, run into methods. The NetBeans Profiler
provides expert assistance for optimizing your application's speed and memory usage, and makes
it easier to build reliable and scalable Java SE, JavaFX and Java EE applications. NetBeans IDE
includes a visual debugger for Java SE applications, letting you debug user interfaces without
looking into source code. Take GUI snapshots of your applications and click on user interface
elements to jump back into the related source code.

Fig: Snap Shot of Net Beans

Navicat
Navicat Premium is a multi-connections database administration tool allowing you to
connect to MySQL, MariaDB, SQL Server, and SQLite, Oracle and PostgreSQL databases
simultaneously within a single application, making database administration to multiple kinds of
database so easy.
Navicat Premium combines the functions of other Navicat members and supports most of
the features in MySQL, MariaDB, SQL Server, SQLite, Oracle and PostgreSQL including Stored
Procedure, Event, Trigger, Function, View, etc.
Navicat Premium enables you to easily and quickly transfer data across various database
systems, or to a plain text file with the designated SQL format and encoding. Also, batch job for
different kind of databases can also be scheduled and run at a specific time. Other features
include Import/ Export Wizard, Query Builder, Report Builder, Data Synchronization, Backup,
Job Scheduler and more. Features in Navicat are sophisticated enough to provide professional
developers for all their specific needs, yet easy to learn for users who are new to database server.
Establish a secure SSH session through SSH Tunnelling in Navicat. You can enjoy a
strong authentication and secure encrypted communications between two hosts. The
authentication method can use a password or public / private key pair. And, Navicat comes with
HTTP Tunnelling while your ISPs do not allow direct connections to their database servers but
allow establishing HTTP connections. HTTP Tunnelling is a method for connecting to a server
that uses the same protocol (http://) and the same port (port 80) as a webserver does.

Languages:

Overview of Java/JSP
Java was conceived by James Gosling, Patrick Naughton, Chris wrath, Ed Frank, and
Mike Sheridan at Sun Micro system. It is a platform independent programming language that
extends its features wide over the network. Java2 version introduces a new components than are
possible with AWT
• It’s a light weight package, as they are not implemented by platform-specific code.
• Related classes are contained in javax.swing and its sub packages, such as
javax.swing.tree
• Components explained in the swing have more capabilities than those of AWT.
The Java programming language is a high-level language that can be characterized by all of
the following buzzwords
• Simple
• Architecture neutral
• Object oriented
• Portable
• Distributed
• High performance
• Interpreted
• Multithreaded
• Robust
• Dynamic
• Secure

With most programming languages, it either compile or interpret a program so that it can
run it on our computer. The Java programming language is unusual in that a program is both
compiled and interpreted. With the compiler, first it translate a program into an intermediate
language called Java byte codes.
Java byte codes are the platform-independent codes interpreted by the interpreter on the
Java platform. The interpreter parses and runs each Java byte code instruction on the computer.
Compilation happens just once; interpretation occurs each time the program is executed. The
following figure illustrates how this works.

Fig. Java Programming Language Execution


We can think of Java byte codes as the machine code instructions for the Java Virtual
Machine (Java VM). Every Java interpreter, whether it’s a development tool or a Web browser
that can run applets, is an implementation of the Java VM. Java byte codes help make “write
once, run anywhere” possible. You can compile your program into byte codes on any platform
that has a Java compiler. The byte codes can then be run on any implementation of the Java VM.
That means that as long as a computer has a Java VM, the same program written in the Java
programming language can run on Windows 2000, a Solaris workstation, or on an iMac.
Fig. Sample program execution

Java Server Pages

JavaServer Pages(JSP) are a technology that helps software developers create


dynamically generated web pages based on HTML,XML, or other document types. Released in
1999 by Sun Microsystems, JSP is similar to PHP, but it uses the Java programming language.
To deploy and run JavaServer Pages, a compatible web server with a servlet container, such
as Apache Tomcat or Jetty, is required.

Architecturally, JSP may be viewed as a high-level abstraction of Java servlets. JSPs are
translated into servlets at runtime each JSP, servlet is cached and re-used until the original JSP is
modified.

JSP can be used independently or as the view component of a server-side model–view–


controller design, normally with JavaBeans as the model and Java servlets (or a framework such
as Apache Struts) as the controller. This is a type of Model 2 architecture.

JSP allows Java code and certain pre-defined actions to be interleaved with static web
markup content, with the resulting page being compiled and executed on the server to deliver a
document. The compiled pages, as well as any dependent Java libraries, use Java bytecode rather
than a native software format. Like any other Java program, they must be executed within a Java
virtual machine (JVM) that integrates with the server's host operating system to provide an
abstract platform-neutral environment.

JSPs are usually used to deliver HTML and XML documents, but through the use of
OutputStream, they can deliver other types of data as well.

The Web container creates JSP implicit objects like pageContext, ServletContext,
session, request & response.
Fig.: jsp model

A JavaServer Pages compiler is a program that parses JSPs, and transforms them into
executable Java Servlets. A program of this type is usually embedded into the application
server and run automatically the first time a JSP is accessed, but pages may also be recompiled
for better performance, or compiled as a part of the build process to test for errors. Some JSP
containers support configuring how often the container checks JSP file timestamps to see
whether the page has changed. Typically, this timestamp would be set to a short interval (perhaps
seconds) during software development, and a longer interval (perhaps minutes, or even never)
for a deployed Web application.

Java Servlet

The servlet is a Java programming language class used to extend the capabilities of
a server. Although servlets can respond to any types of requests, they are commonly used to
extend the applications hosted by web servers, so they can be thought of as Java applets that run
on servers instead of in web browsers. These kinds of servlets are the Java counterpart to other
dynamic Web content technologies such as PHP and ASP.NET.
Fig.: Life of a jsp file

Three methods are central to the life cycle of a servlet. These are init(), service(),
and destroy(). They are implemented by every servlet and are invoked at specific times by the
server.

 During the initialization stage of the servlet life cycle, the web container initializes the
servlet instance by calling the init() method, passing an object implementing the
javax.servlet.ServletConfig interface. This configuration object allows the servlet to
access name-value initialization parameters from the web application.
 After initialization, the servlet instance, can service client requests. Each request is serviced
in its own separate thread. The web container calls the service () method of the servlet for
every request. The service () method determines the kind of request being made and
dispatches it to an appropriate method to handle the request. The developer of the servlet
must provide an implementation for these methods. If a request is made for a method that is
not implemented by the servlet, the method of the parent class is called, typically resulting in
an error being returned to the requester.
 Finally, the web container calls the destroy () method that takes the servlet out of service.
The destroy () method, like init(), is called only once in the lifecycle of a servlet.

The following is a typical user scenario of these methods.

1. Assume that a user requests to visit a URL.

 The browser then generates an HTTP request for this URL.


 This request is then sent to the appropriate server.
2. The HTTP request is received by the web server and forwarded to the servlet container.
 The container maps this request to a particular servlet.
 The servlet is dynamically retrieved and loaded into the address space of the
container.
3. The container invokes the init() method of the servlet.
 This method is invoked only when the servlet is first loaded into memory.
 It is possible to pass initialization parameters to the servlet so that it may configure
itself.
4. The container invokes the service() method of the servlet.
 This method is called to process the HTTP request.
 The servlet may read data that have been provided in the HTTP request.
 The servlet may also formulate an HTTP response for the client.
5. The servlet remains in the container's address space and is available to process any other
HTTP requests received from clients.
 The service() method is called for each HTTP request.
6. The container may, at some point, decide to unload the servlet from its memory.
 The algorithms by which this decision is made are specific to each container.
7. The container calls the servlet's destroy() method to relinquish any resources such as file
handles that are allocated for the servlet; important data may be saved to a persistent store.
8. The memory allocated for the servlet and its objects can then be garbage collected.
MySQL

Structured Query Language is a special-purpose programming language designed for


managing data held in a relational database management system (RDBMS).Originally based
upon relational algebra and tuple relational calculus, SQL consists of a data definition
language and a data manipulation language. The scope of SQL includes data insert,
query, update and delete, schema creation and modification, and data access control. Although
SQL is often described as, and to a great extent is, a declarative language (4GL), it also includes
procedural elements.

SQL was one of the first commercial languages for Edgar F. Codd's relational model, as
described in his influential 1970 paper, "A Relational Model of Data for Large Shared Data
Banks." Despite not entirely adhering to the relational model as described by Codd, it became the
most widely used database language.

SQL became a standard of the American National Standards Institute(ANSI) in 1986, and
of the International Organization for Standardization(ISO) in 1987. Since then, the standard has
been enhanced several times with added features. Despite these standards, code is not completely
portable among different database systems, which can lead to vendor lock-in. The difference
makers do not perfectly adhere to the standard, for instance by adding extensions, and the
standard itself is sometimes ambiguous.

 Source code for all functions.


Conclusion

We propose a system which is more reliable, entertaining and easy than the present system. Our
solution targets those users who do not have spare time to stand in queue for booking tickets. We
propose an easy way of ordering and paying for the tickets without any delays and
inconvenience. Book tickets to people who, without his physical presence is assured of a ticket
before going to the theater. Customers who book tickets on their mobile phones, an instant
messaging (m-ticket) will receive. By splashing the M- ticket at the counter of the multiplex, the
client can receive physical tickets. No longer issue tickets to staff at the multiplex complex
manual ticket availability and tracking system is needed. Ticket information can be accessed at
any time for verification, which is safely stored in a database.

Vous aimerez peut-être aussi