Class Diagram - Mini Accounting Program!

Hey guys. I’ve been studying UML for a week and I just feel like I love it [too bad I can’t marry it!].
See, I wana write a mini accounting software. A type of software that users can say how much money they paid to whom. This ‘whom’ thing which I call Client, should also be able to see how much money he/she paid to what users. That simple.

Look at this link

Users and Clients are both Persons, a generalization as you ppl call it. The Account class belongs to the Person class. Which means a Person (User or Client) can have as many accounts as they want, but an account only belongs to one person. My question is now, is the aggregation I used for Person-Account correct, because as you see I’m having a method in Account, called getAccountOwner() which returns a Person object. So, I can no longer say Account belongs to Person per se, right? It’s only used once, but is it enough to erase the aggregation relationship?

Thank you :shock:

any idea? Come on ppl, help this new comer!

Hi Kingjulian,

Aggregation is okay. Actually the method for get owner is not related to aggregation or not. Decision to use aggregation or composition is only depends on the ownership behavior, this is not the methods in the class.

Best regards,
Lilian Wong