Name: _______________________________ Date: ______________________________
Software Engineering Specialization
Exercise: Modeling Software Systems using UML
The classes shown below are required to represent information about car ownership and car loans.
However, they have some attributes that are internal object identifiers (OIDs), some of which are
being used to represent relationships, and that should not appear in a class diagram. All such
attributes conveniently have names ending in ID.
Persons or companies may own cars. The car ownerID is the ID either the person or company that
owns the car. A car may have only one owner (person or company). A car may have no loan or
multiple loans. A bank provides a loan to a person or a company for the purchase of a car. Only the
car owner may obtain a loan on the car. The car owner type and the loan customer type indicate
whether the car owner/loan holder is a person or company.
On the class diagram below:
1. Replace all OIDs with associations.
2. Indicate the most likely multiplicities for all associations.
3. Cross out any unnecessary attributes.
Person Car Company
personID vehicleID companyID
name ownerID name
age ownerType
address model
year
Loan Bank
loanID bankID
vehicleID name
customerType
customerID
accountNumber
bankID
interestRate
currentBalance