1
Introduction to Programming
PROG9000
Final Project 2019 XXXXXXXXXXDeadline Monday 6th January 2020, 11:59pm
• Part 1: Practical program build - Problem Definition
• Part 1: Practical program build - Program Basic Specifications
• Part 2: Essay on GIS application
• Marking Scheme
PART 1
Problem
A car rental company hires you to develop their reservation system. The system should deal with
customers’ queries providing a quote for the given dates and type of car. It should check for
availability and make/cancel reservations.
Types of vehicles and their characteristics:
▪ cars: make/model,km/l,numPassenger,num_doors,plate number, daily cost, weekly cost,
weekend cost, available
▪ vans: make/model,km/l,numPassenger,plate number, daily cost, weekly cost, weekend
cost,available
▪ caravans: make/model, km/l, num_beds, plate number, daily cost, weekly cost, weekend
cost,available
Company side
The program will have a company username that will allow the staff in the company to
ente
delete vehicles. A basic set of vehicles should be created in the code.
Customer side
The program must be able to:
a) Display the specific vehicles available for rent by vehicle type.
) Display cost associated with a given vehicle including daily, weekend and weekly rate.
c) It must also allow the user to determine the cost of a particular vehicle for a given period of
time.
d) The program must allow for a particular vehicle to be reserved and cancelled.
2
Technical requirements
Object oriented approach: Instantiation, use of attributes and methods
Use of inheritance, use of lists/dictionaries as appropriate, use of GUI , efficient code, comments,
e
or checking, string control for uppe
lower case, etc…
PART 1 - Specs
1. Create the classes required to store all the vehicle data. Create the
objects.
2. Use the ‘Vehicles project data’ file for details on the vehicles and
prices.
3. Create the structure for a customer to search the vehicles by type.
4. Create the structure for a customer to query the cost of renting a
particular vehicle.
a. Generic pricing
. Specific to number of days.
5. Create the structure for a customer to rent a car (make available
attribute =N) and return it (make available attribute=Y).
6. Create the structure for the admin user to add a new car to the fleet.
7. Create the structure for the admin user to delete a car from the fleet.
8. Create a functional GUI
PART 2
Write a short essay on how you could extend the program you have developed to an application
that would be relevant to GIS.
Use pseudocode to explain your identified application.
Max 300 words
Introduction to Programming Project
3
Marking Scheme 2019
Marks for PROG9000 Project 2019: Total Marks Available 60
Item Percentage Marks Cumulative Total
Part 1
Detailed outline design of project,
eakdown of how to achieve each task,
programming methodology used, and
how to tie it all together. 17% 10 10
Outline of Object Oriented Programming
(OOP) approach to this project - itemise
each object with its properties and
methods 8% 5 15
Execution of OOP in code (creating
classes, creating instances) 17% 10 25
Detailed GUI design, using prototype tool
such as Qt Designer or with other
graphical method. 8% 5 30
Execution of GUI in code, how well it
guides the user, how intuitive it is, how
well it works. 8% 5 35
Implementation of Project Specification 8% 5 40
Quality of Commenting in Code 5% 3 43
Execution of Code - Debugging, Fault
finding 8% 5 48
Novel aspects of code (implement
something we haven't covered in class!) 5% 3 51
Part 2
Describe an extension to the program
applicable to GIS 8% 5 56
Use descriptions of pseudocode to show
your idea 7% 4 60
END
Introduction to programming Project
Cars
Make
Model
Km/l
Number of passengers
Number of doors
Plate numbe
Daily cost
Weekly cost
Weekend cost
Audi
A5
10
5
4
171-D-128
€20
€120
€150
Ford
Fiesta
20
5
3
12-D-564
€12
€85
€45
Toyota
Corolla
15
5
5
152-C-854
€15
€95
€50
Ford
Focus
15
5
5
141-WW-965
€15
€95
€50
Renault
Clio
20
5
3
12-G-741
€12
€65
€45
Vans
Make
Model
Km/l
Number of passengers
Plate numbe
Daily cost
Weekly cost
Weekend cost
Renault
Othe
10
2
151-D-874
€45
€260
€220
Citroen
Berlingo
15
3
12-D-965
€45
€165
€85
Peugot
Partne
8
4
12-C-758
€50
€185
€85
Citroen
Berlingo
15
3
142-G-511
€45
€165
€85
Caravans (RV)
Make
Model
Km/l
Number of beds
Plate numbe
Daily cost
Weekly cost
Weekend cost
Renault
C
12
4
11-D-146
€50
€350
€215
Citroen
B
20
6
10-D-965
€50
€365
€285
Peugot
P
11
4
12-C-143
€50
€350
€200
Citroen
B
15
2
131-G-111
€50
€255
€185