Analysis

. Background to/identification of the problem

I came up with my project idea through a problem my friend, a shop clerk, who runs a DVD rental shop, had faced. He used to rent out DVDs to his registered customers for the price of £1.50 for old DVD's and £3.00 for DVD's which are pretty new but the problem was that he had to do everything without a computer system which made his job quite difficult for him. So I have decided to make a system for his video rental shop as my project which would make it easier for him.

The general environment is him behind a counter surrounded by loads of DVDs so he is the only person who works in the shop, there is no staff but sometimes when required, he may get someone to cover for him if needed.

The current system in operation works by a customer registering with the rental shop first they then receive their unique membership number which they then quote every time they want to rent a DVD out and then pay the rental price for that DVD. The shop clerk then looks for this membership number through a file which contains all the registered customers and their membership numbers, arranged in order from smallest to biggest and every time a new customer registers they get the next available membership number with in the file. The problem with the current system is that everything is done manually which is really time consuming and may get much difficult to maintain when and if the total number of members for that shop exceeds over 500, as looking for the membership numbers through a list of over 500 can take along time to find.

For a solution to this problem I am aiming to come up with a system which will try to reduce the amount of time being spent while dealing with rentals and come up with a computerised system. I will transfer all the registered customers who are already registered with the shop to one single table first and then transfer all the DVDs which are available to rent at the shop to another separate table each with its own unique DVD ID.

The shop clerk's shop is open from 9 in the morning till 6 in the afternoon with no staff, just him. The problem is tackled now by the shop clerk just taking the orders and writing it down in a file he has with all the people who have registered with his shop, each having their own membership number. For example if a customer came into the shop and wanted to borrow a DVD, the customer would give the shop clerk their membership number, which then the shop clerk would search for this number in his file and write down the title of the DVD that has been borrowed into the file and take the money off the customer.

A computer system can be used to completely computerise the system and reduce the time needed by having all the people who have registered with the shop in a single database with all their unique membership numbers. It could also allow the clerk to carry out other functions such as see which loans are overdue by the click of a button and print this out and target those people for repayment.

The shop clerk will be able to answer any sort of questions I have which will help me in my project.

2. Identification of prospective users

The computer system is going to be used by the shop clerk, who needs access to all the facilities, and mostly it will be only him who is going to be using it but sometimes when he has to take time off for a reason someone else may be using it. The shop clerk is computer literate but will require a bit of training before using the actual system.

3. User needs and acceptable limitations

The shop clerk would like the system to:

* Have some sort of security so I will be placing a username and password as security

* He also wants it to allow him to register and update customers details with the shop

* He also wants it to allow him to assign rented DVD's to people who have borrowed them

* He would like to display the DVD's which haven't been rented out when someone wants to rent out a DVD

* The system must also print out a receipt for the customer

* He also wants the system to allow him to add newly available DVD's to the existing selection

* He also wants the system to be able to gather loans which are overdue and be able to print the list out

* The system must allow the user to see which DVD's have been rented out and which haven't

* The system must be able to work out how much money the rental shop has made.

The limitations would be that

4. Data Sources and Destinations

* The shop clerk will type his username and password in to the system to access it.

* When a customer is registering the details e.g. names, telephone number, address etc will come from the customer. This will be received in a paper form.

* The DVD's will be obtained from the shop itself and its details will be entered into the system by the shop clerk/user.

5. Data Flow Diagram

(Current System)

(Proposed System)

6. Data Dictionary - (Loans)

Name

Data Type

Length

Validation

Example Data

Comment

Membership Number

String

Variable

Must only be numbers

658

Unique identifier of a registered customer

DVD ID

String

Must only be numbers

25

Unique to every film

Date Borrowed

Date

0 characters

1/02/2005

The date a DVD was borrowed

Due Date

Date

0 characters

6/02/2005

The date a DVD is Due back

Rental cost

5 characters

£2.00

The price of renting a DVD

Data Dictionary - (Members)

Name

Data Type

Length

Validation

Example Data

Comment

Title

String

5 Characters Max

Must Only Contain Letters

Mr

The title of a member

Forename

String

5 Characters Max

Must Only Contain Letters

John

The forename of a member

Surname

String

5 Characters Max

Must Only Contain Letters

Smith

The surname of a member

Address

5 Lines Max

84 Lambert avenue etc

The address of a member

Telephone Number

String

5 Characters Max

Must only be numbers

0161 543 6789

The telephone number of a member

Date Joined

Date

0 characters

Must only be numbers

05/06/2004

The date a member joined

Additional Notes

String

0 characters

Any other additional notes that are needed on the member

Data Dictionary - (Films)

Name

Data Type

Length

Validation

Example Data

Comment

Film Title

The Matrix

The name of the DVD Film

Genre

String

20 Characters Max

Must only Contain letters

Horror

The genre of the film

Length

String

5 Characters

01.30

How long the film lasts for

Age Certificate

2 Characters

Must only Contain numbers

2

The minimum age you have to be to watch a film

DVD ID

String

Variable

Must only Contain numbers

26

The ID of the DVD which is specific to every DVD

Price

Currency

Max 3 char

Must only be numbers

£1.50

The price charged for the loan

Data Dictionary - (Usernames and Passwords)

Name

Data Type

Length

Validation

Example Data

Comment

DVD ID

Number

Variable

Must only be a number

5

The ID of the DVD which is specific to every DVD movie

Member ID

Number

Variable

Must only be a number

2

7. E-R model for the existing system

8. Objectives of the project

The project aims are:

* The system must be user friendly and easy to figure out how to use it.

* The system must have some sort of security and only valid users can log on

* The system must be able to register and update customers details with the shop and should give them a unique membership ID in the process which can be used by the rental shop to identify the member

* The system must be able to add new DVD's to the existing catalogue and should also give each DVD a unique DVD ID

* The system must assign A Copy Id to each DVD cause there be more than one copy of the same DVD

* The system must allow the user to see which DVD's have been rented out and which haven't

* The system must be able to assign rented DVD's to people who have borrowed them

* The system must also print out a receipt for the customer

* The system must also be able gather a list of all loans which are overdue and be able to print this list out

* The system must be able to work out how much money the rental shop has made.

Design

. Overall system design

This system will work by the user logging into the system to have access to it. The log in process will consist of a username and a password which will act as a security feature which the user had wanted so only authorised user's can log in but before the user can log in to the system he must setup a username and a password. Once logged in the user will be able to register new customers with the shop. The shop clerk/user will give a form to the customer to fill in and return to him so that he can fill in the details into the system which will be stored in the 'Members Table' and the system will then also generate and assign a member id for the new member. The 'member table' will contain the entire customers which are registered with the shop.

When one of the customers wants to rent out a DVD, the user has to make sure that DVD is available to rent out so what I am going to do in this system is that I will not be displaying any DVD's which are already rented out but only those which aren't rented out will be displayed so that the user can only choose from a list of only those DVDs which aren't rented out to prevent him from renting out a DVD which isn't available. The shop clerk will then go into the stock room and obtain that DVD and give it to the customer he will then create a record in the 'Loans table' which will contain the member ID, Copy Number, the date borrowed, the return date and the rental cost. After this has been done the system will generate a receipt

The system will also be able to return DVD's. When the customer returns to the shop to return the DVD he or she borrowed he will have to quote his or her membership together with the ID of the DVD they borrowed. The user will then be able to search through a list of all the records within the Loans table and delete that record.

The system will also allow the shop clerk/user to add new DVD's to the existing selection. This will be done by the user manually entering the description of the DVD such as title, genre etc into a table called the 'films table' using a keyboard.

This system will also be able to come up with a list of all the loans which have been overdue so that the shop clerk can target those people for a fine upon returning the DVD which was really difficult to do when he was using a manual system as he had to go through the whole file. This will be done by coming up with a sequence of SQL which will be designed to search through the rentals table and retrieve those records which are more than 2 days over the date of borrowing the DVD's. This list of overdue loans can then be printed out by the user.

Systems Flow Chart Diagram

Registering Customers

Adding New DVD's

Renting Out A DVD

Returning A DVD

2. Modular structure of system (Top Down Design)

Membership Form - The member ship form will be used by the user to register new members with the shop. The data entered will be stored in the 'Members Table' It will also allow the user/clerk to edit or update the data of the members if necessary.

Add New DVD Form

The DVD form will allow the user to add DVDs to the existing catalogue by entering information such ass genre, title, Length etc This form will also allow the user to edit the information about the DVD's as well.

Rent Out a DVD Form

This form will allow the user to rent out a DVD to a certain member.

Overdue Loans Form

This form will allow the user to gather a list of all the loans which are overdue so that he can print them out and target those members for repayment.

3. Design Data Dictionary

* ER Diagram

Member can rent Film has one

many times or many copies

* Data Dictionary

Table: Members

Field Name

Data Type

Length

Validation

Example Data

Comment

MemberId

String

-

Must be numeric

4

This is the primary key - Uniquely identifies a member

Title

String

5 Characters Max

Must only be letters

Mr

The title of a member

Forename

String

5 Characters Max

Must Only Contain Letters

John

The forename of a member

Surname

String

5 Characters Max

Must Only Contain Letters

Smith

The surname of a member

AddressLine1

String

Must Only Contain Letters

4 Slade St

Where the member lives.

AddressLine2

String

Must Only Contain Letters

longsight

AddressLine3

String

Must Only Contain Letters

Manchester

AddressLine4

String

Must contain both letters and numbers

M15 0QJ

TelNumber

String

5 Characters Max

Must only be numbers

0161 256 7654

The telephone number of a member

DateJoined

Date

0 characters

Must only be numbers

0/09/2010

The date a member joined the club

Additional Notes

String

0 characters

Any other additional notes that are needed on the member

This table will contain all the members which have joined with the rental shop. It will be accessed using the primary key, MemberId. All new records will be placed at the end of the table.

Table: Films

Field Name
Join now!


Data Type

Length

Validation

Example Data

Comment

DVDId

String

Variable

Must only Contain numbers

26

The ID of the DVD which is specific to every DVD movie

FilmTitle

String

Variable

The Matrix

The name of the DVD Film

Genre

String

20 Characters Max

Must only Contain letters

Horror

The genre of the film

Length

String

5 Characters

01.30

How long the film lasts for

AgeCertificate

4 Characters Max

...

This is a preview of the whole essay