- •Тема 1. Введение. Основы методологии проектирования информационных систем 5
- •Жизненный цикл программного обеспечения
- •Модели жизненного цикла программного обеспечения
- •Макетирование
- •Спиральная модель жизненного цикла
- •Компонентно-ориентированная модель
- •Тема 2. Структурный анализ и проектирование Определение структурного анализа
- •Средства структурного анализа
- •Моделирование потоков данных
- •Контекстная диаграмма
- •Построение иерархии диаграмм потоков данных
- •Методология функционально стоимостного анализа
- •Методология функционального моделирования sadt (Structured Analysis and Design Technique)
- •Состав функциональной модели sadt
- •Иерархия диаграмм
- •Словарь данных
- •Тема 3. Построение информационной модели системы. Проектирование баз данных Диаграммы сущность-связь (erd)
- •Сущности, отношения и связи в нотации Чена
- •Типы связей в нотации Чена
- •Ассоциативная связь
- •Диаграммы атрибутов в классической модели Чена
- •Диаграмма категоризации
- •Нотация Баркера. Модель сущность- связь в нотации Баркера
- •Методология idef1x
- •Тема 4. Методика построения информационной модели данных (модели «сущность-связь»)
- •Идентификация отношений между сущностями
- •Разрешение неспецифических отношений
- •Использование средств и техники структурного системного анализа
- •Основные виды работ, рекомендуемые при построении логической и физической моделей программной системы
- •Подход Мартина (ie–методология)
- •Тема 5. Методология rad (Rapid Application Development)
- •Основные принципы методологии rad
- •Состав, структура и функциональные особенности case-средств
- •Поддержка графических моделей
- •Требования к современному диаграммеру
- •Тема 6. Структурное тестирование программного обеспечения Основные понятия и принципы тестирования программного обеспечения
- •Особенности тестирования белого ящика
- •Способ тестирования базового пути
- •Потоковый граф
- •Цикломатическая сложность
- •Шаги способа тестирования базового пути
- •Способы тестирования условий
- •Тестирование ветвей и операторов отношения
- •Способ тестирования потоков данных
- •Тестирование циклов
- •Тема 7. Функциональное тестирование программного обеспечения Особенности тестирования черного ящика
- •Способы разбиения на эквивалентности
- •Способ анализа граничных значений
- •Способ диаграмм причин–следствий
- •Тема 8. Организация процесса тестирования программного обеспечения
- •Методика тестирования программных систем
- •Тестирование элементов
- •Тестирование итераций
- •Восходящее тестирование интеграции
- •Тестирование правильности
- •Системное тестирование
Методология idef1x
Метод IDEF1 был предложен Ремеем (Remay). Метод основан на использовании подхода, предложенного Ченом и эквивалентного построению реляционной модели данных в третьей нормальной форме. В настоящее время наиболее широко используется новая версия методологии IDEF1, которая называется IDEF1X, обеспечивает простоту изучения и наглядное представление проекта базы данных, а также дает возможность автоматизации.
Сущность является независимой, если каждый экземпляр сущности может быть однозначно идентифицирован без определения его отношений с другими сущностями. Символ, соответствующий независимой сущности, над которым пишется имя сущности и, возможно, ее номер, разделяется /.
Сущность называется зависимой, если однозначная идентификация экземпляров сущности зависит от ее отношения с другими сущностями, с которыми данная сущность связана идентифицирующей связью. Зависимая сущность обозначается прямоугольником с закругленными углами.
В IDEF1X допускаются следующие типы связей (степени связи):
каждый экземпляр сущности может иметь нуль, один или более связанных с ним экземпляров другой сущности;
каждый экземпляр сущности должен иметь не менее одного связанного с ним экземпляра другой сущности;
каждый экземпляр сущности должен иметь не более одного связанного с ним экземпляра другой сущности;
каждый экземпляр сущности связан с некоторым фиксированным числом экземпляров другой сущности.
Если экземпляр некоторой сущности однозначно определяется своей связью с другой сущностью, то связь называется идентифицирующей, в противном случае – неидентифицирующей.
Подчиненная сущность в идентифицирующей связи является зависимой сущностью. Подчиненная сущность неидентифицирующей связи является независимой сущностью при условии, что она не является подчиненной сущностью в какой-либо другой идентифицирующей связи.
Атрибуты сущности изображаются в виде списка имен внутри блока сущности. Атрибуты первичного ключа размещаются вверху списка и отделяются от неключевых атрибутов горизонтальной чертой.
Сущности могут иметь также внешние ключи, которые могут использоваться в качестве части или целого первичного ключа или в качестве неключевого атрибута. Внешний ключ обозначается с помощью имени атрибута, после которого в скобках пишется FK (Foreign Key).
Вопросы для самоконтроля по теме 3:
Охарактеризуйте назначение диаграммы сущность-связь.
Перечислите и опишите основные символы, использующиеся при построении диаграмм в нотации Чена.
Охарактеризуйте основные виды диаграмм в нотации Чена.
Охарактеризуйте модель сущность-связь в нотации Баркера.
Опишите отличия зависимой и независимой сущности.
Охарактеризуйте отличия идентифицирующей и неидентифицирующей связи.
Дайте определение первичного ключа.
Опишите отличия первичного и альтернативного ключа.
Какое обозначение используется для внешнего ключа.
Тема 4. Методика построения информационной модели данных (модели «сущность-связь»)
Разработка диаграммы сущность-связь включает следующие основные этапы:
идентификация сущностей, их атрибутов, их первичных и альтернативных ключей;
идентификация отношений между сущностями и указание типов отношений;
разрешение неспецифических отношений.
Для реляционной модели данных неспецифическими являются отношения типа многие-ко-многим.
Первый этап является определяющим при построении модели данных. Исходной информацией для данного этапа является содержимое хранилищ данных функциональной модели системы. На первом этапе осуществляется упрощение схемы отношений за счет ее нормализации путем избавления от повторяющихся строк таблицы. Нормализация всегда выполняется путем расщепления сущности на две или более простых сущностей.
Методы нормализации схемы базы данных были предложены Коддом в работах, посвященных реляционной модели данных. Кодд определил для схемы отношений существование трех нормальных форм: первой, второй и третьей.
В дальнейшем было установлено также существование нормальной формы Бойса-Кодда, а также четвертой и пятой нормальной формы. На практике нормализация схемы базы данных обычно выполняется до третьей нормальной формы или до нормальной формы Бойса-Кодда.
Сущность находится в первой нормальной форме, если в ней отсутствуют повторяющиеся записи.
Сущность находится во второй нормальной форме, если все неключевые атрибуты функционально полно зависят от первичного ключа.
Сущность находится в третьей нормальной форме, если она находится во второй нормальной форме и никакой из неключевых атрибутов не является зависимым ни от какого другого ключевого атрибута.
Сформулируем алгоритм приведения ненормализованной схемы к третьей нормальной форме:
Расщепить схему на схемы сущностей, не содержащие повторяющиеся атрибуты.
Объявить один или более атрибутов первичными ключами, при этом количество атрибутов, входящих в состав первичного ключа, должно быть минимальным.
Для схем сущностей, где ключи состоят более чем из одного атрибута, надо проверить, чтобы каждый неключевой атрибут функционально полно зависел от первичного ключа. Если это не так, то схему сущности необходимо расщепить.
Проверить, являются ли все ключевые атрибуты взаимно независимыми. Если это не так, то необходимо выполнить декомпозицию соответствующей сущности или удалить избыточные атрибуты.