Home Client Class Page Teacher's Home CS Dept. WSU

Hurrah

Video Rental System

Functional Specification

On February 1, 1999 Shamim Software Solutions (later referred to as us, we, our) was contacted by the Happy Time Video Rental Inc. (later referred to as store, you, your) to build a video rental system for their video rental business. The following is a description of our system "Hurrah" that will be developed for Happy Time Video Rental Inc. upon reaching an agreement.

Hurrah is a PC based system that runs on Windows 95 or Windows NT. For detailed system requirements please see the "System Requirements" below. Hurrah will keep track of all the movies and videos owned by the store, along with the employees and customers of the store.

For detailed formal definitions of all the terms please see the "Definitions" below.

Hurrah keeps track of all the movies carried by the store. You can find out how many movies (titles) are carried by the store. You can add a new movie to the system or delete an existing one from the system. You will have the ability to categorize the movies in three different ways. First is according to ratings e.g. G, PG, PG13, R etc. The second is according to price level e.g. new release, old release etc. The third is the content category of the movie e.g. drama, comedy, action etc. Hurrah provides the ability to check the rental frequency of a movie, so that number of videos for that movie can be changed accordingly. It will provide a list of movie stars in each movie along with a brief description. The possibility of movie clips from each movie is not promised but open to further negotiation.

Hurrah keeps track of how many total videos and how many videos (copies) of each movie are owned by the store. You can add a new video to the system or delete an existing one from the system. Furthermore it keeps track whether a particular video is in, out or reserved. The customer who reserved or has the video can be traced. For a checked out video the check out and due date can be traced. Hurrah keeps track of all the reservation information also. It knows who reserved the video, what time they reserved it. Since it reserves it only for a given period of time, it gives the ability to go back and change the reservation period for a particular video. It also gives the ability to remove the reservation in case the customer cancels it or comes in to get the video.

Hurrah keeps track of all the customers of the store. Every customer is associated with a family, which will serve as the "primary account" in our system. You can add a new family as well as an individual customer, or delete an existing family or customer. You can delete customer without deleting a family, but can�t add a customer without adding a family. Every member in that household or family can be a customer. Maximum number of movies that can be checked out consecutively to one family is bounded and you have the ability to change that number. The maximum number of movies that can be checked out by a customer (individual) is bounded as well and can be changed by you. There is a rental level associated with each customer, which corresponds with the movie ratings. No customer is allowed to rent a movie with a rating higher than his or her rental level. The rental level of customers under 18 is set by the head of the household and can be changed only at the request of the head of the household (the primary account holder).

The customer can only view certain information related to movie. They can�t reserve or check out a movie by themselves, or change anything in the system. They are allowed only to search the system for a movie by the name of a movie or by the name of a movie star. They can view the information such as the list of movie stars, description, rating, category, and availability status of the movie.

Hurrah keeps track of all the employees of the store as well. You can add a new employee or delete an existing employee. An employee can access the customer information and check out a movie to a customer only if they have a valid password. In absence of a valid password the access level for an employee is very limited and same as a customer. With a valid password they have the ability to change or update the customer, movie or video records.

 

Definitions:

Movie

A movie refers to the contents of the tape, the event that is recorded on the tape. Every movie has a unique title e.g. "scent of a woman" along with other information.

Each movie has a unique number so that it can be tracked. Besides a unique ID each movie has a title (or name), category (comedy, action, drama etc.), rating (G, PG13, R, NC17, X etc.), rental level (new/old release). Associated with each movie are major actors that are in the movie, and a brief description of the movie.

Video

A tape, or physical medium to hold the movie.

Each video will have a unique number so that it can be tracked. Each video is associated with a movie and will have one of the following three availability statuses

Employee

A person who works at Happy Time Video.

An employee has a name, address, phone number, birthday, social security number, user id and a password.

Customer

A person who comes to Happy Time Video to rent a video.

A customer has a name, maximum number of movies allowed, number of movies currently out, highest rating level allowed. Every customer is associated with a family.

Family

A household that a customer belongs to.

A family has a unique ID, last name of the head of household, phone number and address.

Manager

A manager is an employee of Happy Time Video who is also in the management team.

MovieStar

An actor or actress that played a role in the movie.

Each MovieStar has a unique name.

Each MovieStar is associated with all the movies owned by the store that they appeared in.

Check out

The process to let the customer take the video, at a certain price for a certain duration, and marking the video as unavailable.

Check in

The process to accept the video from the customer, and marking it as available.

Delete

The process of removing some information from the system.

Please note that after the delete operation the information will no longer be available.

Add

The process of entering some information into the system.

Update

To make changes (edit) existing information.

Operations

  1. Movie
    1. Add a new movie to the system.
    2. Delete an existing movie from the system.
    3. Change the ratings of the movie.
    4. Change the price level of the movie.
    5. Change the category of the movie.
    6. Find out how many videos of this movie the store owns.
    7. Find out how many videos of the movie are available.
    8. Search a movie based on the movie name, or actor name.
    9. Find out if a particular movie is available.
    10. Find out rental frequency during a given time period.
    11. Find out total times a movie was checked out since the first day it was made available.
  2. Video
    1. The ability to add a new video.
    2. The ability to delete a particular existing video from the system.
    3. Find out availability status of a video.
    4. The ability to check out or check in a particular video.
    5. Find out the customer checked it out.
    6. Find out the employee who checked it out.
    7. Find the check out date.
    8. Find the due back date.
    9. Find out how many videos of a given movie are owned by store.
    10. Find out how many total videos (of all movies) are owned by store.
    11. Reserve a video.
    12. Find out who reserved it.
    13. View the remaining reservation time.
    14. Change the reservation time.
    15. Remove the reservation.
  3. MovieStar
    1. Add a MovieStar.
    2. Delete a MovieStar.
    3. Find all the movies with this MovieStar in it.
  4. Customer
    1. Add a customer
    2. Delete a customer
    3. Change maximum number of movies allowed
    4. Change the rating level
  5. Family
    1. Add a family
    2. Delete a family
    3. Change maximum number of movies allowed
    4. Update other information (e.g. address, phone number)
  6. Employee
    1. Add an employee
    2. Delete an employee
    3. Update other information (e.g. address, phone number, password)

Optional

  1. Ability to play video clip from the movie.
  2. Other information like the date and place of birth, age, height, weight, email and URL etc. can be added upon your request, at an additional monetary and time cost of course.

System Requirements:

Note: Following are anticipated system requirements. These will probably change (for better) as we get farther into the project. For example the OS requirement might change to include Windows 98, and the disk space and memory requirements might go down.

Click to return to
Home Page Client Page Class Page Teacher's Home CS Dept. WSU