2015_Alontseva_Anokhin_Saakyan_Structural_analysis
.pdfнеобходимо реализовать отношение «либо …, либо …» между основной сущностью и сущностями-категориями. В примере на рис. 17 каждый счет в банке открывается только одному клиенту – либо физическому, либо юридическому лицу. При этом человек или организация могут иметь несколько счетов в этом банке, а могут вообще не иметь их. Категориальная связь является частным случаем исключающей связи при условии, что отношения имеют мощность 1:1 и являются полными со стороны сущностей-категорий.
|
|
|
ФИЗИЧЕСКОЕ ЛИЦО |
|
СЧЕТ |
открыт для |
# |
Номер паспорта |
|
|
* |
Фамилия |
||
# Номер счета |
|
имеет |
… |
|
|
|
|||
|
|
|
||
* |
Вид счета |
|
имеет ЮРИДИЧЕСКОЕ ЛИЦО |
|
* |
Дата открытия |
|
||
|
… |
открыт для |
# |
ИНН |
|
|
|||
|
|
|
* |
Название |
|
|
|
|
… |
Рис. 17. Исключающая связь
3.3. Нотация «сущность-связь» Бахмана
Чарльз Бахман13 (Charles W. Bachman) – выдающийся исследователь и практик в области компьютерных наук, удостоенный в 1973 г. премии Тьюринга14. Он основал собственную фирму, которая занималась разработкой СУБД и линейкой CASE-средств.
В предложенной им нотации сущность изображается прямоугольником, внутри которого перечисляются имя сущности и атрибуты. Для каждого атрибута указывается его роль:
PK (primary key) – первичный ключ; FK (foreign key) – внешний ключ;
13Иногда (редко) упоминается в русскоязычной литературе как Бэчмен
14Премия Тьюринга – самая престижная премия в области информационных технологий, вручаемая ежегодно ассоциацией вычислительной тех-
ники (Association for Computing Machinery, ACM). Ее часто сравнивают с но-
белевской премией, но только для IT-области.
40
PFK (primary and foreign key) – внешний ключ в составе пер-
вичного;
I (inherited) – атрибут, унаследованный от обобщенной сущности. Необходимо отметить, что названия наследуемых атрибутов и внешних ключей в данной нотации являются составными и содер-
жат имя сущности, из которой они мигрировали.
Связи в нотации Бахмана изображаются линией с двумя названиями. Мощность связи указывается с помощью стрелок:
« » – мощность «один-к-одному», «» – мощность «один-ко-многим»,
«» – мощность «многие-ко-многим», полнота – с помощью пустого или закрашенного кружочка, а иден-
тифицирующая связь – с помощью специальной метки – точки, расположенной около зависимой сущности.
ГРУППА |
|
|
СТУДЕНТ |
|||
PK, |
Шифр группы |
|
|
PK, |
Номер студбилета |
|
PFK, |
ФИЛИАЛ МИФИ. Код |
|
|
FK, |
ГРУППА.Шифр группы |
|
|
Год набора |
|
|
FK, |
ФИЛИАЛ МИФИ. Код |
|
|
… |
|
|
|
Фамилия |
|
|
|
|
|
|
… |
|
|
|
|
|
|
|
|
|
обучается в состоит из |
|
СТУДЕНТ ЗАОЧНОГО ОТДЕЛЕНИЯ |
|
||
|
|
IPK, |
СТУДЕНТ.Номер студбилета |
|
||
|
|
|
|
|
||
|
|
|
|
IFK, |
ГРУППА.Шифр группы |
|
|
учится в |
|
IFK, |
ФИЛИАЛ МИФИ. Код |
|
|
|
|
|
|
I |
СТУДЕНТ.Фамилия |
|
|
имеет |
|
I |
… |
|
|
|
|
|
Место работы |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Второе образование |
|
ФИЛИАЛ МИФИ |
|
|
|
|
||
|
|
|
|
|
||
|
|
|
|
|
|
|
PK, |
Код |
|
|
СТУДЕНТ ВЕЧЕРНЕГО ОТДЕЛЕНИЯ |
|
|
|
|
|
|
|
||
|
Название |
|
|
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 18. Диаграмма «сущность-связь» «Институт» в нотации Бахмана
В показанном на рис. 18 примере шифры учебных групп в различных филиалах НИЯУ МИФИ могут совпадать. Во избежание не-
41
однозначности сущность ГРУППА сделана зависимой и в состав ее первичного ключа введен код филиала МИФИ.
Для изображения отношения категоризации сущности-категории вкладываются в обобщенную сущность, наследуя ее атрибуты. В примере введены категории студентов, обучающихся на разных отделениях и имеющих дополнительные атрибуты. Так, студенты заочного и вечернего отделений, в отличие от очников, имеют официальное право работать – эта информация указывается в соответствующем атрибуте. Кроме того, зачастую на заочном факультете студенты получают второе высшее образование.
3.4. Нотация «сущность-связь» IDEF1X
Данная нотация появилась в рамках программы ICAM в 1985 г., заменив не очень удачную нотацию IFEF1, предложенную четырьмя годами ранее. Автором нотации, которой мало что известно, счита-
ется Мэри Лумис (Mary E. Loomis).
Как и в нотации Чена, здесь используются разные обозначения для независимых и зависимых сущностей. Независимые сущности изображаются прямоугольником, а зависимые, т.е. слабые сущности в идентифицирующих связях – прямоугольником со скругленными углами. Имя сущности размещается над прямоугольником и состоит из двух частей, разделенных косой чертой, – собственно имени и номера сущности, который может не указываться.
Каждый прямоугольник разделяется на две части: в верхней перечисляются атрибуты, составляющие первичный ключ, а в нижней
– остальные атрибуты. Внешний ключ, мигрировавший через идентифицирующую связь, указывается в верхней части прямоугольника, т.к. он входит в состав первичного ключа. В остальных случаях внешний ключ указывается среди прочих атрибутов. В любом случае рядом с атрибутом – внешним ключом – ставится метка FK.
Если среди атрибутов имеются альтернативные ключи (т.е. атрибуты, которые потенциально могли бы служить первичными ключами), то их обозначают меткой AK.
Связи изображаются линиями с двумя названиями, указанными через косую черту. Сплошная линия используется для идентифицирующих связей, пунктирная – для обычных. Наиболее уязвимым
42
местом нотации IDEF1X является сильно запутанная система изображения кардинальных чисел – полноты и мощности связи.
Рассмотрим кардинальные числа идентифицирующей связи, представляющей собой сплошную линию с точкой со стороны зависимой сущности . Как известно, эта связь может иметь мощность «один-к-одному» или «один-ко-многим» и должна быть полной со стороны зависимой сущности. Полнота и мощность связи указываются с помощью метки рядом с точкой. Если метка отсутствует, то это связь «один-ко-многим», неполная со стороны основной сущности. Именно такой является связь между филиалом МИФИ и группой (рис. 19): в филиале может быть много групп, а может не быть ни одной. Меткой «P» обозначается полная связь «один-ко- многим», а меткой «Z» – частично полная связь «один-к-одному».
Неидентифицирующая связь может быть неполной со стороны зависимой сущности. Этот факт обозначается небольшим белым ромбом, который ставится на том конце линии, который примыкает к основной сущности. Так, в примере на рис. 19 связь между студентом и группой имеет мощность «один-ко-многим» (в одной группе учится много студентов), при этом в группе обязательно должен учиться хоть один студент, но студент не обязательно приписан к группе, т.к. он может находиться в академическом отпуске.
Нотация IDEF1X не регламентирует изображение полной связи «один-к-одному», однако из контекста можно предположить, что это должен быть конец линии без метки и дополнительного символа.
Для изображения отношения категоризации в нотации IDEF1X используются два символа, называемых дискриминаторами:
– полная категоризация означает, что набор сущностейкатегорий полный и каждый экземпляр обобщенной сущности должен быть ассоциирован с одним экземпляром какой-либо сущностикатегории (в примере, показанном на рис. 19, студент обязательно должен быть либо очником, либо заочником, либо вечерником);
– неполная категоризация означает, что набор сущно- стей-категорий неполон, а в обобщенной сущности могут существовать экземпляры, не имеющие ассоциаций ни с одной из сущностейкатегорий.
43
Группа |
|
Филиал МИФИ |
|
Шифр группы |
образована в / |
||
|
|||
|
|||
Код (FK) |
включает в себя |
Код |
|
Год набора |
|
Название |
…Студент
|
|
Номер студбилета |
|
|
P |
|
|
|
Шифр группы (FK) |
||
состоит из |
|
Код (FK) |
|
|
Фамилия |
||
/ учится в |
|
||
|
… |
||
|
|
||
|
|
|
|
|
|
|
|
категория студента
Студент-очник Студент-заочник Студент-вечерник
Номер студбилета (FK) |
Номер студбилета (FK) |
Номер студбилета (FK) |
|
|
|
Стипендия |
Место работы |
Место работы |
|
Второе образование |
|
Рис. 19. Диаграмма «сущность-связь» «Институт» в нотации IDEF1X
Так же, как и в нотации Чена, методика IDEF1X предлагает средство для изображения доменов, вернее, иерархии доменов. На верхнем уровне этой иерархии указывается базовый домен, который определяется на числовом, текстовом, логическом, двоичном и других типах данных. Затем этот домен может быть декомпозирован на домены-типы, для каждого из которых задаются свои дополнительные ограничения (рис. 20).
3.5. Нотация Мартина и кардинальные числа
Обозначение кардинальных чисел является одним из наиболее спорных моментов в разных нотациях, а их изображение в нотациях Бахмана и IDEF1X является крайне неудобным и запутанным. Одним из наиболее удачных и наглядных способов отображения кардинальных чисел представляется нотация, положенная в основу
44
Температура (число)
Температура по |
Температура по |
Температура по |
шкале Цельсия |
шкале Кельвина |
шкале Фаренгейта |
(число ≥ –273,15) |
(число ≥ 0) |
(число ≥ –459,67) |
Рис. 20. Иерархия доменов
популярного пакета Power Designer15 и упоминаемая в литературе как нотация Джеймса Мартина (James Martin) или нотация Information Engineering. Она очень близка к нотации Баркера, а ее отличительной чертой является лаконичное и удобное обозначение карди-
нальных чисел: |
– «ноль», |
|
– «один», |
– «много». На каждом |
|
конце линии указывается пара символов, при этом внешний символ (расположенный ближе к сущности) обозначает мощность, внутренний – полноту. Если верхнее кардинальное число равно единице, то оно не указывается (рис. 21).
Если связь идентифицирующая, то со стороны зависимой сущности используется другой символ:
– идентифицирующая связь мощностью «один-ко-многим»;
– идентифицирующая связь мощностью «один-к-одному».
Отношение категоризации изображается похожим на IDEF1X способом. Если внутри дискриминатора (символа разветвления связи) указан символ «Х», то такая связь является исключающей. Это означает, что экземпляр обобщенной сущности может быть ассоциирован с экземпляром только одной из сущностей-категорий. Если дискриминатор пуст, то возможны ассоциации сразу с несколькими категориями. В показанном на рис. 21 примере связь ис-
15 В начале 2000-х гг. этот пакет занимал 38% рынка CASE-средств для информационного моделирования. Сегодня его производитель – фирма Sybase входит в состав компании SAP, а сам пакет позиционируется как инструмент для моделирования бизнес-процессов.
45
ключающая, т.е. студент может одновременно учиться только по одной форме обучения – очной, заочной или вечерней.
Кроме того, как видно из рис. 21, на диаграмме «сущность-связь» в данной нотации традиционно не показываются внешние ключи, мигрировавшие через связи. Миграция происходит лишь на этапе создания физической модели, которая генерируется из концептуальной с привязкой к определенной СУБД. Атрибуты, входящие в состав первичного ключа, подчеркиваются.
образована в |
Филиал МИФИ |
|
|
|
Код |
|
Название |
|
|
|
|
|
|
|
Группа |
|
|
|
Студент |
||
Шифр |
|
|
|
|
||
|
|
|
Номер студбилета |
|||
учится в |
|
|
||||
Год набора |
|
|
Фамилия |
|||
|
|
|
||||
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
|
|
|
Студент-очник |
|
Студент-заочник |
|
Студент-вечерник |
||
|
|
|
|
|
|
|
Стипендия |
Место работы |
Место работы |
||||
|
|
Второе образование |
|
|
||
|
|
|
|
|
|
|
Рис. 21. Диаграмма «сущность-связь» «Институт» в нотации Мартина
Чтобы читателю было легче разобраться в многочисленных способах изображения кардинальности связей, символы разных нотаций сведены в одну таблицу и сопоставлены друг с другом (табл. 9).
46
Таблица 9 чисел в различных нотациях
Чена |
Баркера |
Бахмана |
IDEF1X |
(0,1:0,1)
(0,1:1,1)
(1,1:0,1)
(1,1:1,1) (1,1:0,1) –
(1,1:1,1) –
(0,1:0,N)
(0,1:1,N) (1,1:0,N)
(1,1:1,N)
(1,1:0,N) – (1,1:1,N) –
(0,N:0,M) (0,N:1,M)
(1,N:0,M)
P
(1,N:1,M) |
P |
Глава 4. Моделирование поведения
Функциональное моделирование является очень удобным инструментом, если аналитик ставит задачу изучить, формализовать и документировать процессы, происходящие в исследуемой системе. Однако функциональные модели часто очень умозрительны и носят качественный характер. Зачастую один и тот же процесс можно изобразить несколькими вариантами, и все будут правильными. Такая вариабельность ставит вопрос об адекватности модели, о возможностях ее исследования и др. Отсутствие количественных мер в нотациях функционального моделирования ограничивает аналитика в решении таких задач, как оптимизация бизнес-процессов, оценка их ресурсоемкости и вероятности успешного завершения.
Решение этой проблемы возможно с использованием таких формализмов, как графы состояний и деревья событий. Их использование позволяет применять для численной обработки аппарат имитационного моделирования, байесовских и марковских сетей. В данной главе рассматриваются два метода структурного моделирования в виде сетей состояния, объединенных названием «моделирование поведения».
4.1. Сеть Петри
Модель была предложена в 1962 г. немецким математиком Карлом Адамом Петри16, внесшим огромный вклад в теорию сетей, теорию автоматов, параллельных и распределенных вычислений. Сеть Петри представляет собой ориентированный граф с вершинами двух типов – позициями и переходами (табл. 10). Дуги этого графа могут соединять только вершины различных типов.
В позициях сети размещаются специальные маркеры – фишки или метки, перемещение которых и отображает динамику моделируемой системы. Движение маркеров происходит в результате срабатывания перехода, инициируемого соответствующим внешним
16 К. Петри впервые использовал свою сеть в возрасте 13-ти лет, однако официальной датой ее опубликования считается защита диссертации, происшедшая 23 года спустя
48
событием. Переход срабатывает, если во всех его входных позициях имеются маркеры и происходит соответствующее переходу событие. Срабатывание перехода – это новое событие, в результате которого из каждой входной позиции сработавшего перехода маркер удаляется, а в каждую выходную позицию – заносится.
Таблица 10
Нотация сетей Петри
Символ |
Назначение |
Позиция – может использоваться для отображения состояния объекта предметной области
Переход – может использоваться для отображения события или функции
Дуга – указывает возможные пути реализации процесса
На рисунке 22 приведен пример сети Петри с четырьмя позициями и четырьмя переходами. Сеть моделирует часть конвейера по обработке деталей на оборудовании. С помощью маркеров отображается движение детали по конвейеру и состояние оборудования. Как только деталь загружена (маркер в позиции «деталь загружена») и оборудование свободно (маркер в позиции «оборудование свободно»), начинается обработка детали. После того, как деталь обработана, оборудование освобождается, а деталь отправляется дальше.
Рис. 21. Сеть Петри «Обработка детали»
49