- •Системный анализ и проектирование компьютерных информационных систем
- •1Введение в системный анализ
- •1.1Системный анализ как научная дисциплина
- •1.2Компьютерная техника и системный анализ
- •1.3Система и ее свойства
- •Свойства системы
- •1.3.1Структура и иерархия систем
- •1.3.2Модульное строение системы
- •1.3.4Целенаправленные системы и управление
- •1.3.3Состояние системы и процессы в системе
- •Управление системами
- •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.5.2. Определение владельцев атрибутов
На следующем этапе каждый неключевой атрибут должен быть приписан к одной сущности-владельцу. Для многих атрибутов сущности-владельцы очевидны. Например, разработчик без заминки свяжет атрибут ИМЯ-ПРОДАВЦА с сущностью ПРОДАВЕЦ. Однако некоторые атрибуты могут вызвать у разработчика трудности при определении их сущностей-владельцев.
Если разработчик не уверен в сущности-владельце для атрибута, он может обратиться к исходному материалу, откуда был выбран атрибут. Это поможет в определении владельца. На стадии 0 был сформирован список исходных данных, ставший основой пула атрибутов. Этот список указывает разработчику места, где значения представленных атрибутов использовались в исходном материале. Анализ примеров использования атрибута в исходном материале упрощает поиск сущности-владельца в модели. Он должен иметь в виду, что главенствующим фактором в определении владельцев атрибутов является вхождение экземпляров атрибутов, представленных отражаемыми в исходном материале значениями атрибутов. После того, как каждому атрибуту будет назначена сущность-владелец, это назначение должно быть зафиксировано.
4.5.3. Определение атрибутов
Для всех выявленных на стадии 4 атрибутов должны быть разработаны определения. Здесь также применимы основные принципы построения определений, уже используемых в модели данных (в особенности из стадии 3). Разработанные определения должны быть точными, специфическими, полными и универсально понимаемыми. Эти определения атрибутов записываются в том же формате, что и определения атрибутов из стадии 3.
Определение атрибута включает:
имя атрибута;
определение атрибута;
синонимы/псевдонимы атрибута.
Каждому атрибуту должно быть присвоено уникальное имя, поскольку в IDEFlX-модели и к сущностям, и к атрибутам применяется правило "одно и то же имя - один и тот же смысл". Поэтому разработчик может воспользоваться стандартным подходом к именам атрибутов. Однако для облегчения чтения при проверке правильности лучше использовать привычные для пользователя естественные названия. Если встречаются имена атрибутов, которые должны удовлетворять строгим правилам языка программирования (например, ограниченность имен переменных в фортране семью символами), то они должны всегда идентифицироваться как псевдонимы или не включаться вовсе.
В определении атрибута разработчик может пожелать установить формат атрибута, например, буквенно-цифровой код, текст, денежные единицы, дату и т.д. В определении может быть также установлена область допустимых значений в формате списка (например, понедельник, вторник, среда, четверг, пятница) или диапазона (например, больше нуля, но меньше десяти). В определении могут быть также указаны утверждения, включающие несколько атрибутов. Например, атрибут ОКЛАД_СЛУЖАЩЕГО должен быть больше 20000 долларов или СЛУЖЕБНЫЙ_КОД_СЛУЖАЩЕГО равен двенадцати.
4.5.4. Детализация модели
Теперь разработчик готов начать детализацию отношений на стадии 4. Здесь используются те же основные правила, что и на стадии 3. Правила необращения в ноль и неповторяемости теперь применяются и к ключевым, и к неключевым атрибутам. В результате могут возникнуть некоторые новые сущности. После идентификации этих сущностей должно применяться правило миграции ключей точно так же, как на стадии 3.
Единственное отличие в применении на стадии 4 правил необращения в ноль и неповторяемости заключается в том, что эти правила относятся преимущественно к неключевым атрибутам. На рис. 4-23 проиллюстрировано применение к неключевому атрибуту правила необращения в ноль. На рис. 4-24 приведен пример применения к неключевому атрибуту правила неповторяемости.
Рис. 4-23. Стадия 4 - применение правила необращения в ноль
Вместо того чтобы немедленно создавать новые сущности для атрибутов, нарушающих правила детализации, можно отмечать такие нарушения по мере их выявления с тем, чтобы позднее создать новые сущности. Рядом с именами атрибутов-нарушителей в диаграммах атрибутов могут быть сделаны пометки в скобках (буква N для нарушителей правила необращения в ноль и буква R для нарушителей правила неповторяемости).
Рис. 4-24. Стадия 4 - применение правила неповторяемости
После выявления новых сущностей они должны быть введены в пул сущностей, определены, отражены в матрице отношений и т.д. Короче говоря, новые сущности должны удовлетворять всем требованиям к документации, созданной на более ранних стадиях, с тем чтобы их можно было включить в материал стадии 4.
Должна быть также определена принадлежность каждого атрибута в соответствии с правилом полной функциональной зависимости. Это правило утверждает, что ни одно значение неключевого атрибута, принадлежащего экземпляру сущности, не может быть идентифицировано лишь частью значения ключа данного экземпляра сущности. Это правило применимо только к сущностям с составными ключами и эквивалентно второй нормальной форме в реляционной теории. Рассмотрим диаграмму, приведенную на рис. 4-19. Если ИМЯ_ПРОЕКТА - неключевой атрибут, считающийся принадлежащим сущности ЗАДАНИЕ, то оно удовлетворяет правилам необращения в ноль и неповторяемости. Однако, поскольку ИМЯ_ПРОЕКТА может идентифицироваться только атрибутом НОМЕР_ПРОЕКТА, т.е. частью ключа ЗАДАНИЯ, то этот атрибут не удовлетворяет правилу полной функциональной зависимости. ИМЯ_ПРОЕКТА будет, очевидно, атрибутом сущности ПРОЕКТ.
Все атрибуты модели на стадии 4 должны также удовлетворять правилу отсутствия транзитивной зависимости. Это правило требует, чтобы значение принадлежащего экземпляру сущности неключевого атрибута не могло идентифицироваться значением другого принадлежащего экземпляру сущности или наследуемого ею неключевого атрибута. Это правило эквивалентно третьей нормальной форме в реляционной теории.
Рассмотрим сущность СЛУЖАЩИЙ на рис. 4-19. Если ИМЯ_ОТДЕЛА является для сущности СЛУЖАЩИЙ неключевым атрибутом, то оно будет удовлетворять правилам необращения в ноль и неповторяемости. Однако поскольку ИМЯ_ОТДЕЛА может быть определено из НОМЕРА_ОТДЕЛА, который является наследуемым неключевым атрибутом, то ИМЯ_ОТДЕЛА не удовлеторяет правилу отсутствия транзитивной зависимости и поэтому не является атрибутом, принадлежащим сущности СЛУЖАЩИЙ. ИМЯ_ОТДЕЛА будет, очевидно, неключевым атрибутом сущности ОТДЕЛ.
Простой способ для запоминания правил полной функциональной зависимости и отсутствия транзитивной зависимости можно сформулировать так: неключевой атрибут должен зависеть от ключа, всего ключа и ни от чего другого, кроме ключа.
