Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Экзаменационные вопросы'
История отечественной педиатрии. Вклад Н. Ф. Филатова, Н. П. Гундобина, Г. Н. Сперанского, А. Ф. Тура, М. С. Маслова в развитие отечественной педиатр...полностью>>
'Документ'
Эффективность научного поиска во многом обусловливается последовательностью исследовательских шагов, которые должны привести к истинным результатам, ...полностью>>
'Документ'
Так называемое нормативное (социальное) поведение является разновидностью подражания. Термин «социальные нормы» обычно используется для указания на с...полностью>>
'Документ'
В течение 2001-2006 годов я проводил опыты по применению ЭМ-технологии не только при выращивании самых разных овощных культур, но и вел апробацию ЕМ-...полностью>>

М. В. Красильникова проектирование информационных систем раздел: Теоретические основы проектирования информационных систем Учебное пособие

Главная > Учебное пособие
Сохрани ссылку в одной из сетей:

ДИАГРАММЫ «СУЩНОСТЬ-СВЯЗЬ»

Диаграммы "сущность-связь" (ERD) предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними. Фактически с помощью ERD осуществляется детализация хранилищ данных проектируемой системы, а также документируются сущности системы и способы их взаимодействия, включая идентификацию объектов, важных для предметной области (сущностей), свойств этих объектов (атрибутов) и их отношений с другими объектами (связей).

Данная нотация была введена Ченом (Chen) и получила дальнейшее развитие в работах Баркера (Barker). Нотация Чена предоставляет богатый набор средств моделирования данных, включая собственно ERD, а также диаграммы атрибутов и диаграммы декомпозиции. Эти диаграммные техники используются прежде всего для проектирования реляционных баз данных (хотя также могут с успехом применяться и для моделирования как иерархических, так и сетевых баз данных).

Сущности, отношения и связи в нотации Чена

СУЩНОСТЬ представляет собой множество экземпляров реальных или абстрактных объектов (людей, событий, состояний, идей, предметов и т.п.), обладающих общими атрибутами или характеристиками. Любой объект системы может быть представлен только одной сущностью, которая должна быть уникально идентифицирована. При этом имя сущности должно отражать тип или класс объекта, а не его конкретный экземпляр (например, АЭРОПОРТ, а не ВНУКОВО).

ОТНОШЕНИЕ в самом общем виде представляет собой связь между двумя и более сущностями. Именование отношения осуществляется с помощью грамматического оборота глагола (ИMEET, ОПРЕДЕЛЯЕТ, МОЖЕТ ВЛАДЕТЬ и т.п.).

Другими словами, сущности представляют собой базовые типы информации, хранимой в базе данных, а отношения показывают, как эти типы данных взаимоувязаны друг с другом. Введение подобных отношений преследует две основополагающие цели:

  • обеспечение хранения информации в единственном месте (даже если она используется в различных комбинациях);

  • использование этой информации различными приложениями.

Символы ERD, соответствующие сущностям и отношениям, приведены на рис. 9.

Рис. 9. Символы ERD в нотации Чена.

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

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

Для идентификации требований, в соответствии с которыми сущности вовлекаются в отношения, используются СВЯЗИ. Каждая связь соединяет сущность и отношение и может быть направлена только от отношения к сущности.

ЗНАЧЕНИЕ связи характеризует ее тип и, как правило, выбирается из следующего множества:

{"0 или 1", "0 или более", "1", "1 или более", "p:q" ( диапазон )}.

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

  1. 1*1 (один-к-одному). Отношения данного типа используются, как правило, на верхних уровнях иерархии модели данных, а на нижних уровнях встречаются сравнительно редко.

  2. 1*n (один-к-многим). Отношения данного типа являются наиболее часто используемыми.

  3. n*m (многие-к-многим). Отношения данного типа обычно используются на ранних этапах проектирования с целью прояснения ситуации. В дальнейшем каждое из таких отношений должно быть преобразовано в комбинацию отношений типов 1 и 2 (возможно, с добавлением вспомогательных сущностей и введением новых отношений).

Диаграммы атрибутов

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

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

Категоризация сущностей

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

Д
ля демонстрации декомпозиции сущности на категории используются диаграммы категоризации. Такая диаграмма содержит общую сущность, две и более сущности-категории и специальный узел-дискриминатор, который описывает способы декомпозиции сущностей (рис. 10).

Рис. 10. Узел-дискриминатор.

Существуют 4 возможных типа дискриминатора:

  1. Полное и обязательное вхождение Е/М (exclusive/mandatory) – сущность должна быть одной и только одной из следуемых категорий.

  2. Полное и необязательное вхождение Е/О (exclusive/optional) – сущность может быть одной и только одной из следуемых категорий.

  3. Неполное и обязательное вхождение I/M (inclusive/mandatory) – сущность должна быть, по крайней мере, одной из следуемых категорий.

  4. Неполное и необязательное вхождение I/O (inclusive/optional) – сущность может быть, по крайней мере, одной из следуемых категорий.

Построение модели

Разработка ERD включает следующие этапы:

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

  2. Идентификация отношений между сущностями и указаний типов отношений.

  3. Разрешение неспецифических отношений (отношений n*m).

Этап 1 является определяющим при построении модели, его исходной информацией служит содержимое хранилищ данных, определяемое входящими и выходящими в/из него потоками данных. Первоначально осуществляется анализ хранилища, включающий сравнение содержимого входных и выходных потоков и создание на основе этого сравнения варианта схемы хранилища, описание структур данных, содержащихся во входных и выходных потоках.

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

Пример НФ. Рассмотрим все три нормальные формы на примере Группы Студентов. У Студента ключом является реквизит Номер (№ личного дела), к описательным реквизитам относятся: Фамилия (Фамилия студента), Имя (Имя студента), Отчество (Отчество студента), Дата (Дата рождения), Группа (N группы). Если отсутствует реквизит Номер, то для однозначного определения характеристик конкретного студента необходимо использование составного ключа из трех реквизитов: Фамилия + Имя + Отчество.

Первая нормальная форма

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

Например, отношение Студент = (Номер, Фамилия, Имя, Отчество, Дата, Группа) находится в первой нормальной форме.

Вторая нормальная форма

Чтобы рассмотреть вопрос приведения отношений ко второй нормальной форме, необходимо дать пояснения к таким понятиям, как функциональная зависимость и полная функциональная зависимость.

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

Функциональная зависимость реквизитов – зависимость, при которой в экземпляре сущности (в нашем случае, сущность – это студент) определенному значению ключевого реквизита соответствует только одно значение описательного реквизита.

Такое определение функциональной зависимости позволяет при анализе всех взаимосвязей реквизитов предметной области выделить самостоятельные информационные объекты.

В случае составного ключа вводится понятие функционально полной зависимости.

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

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

Отношение Студент = (Номер, Фамилия, Имя, Отчество, Дата, Группа) находится в первой и во второй нормальной форме одновременно, так как описательные реквизиты однозначно определены и функционально зависят от ключа Номер. Отношение Успеваемость = (Номер, Фамилия, Имя, Отчество, Дисциплина, оценка) находится в первой нормальной форме и имеет составной ключ Номер + Дисциплина. Это отношение не находится во второй нормальной форме, так как атрибуты Фамилия, Имя, Отчество не находятся в полной функциональной зависимости с составным ключом отношения.

Третья нормальная форма

Понятие третьей нормальной формы основывается на понятии нетранзитивной зависимости.

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

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

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

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

Пример. Студент группы представляется в виде совокупности правильно структурированных информационных объектов (Студент и Группа), реквизитный состав которых тождественен исходному объекту. Отношение Студент = (Номер, Фамилия, Имя, Отчество, Дата, Группа) находится одновременно в первой, второй и третьей нормальной форме.

3НФ является наиболее простым способом представления данных, отражающим здравый смысл. Построив 3НФ, мы фактически выделяем базовые сущности предметной области.

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

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

Пример. Связь "1-к-1". Человек и его паспорт. Связь "1-ко-многим": Человек и телефоны.

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

Рис. 11. Пример разрешения неспецифического отношения.

Спецификации управления

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

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

STD состоит из следующих объектов:

СОСТОЯНИЕ – оно может рассматриваться как условие устойчивости для системы. Находясь в определенном состоянии, мы имеем достаточно информации о прошлой истории системы, чтобы определить очередное состояние в зависимости от текущих входных событий. Имя состояния должно отражать реальную ситуацию, в которой находится система, например, НАГРЕВАНИЕ, ОХЛАЖДЕНИЕ и т.п.

НАЧАЛЬНОЕ СОСТОЯНИЕ – узел STD, являющийся стартовой точкой для начального системного перехода. STD имеет ровно одно начальное состояние, соответствующее состоянию системы после ее инсталляции, но перед началом реальной обработки, а также любое (конечное) число завершающих состояний.

ПЕРЕХОД определяет перемещение моделируемой системы из одного состояния в другое. При этом имя перехода идентифицирует событие, являющееся причиной перехода и управляющее им. Это событие обычно состоит из управляющего потока (сигнала), возникающего как во внешнем мире, так и внутри моделируемой системы при выполнении некоторого условия (например, СЧЕТЧИК = 999 или КНОПКА НАЖАТА). Следует отметить, что, вообще говоря, не все события необходимо вызывают переходы из отдельных состояний. С другой стороны, одно и то же событие не всегда вызывает переход в то же самое состояние.

Таким образом, УСЛОВИЕ представляет собой событие (или события), вызывающее переход и идентифицируемое именем перехода. Если в условии участвует входной управляющий поток управляющего процесса-предка, то имя потока должно быть заключено в кавычки, например, "ПАРОЛЬ" = 666, где ПАРОЛЬ – входной поток.

Кроме условия, с переходом может связываться действие или ряд действий, выполняющихся, когда переход имеет место. То есть ДЕЙСТВИЕ – это операция, которая может иметь место при выполнении перехода. Если действие необходимо для выбора выходного управляющего потока, то имя этого потока должно заключаться в кавычки, например:

"ВВЕДЕННАЯ КАРТА" = TRUE,

где ВВЕДЕННАЯ КАРТА – выходной поток.

На STD состояния представляются узлами, а переходы – дугами (рис. 12). Условия (по-другому называемые стимулирующими событиями) идентифицируются именем перехода и возбуждают выполнение перехода. Действия или отклики на события привязываются к переходам и записываются под соответствующим условием. Начальное состояние на диаграмме должно иметь входной переход, изображаемый потоком из подразумеваемого стартового узла (иногда этот стартовый узел изображается небольшим квадратом и п
ривязывается к входному состоянию).

Рис. 12. Пример STD узлов.

В ситуации, когда число состояний и/или переходов велико, для проектирования спецификаций управления могут использоваться таблицы или матрицы переходов состояний.

Первая колонка таблицы содержит список всех состояний проектируемой системы, во второй колонке для каждого состояния приведены все условия, вызывающие переходы в другие состояния, а в третьей колонке – совершаемые при этих переходах действия. Четвертая колонка содержит соответствующие имена состояний, в которые осуществляется переход из рассматриваемого состояния при выполнении определенного условия.

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

СРЕДСТВА СТРУКТУРНОГО ПРОЕКТИРОВАНИЯ

Ранее мы с вами рассмотрели средства структурного анализа, которые позволяют строить модель требований (или еще называют логической моделью), состоящую из множества взаимоувязанных диаграмм, словаря данных и описаний спецификаций процессов. Используемые при этом диаграммные техники включают DFD, ERD и SDT диаграммы и спецификации процессов. Модель требований описывает то, что должна делать проектируемая система без ссылок на то, как это реализуется.

Проектирование – это фаза ЖЦ, на которой вырабатывается, как реализуются требования пользователя, которые порождены и зафиксированы на фазе анализа. На этом этапе осуществляется построение модели реализации (или физической модели), демонстрирующей, как система будет удовлетворять предъявленные к ней требования. Фактически структурное проектирование является мостом между структурным анализом и реализацией.

Техника структурных карт (схем) используется на этапе проектирования для того, чтобы продемонстрировать, каким образом системные требования будут отражаться комбинацией программных структур. При этом наиболее часто применяются две техники: структурные карты Константайна, предназначенные для описания отношений между модулями, и структурные карты Джексона, предназначенные для описания внутренней структуры модулей.

Структурные карты Константайна

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

  1. модуль состоит из множества операторов языка программирования, записанных последовательно;

  2. модуль имеет имя, по которому к нему можно ссылаться как к единому фрагменту;

  3. модуль может принимать и/или передавать данные, как параметры в вызывающей последовательности или связывать данные через фиксированные ячейки.

Структурные карты Константайна являются моделью отношений иерархии между программными модулями (рис. 13).

Основные элементы структурных карт.

Типы модулей

Рис. 13. Основные элементы и типы модулей структурных карт.

Структурные карты Джексона

Техника структурных карт Джексона основана на методологии структурного программирования Джексона. Эта техника позволяет осуществлять проектирование нижнего уровня структуры ПО и на этом этапе является близкой к традиционным блок-схемам.

Диаграмма Джексона включает объекты следующего типа:

  1. структурный блок представляет частную функцию или блок кодов с одним входом и одним выходом.

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

  3. Библиотечный блок аналогичен процедурному и представляет вызов библиотечного модуля.

Для взаимоувязывания блоков используются связи следующих типов:

  • последовательная связь;

  • параллельная связь;

  • условная связь;

  • итерационная связь.

Характеристики хорошей модели реализации

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

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

Сцепление

Сцепление является мерой взаимозависимости модулей. В хорошем проекте сцепления должны быть минимизированы, т.е. модули должны быть слабо зависимыми настолько, насколько это возможно.

Существуют три типа нормального сцепления: сцепление по данным, сцепление по образцу, сцепление по управлению.

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

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

Два модуля сцеплены по образцу, если один посылает другому составной информационный объект. Пример составного объекта: Данные о клиенте, включающий в себя поля Название организации, Почтовый адрес, Телефон, Номер счета и т.д.

Два модуля сцеплены по управлению, если один посылает другому информационный объект – флаг, предназначенный для управления его внутренней логикой. Существует два вида флага: описательный (конец файла, введенные данные и т.д.) и управляющий (читать следующую запись, установить в начало).

Связность

Связность – мера прочности соединения функциональных и информационных объектов внутри одного модуля.

Выделяют следующие уровни связности:

  • функциональная (функционально связный модуль содержит объекты, предназначенные для выполнения единственной задачи, пример: расчет заработной платы);

  • последовательная (модуль имеет последовательную связность, если его объекты охватывают подзадачи, для которых выходные данные одной из подзадач служат входными данными для следующей, пример: открыть файл – прочитать запись – закрыть файл);

  • информационная (информационно связный модуль содержит объекты, использующие одни и те же входные или выходные данные);

  • процедурная (процедурно связный модуль является модулем, объекты которого включены в различные подзадачи, в которых управление переходит от каждой подзадачи к последующей, пример: последовательность утренних процедур);

  • временная (временно связным модулем является модуль, объекты которого включены в подзадачи, связанные временем исполнения, пример: установившаяся последовательность действий перед сном);

  • логическая (модулем с логической связностью является модуль, объекты которого содействуют решению общей подзадачи, для которой эти объекты отобраны во внешнем по отношению к модулю мире, пример: чем ехать до места отдыха (поехать автомобилем, поехать поездом, поплыть на корабле, полететь самолетом));

  • случайная (случайно связным модулем является модуль, объекты которого соответствуют подзадачам, незначительно связанным друг с другом, пример: 1. Ремонтировать автомобиль 2. Пить пиво. 3. Смотреть телевизор).



Скачать документ

Похожие документы:

  1. Программы учебных дисциплин Допущено Учебно-методическим объединением по направлениям педагогического образования Министерства образования и науки РФ в качестве учебно-методических материалов по направлению «050700 Педагогика»

    Документ
    П 44 Подготовка магистра в сфере дошкольного и начального образования (программы учебных дисциплин). В 3-х ч. Часть 2./ Под ред. Г.И.Вергелес, М.И.Калинина, Л.
  2. Секция 4 Учебники и учебные пособия

    Учебники и учебные пособия
    In the work questions of merit of use of electronic learning means for students are considered. The possibility of freedom of choice of different parameters of acquisition knowledge process is singled out as basic merit.
  3. Т. В. Дергилева формирование и развитие информационно-библиотечной системы российской академии наук (организационно-методический аспект) Учебное пособие

    Учебное пособие
    В учебном пособии изложена история формирования и развития информационно-библиотечной системы Российской академии наук с момента организации первых академических библиотек до 2003 г.
  4. В. В. Гура Теоретические основы педагогического проектирования личностно-ориентированных электронных образовательных ресурсов и сред

    Монография
    Гура В.В. Теоретические основы педагогического проектирования личностно-ориентированных электронных образовательных ресурсов и сред. Ростов н/Д: Изд-во Южного федерального ун-та, 2007.
  5. 1992 2010 Анисимов О. С

    Документ
    Анцупов А.Я. Социально-психологические проблемы: предупреждение и разрешение межличностных конфликтов во взаимоотношениях офицеров. - М.: ГА ВС, 1992.

Другие похожие документы..