2012-05-10 6 views
0

Я понимаю, что тема не очень ясна, поэтому я попытаюсь объяснить. Я пытаюсь создать систему контроля версий. Существует 3 типа пользователей: простой пользователь, владелец и оператор. Оператор никоим образом не является простым пользователем/владельцем, но он может запускать систему в специальном режиме, что позволит ему действовать как простой пользователь или владелец для проверки правильности работы системы.Дизайн - иногда объект есть-а, а иногда и не

Вопрос: Как бы вы описали отношения (UML) между системным оператором и простым пользователем/владельцем? Я размышлял о простых отношениях наследования, но мои коллеги не согласны.

ответ

3

Я также не согласен с вами, пользователь/владелец/администратор, - это тот же объект с разными правами. Таким образом, вы должны связать своего пользователя с атрибутами прав. Конечно, использование наследования возможно, но недостаточно. В значении пользователя/суперпользователя/администратора нет ничего другого, они все, например, человек. Вы можете изменить пользователя на суперпользователя на администратор и наоборот, поэтому я бы не использовал наследование здесь.

0

Учитывая ваше требование для пользователя выдавать себя за владельца или пользователя.

Я думаю, что я хотел бы попробовать

пользователь лицо Имя, Тип пароля и т.д., чтобы управлять общими такими вещами, как войти в системе.

Тогда три лица оператора, владелец и пользователь, который есть пользователь.

Может быть (возможно, будет) больше материала, который вы можете сделать обычным, но я определенно поеду с А есть, а не с.

У меня возникло бы желание сделать это даже без требования олицетворения, поскольку наследование предполагает, что владелец может делать все, что может сделать пользователь, и управлять всем, что может сделать владелец, что вряд ли будет истинным.

Смежные вопросы