Professional Documents
Culture Documents
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.
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
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.3 Technologies
In this project- Movie Ticket Booking we have used following technologies explained as below: 1. JAVA (Front End Tool) 6
Front End Tools:As a Front End development tool we are using JAVA. JAVA is a general purpose class based, object oriented programming 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.
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
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.
10
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.
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.
12
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.
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.
16
17
18
20
21
22
23
24
25
26
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
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
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
41
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.
43
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