Want it on tkinter1 Introduction to Programming PROG9000 Final Project 2019 Deadline 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 enter/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. b) 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, error checking, string control for upper/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 b. 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, breakdown 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 number 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 number Daily cost Weekly cost Weekend cost Renault Other 10 2 151-D-874 €45 €260 €220 Citroen Berlingo 15 3 12-D-965 €45 €165 €85 Peugot Partner 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 number 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