What is the relation between Car and Transaction? Explain your answer.

Learning Goal: I’m working on a programming discussion question and need support to help me learn.

This TMA covers the first 7 sessions of M251. It is required to do the following:

  • Create a Java project using your IDE and name it using your name and your student ID
  • Implement all the required classes in the default package
  • Create a Word file contains the following:

o Answer of the given questions

o A copy (not a snapshot) of the code of each class

o A complete snapshot of the output

o If part of the code does not work, try to explain your idea

o The header of each page should contain your name and your student ID

  • On LMS page of M251, there are 2 links and you should submit 2 files (one file per link):

o The Word file you created

o A compressed file contains the folder of your Java project

Plagiarism Warning:

As per AOU rules and regulations, all students are required to submit their own TMA work and

avoid plagiarism. The AOU has implemented sophisticated techniques for plagiarism detection.

You must provide all references in case you use and quote another person’s work in your TMA.

You will be penalized for any act of plagiarism as per the AOU’s rules and regulations.

Declaration of No Plagiarism by Student (to be signed and submitted by student with TMA

work):

I hereby declare that this submitted TMA work is a result of my own efforts and I have not

plagiarized any other person’s work. I have provided all references of information that I have

used and quoted in my TMA work.

Name of Student:

Signature:

Date:

2

Overview:

A car rental company wants to make a simple application to keep track of cars and customers.

In this TMA, it is required to help the head of the company implement the required application.

Requirements:

After a quick meeting with the head of the company, you got the following information:

  • It is required to store all cars in one collection and all rent transactions happened in another

collection.

  • It is allowed to rent any car for only one day.
  • Each car has a unique number plate, brand, rental rate, and other attributes (add at least 3

attributes from your choice).

  • Each customer has a unique Civil ID, a name, and other attributes (add at least 2 attributes

from your choice).

  • For each rent transaction, it is required to store car, customer, and the date of rent.
  • For each date, it is required to store only day, month and year. Do not use the built-in

classes for Date.

Moreover, you have been informed that the following operations happen frequently:

  • Buying a new car and adding it to the application
  • Renting a specific car to a specific customer in a specific date. It is not allowed to rent the

same car twice in the same day.

  • Displaying the car that has been rent the maximum number of times.
  • Saving all cars and rent transactions into a text file.

For cars, they should be sorted in ascending order (according to the plateNo)

Analysis:

Q1: What is the relation between Car and Transaction? Explain your answer.

Q2: Draw a simple class diagram showing only relationships between all classes.

Implementation:

After analysing the given requirements, implement the required application:

  • with Object Oriented Programming style
  • following the rules of good programming style (e.g. adding comments, etc.)
  • using only the material covered in M251 (and its prerequisites)

3

Hints:

  • For each class, it is required to implement constructors, setters, getters, toString() method,

and any other necessary method

  • If the user tries to do an operation that could violate the state of objects, the operation

should be ignored and the application should display an error message (e.g. renting the

same car twice in the same day, etc.)

  • Checking equality of any 2 objects should be done via the equals() method
  • There is a class that will do the main job of as follows:

o It has a collection to store the cars and another one to store the rent transactions

o It has static methods, one for each operation happens frequently

o For each adding or renting operation, a message should be displayed to the user to

explain the status of the operation (i.e. if it was successful or not)

Testing:

After implementing the required classes, design and implement a testing class to test them as

follows:

  • Create at least 4 cars, 3 customers and 6 rent transactions.
  • Try to violate the state of the objects and show that your code prevents all violations.
  • Show that the other operations that happen frequently are working fine
  • At the end, the whole data should be saved into a text file and this file should be saved

automatically inside the folder contains your Java project

Marks distribution:

  • 23 marks for the essential classes
  • 14 marks for the class represents Car
  • 36 marks for the class that stores the whole data
  • 9 marks for the testing class
  • 3 marks for following the given instructions
  • 5 marks for answering the two questions

Important notes on penalties:

  • Penalty on late submission: 10% per day
  • Penalty for not including the Java project: 50% of the achieved mark.
  • Penalty for not including the Word file: 50% of the achieved mark (after deducting any mark

related to the Word file).

  • Penalty for not putting copy (not a snapshot) of the Java code into the Word file: 50% of the

achieved mark.

  • Penalty on similarity percentage: according to AOU rules.

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
The price is based on these factors:
Academic level
Number of pages
Urgency
Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our guarantees

Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.

Money-back guarantee

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Read more

Zero-plagiarism guarantee

Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.

Read more

Free-revision policy

Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.

Read more

Privacy policy

Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.

Read more

Fair-cooperation guarantee

By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.

Read more
error: Content is protected !!