- •Системный анализ и проектирование компьютерных информационных систем
- •1Введение в системный анализ
- •1.1Системный анализ как научная дисциплина
- •1.2Компьютерная техника и системный анализ
- •1.3Система и ее свойства
- •Свойства системы
- •1.3.1Структура и иерархия систем
- •1.3.2Модульное строение системы
- •1.3.3Состояние системы и процессы в системе
- •1.3.4Целенаправленные системы и управление
- •Управление системами
- •1.4Принципы системного подхода
- •Принцип конечной цели
- •Принцип единства и связи
- •Принцип модульного построения
- •Принцип иерархии
- •Принцип функциональности
- •Принцип развития
- •Принцип децентрализации
- •Принцип неопределенности
- •Дополнительные принципы системного подхода
- •Практическое использование принципов системного подхода
- •2Информационные системы. Жизненный цикл информационной системы
- •2.1Определение информационной системы
- •Информация, данные, знания
- •Информационная система
- •2.2Классификация информационных систем
- •Классификация по типу хранимых данных
- •Классификация по степени автоматизации информационных процессов
- •Классификация по характеру обработки данных
- •Классификация по сфере применения
- •Классификация по уровню управления
- •Классификация по способу организации
- •2.3Жизненный цикл информационной системы
- •2.3.1Системный анализ
- •Определение требований
- •Оценка осуществимости
- •Оценка риска
- •Построение логической модели
- •Построение прототипа
- •2.3.2Проектирование
- •2.3.3Реализация
- •2.3.4Тестирование
- •2.3.5Эксплуатация
- •2.4Модели жизненного цикла информационной системы
- •2.4.1Каскадная модель жизненного цикла информационной системы
- •Основные достоинства каскадной модели
- •Недостатки каскадной модели
- •2.4.2Спиральная модель жизненного цикла информационной системы
- •Преимущества спиральной модели
- •3Методологии и технологии проектирования информационных систем
- •3.1Общие требования к методологиям и технологиям
- •Технологическую операцию проектирования представим:
- •3.2Стандарты организации жизненного цикла информационных систем
- •Стандарт проектирования должен устанавливать:
- •Стандарт оформления проектной документации должен устанавливать:
- •Стандарт интерфейса пользователя должен устанавливать:
- •3.3Методология быстрой разработки приложений rad
- •Фаза анализа и планирования требований
- •Фаза проектирования
- •Фаза построения
- •Фаза внедрения
- •Особенности и ограничения применения методологии rad.
- •Основные принципы методологии rad:
- •3.4Структурный подход к проектированию информационных систем
- •Структурный подход
- •Структурный анализ
- •Средства структурного анализа
- •4Методология функционального моделирования sadt (стандарт idef0)
- •4.1Анализ предметной области и принципы функционального моделирования по методологии sadt (стандарт оформления idef0)
- •Субъект моделирования
- •Цель моделирования
- •Точка зрения на модель
- •Модели as-is и то-ве
- •Принципы моделирования
- •4.2Состав функциональной модели sadt Типы диаграмм sadt-модели
- •Контекстная диаграмма
- •Диаграммы декомпозиции
- •Диаграммы дерева узлов
- •4.3Элементы контекстной диаграммы модели sadt Работа
- •Граничные стрелки
- •Контекстная диаграмма
- •4.4Элементы диаграммы декомпозиции модели sadt Работы
- •Миграция граничных стрелок и icom-коды
- •Внутренние стрелки
- •Разветвляющиеся и сливающиеся стрелки
- •4.5Иерархия диаграмм модели и диаграмма дерева узлов Иерархия диаграмм и контроль граничных стрелок
- •Туннелирование стрелок
- •Нумерация блоков и диаграмм
- •Диаграмма дерева узлов
- •4.6Рекомендации по рисованию диаграмм
- •4.7Проверка достоверности модели sadt
- •4.8Пример моделирования информационной системы с помощью методологии sadt (стандарт idef0)
- •Определение предметной области
- •Выбор цели
- •Выбор точки зрения
- •Построение контекстной диаграммы
- •Построение диаграммы декомпозиции а0
- •Выбор блока для декомпозиции следующего уровня
- •Построение диаграммы декомпозиции а2
- •Построение диаграммы декомпозиции а1
- •Окончание декомпозиции
- •Построение диаграммы дерева узлов
- •5Методологии получения количественных оценок функциональных моделей
- •5.1Цели проведения функционально-стоимостного анализа
- •5.2Построение фса-модели на базе idef0-модели
- •5.3Пример проведения функционально-стоимостного анализа с помощью методологии фса
- •6Методология последовательного выполнения процессов workflow (стандарт idef3)
- •6.1Базовые элементы модели idef3
- •Единицы работы
- •Перекрестки
- •Объект ссылки
- •6.2Иерархия диаграмм модели idef3 Контекстная диаграмма
- •Диаграммы декомпозиции
- •Нумерация работ и диаграмм
- •6.3Временные диаграммы активизации работ
- •6.4Пример применения методологии последовательного выполнения работ idef3
- •7Методология моделирования диаграмм потоков данных dfd
- •7.1Базовые элементы модели dfd
- •Процессы
- •Внешние сущности
- •Хранилища данных
- •Потоки данных
- •7.2Иерархия диаграмм потоков данных dfd к онтекстная диаграмма
- •Диаграмма декомпозиции
- •Нумерация работ и диаграмм
- •8Моделирование данных
- •8.12.1. Управление данными как ресурсами
- •8.22.2. Концепция трех схем
- •8.32.3. Цели моделирования данных
- •8.42.4. Idef1x-подход
- •8.53. Синтаксис и семантика idef1x
- •1. Сущности
- •8.5.13.1. Сущности
- •8.5.23.2. Отношения связи
- •8.5.33.3. Отношения категоризации
- •8.5.43.4. Неспецифические отношения
- •8.5.53.5. Атрибуты
- •8.5.63.6. Первичные и альтернативные ключи
- •8.5.73.7. Внешние ключи
- •8.64. Процедуры моделирования
- •8.6.14.1. Стадия 0 - начало работы над проектом
- •4.1.1. Определение цели моделирования
- •4.1.2. Разработка плана моделирования
- •4.1.3. Организационная структура коллектива разработчиков
- •4.1.4. Сбор исходной информации
- •4.1.5. Авторские соглашения
- •8.6.24.2. Стадия 1 - определение сущностей
- •4.2.1. Идентификация сущностей
- •4.2.2. Определение сущностей
- •8.6.34.3. Стадия 2 - определение отношений
- •4.3.1. Установление связанных сущностей
- •4.3.2. Определение отношений
- •4.3.3. Построение диаграмм уровней сущностей
- •8.6.44.4. Стадия 3 - определения ключей
- •4.4.1. Разрешение неспецифических отношений
- •4.4.2. Изображение функциональных точек зрения
- •4.4.3. Определение ключевых атрибутов
- •4.4.4. Миграция ключей
- •4.4.5. Проверка правильности ключей и отношений
- •4.4.6. Определение ключевых атрибутов
- •4.4.7. Изображение результатов стадии 3
- •8.6.54.5. Стадия 4 - определение атрибутов
- •4.5.1. Идентификация неключевых атрибутов
- •4.5.2. Определение владельцев атрибутов
- •4.5.3. Определение атрибутов
- •4.5.4. Детализация модели
- •4.5.5. Представление результатов стадии 4
- •8.75. Документирование и верификация
- •8.7.15.1. Введение
- •8.7.25.2. Idef1x-папка
- •8.7.35.3. Стандартные бланки
- •8.7.45.4. Процедура сквозного анализа idef-модели
- •8.8Приложение а
- •8.9Инфологическое проектирование
- •8.9.1Сущности и атрибуты
- •1.2.2. Связи
- •1.2.3. Формализация связей
- •1.2.4.Развитые элементы er-модели
- •9Сравнение существующих методик
- •Объектно-ориентированная методика
4.4.4. Миграция ключей
Миграция ключей - это процесс копирования первичного ключа одной сущности в другую, связанную с ней сущность. Эта копия называется внешним ключом. Значение внешнего ключа в каждом экземпляре второй сущности совпадает со значением связанного экземпляра первой сущности. Таким образом атрибут, принадлежащий одной сущности, разделяется с другой сущностью. Миграция ключей подчиняется следующим трем правилам:
Миграция всегда происходит в отношении от родительской или общей сущности к сущности-потомку или сущности-категории.
Весь первичный ключ (т.е. все атрибуты, являющиеся элементами первичного ключа) должен мигрировать по одному разу для каждого отношения, разделяемого парой сущностей.
Альтернативный ключ и неключевые атрибуты никогда не мигрируют.
Каждый атрибут внешнего ключа соответствует атрибуту первичного ключа родительской или общей сущности. Первичный ключ сущности-категории в категориальном отношении должен совпадать с первичным ключом общей сущности. В других отношениях атрибут внешнего ключа может, но не обязан быть частью первичного ключа сущности-потомка. Атрибуты внешних ключей не считаются принадлежащими сущностям, в которых они появляются, поскольку они отражают атрибуты родительских сущностей. Таким образом, каждый атрибут в сущности либо принадлежит этой сущности, либо принадлежит внешнему ключу этой сущности.
В диаграммах модели внешние ключи обозначаются примерно так же, как альтернативные ключи, т.е. после каждого атрибута, принадлежащего внешнему ключу, следует (FK). Если атрибут принадлежит также первичному ключу, то он располагается выше горизонтальной линии, а если нет, то - ниже. Если первичный ключ сущности-потомка содержит все атрибуты внешнего ключа, то сущность-потомок называется зависимой от идентификатора относительно родительской сущности, а отношение называется идентифицирующим отношением. Если какие-либо атрибуты внешнего ключа не принадлежат первичному ключу сущности-потомка, то сущность-потомок не является независимой от идентификатора относительно родительской сущности, а отношение называется неидентифицирующим. На диаграммах стадий 3 и 4 сплошными линиями изображаются только идентифицирующие отношения, а неидентифицирующие отношения изображаются пунктирными линиями.
Сущность, являющаяся сущностью-потомком в одном или нескольких идентифицирующих отношениях, называется зависимой от идентификатора. Сущность, являющаяся сущностью-потомком только в неидентифицирующих отношениях (или не являющаяся сущностью-потомком ни в одном из отношений), называется независимой от идентификатора. В диаграммах стадий 3 и 4 блоками с прямыми углами изображаются только идентификаторно-независимые сущности, а идентификаторно-зависимые сущности изображаются блоками с закругленными углами. На рис. 4-13 приведен пример миграции ключа атрибута из родительской сущности к сущности-потомку.
Рис. 4-13. Миграция ключа к зависимой от идентификатора сущности
В этом примере атрибут НОМЕР_ПОКУПАТЕЛЯ (первичный ключ сущности ПОКУПАТЕЛЬ) мигрирует в сущность ЗАКАЗ (т.е. является внешним ключом в этой сущности). Этот атрибут затем используется в сущности ЗАКАЗ в качестве элемента его первичного ключа вместе с другим атрибутом, называющимся НОМЕР_ЗАКАЗА, принадлежащим ЗАКАЗУ. Эти два атрибута (НОМЕР_ПОКУПАТЕЛЯ и НОМЕР_ЗАКАЗА) вместе образуют первичный ключ сущности ЗАКАЗ.
На рис. 4-14 приведен пример миграции ключа атрибута из идентификаторно-независимой сущности к другой идентификаторно-независимой сущности. В этом примере атрибут НОМЕР_ОТДЕЛА мигрирует к сущности СЛУЖАЩИЙ. Однако первичным ключом сущности СЛУЖАЩИЙ является ИДЕНТИФИКАТОР_СЛУЖАЩЕГО. Поэтому НОМЕР_ОТДЕЛА появляется в качестве внешнего ключа ниже линии ключевых атрибутов. Линия отношения является пунктирной, поскольку это отношение - неидентифицирующее.
Рис. 4-14. Миграция ключей в независимую от идентификатора сущность
Один и тот же атрибут может порождать в одной и той же сущности-потомке более одного внешнего ключа. Так происходит при миграции атрибута в сущность-потомок более чем через одно отношение. В некоторых случаях каждый экземпляр сущности-потомка должен обладать в обоих внешних ключах одним и тем же значением для этого атрибута. Когда это так, атрибут появляется внутри сущности столько раз и идентифицируется в качестве внешнего ключа. В других случаях экземпляр сущности может (или должен) обладать различными значениями в каждом внешнем ключе. В этих случаях атрибут появляется внутри сущности более одного раза, что приводит к необходимости отличать одно появление от другого. Для этого каждому присваивается имя роли, показывающее, чем одно появление отличается от другого (рис. 4-15).
Рис. 4-15. Имена ролей атрибутов
