Introduction to File and Database Management
CMPT 291 Section OP01
Spring Term 2019
Requirements Specification for the Database Programming 1. ProjectIntroduction
In this project, you will design and implement a relational database system to support the operations of a car rental agency. You will use C# for the user interface. For the database server you can use SQL Server, Oracle, or MySQL. If you own a PC, you are encouraged to develop as much of the C#代写 code as possible on your PC. You are to work in teams of four.
2. Getting Started
The system you are to develop should be able to be used by any car rental agency that has different branches in Canada.
1. Each branch maintains a queue of all existing cars, and car types.
2. The car rental agency maintains a list of all their customers
3. Reservation can be done at any branch. Each customer can rent a car and return it
to the same branch or any other branches in Canada for an additional fee. This
additional fee is estimated based on the car type.
4. If a car is returned to another branch it will be included in the returned branch queue
of available cars.
5. Each car type has its own rental pricing.
6. If a customer has a Gold star membership with the rental agency, he/she will be eligible
for returning cars to different branches free of charge.
7. Gold membership is granted automatically if a user rent at least 3 times in the same year.
8. Late fee is applied in case a customer returns a car later than the reservation return date.
9. Late fee is estimated based on the car type and the number of extra days after the
reservation return date.
3. Project Description:
The basic idea behind your car rental system is that it will allow agents to process rental reservations. Apply different SQL queries to check for available cars on specific dates. In this regard, it is a lot like an online car rental website. Visit these sites to get an idea as to what your system should look like. Your database system must be based on the specifications and requirements that you will define and should be approved by the C#代写 course
instructor. I will also place a tutorial on blackboard on how to connect to SQL server using C# and how to develop the UI (User Interface) for your car rental course project.
3.1. System Users
The system users are the car rental employees. You should assume that the computer knowledge of the users is limited, and thus your system must be easy to access and operate.
3.2. Required Data
The data items required for the car rental database can be classified into six categories which are: customer, cars, branches, car types, employees, and rental transactions.
This classification does not imply any particular table arrangement. You are responsible for arranging the data items into tables, determining the relationships among tables and identifying the key attributes. Finally, you should specify and enforce integrity constraints on the data, including referential integrity constraints.
You will first create an E-R diagram of your C#代写 car rental system before developing your relational model. Details of this assignment will be forthcoming.
3.3. User-Level Transactions
A database transaction can be viewed as small interfaces that either updates or queries the database. The car rental employees should be able to:
• Check available cars with their rental cost and locations.
• Add, update, delete any records for cars
• Update cars’ locations
• Add, update, delete any records for rental information
• Generate any custom built reports.
You may assume that other system information (e.g. customers, car types, branches and
employees information) are pre-stored inside the database by the system admin.
You will be required to supplement your completed database implementation with a design document that contains information concerning your design criteria and decisions. The following is a list of some of the information you should include:
1. Entity-Relationship (E-R) Diagram of the complete database scheme
2. Lucid description of the relational database scheme for your car rental system, including a
discussion of the reasoning behind your design decisions.
3. Description of integrity constraints including referential integrity
You will also be required to submit a User’s Guide that carefully explains how to use all aspects of the system. It should be understandable by non-computer experts. Be sure that the user interface (screen design, menu structure, etc.) is clearly explained.
You will be given three assignments:
1) Produce an E-R and relational model of your system; 5% of total Project Mark Due Date May 26th and before 11:59 PM. th
2) Generate all needed relational tables for your system; 5% of total Project Mark Due Date May 26 and before 11:59 PM.
3) Implement (C#) the final interactive system to support your Car Rental System. In order to
evaluate your final system, you will be asked to present a short (15-25 minutes) demo to myself. This demo will most likely happen during the last day of our classes (June 13th). (90% of total Project Mark)
4) [Bonus] allow car rental employees to add, update and view customers’ information. (5% of total Project Mark)
Note: Your work, including its associated documentation and SQL files, MUST be submitted to the BlackBoard. The submitted SQL files must include the ones responsible for loading the information of: customers, car types, branches and employees.