You are on page 1of 44

INTRODUCTION 1.

1 Problem Statement
Existing system has two ways of booking tickets for a movie:1) One is to book tickets at the ticket counter of respective cinema hall this is a hectic process where one should stand in long queues for hours. 2) Another one is through phone called as Tele booking. Tele booking was introduced keeping in view the users comfort while booking tickets. But in Tele-booking also sometimes user has to wait for lot of time due to busy telephone connection and also the user is bounded in time limit, User can not book ticket neither at late night nor at early morning because there is no one to attend calls at that time.

1.2 Objectives
This project is aimed at developing an online ticket reservation system for Cinema Halls in city. User can also see latest release of movies, ticket fare and availability of seats in desired Cinema Hall. This is a convenient and simple way to reserve your movie tickets.

1.3 Scope
The scope of this application is over the users who want to book movie tickets or want to check availability or fare in Cinema Hall .This project is applicable for Cinema Halls. End user is facilitated with simple booking of movie ticket online. The same concept of online movie ticket booking can be applicable to booking for cricket match, play, amusement parks and many more.

1.4 Platform Specification 1.4.1 Hardware Requirement

Hardware Random Access Memory(RAM) Hard Disk Drive(HDD) Processor

Server Machine 512 MB or more

Client Machine 128 MB or more

40 GB or more Pentium 4(3.8GHz)

10 GB or more Pentium 2(400MHz)

1.4.2 Software Requirement


Server Machine Java Development Kit Any Operating System Any database Client Machine Web browser Any Operating System

System Analysis 2.1 Identification of need

In any movie ticket booking, there are many theatres, many movies and so must be a proper communication between the management system and the customers of the theatres. This is where many theatres missing a common platform to be accessible to the administrators and the customers. The project entitled Movie Ticket Booking is an attempt to fulfill the requirements It keeps the information about theatres, movie details, show timings which can be accessed by the administrator and the customers from anywhere in the world through internet, hence accessing the information online will make it easy to view and book tickets.

Feasibility Study
Feasibility study refers to the implementation of the project; Can the project be implemented? If yes then what technology we should, are we capable of using
3

that technology, can that technology can meet the system specifications etc. These questions are asked under feasibility. In feasibility we prepare our self with complete documentation about project such as what technology we should use? Etc. In any project feasibility is the most important factor. Once we are aware of the feasibility we can implement the project much easily as compared. Feasibility study is divided into two parts: Technical Feasibility

Economical Feasibility

3.1 Technical Feasibility


Technical feasibility defines all technical specifications of the project. First of all the project is technically feasible or not. If it is feasible; then what technology would be better such as JAVA, .NET, PHP, HTML, C++ etc. Our project is Movie Ticket Booking is technically feasible. Today we have many tools in which web application can be done easily and efficiently. In terms of technology we have used JAVA as front end design tool and MySQL database as back end tool. All the tools are easily available and are capable of meeting our requirements. We do have capability in working on these tools efficiently. JAVA is one of the most trusted and easy tool for developing a web based project as it contains the entire feature required for web application.

3.2 Economical Feasibility


Economic feasibility defines all economic aspects related to our project. In economic feasibility we study the project thoroughly and estimate a cost of the
4

project. In this cost we include everything such as salary of employees throughout the project. If we need any specific tool for the project then cost of that tool is also considered. When all the aspects have been studied then estimated cost is discussed with the client; and if client agrees to pay accordingly to our requirement then the project is said to be economically feasible. Our project Movie Ticket Booking is economically feasible as the software which we are using are open source and freely available.

Literature Survey

Before moving to the planning and study we made a thorough survey of the literature. We related our project topic to existing knowledge in our area of interest.

4.1 Benefits
In todays time every one has busy life. Every one wants to do work fast. So the online movie ticket booking will facilitate the user to book the ticket any time from anywhere. This project has following benefits: Time saving As the customer can book tickets online instead of booking by reaching in theatres itself; this saves his/ her time to an extent.
No time boundation.

There is no time limit on customers. He/she can book ticket anytime. Complete Details The complete details of theatres and movies are available to the customers online. This will be an important benefit for them.

4.2 Proposed Solution


Movie Ticket booking system is one of the essential applications of E-commerce. With the development of Internet and security technology, more and more people begin to consume online, which is more convenient and personal than traditional way. The goal of this system is to make people book tickets easily. By this type of Movie Ticketing system we are trying to solve many problems. Using Online Movie Ticketing user can book ticket from anywhere and at any time.

4.3 Technologies
In this project- Movie Ticket Booking we have used following technologies explained as below: 1. JAVA (Front End Tool) 6

2. MySQL(Back End Tool) 3. Netbeans

Front End Tools:As a Front End development tool we are using JAVA. JAVA is a general purpose class based, object oriented programming language.

Why JAVA is important to the Internet:


The Internet helped catapult Java to the forefront of programming, and Java, in turn, has had a profound effect on the Internet. The reason for this is quite simple: Java expands the universe of objects that can move about freely in cyberspace. In a network, two very broad categories of objects are transmitted between the server and your personal computer: passive information and dynamic, active programs.

Features of JAVA:THE JAVA LANGUAGE

Simple:Because Java inherits the C/C++ syntax and many of the object-oriented features of C++, this makes the JAVA a simple language.

Object Oriented:-

JAVA is object oriented. Almost everything in JAVA is an object. The object model in Java is simple and easy to extend, while simple types, such as integers, are kept as highperformance objects.

Robust:JAVA is robust because memory management is difficult, tedious task in other programming languages For example, in C/C++, the programmer must manually allocate and free all dynamic memory. This sometimes leads to problems, because programmers will either forget to free memory that has been previously allocated or, worse, try to free some memory that another part of their code is still using. Java virtually eliminates these problems by managing memory allocation and de-allocation (In fact, de-allocation is completely automatic, because Java provides garbage collection for unused objects.)

Multithreaded:Java was designed to meet the real-world requirement of creating interactive, networked programs. To accomplish this, Java supports multithreaded programming, which allows us to write programs that do many things simultaneously. The Java run-time system comes with an elegant yet sophisticated solution for multi process synchronization that enables you to construct smoothly running interactive systems. Javas easy-to-use approach to multithreading allows you to think about the specific behaviour of your program, not the multitasking subsystem.

Interpreted and High Performance:-

As described earlier, Java enables the creation of cross-platform programs by compiling into an intermediate representation called Java byte code. This code can be interpreted on any system that provides a Java Virtual Machine. Most previous attempts at cross platform solutions have done so at the expense of performance .The Java byte code was carefully designed so that it would be easy to translate directly into native machine code for very high performance by using a just-in-time compiler. Java run-time systems that provide this feature lose none of the benefits of the platform-independent code. Highperformance cross-platform is no longer an oxymoron.

Distributed:Java is designed for the distributed environment of the Internet, because it handles TCP/IP protocols. In fact, accessing a resource using a URL is not much different from accessing a file. The original version of Java (Oak) included features for intra addressspace messaging. This allowed objects on two different computers to execute procedures remotely. Java revived these interfaces in a package called Remote Method Invocation (RMI). This feature brings an unparalleled level of abstraction to client/ server programming.

Dynamic:Java programs carry with them substantial amounts of run-time type information that is used to verify and resolve accesses to objects at run time. This makes it possible to dynamically link code in a safe and expedient manner. This is crucial to the robustness of the applet environment, in which small fragments of byte code may be dynamically updated on a running system

Back End Tool


9

MySQL is a relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases. The MySQL development project has made its source code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements. MySQL was owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by Oracle Corporation. Free-software-open source projects that require a full-featured database management system often use MySQL. For commercial use, several paid editions are available, and offer additional functionality. Applications which use MySQL databases include: Joomla, WordPress, MyBB, phpBB, Drupal and other software built on the LAMP software stack. MySQL can be built and installed manually from source code, but this can be tedious so it is more commonly installed from a binary package unless special customizations are required. On most Linux distributions the package management system can download and install MySQL with minimal effort, though further configuration is often required to adjust security and optimization settings.

Software engineering approach

10

5.1 Software engineering paradigm applied (Software model used)

5.1.1 Description
The incremental build model is a method of software development where the model is designed, implemented and tested incrementally (a little more is added each time) until the product is finished. It involves both development and maintenance. The product is defined as finished when it satisfies all of its requirements. This model combines the elements of the waterfall model with the iterative philosophy of prototyping. The product is decomposed into a number of components, each of which are designed and built separately (termed as builds). Each component is delivered to the client when it is complete. This allows partial utilization of product and avoids a long development time. It also creates a large initial capital outlay with the subsequent long wait avoided. This model of development also helps ease the traumatic effect of introducing completely new system all at once. There are, overall, few problems with this model.

5.1.2 Advantages & Disadvantages

11

Advantages 1) Generates working software quickly and early during the software life cycle. 2) More flexible -less costly to change scope and requirements. 3) Easier to test and debug during a smaller iteration. 4) Easier to manage risk because risky pieces are identified and handled during its iteration.

Disadvantage 1) Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle.

5.1.3 Reason for use


We are using this model because incremental model is more flexible - less costly to change scope and requirements. Intermediate delivery is possible during the development of the product. Customer does not have to wait until the entire system is delivered. There is low risk of over all project failure, because of intermediate delivery of project.

5.2 Requirement analysis

12

5.2.1 Software requirement specification


Software & Hardware Used

Software Operating System Application Database : Windows XP and above : JAVA : MySQL

Hardware PROCESSOR RAM HARD DISK : Gigabyte 3.0 GHz or higher : 256 MB or more : 10 GB or more

13

5.2.1.1 Glossary
Application - In most contexts application is generally synonymous with 'computer program.' An application is usually directly operated by the user, and relies upon the computer's operating system to function. cf. operating system. Hardware - The physical, tangible, components of a computer. What computer programmers blame when the computer doesn't work. cf. software. Internet - A public network, usually based on Internet protocols, that is publicly accessible from the all over the world. Internets are generally public networks run by corporations for the use of public. Server - A computer accessible via a network that 'serves' out information to computer clients upon request. cf. client.

14

Software - The intangible instructions that make a computer's hardware operate in a specific fashion. Synonymous with a 'computer program.' What hardware designers blame when the computer doesn't work. cf. hardware. Database - Collection of data that is treated as a unit composed of logical and physical structures, databases are designed to store and retrieve related information. Software Engineering - The discipline of software Engineering discusses the cost effective and systematic approach to develop good quality software. It also includes innovation and experience.

5.3 Planning managerial issue 5.3.1 Team organization


The best team structure depends on the management style of an organization, the number of people who will populate the team and their skill levels and the overall problem difficulty. Three generic team organizations are proposed by Mantei Democratic decentralized (DD). Controlled decentralized (CD). Controlled centralized (CC).

We have Democratic decentralized team structure as Our team has no permanent leader. Tasks are coordinated for short durations and may be replaced by others.

15

Decisions on problem and approach are made by group consensus i.e., we together try and solve the problems. We have Horizontal communication among us.

5.4 Design 5.4.1 Modeling 5.4.1.1 Use Case model


A use case diagram is a type of behavioral diagram defined by the Unified Modeling Language (UML). Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goalsrepresented as use casesand any dependencies between those use cases. The two main components of a use case diagram are use cases and actors.

16

Use Case For User

17

Use Case for Administrator

18

Use Case for Visitor


19

5.4.1.2 Sequence diagram

20

5.4.1.3 Activity diagram

21

22

23

24

25

5.4.1.4 Entity relationship diagram

26

5.5 Implementation phase 5.5.1 Snapshots of project

27

28

29

30

31

32

33

5.6 Testing
Testing Objectives Following are the well known testing objectives: Testing is a process of executing a program with the intent of finding an error. A good test is one that has high probability of finding an as-of-yet undiscovered error. A successful test is one that uncovers an as-of-yet undiscovered error

Testing Principles Before applying methods to design effective test case, we must understand the basic principles that guide software testing, following are some principles that must be followed. All tests should be traceable to customer requirements. As we have seen, the objective of software testing is to uncover errors. It follows that the most severe defects are those that cause the program to fail to meet its requirement. Tests should be planned long before testing begins. Testing planning begins as soon as the requirement model is complete. Detail definition of the test case should begin as soon as the design model is solidified. The Pareto principle applies to the software testing. It implies that 80 percent of all errors uncovered during the testing will likely be traceable to 20 percent of all programs, components of the software. The problem is to identify these 20 percent components and test them thoroughly.

34

Testing Type Unit testing Unit testing focuses first on the modules, independently of one another, to locate errors. This enables the tester to detect errors in coding and logical that is contains within that module alone. Those resulting from the interaction between modules are initially avoided. The module interface is tested to ensure that information properly flows into and out of the program unit under test. The local data structure is examined to ensure that data stored temporally maintains its integrity during all steps in an algorithms execution. Boundary conditions are tested to ensure that the module operates properly at boundaries established to limit or restrict processing. All independent paths through the control structure are exercised to ensure that all statements in a module have been executed at least once. And finally, all error handling paths are tested.

module

Interface Local data structure Boundary conditions Independent paths Error handling paths

Test cases 35

Integration testing: Integration testing is a systematic technique for constructing the program structure while at the same time to uncover the errors associated with interfacing. The objective is to take unit tested module and build a program structure that has been detected by designing. It also tests to find these discrepancies between the system and its original objectives. Validation Testing Software validation is achieved through a series of black-box tests that demonstrate conformity with requirements. A test plan outlines the classes of tests to be conducted, and a test procedure defines specific test cases that will be used in an attempt to uncover errors in conformity with requirements.

System Testing System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system. In Remote Desktop Monitor system testing covers security testing, which attempts to verify that protection mechanisms built into a system will in fact protect it from improper penetration. The second one is performance testing, which based on server system processors capacity; memory used, and network bandwidth.

36

Testing Method White Box Testing White box testing, sometimes called glass box testing is a test case design method that uses the control structure of the procedural design to derive test cases. Using white box testing methods, the software engineer can derive test cases that: Guarantee that all independent paths within a module have been exercised at least once. Exercise all logical decisions on there true and false sides. Execute all loops at their boundaries and within their operational bounds. Exercise internal data structure to assure their validity.

White box testing was performed at all levels of development of Gas agency management system. We took all care to test the code and guarantee that it meets all the specifications as well as it is logically correct. All loops were tested and all internal data structures were evaluated and verified.

Black Box Testing It focuses on the functional requirements of the software. That is black box testing enables the software engineers to derive sets of input conditions that will fully exercise all functional requirements for the program. Black box testing is not an alternative to white box techniques. Rather it is a complementary approach that is likely to uncover a different class of errors than white box methods. Black box testing attempts to find errors in their following categories:

37

Incorrect or missing functions. Interface errors. Errors in data structures or external data base access Performance errors Initialization and termination errors.

Class diagram shows that what kind of functions and attributes will be Unlike White box testing, which is performed early in the testing process, black box testing is to be applied during later stages of testing. Black box testing was performed with the application code of the software being developed to verify that it is functionally correct and gives appropriate output at different situations of inputs. It was also verified that the software takes a good care of exceptional conditions and errors are handled well and the software does not crash. A strategy for software testing integrates software test case design methods into a well planned series of steps that in results the successful construction of the software. In many ways testing is an individualistic process, and the no. of different types of tests varies as much as the different development approaches.

38

5.7

Project scheduling:- Time line chart

Work Tasks 1. Problem Definition

25th FEB

10th MAR

25th MAR

10thAPRIL

25thAPRIL

NOW

Gathering the requirements 2. Preparation of Functional Specification 3. Decide on the process model to be used 4.Identify the subsystem 5.Design Modules 6.Implementation of the Project Modules 7. Testing

39

5.8. Total Cost and effort Estimation Estimation:


Within most organization, software cost estimate are based on past performance. Historical data are used to identify cost factors and determine the relative importance of various factors within the environment of the organization. Cost estimates can be made either top down or bottom up. Top down estimation first focuses on system-level costs, such as computing resources and personnel required to develop the system, as well as the configuration management, quality assurance, system integration, training and publications.

COCOMO Model
Algorithmic cost estimators compute the estimated cost of a software system as the sum of the cost of the modules and subsystems that comprise the system. Algorithmic models are thus bottom-up estimators. The Constructive Cost Model (COCOMO) is an algorithmic cost model described by Boehm. The COCOMO model allows sensitivity analysis on the basis of changing parameters. The model has three different models of increasing complexity and level of detail. A brief description of the three models is presented below:

40

Basic COCOMO Model:


In this model, the cost is estimated solely on the basis of delivered source or the lines of code measured in thousands (KLOC). The equation for the basic COCOMO is as follows: Equation: E = ab (KLOC) b b Where E is Effort KLOC is the lines of code in thousands ab and bb are constants.

Intermediate COCOMO Model


The cost is estimated on the basis of two parameters- the delivered source of instructions or lines of code measured in thousands (KLOC) and an associated formula for determining the nominal development effort, known as Effort Adjustment Factor (EAF). Equation: E = ai (KLOC) bi *EAF Where E is Effort KLOC is lines of code expressed in thousands EAF = Effort Adjustment Factor ai and bi are constants. Duration of Project is estimated by the following equations: Equation: D = (2.5) E0.35 This equation helps in verifying whether project category chosen is correct or not. For calculating number of people involved in the development process is: N = E/D

41

Advanced COCOMO Model


The advanced COCOMO model uses the same formula as the intermediate COCOMO model, but the equation is applied separately to each of the following phases: Analysis Phase Design Phase Testing Phase MODES There are three modes under which a project can belong. These are as follows Organic mode Semi Detached mode Embedded mode

ORGANIC MODE Projects that are small and simple belong to this mode. It consists of small team with good application skills and experience. It has less than rigid requirements. There is no need of requirement validation of this type. SEMI DETACHED MODE Intermediate type of projects fall under this category. These projects are intermediate on the basis of complexity and time. Team comprises of members of mixed experience level. EMBEDDED MODE Projects developed with set of tight hardware, software and operational constraints belong to this mode.

42

CONCLUSION
From all above details it is concluded that this project is vary useful to the user it will facilitate the user to book the ticket any time from anywhere with very few efforts and economically with security.

6.1 Limitations of project


This system has some limitations like user must have an internet connection. Also some fake or harmful websites are also present on the web that may harm your system. First Limitation of project is that it does not contain third party services so practical transaction of money is not possible. The second limitation is that it is only accessible by the systems connected in a Local Area Network (LAN) because it is not deployed on any network domain. Any confirmation message or e-mail will not be sent on users mobile phone or email account.

6.2 Further Enhancement and suggestions


We will try to deploy this application on internet We also try to take third party services and avail user to use this application practically for movie seats reservation. In future we will provide user with confirmation message or e-mail on their mobile phones or e-mail accounts.

43

Bibliography & References

7.1 References
Www. Wikipedia.com www.google.com M. A Ansari: Techmax publication Java2 complete Reference by Herbert Scheldt http://en.wikipedia.org/wiki?

44

You might also like