EDIT: В ответ на замечания OP:
Re. запись информации о собственности и т. д. Вот пример:
Главное, что дата, приобретенная/проданная и т. д., является атрибутом отношения между Активом и Организацией/Пользователем. Они не являются атрибутами участвующих классов. В этом примере Asset Use позволяет использовать несколько одновременных пользователей, тогда как Asset Ownership позволяет только одному владельцу в любой точке. Это контролируется множественностью.
необходимо предъявить как владельцу, так и пользователям. Как бы я показал это, увидев, что этот актив не является подклассом или подтипом владельца или пользовательского класса?
Ваша отображаемая страница будет извлекать информацию из необходимых классов, следуя отношениям. Страница не ограничена показом информации из одного класса за раз.
Например, атрибут имени у владельца будет иметь название организации, однако атрибут name под сервером будет иметь имя сервера, а именно FQDN.
ОК: тогда у вас могут быть разные типы данных для двух имен. Возможно, простая строка для организации и определенное полное доменное имя для Asset. Но помните: это означает, что все Активы должны быть названы с использованием полного доменного имени. Если только компьютеры названы с полным доменным именем, тогда поместите атрибут имени на компьютер, а не в Asset. В стороне: для организаций довольно часто иметь схему именования активов, которая не зависит от типа актива. Единственное требование - уникальность. Например, я показал это выше. НТН.
End Edit
Ответ на ваши конкретные вопросы:
Как выразить собственность [..] для данного актива?
Предположительно, это то, что охватывает община Organisation - Asset
? Если да, то какая кратность? Предположительно:
- Каждый объект принадлежит одной организации или может быть актив совместно владеть?
- У каждой организации есть много (ноль или более) активов?
- Вам нужно записать любую информацию о собственности - например, когда был приобретен актив, когда он был продан и т. Д. Если это так, вам понадобится класс ассоциации для его захвата.
Как выразить пользователя за данный актив?
Похожие вопросы, как указано выше. Могут ли многие пользователи использовать один и тот же актив? Одновременно или последовательно? Нужно ли записывать даты начала и окончания использования активов?
Как выразить [..] объект сервера имеет значение поставщика в IBM
Вы это смоделированный с атрибутом Asset.vendor
- что может быть достаточно. Однако: вам нужно фиксировать какие-либо детали для поставщиков? например контактную информацию, адрес, контракты на поддержку и т. д. Если это вам понадобится, вам придется разделить отдельный класс поставщика.
Есть ли способ, которым я могу дополнительно отделить общие атрибуты или свойства, например. имя, местоположение? Есть ли необходимость в дальнейшем отделить это?
Все 3 подкласса имеют те же атрибуты. Это плохо пахнет - это говорит о том, что они не совсем разные. Не могли бы вы использовать один класс (Asset
), который захватывает все атрибуты - и имеет дополнительный «assetType» (или аналогичный) с правовыми значениями «Сервер», «Депоп», «Ноутбук»? Однако: вам нужно отслеживать активы, которые не являются компьютерами какого-либо типа? Если так, один класс Asset недостаточно гибкий.
Как оценить поведенческие ограничения, например. что произойдет, если пользователь покинет организацию или объект поврежден?
В зависимости от требований вашего бизнеса. Что должно произойти, если пользователь уйдет? Если у актива просто нет Пользователей? В этом случае связь должна быть необязательной (0 .. *).
Что означает повреждение актива? Нужно ли записывать убытки? Если так, вам нужен другой класс.
Где я могу взять эту информацию, если нет в модели?
Если его нет в модели, вы не можете ее записать или изменить. Поэтому я был бы очень осторожен в отношении того, что, по вашему мнению, нужно захватить, это не в модели. Скорее всего, это означает, что ваша модель неполна и/или вам не хватает требований.
Вообще-то я бы порекомендовал вам несколько раз подумать о множественности ассоциаций между именами &. Это, несомненно, вызовет вопросы о требованиях и/или ограничениях домена. Это поможет вам получить модель, которая имеет гораздо больше шансов удовлетворить требования.
hth.
Спасибо за подробный ответ. На данном этапе нет требования о совместном владении активом. Это не значит, что этого никогда не произойдет. Как смоделировать возможность его возникновения? Я не понимаю вашего комментария. «Нужно ли записывать любую информацию о владении - например, когда был приобретен актив, когда он был продан и т. Д. Если это вам понадобится, класс ассоциации для его захвата». I необходимо записать такую информацию. – PeanutsMonkey
Что касается вашего вопроса 'Похожие вопросы выше. Могут ли многие пользователи использовать один и тот же актив? Одновременно или последовательно? 'Да, несколько пользователей могут использовать один и тот же актив, и это может происходить одновременно или последовательно. Например, сервер базы данных будет иметь одновременно работающих пользователей. – PeanutsMonkey
Что касается моего вопроса относительно объектов времени выполнения, я хотел сказать, что есть требование отображать как владельца, так и пользователей. Как бы я показал это, увидев, что этот актив не является подклассом или подтипом владельца или пользовательского класса? – PeanutsMonkey