- •Поведенческие модели
- •Архитектурные модели
- •Доменно-ключевая нормальная форма.
- •Многозначные зависимости.
- •Постреляционная модель данных.
- •Многомерная модель данных.
- •Объектно-ориентированная модель данных.
- •Документ и его структура.
- •Общая характеристика методологии sadt (idef0)
- •Состав функциональной модели idef0. Иерархия диаграмм.
- •Сущность структурного подхода
- •Состав и назначение функциональной модели idef3.
- •Типы переходов в idef3: переходы для асинхронных процессов.
- •Типы переходов в idef3: переходы для синхронных процессов.
- •Правила использования переходов.
- •Моделирование потоков данных. Нотация Гейна-Сарсона.
- •Правила построения dfd диаграмм
- •Методы задания миниспецификаций: структурированный естественный язык
- •Методы задания миниспецификаций: таблицы и деревья решений
- •Моделирование данных. Методология idef1x. Основные понятия.
- •Типы сущностей и связей между ними.
- •Процесс моделирования данных.
- •Принципы определения сущностей, связей, идентификаторов, атрибутов и доменов.
- •Представление связей. Идентифицирующих, 1:1, 1:n, n:m, категориальных, рекурсивных, высших порядков, Пустые значения.
Методы задания миниспецификаций: структурированный естественный язык
Структурированный естественный язык применяется для читабельного, строгого описания спецификаций процессов. Он является разумной комбинацией строгости языка программирования и читабельности естественного языка и состоит из подмножества слов, организованных в определенные логические структуры, арифметических выражений и диаграмм.
В состав языка входят следующие основные символы:
глаголы, ориентированные на действие и применяемые к объектам;
термины, определенные на любой стадии проекта ПО (например, задачи, процедуры, символы данных и т.п.);
предлоги и союзы, используемые в логических отношениях;
общеупотребительные математические, физические и технические термины;
арифметические уравнения;
таблицы, диаграммы, графы и т.п.;
комментарии.
Управляющие структуры языка имеют один вход и один выход. К ним относятся:
1) последовательная конструкция:
ВЫПОЛНИТЬ функция1
ВЫПОЛНИТЬ функция2
ВЫПОЛНИТЬ функция3
2) конструкция выбора:
ЕСЛИ <условие> ТО
ВЫПОЛНИТЬ функция1
ИНАЧЕ
ВЫПОЛНИТЬ функция2
КОНЕЦЕСЛИ
3) итерация:
ДЛЯ <условие>
ВЫПОЛНИТЬ функция
КОНЕЦДЛЯ
или
ПОКА <условие>
ВЫПОЛНИТЬ функция
КОНЕЦПОКА
При использовании структурированного естественного языка приняты следующие соглашения:
Логика процесса выражается в виде комбинации последовательных конструкций, конструкций выбора и итераций.
Ключевые слова ЕСЛИ, ВЫПОЛНИТЬ, ИНАЧЕ и т.д. должны быть написаны заглавными буквами.
Слова или фразы, определенные в словаре данных, должны быть написаны заглавными буквами.
Глаголы должны быть активными, недвусмысленными и ориентированными на целевое действие (заполнить, вычислить, извлечь, а не модернизировать, обработать).
Логика процесса должна быть выражена четко и недвусмысленно.
Методы задания миниспецификаций: таблицы и деревья решений
Структурированный естественный язык неприемлем для некоторых типов преобразований. Например, если действие зависит от нескольких переменных, которые в совокупности могут продуцировать большое число комбинаций, то его описание будет слишком запутанным и с большим числом уровней вложенности. Для описания подобных действий традиционно используются таблицы и деревья решений.
Проектирование спецификаций процессов с помощью таблиц решений (ТР) заключается в задании матрицы, отображающей множество входных условий в множество действий.
ТР состоит из двух частей. Верхняя часть таблицы используется для определения условий. Обычно условие является ЕСЛИ-частью оператора ЕСЛИ-ТО и требует ответа "да-нет". Однако иногда в условии может присутствовать и ограниченное множество значений, например, ЯВЛЯЕТСЯ ЛИ ДЛИНА СТРОКИ БОЛЬШЕЙ, МЕНЬШЕЙ ИЛИ РАВНОЙ ГРАНИЧНОМУ ЗНАЧЕНИЮ?
Нижняя часть ТР используется для определения действий, т.е. ТО-части оператора ЕСЛИ-ТО. Так, в конструкции
ЕСЛИ ИДЕТ ДОЖДЬ ТО РАСКРЫТЬ ЗОНТ
ИДЕТ ДОЖДЬ является условием, а РАСКРЫТЬ ЗОНТ - действием.
Левая часть ТР содержит собственно описание условий и действий, а в правой части перечисляются все возможные комбинации условий и, соответственно, указывается, какие конкретно действия и в какой последовательности выполняются, когда определенная комбинация условий имеет место.
Поясним вышесказанное на примере спецификации процесса выбора символов из входного потока. При выборе символов необходимо руководствоваться следующими правилами:
1) если очередной символ является управляющим, то подать звуковой сигнал и вернуть код ошибки;
2) если буфер формируемой строки заполнен, то подать звуковой сигнал и вернуть код ошибки;
3) если очередной символ не находится в заданном диапазоне, то подать звуковой сигнал и вернуть код ошибки;
4) иначе поместить символ в буфер, увеличить значение счетчика выбранных символов и вернуть новое значение счетчика.
Моделирование данных. Расширенная модель «сущность-связь». Основные понятия. Сущность, класс сущности, экземпляр сущности, атрибут, композитный атрибут, многозначный атрибут, идентификатор уникальный и неуникальный, связь, класс связи, экземпляр связи, степень связи, кардинальность, виды сущностей.
Диаграммы "сущность-связь" (ERD) предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними. Фактически с помощью ERD осуществляется детализация хранилищ данных проектируемой системы, а также документируются сущности системы и способы их взаимодействия, включая идентификацию объектов, важных для предметной области (сущностей), свойств этих объектов (атрибутов) и их отношений с другими объектами (связей).
Данная нотация была введена Ченом (Chen) и получила дальнейшее развитие в работах Баркера (Barker). Нотация Чена предоставляет богатый набор средств моделирования данных, включая собственно ERD, а также диаграммы атрибутов и диаграммы декомпозиции. Эти диаграммные техники используются прежде всего для проектирования реляционных баз данных (хотя также могут с успехом применяться и для моделирования как иерархических, так и сетевых баз данных). СУЩНОСТЬ представляет собой множество экземпляров реальных или абстрактных объектов (людей, событий, состояний, идей, предметов и т.п.), обладающих общими атрибутами или характеристиками. Любой объект системы может быть представлен только одной сущностью, которая должна быть уникально идентифицирована. При этом имя сущности должно отражать тип или класс объекта, а не его конкретный экземпляр (например, АЭРОПОРТ, а не ВНУКОВО).
ОТНОШЕНИЕ в самом общем виде представляет собой связь между двумя и более сущностями. Именование отношения осуществляется с помощью грамматического оборота глагола (ИМЕЕТ, ОПРЕДЕЛЯЕТ, МОЖЕТ ВЛАДЕТЬ и т.п.).
Другими словами, сущности представляют собой базовые типы информации, хранимой в базе данных, а отношения показывают, как эти типы данных взаимоувязаны друг с другом. Введение подобных отношений преследует две основополагающие цели:
обеспечение хранения информации в единственном месте (даже если она используется в различных комбинациях);
использование этой информации различными приложениями.
Независимая сущность представляет независимые данные, которые всегда присутствуют в системе. При этом отношения с другими сущностями могут как существовать, так и отсутствовать. В свою очередь зависимая сущность представляет данные, зависящие от других сущностей в системе. Поэтому она должна всегда иметь отношения с другими сущностями. Ассоциированная сущность представляет данные, которые ассоциируются с отношениями между двумя и более сущностями (см. 5.5).
Неограниченное (обязательное) отношение представляет собой безусловное отношение, т.е. отношение, которое всегда существует до тех пор, пока существуют относящиеся к делу сущности. Ограниченное (необязательное) отношение представляет собой условное отношение между сущностями. Существенно-ограниченное отношение используется, когда соответствующие сущности взаимно-зависимы в системе.
Каждая сущность обладает одним или несколькими атрибутами, которые однозначно идентифицируют каждый экземпляр сущности. При этом любой атрибут может быть определен как ключевой.
Детализация сущности осуществляется с использованием диаграмм атрибутов, которые раскрывают ассоциированные с сущностью атрибуты. Диаграмма атрибутов состоит из детализируемой сущности, соответствующих атрибутов и доменов, описывающих области значений атрибутов. На диаграмме каждый атрибут представляется в виде связи между сущностью и соответствующим доменом, являющимся графическим представлением множества возможных значений атрибута. Все атрибутные связи имеют значения на своем окончании. Для идентификации ключевого атрибута используется подчеркивание имени атрибута.
Сущность может быть разделена и представлена в виде двух или более сущностей-категорий, каждая из которых имеет общие атрибуты и/или отношения, которые определяются однажды на верхнем уровне и наследуются на нижнем. Сущности-категории могут иметь и свои собственные атрибуты и/или отношения, а также, в свою очередь, могут быть декомпозированы своими сущностями-категориями на следующем уровне. Расщепляемая на категории сущность получила название общей сущности (отметим, что на промежуточных уровнях декомпозиции одна и та же сущность может быть как общей сущностью, так и сущностью-категорией).
Для демонстрации декомпозиции сущности на категории используются диаграммы категоризации. Такая диаграмма содержит общую сущность, две и более сущности-категории и специальный узел-дискриминатор, который описывает способы декомпозиции сущностей
