Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Statistics and Probability Expert

Background

Solent Cinemas is an independent company who runs one cinema located in a large town in the south of England. The company wishes to create a new dynamic website to replace its existing static, HTML-only website. The existing website has the problem that it must be edited by hand, for ex, when the film schedule changes.

There is also no way for customers to reserve tickets for films online, an often-requested feature. The cinema would ideally like to extend this feature so that a user can sign up for an account, to allow them to view and cancel their own bookings.
The new website aims to use database-driven server-side scripts to provide a more interactive experience for both the user and the company website administrator.

You need to design and implement a simple, prototype system which allows users to book films and administrators to add new films to the schedule.

Database design

Database tables will be created for you on the Technology web server. The schema will be as follows. Please note that this is a simplified database structure, designed to make it straightforward to implement the assignment on a basic level; you can modify this or add additional tables if you wish. Only the first two tables are absolutely essential to implement a bare pass solution.

sc_users table

Records users in the system, and whether they are an administrator or a regular user.

ID INT PRIMARY KEY
isadmin TINYINT
name VARCHAR(255)
username VARCHAR(255)
password VARCHAR (255)
dayofbirth INT
monthofbirth INT
yearofbirth INT

filmshowings

Records the current film showings.

ID INT PRIMARY KEY
film VARCHAR(255)
date VARCHAR(255)
time VARCHAR(255)
screen INT
maxtickets INT
certificate VARCHAR(5)
mybookings

A table which can be used if you wish to implement code to allow users to view, change and cancel their bookings. Not required for a bare pass answer but useful for more advanced answers.

username varchar(255)
showingID INT
ntickets INT

Deliverables

The tasks you need to complete are presented below. For each task, you must produce:

- an analysis and design (see "Analysis and Design report", below the tasks, for details);

- an implementation in PHP.

For a pass, it is essential to complete tasks a), b) and c). Please see the marking scheme for details on what mark you are likely to receive for completing a given number of the tasks.

Please complete the tasks in the order in which they are presented, or you will not receive the full credit. For ex, you will not receive the credit for task f) if you do not complete tasks a) to e) successfully.

Note that you also need a login facility, but you can use, more or less unchanged, the HitTastic! code that we developed in class for this. Consequently, your login script will not be counted towards your grade.

Analysis and design report

You are required to produce a report describing the process of analysing the specification and designing your scripts, in addition to the coding itself. For each task from a) to i) that you propose to complete, identify the PHP scripts (or, in the case of AJAX, JavaScript functions) necessary to implement that task, and for each script or JavaScript function, do the following:

i) In one or two paragraphs, describe the general role of the script, and discuss what the script needs to do in terms of database queries, gathering input from the user (e.g. from a form, or from a query string), linking to other scripts or performing calculations. If appropriate, details of techniques to maintain state (sessions, query strings, cookies), and of which security measures are to be implemented and why must be included.

ii) Design each script using pseudocode.
   
Implementation

For a Grade D, it is necessary to…

a) Allow an administrator to add a new showing. An administrator should provide the film name, screen, date, time and certificate. The certificate should be one of: "U" (can be seen by anyone), "12" (can only be seen if you are at least 12 years old), "15" (at least 15 years old) or "18" (at least 18 years old) - note that this is slightly different to the current UK certification system.

This should add a record to the showings table, containing the information the administrator entered. For a basic pass it is not necessary to check that the user is an administrator.

b) Allow a user to search for a film showing by film name. A user should be able to enter a film name (e.g. "Avatar"); once they have entered the film name, all showings of that film should appear. Each search result should contain a hyperlink, allowing the user to book that film showing.

c) Allow a user to book a film showing once they've chosen one from the search results. For a basic pass, you do not have to implement the facility to allow a user to book more than one ticket: you can assume that they are only booking one ticket. However, the site must reduce the number of available tickets for that showing and record the showing ID and current user's username in the mybookings table.
For a Grade C, it is necessary in addition to…

d) Allow a user to book more than one ticket.

e) Add appropriate error checking to tasks a) to d). It should not be possible to book tickets for a showing which is sold out;  only logged-in users should be able to book a showing; and only administrators should be able to add new showings. You will need to modify your login system to check that the user logging in is an administrator.
For a Grade B, it is necessary in addition to…

f) Allow a user to view and cancel their own bookings. The "view bookings" page should list the film name and time of each film showing that they have booked; beside each event there must be a "Cancel" link allowing the user to cancel that booking. Cancelling the booking should behave in a realistic manner.

For a Grade A4 it is necessary in addition to…

g) Prevent users from being able to book a film which they are not old enough to see.
For a Grade A3 it is necessary in addition to…

h) Implement an AJAX interface. Users should be able to search for and book films using AJAX (it is not possible to get an A3 with just a basic AJAX search, and no AJAX should be attempted unless you have completed tasks a) to g) ). In other words, a user should enter a film name, all the showings should be displayed (using AJAX) and then a user should be able to book a particular showing by clicking on a button (the communication with the booking script must again be done using AJAX).
For a Grade A1 or A2, it is necessary in addition to…

i) Develop a seating plan, which should show unbooked seats in green, and booked seats in red (or a similar scheme). You will need an additional table for this to record booked seats. This will need three columns:

id INT - the primary key
showingid INT - the showing that this booked seat relates to
seatnum INT - the seat number of this booked seat

Assume that all showings have 100 seats. For a very advanced (A1) answer, allow users to book a free seat by clicking on it; for an A2, it will be sufficient to allow the user to input the seat number separately.

Statistics and Probability, Statistics

  • Category:- Statistics and Probability
  • Reference No.:- M91148

Have any Question?


Related Questions in Statistics and Probability

A package contains 12 resistors 2 of which are defective if

A package contains 12 resistors, 2 of which are defective. If 4 are selected, find the probability of getting the following results. Round your answer to six decimal places. 0 defective resistors P(0 defective)=

A researcher wants to determine if there is an association

A researcher wants to determine if there is an association between religious affiliation (e.g., Christian, Muslim, Jewish. Buddhist, Unaffiliated, etc.) and ethnicity (African American, Asian, American Indian, Whte, Othe ...

Question you are throwing a party and fill a bowl with 63

Question: You are throwing a party and fill a bowl with 63 ounces of punch. Suppose the expected size of each cup of punch is 2 ounces and the standard deviation of the size of a cup of punch is A ounce and each cup is p ...

Question 1 assume you have noted the following prices for

Question: 1. Assume you have noted the following prices for paperback books and the number of pages that each book contains. Develop a least-squares estimated regression line. i. Compute the coefficient of determination ...

The mean of a population of raw scores is 50 ox18 what is

The mean of a population of raw scores is 50 (ox=18). What is the probability of randomly selecting a sample of 40 score having a mean above 46?

A company is to hire two new employees they have prepared a

A company is to hire two new employees. They have prepared a final list of twelve candidates, all of whom are equally qualified. Of these twelve candidates, seven are women. If the company decides to select two persons r ...

A bottle of water is supposed to have 12 ounces the

A bottle of water is supposed to have 12 ounces. The bottling company has determined that 98% of bottles have the correct amount. Which of the following describes a binomial experiment that would determine the probabilit ...

Assume a random sample of n 5 measurements from a normal

Assume a random sample of n = 5 measurements from a normal distribution. Compare the standard normal z-values with the corresponding t-values if you were forming an 80% confidence interval.

The probability that someone made a purchase at a store is

The probability that someone made a purchase at a store is 0.36. You randomly select 15 people who went to the store. The random variable x represents the number of people who made a purchase. a. Find the probability tha ...

A company that supplies batteries for watches guarantees

A company that supplies batteries for watches guarantees that 95% of the batteries it ships will be free from defects. You test a sample of 50 batteries you received. You find that fewer than 10 have defects. Does this l ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As