Типичные ошибки в моделях структурного подхода Дополнение к лекциям по функциональному моделированию IDEF0, информационному моделированию IDEF1X
Вернемся к IDEF0… Типичный вопрос: Третий уровень декомпозиции – это как? Ответ: Нет! Это дерево функциональной модели (Node Tree), т.е. все функциональные блоки модели, представленные в виде древовидной структуры. Дерево наглядно показывает, что представленная на рисунке функциональная модель содержит 2 уровня: контекстную диаграмму и ее декомпозицию. Вопрос: Это он?
И снова о декомпозиции А0 Цель: Т.зрения: А-0 А1 А3 А2 А0 А11 А13 А12 А1 А31 А33 А32 А3 Контекстная диаграмма Декомпозиция контекстной диаграммы Декомпозиция блока А1Декомпозиция блока А3 1-й уровень 2-й уровень 3-й уровень
Пример модели процесса постройки садового домика Материалы Строители Дом Проект дома Цель: Цель: Определить действия, необходимые для постройки дачного домика Точка зрения: Точка зрения: владельца дачного участка 1. Строим контекстную диаграмму (А-0). Построить дом А0
Пример модели процесса постройки садового домика 2. Декомпозируем контекстную диаграмму (2-й уровень) Строители Дом КаменщикиПлотникиКровельщики Мастера по отделке Фундамент Стены Крыша Заложить фундамент А1 Возвести стены А2 Положить крышу А3 O1O1 M1M1 Проект дома C1C1 Выполнить отделку А4 Материалы I1I1
Пример модели процесса постройки садового домика Декомпозируем блок А4 (Выполнить отделку) Выполнить отделку потолка А4.1 Наклеить обои А4.2 Покрасить пол А4.3 Дом О1 Крыша I1I1 I2I2 Материалы М1М1Мастера по отделке С1С1Проект дома Отделанный потолок Отделанные стены
Тогда… Дерево нашей функциональной модели примет следующий вид:
Список типичных ошибок при построении ФМ IDFE0 Неверное именование функциональных блоков и интерфейсных дуг (часто путают друг с другом) Нарушение принципа декомпозиции (не используются граничные стрелки с верхнего уровня или берутся другие) Некорректное изображение интерфейсных дуг (подведение к «не той» стороне функционального блока) Неверная нумерация функциональных блоков и диаграмм Включение декомпозируемого блока в диаграмму декомпозиции
Вернемся к ИМ IDEF1X… Типичная проблема: непонимание терминов «сущность» и «атрибут». Отождествление сущности с экземпляром сущности, атрибута – с его конкретным значением!
Сущность и экземпляр сущности Студент зачетной книжки ФИО Пол Группа Дата рождения Адрес Вася Иванов Ваня Петров Лена Сидорова Это экземпляры сущности! признаки Это сущность! Она содержит признаки, по которым можно различать экземпляры
Что же такое сущность? Студент зачетной книжки ФИО Пол Группа Дата рождения Адрес = Таблица - Студент Сущность Таблица в базе данных! Атрибут – Заголовок соответствующего столбца таблицы! Конкретные значения в строках таблицы – экземпляр сущности!
Типичные ошибки при построении ИМ IDEF1X Непонимание понятия сущности, а следовательно, выделение в виде сущности абстрактных и непонятных вещей (например, Идея, Желание) Непонимание понятия атрибута, а следовательно, неверное их определение (часто путают сам атрибут и его значение) Неверное установление связей между сущностями Некорректное именование сущностей (часто глаголом или существительным во множественном числе)
От информационной модели к базе данных логической информационной модели 1. Построение логической информационной модели (определение сущностей, атрибутов, отношений, нормализация модели)
От информационной модели к базе данных физической модели 2. Построение физической модели на основе логической (определение типов данных, при необходимости, переименование атрибутов)
От информационной модели к базе данных схемы БД 3. Автоматическая генерация схемы БД на основе физической модели. Сущности становятся таблицами, атрибуты – полями. Таблицы связываются между собой ключевых полей. Далее базу данных нужно просто заполнить