2008-10-26 2 views
3

Для простоты:Как лучше всего визуализировать «матрицу разрешения» в диаграмме классов UML?

Существует система на основе разрешения на месте с различными видами уровней пользователей и действий (думаю: файловая система разрешений UNIX)

Что бы быть лучшим подходом визуализировать это UML?

ответ

1

Обычно у меня есть классы, представляющие пользователей, роли и разрешения. Пользователи принадлежат Роли и Роли, которым разрешены разрешения. Разрешения необходимы для доступа к другим объектам. В UML я полагаю, что вы бы моделировали роль как абстрактный базовый класс и имели несколько разных реализаций, по одному для каждой роли.

Как правило, я моделирую Разрешение как объект, содержащий наборы читаемых, доступных для записи, удаляемых бизнес-сущностей (возможно, содержащих исключения или включения свойств). Каждая роль имеет одно разрешение. Это разрешение разрешает или запрещает доступ к одному или нескольким другим классам. Разрешение по умолчанию отключено, и доступ разрешен только в том случае, если класс находится в соответствующем наборе для запрашиваемого действия.

0

Мне нравится думать, что объект файловой системы имеет ряд стандартных методов, каждый из которых имеет связанное с ним разрешение.

Существует 9 методов/разрешений, которые обычно представляют интерес: комбинации (User, Group, Other) * (Read, Write, Execute). Кроме того, есть такие опции, как Sticky и SetUID.

Объект файловой системы связан с одним пользователем и одной группой. Пользователь связан с любым количеством групп.

Текущий пользователь связан с любым количеством групп.

Вышеупомянутое довольно стандартное изображение диаграммы класса. Объекты файловой системы, пользователи, группы, ассоциации. И объекты файловой системы имеют кучу атрибутов и 9 канонических методов.

Ограничение на то, что разрешено, не имеет аккуратной диаграммы. Это набор выражений правил. Первый - это разрешение, которое разрешено использовать (пользователь, группа или другое), а затем какое разрешение в наборе (чтение, запись или выполнение).

Вы можете, я полагаю, определить класс пользователей с определенным набором конкретных объектов (у Unix есть пользователь, группа и т. Д.) И класс операций с некоторым набором конкретных объектов (Unix имеет чтение, запись, выполнение). Затем вы можете определить разрешения с двумя ассоциациями: от одного до пользовательского класса и от одного до рабочего класса.

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

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