Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Системный анализ, проектирование и UML > Построение UML диаграммы классов


Автор: RinaRegina 3.11.2014, 21:57
Составить концептуальную модель. Требуется: определить типы сущностей, определить типы связей, определить атрибуты и связать их с типами сущностей и связями, определить домены атрибутов, определить атрибуты, которые являются потенциальными и первичными ключами, провести специализацию или генерализацию типов сущностей, создать диаграммы.
Склады принадлежат филиалам. Поступающие продукты регистрируются в общем журнале, с указанием номер склада, куда поступили, кол-ва и даты. Выбывающие продукты регистрируются в общем журнале, с указанием номер склада, откуда выбыли, кол-ва и даты.

Автор: baldina 4.11.2014, 00:27
поможем. в чем затруднения?

Автор: baldina 8.11.2014, 01:14
Цитата

 Сущности здесь: склад,журнал,продукты,филиал

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

итого: филиал, склад, продукт, журнал, запись

Цитата

связь между складом и филиалом композитная агрегатная ассоциация  (т.е. данный склад принадлежит только одному филиалу)

да, агрегация. но если склады уничтожаются при закрытии филиала (или мгновенно передаются другому филиалу, что равносильно), то композиция. 

Цитата

между складом и продуктами именная ассоциация

что такое "именная"? имхо это тоже композиция.

продукт принадлежит складу, склад принадлежит филиалу. продуктов вне склада и складов вне филиалов не бывает.

Цитата

а вот связь между продуктами и журналом не могу определить

потому что она не прямая, а посредством "записи в журнале"

продукт [1] <агрегация>[1..*]запись
запись [0..*] <композиция> [1]журнал

у филиалов, складов и продуктов ключами будут их идентификаторы (возможно, составные) - наименования, номера и т.п. эадачей это не определено.

журналу идентификатор не нужен, т.к. он в единственном экземпляре (при реализации в БД он будет таблицей)

из известных атрибутов, помимо идентификаторов, можно выделить количество продуктов конкретного типа (т.е. с одним идентификатором), хранящихся на конкретном складе.

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

Автор: ida 5.9.2021, 17:49
На мой взгляд, информации для разработки модели недостаточно. Она фрагментарна и не дает полного представления о задаче. Как аналитик, я бы с этой вводной информацией пошла к заказчику и стала задавать вопросы, а потом уже, выяснив недостающие детали, описывала модель.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)