IBDP Computer Science A4.4 Ethical considerations HL Paper 2 - New Syllabus
Question
The intention is to make it easier to find the customer who has a certain car.
Most-appropriate topic codes (IBDP Computer Science HL Paper 2):
• B3.2: Fundamentals of OOP for multiple classes [HL only] – Parts (a), (b)
• A4.4: Ethical considerations – Part (c)
▶️ Answer/Explanation
(a)
For the correct answer:
![]()
The relationship shows that a Customer has a relationship with Car objects. A Customer can have a history containing multiple Car objects and may also have a reference to a currently rented Car. This represents a relationship between multiple classes in an object-oriented system.
(b)
For the correct answer:
The problem becomes that Car “has a” Customer and Customer “has a” Car; this is a circular / duplicate / redundant relationship which may cause inconsistencies; it increases dependencies and causes more overhead when changes need to be made.
Adding customerID to the Rental class would create an additional dependency between the rental and customer information. The Customer object already maintains information about the cars rented by that customer. Storing the customer reference again in Rental creates duplicate information about the same relationship.
(c)
For the correct answer:
- Privacy: only relevant customer data should be stored, limiting unnecessary intrusion into the customer’s privacy.
- Security: safeguards such as encryption and access controls should be implemented to reduce the risk of personal data being misused or accessed without authorization.
- Data accuracy: validation and verification should be used to reduce the possibility of incorrect personal data being stored.
- Data protection: customer information should be protected against unauthorized disclosure, loss or corruption.
Programmers have an ethical obligation to respect the privacy of customers and collect only information that is necessary for the rental service. They should implement appropriate security measures to prevent unauthorized access and use validation and verification to maintain accurate customer records. The system should also protect customer information from loss, corruption and inappropriate disclosure.
