Методические указания

к лабораторным работам

ПОСТРОЕНИЕ СИСТЕМНОГО ПРОЕКТА

ИССЛЕДОВАНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ

Лабораторная работа №1

МЕТОДИКА ПОСТРОЕНИЯ ФУНКЦИОНАЛЬНОЙ МОДЕЛИ

ПРЕДМЕТНОЙ ОБЛАСТИ ДЛЯ ПРОЕКТИРОВАНИЯ

АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ УПРАВЛЕНИЯ (АСУ)

 

 

1 Цель работы

Изучить принципы разработки и формализации предметной области в виде функциональной (IDEF0) модели.

 

 

2 Задачи работы

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

 

 

3 Содержание работы

3.1 Изучить методику составления функциональной модели.

3.2 Запустив приложение IDEF ознакомиться с элементами окна приложения.

3.3 Составить схему функциональной модели по варианту, предложенному преподавателем (Приложение А).

3.4 Заполнить глоссарий определениями (Приложение Б).

3.5 Создать гипертекст к модели (Приложение В).

3.6 Сохранить на дискете файл с моделью и оформить отчет.

 

 

4 Требования к отчету

Отчет должен содержать:

-              название работы и постановку задачи исследования;

-              сведения о последовательности выполнения заданий;

-              спецификацию для предметной области (см. п. 5.8);

-              ответы на контрольные вопросы по указанию преподавателя.

 

 

5 Основные теоретические положения

В последнее время разработка программного обеспечения осуществляется по САSЕ-технологии с применением SADT (Structure Analysis and Design Technique-Методология Структурного Анализа и Проектирования). Это позволяет создавать единое информационное пространство на уровне менеджеров, обеспечить функциональную обозримость систем управления, осуществлять развитие самой системы с наименьшими затратами, производить актуализацию проектной документации в электронном виде.

 Международный стандарт SADT поддерживается специальным языком IDEF (ICAM DEFinition methodology - Методология Определения ICAM Integrated Computer-Aided Manufacturing - Интегрированная Программа Компьютеризации Промышленности) для описания проектов информационно-управляющих систем. Существует несколько пакетов программ, поддерживающих данный язык.

Пакет прикладных программ Design/IDEF реализует методологии:

-IDEFO - функциональное моделирование;

-IDEF1X- информационное моделирование;

-IDEF/CPN - динамическое моделирование.

5.1 Методология IDEFO основана на представлении системы в виде комбинации блоков и дуг. Блоки используются для представления функций системы и сопровождаются текстами на естественном языке. Дуги представляют множества объектов -  как физических, так и информационных, или действия, которые образуют связи между функциональными блоками. Данные, управляющие выполнением функции, входят в блок сверху. Подвергающаяся воздействию функции информация показана с левой стороны блока; результаты выполнения функции - показаны с правой стороны. Механизм, осуществляющий функцию, представляется дугой, входящей в блок снизу (рисунок 1).

Рисунок 1 Компоненты функциональной модели

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

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

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

Общая схема составления функциональной модели состоит из следующих этапов:

1)              Построение модели (разработка функциональной диаграммы; заполнение глоссария дополнительными определениями; дополнение диаграммы гипертекстом);

2)              Проверка синтаксиса модели (проверка на наличие связей, на идентификаторы функций и связей, на управление);

5.2 Основы работы в  приложении

Окно системы, после запуска программы, содержит стандартные для Windows элементы: строку заголовка, главное меню, панели инструментов и рабочую область. Как и многие приложения Windows, данная программа работает в многооконном режиме. В отдельных окнах отображаются разные функциональные уровни одной модели. Кроме того, в зависимости от выбранного режима представления, в отдельном окне отображается структура всей модели (всех уровней). Возможны два таких режима: в виде ориентированного графа (рисунок 2) и в виде иерархического списка блоков (рисунок 3).

Главное меню программы составляют десять пунктов: FILE (файл), EDID (редактирование), СREATE (создание), GLOSSARY (глоссарий), MODIFY (изменение), SELECT (выбор), VIEW (представление), DICTIONARY (словарь), WINDOW (окно), HELP (помощь). Каждый пункт раскрывается щелчком мыши и содержит команды, сгруппированные в блоки по назначению. Недоступные в данный момент команды обозначены тусклым цветом шрифта. Действие команды, заканчивающейся многоточием, уточняется выбором опций в специальных диалоговых окнах. Некоторые команды могут быть выполнены без вызова главного меню с помощью сочетания клавиш или кнопками панелей инструментов.

 

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

Рисунок 2 Пример представления системы в виде ориентированного графа

 

 

Курсор мыши в рабочей области изменяет свой вид при выборе некоторых команд. Например, при построении блока он из обычного крестика превращается в крестик с прямоугольником; при вводе названия блока - в крестик и букву Т; при построении дуги - в стрелку и т.д.


Рисунок 3 Пример иерархического представления системы проекта

 

 

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

 

5.3 Разработка функциональной диаграммы начинается с построения страницы верхнего уровня. При выборе команды New пункта меню FILE в открывающемся списке Methodology появляется возможность определения типа нужной формы документа. Для создания функциональной модели в списке помечаем пункт IDEF0 и утверждаем выбор клавишей OK.

 На экране появляется страница высшего уровня с единственным блоком внутри. Это главный объект дальнейшей работы. Начальная нумерация для блока высшего уровня в Design/IDEF – «АО». В каждой модели (документе) можно иметь только одну страницу высшего уровня.

 

5.3.1 Добавление текста к функциональному блоку

Каждый блок в диаграмме должен быть подписан. Правильным является именование блоков с помощью глаголов неопределенной формы. До начала ввода подписи можно заранее установить нужные параметры шрифта командой Set Attributes… пункта меню EDIT.  Изменение параметров текста после его ввода в блок может быть выполнено с помощью кнопок панели инструментов Форматирование. Для того чтобы в блоке появился курсор, означающий возможность ввода имени,  выполняем одно из указанных действий:

-  открываем пункт меню MODIFY, выбираем команду Turn On Text и щелкаем внутри функционального блока;

-  щелкаем в левой панели инструментов на кнопке  и внутри функционального блока.

5.3.2 Создание Ярлыков

Как было сказано выше (п. 6.1), к функциональному блоку с четырех сторон должны быть присоединены различные объекты. Для ввода названий (ярлыков) объектов выбираем Labels из пункта меню CREATE или активизируем кнопку    на панели инструментов, а затем указываем место вставки ярлыка и вводим нужный текст.

 

5.3.3 Создание дуг

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

-                     выбираем команду Arrow пункта меню CREATE;

-                     нажимаем на кнопку  на панели инструментов.

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

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

1)      Рисуем дугу к одному из блоков;

2)      Выделяем ее;

3)      Выбираем команду Branch пункта меню CREATE  или кнопку  ;

4)      Подводим курсор к нужному блоку (он начинает мигать);

5)      Щелкаем кнопкой мыши, указывая на ту сторону данного блока, к которой должна подходить дуга.

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

1)      Рисуем дугу от первого блока;

2)      Выделяем ее;

3)      Выбираем команду Join пункта меню CREATE или кнопку ;

4)      Подводим курсор к следующему блоку (он начинает мигать);

5)      Щелкаем кнопкой мыши, указывая на ту сторону данного блока, от  которой должна отходить дуга.

Для рисования нескольких дуг пункты 2-5 повторяем нужное количество раз.

Если к блоку с какой-то стороны присоединяется несколько дуг, желательно расположить их равномерно друг относительно друга, что не всегда удается сделать вручную. Для автоматической расстановки дуг включите флажок Autospace Arrows в диалоговом окне, открывающемся последовательностью команд  EDIT/ Set Attributes…/ Arrow. Другие установки этого окна позволяют выбрать плавное закругление изгибов дуг, способ представления пересечений дуг и т.п.

 

5.3.4 Создание последующих уровней функциональной модели

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

На данной странице модели уже находятся ярлыки, созданные на предыдущем уровне. Помимо названий ярлыков здесь присутствуют специальные обозначения (в виде сочетания заглавных латинских букв и цифр, например,  I1, I2, M1, O1, С1, С2, С3),  происходящие от английских слов Input (вход), Mechanisms (механизм), Output (выход), Control (управление).

 

5.3.5 Создание функциональных блоков

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

Для создания новых блоков в меню CREATE выбираем команду Place Boxes или на панели инструментов нажимаем кнопку . Указав нужное количество блоков, нажимаем OK. Появляется заданное количество блоков расположенных по диагонали от верхнего левого угла к правому нижнему. Автоматически блоки данного уровня нумеруются как «А1», «А2», «А3» и т.д. При последующей декомпозиции, например,  блока А1 новые блоки нумеруются как «А11», «А12», «А13» и т.д.

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

Заранее определить максимальное количество блоков (Maximum Boxes), позволенное на страницу, изменить способ нумерации блоков (Numbering) и задать другие установки можно в диалоговом окне IDEF0 Options, вызываемом командой Set Options…пункта меню EDIT. 

Созданные блоки необходимо соединить дугами и установить все необходимые подписи, как это было указано в п.п. 6.3.1, 6.3.3.

 

5.3.6 Создание подписей дуг, соединяющих блоки

Иногда на диаграмме требуется подписать дугу соединяющую функциональные блоки. Эта процедура выполняется в два этапа:

1)      Вводим подпись рядом со дугой на свободном месте диаграммы (команда Label в пункте меню CREAT) и затем выделяем ее;

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

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

5.4 Добавление данных в глоссарий  выполняется через команду Glossary Entry пункта меню GLOSSARY. Глоссарий используется для того, чтобы собрать вместе и определить новые понятия (определения объектов), которые вводятся диаграммой, декомпозирующей блок. В Приложении Б представлена страница глоссария, которая определяет объекты, приведенные на диаграмме на рисунке 8. Команда Glossary Browser показывает информацию, записанную в глоссарий.

 

5.5 Создание гипертекста

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

5.6 Проверка синтаксиса модели

Команда Validate в пункте меню FILE просматривает все страницы в текущей модели IDEFO на правильность IDEFO и SADT-синтаксиса. Ошибки синтаксиса сообщаются согласно формату, который был выбран в диалоге Validate IDEF0 Syntax. Если окно с результатами проверки синтаксиса (рисунок 4) содержит  приведенные ниже сообщения, то это означает, что системный проект составлен абсолютно правильно.

Рисунок 4 Результат проверки синтаксиса модели

5.7 Сохранение и печать модели

Для сохранения модели выбираем команду Save As… в меню FILE.

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

Design/IDEF печатает модель согласно опциям, которые были установлены командой Print… и Print Setup в пункте меню FILE.

 

5.8 Спецификация для предметной области – это формализованное описание требований. Единой формы (стандарта) для оформления спецификации нет. Спецификация обычно содержит:

-        функции системы, с которыми имеет дело пользователь, представленные SADT – моделью;

-        проектные ограничения по каждой функции (лимиты памяти и обработки данных, ресурсы персонала, предполагаемое  техническое и программное обеспечение), если они есть;

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

-        результаты анализа предметной области.

 

 

6 Контрольные вопросы

6.1 Какое назначение имеет функциональная модель в процессе разработки ПО?

6.2 Перечислите основные компоненты функциональной модели.

6.3 Опишите правила  формирования  функциональных  блоков (иерархия, нумерация, обозначение).

6.4 Опишите правила создания дуг  (направление,  тип интерфейса, обозначение).

6.5 Объясните принцип работы и порядок создания гипертекста.


 

 

 

Лабораторная работа №2

МЕТОДИКА ПОСТРОЕНИЯ ИНФОРМАЦИОННОЙ МОДЕЛИ

ПРЕДМЕТНОЙ ОБЛАСТИ ДЛЯ ПРОЕКТИРОВАНИЯ 

АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ УПРАВЛЕНИЯ (АСУ)

 

 

1. Цель работы

Изучение принципов разработки и формализации предметной области в виде информационной модели IDEF1X для  построения АСУ.

 

2 Задачи работы

Освоить приемы построения информационной модели предметной области.

 

 

3 Содержание работы

3.1 Изучить методику построения информационной модели.

3.2Составить схему модели базы данных по варианту, предложенному преподавателем (Приложение Г).

3.3 Сохранить на дискете файл с моделью и оформить отчет.

 

4 Требования к отчету

Отчет должен содержать:

§      название работы и постановку задачи исследования;

§      сведения о последовательности выполнения заданий;

§      ответы на контрольные вопросы по указанию преподавателя.

 

 

5 Основные теоретические положения

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

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

В 1983 году в рамках проекта военного ведомства США "Интегрированные системы информационной поддержки" (ICAM) была создана методология семантического моделирования данных IDEF1X. Она стала расширением методологии IDEF1 и позволила логически и физически объединять в сеть неоднородные вычислительные системы.

Методология IDEF1X - один из подходов к семантическому моделированию данных, основанный на концепции Сущность-Отношение. Это инструмент для анализа информационной структуры систем различной природы. Информационная модель, построенная с помощью IDEFlX- методологии, представляет логическую структуру информации об объектах системы. Эта информация является необходимым дополнением функциональной IDEFO- модели поскольку детализирует объекты, которыми манипулируют функции системы. Концептуально IDEF1X- модель можно рассматривать как проект логической схемы базы данных для проектируемой системы.

Рисунок 5 Основные компоненты IDEF1X

 

 

5.1 Основными компонентами IDEF1X- модели являются (рисунок 5):

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

-     независимые от идентификатора сущности;

-     зависимые от идентификатора сущности.

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

-     отношения, идентифицирующие связи;

-     отношения, не идентифицирующие связи;

-     отношения категоризации;

-     неспецифические отношения.

3)      Характеристики сущностей, изображаемые именами атрибутов внутри блоков. Атрибуты могут быть:

-     неключевыми;

-     первичными ключами;

-     альтернативными ключами;

-     внешними ключами.

 

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

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

 

5.1.2 Отношение связи, называемое также отношением родитель-потомок, - это связь между сущностями, при которой каждый экземпляр сущности-родитель ассоциирован с произвольным (в том числе нулевым) количеством экземпляров сущности-потомком, а - каждый экземпляр сущности-потомка ассоциирован в точности с одним экземпляром сущности-родителя.

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

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

Мощность определяет какое количество экземпляров сущности-потомка может существовать для каждого экземпляра сущности-родителя.

В IDEF1X могут быть выражены следующие мощности отношений (рисунок 6):

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

-        Каждый экземпляр сущности-родителя должен иметь не менее одного связанного с ним экземпляра сущности-потомка (буква Р (positive), помещенная рядом с точкой);

-        Каждый экземпляр сущности-родителя может иметь не более одного связанного с ним экземпляра сущности-потомка (буква Z (zero), помещенная рядом с точкой);

-        Каждый экземпляр сущности-родителя связан с некоторым фиксированным числом экземпляров сущности-потомка. Если мощность в точности равна некоторому числу N, это число (целое, положительное) помещается около точки.

 

Рисунок 6 Синтаксис мощности отношения

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

Рисунок 7 Синтаксис отношения категоризации

 

Каждый экземпляр общей сущности и связанный с ним экземпляр одной из категорных сущностей изображают один и тот же предмет реального мира и поэтому обладают одним и тем же уникальным идентификатором. Для сущности-категории мощность не указывается, поскольку она всегда равна нулю или единице. Например, Служащий является общей сущностью, а Штатный_служащий и Служащий_почасовик являются сущностями-категориями. Значение некоторого атрибута в экземпляре общей сущности определяет, с каким из возможных сущностей-категорий он связан. Этот атрибут называется дискриминатором отношения категоризации. В предыдущем примере дискриминатором может быть Тип_служащего. Если существует экземпляр общей сущности, не связанный ни с каким экземпляром из сущностей-категорий, то такое отношение называется отношением неполной категоризации. На неполноту множества категорий на диаграмме указывает круг, подчеркнутый один раз.

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

 

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

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

При существовании нескольких возможных ключей один из них обозначается в качестве первичного ключа, а остальные- как альтернативные ключи. Альтернативный ключ- это ключ, не являющийся первичным ключом сущности. Каждому альтернативному ключу присваивается уникальный целый номер. Этот ключ указывается с помощью размещения справа от каждого атрибута ключа заключенных в скобки букв АК с номером альтернативного ключа (рисунок 8).

Рисунок 8 Синтаксис первичных и альтернативных ключей

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

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

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

Рисунок 9 Синтаксис имени роли

 

Правила ключей:

-                   каждая сущность должна обладать первичным ключом;

-                   каждая сущность может обладать любым числом альтернативных ключей;

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

-                   отдельный атрибут может быть частью более чем одного ключа, первичного или альтернативного;

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

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

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

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

5.2 Нормализация данных

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

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

-        первая нормальная форма (1NF) - каждый атрибут в экземпляре сущности обладает не более чем одним значением;

-        вторая нормальная форма (2NF) - (1NF) в сочетании с тем, что значение неключевого атрибута определяется всем ключом экземпляра сущности и не определяется только его частью;

-        третья нормальная форма (3NF) – (2NF) в сочетании с тем, что значение неключевого атрибута не определяется значением другого неключевого атрибута;

-        четвертая нормальная форма (4NF) – (3NF) в сочетании с тем, что атрибут составного ключа из более чем двух атрибутов связан с одним из остальных двух или более атрибутов этого ключа не более тесно, чем с любым другим атрибутом;

-        пятая нормальная форма (5NF) – (4NF) в сочетании с тем, что атрибуты не могут «отщепляться» в другую сущность без придания им нового смысла.

 

5.3 Разработка информационной модели начинается с открытия новой IDEF1X страницы. При выборе команды New пункта меню FILE в открывшемся списке Methodology появляется возможность определения типа нужной формы документа. Для создания информационной модели в списке помечаем пункт IDEF1Х  и утверждаем выбор клавишей OK.

 

5.3.1 Создание сущности выполняется командой Entity пункта меню CREATE или нажатием на кнопке  на функциональной панели  инструментов. После обозначения с помощью мыши прямоугольного блока на странице диаграммы, появится окно Define Entity, содержащее:

-        Name - это уникальное имя, с помощью которого сущность будет распознаваться в  модели;

-        Aliases - псевдоним под которым сущность может быть известна;

-        Definition - определение сущности, которое обычно используется на предприятии;

-        Attributes - список атрибутов данной сущности. Чтобы ввести список атрибутов нужно нажать на клавишу Add.

 

5.3.2 Создание атрибутов выполняется в окне Define Attribute, которое содержит:

-        Name – имя атрибута;

-        Aliases – псевдоним атрибута;

-        Primary Key – первичный ключ;

-        Alternate Key – альтернативный ключ;

-        Definition – определение;

-        Discriminator – дискриминатор.

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

 

5.3.3 Создание отношений осуществляется командой Relationship меню CREATE или кнопкой  на панели инструментов. После соединения курсором мыши сущностей, между которыми устанавливается отношение, появляется окно Define Relationship. При создании отношений задаются:

-        Relationship - имя отношения;

-        Inverse – имя обратного отношения (указывается в неспецифических отношениях);

-        Definition - определение;

-        Relationship Type – тип отношения (идентифицирующее, неидентифицирующее или неспецифическое);

-        Relationship Cardinality – мощность устанавливаемого отношения.

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

 

6 Библиография

1.      Куликов Г.Г., Брейкин Т.В., Арьков В.Ю. Интеллектуальные информационные системы: Уч. пособие /УГАТУ –Уфа; 1999. –129с.

2.      Куликов Г.Г.,Набатов А.А., Речкалов А.В. Автоматизированное проектирование информационно-управляющих систем. Системное моделирование предметной области: уч. пособие / УГАТУ – Уфа, 1998. –104с.

3.      Методология IDEFO. Функциональное моделирование. – М.: МетаТехнология. 1993. - 117 с.

4.  Методология IDEF1X. Информационное моделирование. -М.: МетаТехнология. 1993. - 120 с.

5.      Вендров А.М. CASE – технологии. Современные методы и средства проектирования информационных систем. –М.: Финансы и статистика. 1998. – 176 с.

6.      Маклаков С.В. BPwin и ERwin. CASE – средства разработки информационных систем. –М.: ДИАЛОГ- МИФИ. 1999. – 256 с.

 

 

7 Контрольные вопросы

7.1 Дайте характеристику модели типа "сущность - связь".

7.2Какое назначение имеет информационная модель в процессе проектирования автоматизированной системы управления?

7.3 Перечислите основные составляющие информационной модели.

7.4Опишите правила формирования сущностей.

7.5 Опишите правила создания отношений.

7.6 Что такое нормализация данных?


Приложение А

Вариант1

 

Выполнить с точки зрения системного анализа выбор некоторого пакета программного обеспечения


 

 

 

 


Рисунок 10 Первый уровень системного проекта

 


 


Рисунок 11  Декомпозиция блока А0 для варианта 1


Вариант 2

 

Выполнить анализ выполняемых функций библиотекой


 

 

 

 

 


Рисунок 12 Первый уровень системного проекта для варианта 2

 

 


 

 


Рисунок 13 Декомпозиция блока А0 для варианта 2



Рисунок 14 Декомпозиция блока А1 для варианта 2


Рисунок 15 Декомпозиция блока А2 для варианта 2


 

 


Рисунок 16 Декомпозиция блока А3 для варианта 2

 


Вариант 3

 

Построить функциональную модель процедуры выполнения расчетно-графической работы

 

Рисунок 17 Первый уровень системного проекта для варианта 3


 

 

 


Рисунок 18 Декомпозиция блока А0


Приложение Б

Глоссарий к модели «Деятельность библиотеки».

Вариант 2. Декомпозиция I- уровня

Объекты

Бюджет и финансы – средства библиотеке для приобретения новой литературы.

Библиотечный фонд- книжный фонд библиотеки.

Новые книги- вновь приобретенные библиотекой книги.

Информация от поставщиков- тематические каталоги издательств.

Информация от клиентов- запросы читателей (авторы, названия книг, год издания), запросы на тематический обзор литературы.

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

Выдача книг- книги, выданные читателю на определенный срок библиотекой.

Заполнение членских билетов- внесение записей о выдаче книг читателям.

Заказ членских билетов- оформление заказа в типографию на подготовку новых членских билетов.

Отчеты- отчет о читателях, состоянии библиотеки, библиотечного фонда, тематических выставок и встреч с читателями.

 

Приложение В

Текстовая страница, описывающая последовательность действий, поясняющих деятельность библиотеки.

(Вариант 2. Декомпозиция I-го уровня)

 

А1. Пополняет библиотечный фонд

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

А2. Организует работу с клиентами

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

А3. Выполняет вспомогательные работы

Подготавливает отчеты для руководства, готовит видеофильмы, электронные библиотеки. По мере надобности оформляются заказы на новые читательские билеты.

Приложение Г

 

Вариант 1

 

Информационная модель базы данных для компании по продаже автомобилей

 

 

Рисунок 19 Информационная модель предметной области к варианту 1

 

 


Вариант 2

Информационная модель базы данных для отдела проектной организации

 

Рисунок 20 Информационная модель предметной области к варианту 2

 

 

 

 


e-mail: kafiitbgau@narod.ru

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

Оформление
LaryART

В начало методички


Hosted by uCoz