I realize the subject isn’t very clear so I’ll try to explain.
I’m trying to design a system for version control.
There are 3 types of users: simple user, owner and operator.
An operator is by no way a simple user/owner, but, he can run the system in special mode which will allow him to act as a simple user or owner for testing the correctness of the system.
The question: How would you describe the relationship (UML) between the system operator and the simple user/owner ?
I’ve been pondering a simple inheritance relationship, but my co-workers disagreee..
I also disagree with you, user/owner/admin, are just the same object with different rights. So you should associate your user with rights attributes.
Of course using inheritance is possible, but not adequate. There is nothing different in the meaning of the user/superuser/admin, they are all for example a person.
You can change a user to a superuser to an admin and vise versa, that’s why i would not use inheritance here.