Форум Сообщества Аналитиков

×


Проверьте диаграмму объектов, плиз(Прочитано 19196 раз)
Добрый день.

Пытаюсь составить диаграмму объектов для следующего описания:

Каждая компания имеет эккаунт в системе, этим эккаунтом могут пользоваться несколько пользователей (пользователи компании), один из которых должен быть администратором.
Каждый из пользователей может быть для другой компании обозревателем (т.е. иметь ограниченный на просмотр доступ к данным другой компании). Но если Пользователей U1 компании С1 является обозревателем для компании C2, то это не значит что все остальные пользователи компании C1 также являются обозревателями для компании C2.
И существует еще одна взаимосвязь между компаниями. Компания может быть грузоотправителем и перевозчиком, причем в одном лице, только в зависимости от типа отношений между компаниями идет определение. т.е. компания С2 перевозчик для компании С1 и одновременно грузоотправитель для компании С3. Соответственно все пользователи эккаунта компании С2 будут иметь определенные функции и доступ к данным компании С1, точно так же все пользователи компании С3 будут иметь аналогичный определенные функции и доступ к данным компании С2.

То, что у меня получилось - sxems.gif

Почему-то я уверена что это не совсем правильно ;) и на мой взгляд не дает всей наглядности функций пользователя.

Принимаются комментарии и советы

« Последнее редактирование: 06 Февраля 2008, 13:29:21 от bas »



Re: Проверьте, плиз Ответ #1 : 05 Февраля 2008, 20:49:03
1. одна компания имеет множество пользователей
2. один пользователь обязательно админ
3. в компании множество обозревателей
4. один обозреватель может иметь доступ к функциям разных компаний (вот тут кажется нелогичная у вас связь)
5. Пользователь имеет несколько прав
6 Каждое право соотносится тоько к одному пользователю
7. 1 право может охватывать несколько функций
8. Но каждая функция соотносится только с 1 правом
9. Каждая компания имеет набор функций
10. Одна и та же функция соотносится только одной компании
11. при перевозках одна или несколько компаний обязательно являются  грузоотправителем, при это она самая или другая компания может быть перевозчиком а может и не быть

вот что я прочитал из вашей диаграммы? все ли верно?



Re: Проверьте, плиз Ответ #2 : 06 Февраля 2008, 12:55:36
Большое спасибо за помощь, а то в при самостоятельном думанье мозг просто коллапсирует..

1. одна компания имеет множество пользователей\ да
2. один пользователь обязательно админ\ да
3. в компании множество обозревателей\ может быть много может не быть вообще
4. один обозреватель может иметь доступ к функциям разных компаний (вот тут кажется нелогичная у вас связь) \не совсем так, скорее обозреватель может иметь права на просмотр определенных данных различных компаний, но в системе это реализовано как отдельная функция и тогда пользователь приобретает эту функцию по отношению к другим (не совей) компаниям. Меня с этим обозревателем больше интересует как отобразить что он является одновременно пользователем другой компании а в принципе может и админом быть.
5. Пользователь имеет несколько прав\ да
6 Каждое право соотносится тоько к одному пользователю \нет, это я исправила
7. 1 право может охватывать несколько функций\нет, это я тоже исправила
8. Но каждая функция соотносится только с 1 правом\ тоже нет, тоже исправила
9. Каждая компания имеет набор функций\ да
10. Одна и та же функция соотносится только одной компании\ нет, исправила
11. при перевозках одна или несколько компаний обязательно являются  грузоотправителем, при это она самая или другая компания может быть перевозчиком а может и не быть \нет, это я тоже попыталась исправить. Суть в том что регистрируется компания в зависимости от набора функций это или просто компания или она может стать грузоотправителем или перевозчиком. Но перевозчика без грузоотправителя быть не может (грузоотправитель может пригласить перевозчиков). И грузоотправитель может быть перевозчиком для других компаний, а перевозчик может стать грузоотправителем при добавлении ему функций. Вот у меня есть желание еще как-то эту сложную связь показать, может как-то функции подразделить?.



Re: Проверьте, плиз Ответ #3 : 06 Февраля 2008, 12:58:02
Сори, плохо сохранила схему..



Re: Проверьте диаграмму объектов, плиз Ответ #4 : 06 Февраля 2008, 14:33:48
1. Задача учебная или реальная?
2. Админа лучше показать типом пользователя
3. Можно Грузополучателя и Перевозчика показать как отдельные обобщенные сущности и от них проводить связи. Тем более если у них будут разные свойства.
4. Набор ф-ций всегда стандартен и потом уже каждая компания выбирает себе ф-ции из набора? Или же у каждой компании свои спец ф-ии?
« Последнее редактирование: 06 Февраля 2008, 14:54:22 от bas »
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



Re: Проверьте диаграмму объектов, плиз Ответ #5 : 06 Февраля 2008, 14:38:27
2. один пользователь обязательно админ\ да
вопрос: у компании может быть в принципе множество администраторов? или только один?
Цитировать
4. один обозреватель может иметь доступ к функциям разных компаний (вот тут кажется нелогичная у вас связь) \не совсем так, скорее обозреватель может иметь права на просмотр определенных данных различных компаний, но в системе это реализовано как отдельная функция и тогда пользователь приобретает эту функцию по отношению к другим (не совей) компаниям. Меня с этим обозревателем больше интересует как отобразить что он является одновременно пользователем другой компании а в принципе может и админом быть.
админ - это тот, которые имеет доступ ко всем функциям своей компании без исключения? или он только имеет доступ к настройке и раздаче прав пользователям-обозревателям?

Цитировать
6 Каждое право соотносится тоько к одному пользователю \нет, это я исправила
7. 1 право может охватывать несколько функций\нет, это я тоже исправила
8. Но каждая функция соотносится только с 1 правом\ тоже нет, тоже исправила
вопрос, а что такое право? не есть ли это отображение возможности подключения к одной единственной функции, или право - это некоторый набор функций?
Цитировать
11. при перевозках одна или несколько компаний обязательно являются  грузоотправителем, при это она самая или другая компания может быть перевозчиком а может и не быть \нет, это я тоже попыталась исправить. Суть в том что регистрируется компания в зависимости от набора функций это или просто компания или она может стать грузоотправителем или перевозчиком. Но перевозчика без грузоотправителя быть не может (грузоотправитель может пригласить перевозчиков). И грузоотправитель может быть перевозчиком для других компаний, а перевозчик может стать грузоотправителем при добавлении ему функций. Вот у меня есть желание еще как-то эту сложную связь показать, может как-то функции подразделить?.
может у вас есть отчеты, документы регламентирующие эту ситуацию?



Re: Проверьте диаграмму объектов, плиз Ответ #6 : 06 Февраля 2008, 17:45:57
Вопросы - это просто замечательно, сама начинаешь лучше понимать  :)

To bas:

1.Задача реальная, досталась в наследство приложение, по которому спецификации не полные. На данный момент самое адекватное от чего решила отталкиваться - это структура базы и соответственно само приложение, т.е. его работа. Благо приложение и база небольшие. Вот для лучшего понимания решила себе смоделировать систему.

2.Типизация пользователя отсутствует так же как и типизация компаний, объяснить это можно тем что в оно и то же время пользователь как и компания может быть разных типов.

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

4.Вот для дальнейшей разработки я решила начать с типизирования функций. Приложение построено таким образом что функции достаточно локальные (даже в интерфейсе разделены на отдельные табы). Есть пара стандартных функций, которые обязательны, одна из который определяет админа компании. В дальнейшем каждая компания может добавлять себе функции. И например при добавлении определенной функции она становится Грузоотправителем, который может пригласить другую компанию как перевозчика, для компании перевозчика, которая регистрируется по приглашению помимо стандартных функций добавляется еще функция, которая определяет перевозчика.

To Galogen:

1.У компании может быть несколько администраторов, первый пользователь который регистрируется вместе с компанией обязательно администратор, дальше он может дать права на функцию администрирования другим пользователям

2.Админ имеет доступ ко всем функциям компании в том числе и к функции администрирования - под чем понимается раздача прав пользователям на функции компании. Обозреватель - это отдельный "загадочный зверек" его особо не администрируют (только приглашают, блокируют, удаляют) -> по приглашению регистрируется пользователь со своей компанией и в отличии от обычно зарегистрированного пользователя обозреватель в своем эккаунте может просматривать некоторые данные пригласившей его компании, но ни прав ни функций к эккаунту пригласившей компании он не имеет

3.Скажем так у каждой функции(для лучшего понимания функцию можно определить как модуль) есть набор прав на некие подфункции. На данный момент Пользователь- администратор компании может определять для других пользователей доступ к целым функциям (модулям), при чем автоматически пользователю присваиваются все права на данную функцию. Это некая закладка на будущее чтобы в дальнейшем можно было администрировать и давать помимо доступа к функции (модулю) еще и набор тех или иных прав, предусмотренных данной функцией.

4.К сожалению ни отчетов ни документов нет.



Re: Проверьте диаграмму объектов, плиз Ответ #7 : 06 Февраля 2008, 19:06:44
Оксана, если то что есть не очень ясное, давайте оттолкнемся от того, что должно быть. Модель ПрОб достаточно сложная.
Потому для начала составить имеет смысл концептуальную модель, реализация ведь может быть совершенно иной, и не один в один с моделью объектов предметной области, в том смысле, что все через ограничения целостности и стандартные процедуры реализовать вряд ли будет возможно.

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

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

а возможна ситуация, что компания и Г и П одновременно?

с пакетом функций мне тоже не совсем ясно, что за функции, какое их назначение, как они соотносятсяс тем что компания Г или П или просто К?




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19