Reference no: EM132647641
BN108 Programming for Networking Assignment - Melbourne Institute of Technology, Australia
Assessment Title - Car Rental System
Purpose of the assessment (with ULO Mapping) - This assignment assesses the following Unit Learning Outcomes; students should be able to demonstrate their achievements in them:
a. Describe the fundamental principles of object-oriented programming;
b. Interpret a user's needs while dealing with simple program specifications;
c. Design a simple class using UML notation;
d. Create a simple application based on UML design and the incremental development process of coding, debugging, and testing;
e. Apply basic control structures - sequence, repetition, and selection - to program development;
f. Produce simple interactive application.
Assignment Specification -
With the development of this application and the course, it makes the students capable of applying knowledge of programming constructs in developing computer programs. The students shall learn to create programs based on incremental development processes of designing, coding, testing and debugging.
Assignment description - In this assignment you have to develop a program based on incremental processes of collecting software requirements, designing, coding, testing and debugging to manage a car rental system.
The program should work for a 'Taxi' service at different levels, prices, and cars. The customer can either hire a car or rent their car.
Following features of the rental system are to be incorporated in the design and implementation.
1. Build a repository of cars using a file or any other data structure to store the details of the cars that can be rented/ hired along with the price of hiring. SUV, sports and Hatchback could be some of the categories of cars that are available for rent. Can add more details according to one's passion.
2. Prompt the customer who wish to hire a car from the rental system:
a. The type of car and the number of days he would like to borrow the car for
b. Provide the fare details/output to the customer.
c. Identity details of the customer
d. Deposit amount
3. Prompt the customer who wish to rent their cars to the rental system:
a. To provide customer identity details
b. To provide specifications of the car that would be rented.
c. Availability for number of days
d. Fare for the car to be rented
e. Bank details to credit the rental amount
In summary - The program must perform the following:
Create a repository of cars along with its specifications (brand, specific features etc.).
Prompt the customer details based on what service they require (to rent or hire a car).
The assignment report has to include the following sections:
User Requirements: Include all the software user (assignment) requirements here.
Analysis: Analysis often requires the programmer to learn some things about the problem domain and that information the user will have to provide. Also, it should specify what the program is going to do. In this case the problem domain would be the logic used to manage the rental system. The possible inputs and outputs.
Design: The design phase has to describe how the program is going to do the desired task. This usually involves writing a class diagram using UML notation.
Implementation Phase: In this phase the complete code in python without any syntax and semantic errors must be completed. The complete code with proper indentation has to be pasted here along with sample inputs and outputs.
Testing: Only thorough testing can build confidence that a program is working correctly. Testing is a deliberate process that requires some planning and discipline on the programmer's part.
Once all the errors are debugged, set of all possible inputs are to be provided. Even though the range of the input numbers on a computer is finite, testing all of the possible combinations of inputs would be impractical. So, the challenge is to find a smaller set of inputs, called a test suite, from which we can conclude that the program will likely be correct for all inputs. The number and type of input samples have to cover all possible cases of validity checks of the rental system.
A short video of 5-6 min to be recorded explaining: the class diagram, the code in detail and the test cases (use Zoom to record your video).