Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
для курсача.doc
Скачиваний:
41
Добавлен:
07.12.2018
Размер:
515.07 Кб
Скачать

Анализ предметной области и инфологическое проектирование

Проблемы инфологического проектирования решаются на ранних этапах проектирования в ходе анализа предметной области. Здесь может быть полезной методология структурного анализа [8,9] и универсальный язык, использующий диаграммную технику, который она предлагает. В основе языка структурного анализа и дисциплины мышления в его терминах лежат способы, которыми люди мыслят и которыми пользуются для понимания проблем реального мира.

В основе методологии структурного анализа лежит концепция нисходящей декомпозиции понимания объекта исследования (предметной области базы данных). То есть предполагается рассмотрение объекта исследования на нескольких разных уровнях иерархии, отличающихся степенью детализации понимания. Необходимость такого рода средств особенно актуальна на ранних этапах поектирования системы базы данных для установления контакта и взаимопонимания между заказчиками проекта и его разработчиками, поскольку это дает возможность обсуждать совместно принимаемые проектные решения.

Люди воспринимают реальный мир во всем многообразии его объектов и явлений, во всем многообразии его статических и динамических свойств. В любом языке, естественном или искусственном, присутствуют эти два взаимодополняющие аспекта, которые используются для выражения представлений человека о реальной действительности: существительные и глаголы, данные и действия, операнды и операции. Методология структурного анализа предлагает своего рода метаязык [8], в который могут быть вложены другие языки, например естественные. В результате единообразные выразительные средства (диаграммная техника) могут быть использованы для представления обоих аспектов реальной действительности, связанных с объектами, т.е. со структурой данных (информационный аспект), и с явлениями, т.е. с функционированием, поведением системы (функциональный аспект). Оба аспекта являются необходимыми условиями для полноценного моделирования предметной области базы данных.

Прежде всего должны быть определены границы предметной области и сформулирована главная цель проектирования базы данных. Цель может быть достаточно серьезной, например «реорганизация предприятия с целью совершенствования управления его деятельностью», или весьма скромной, как то: «автоматизация профессиональной деятельности в предметной области».

На ранних этапах проектирования базы данных представления человека о реальной действительности систематизируются в виде т.н. инфологической модели [6,7] предметной области.

Инфологическая модель представляет собой описание предметной области, основанное на анализе семантики объектов и явлений, выполненное без ориентации на использование в дальнейшем программных или технических компьютерных средств.

Термин «инфологическая» в данном случае означает модель, ориентированную на человека; речь идет о средстве для выражения и передачи понимания того, что собой представляет предметная область базы данных.

База данных – это целевая модель предметной области. Это значит, что в ней должны найти отражение только те информационные требования, которые актуальны для данной предметной области, которые представляют профессиональный интерес для потенциальных пользователей базы данных. В чем состоит профессиональный интерес пользователей базы данных, можно понять, если будет известно, в чем состоит суть функционирования предметной области или управления деятельностью в ней и какую роль в этом процессе играют разные категории исполнителей, какие задачи они решают в ходе выполнения своих профессиональных обязанностей.

Чтобы понять, как функционирует предметная область, выполняется ее функциональный анализ [8-10]. В основе функционального анализа лежит принцип декомпозиции действий. Синонимами понятия «действие» являются: процесс, задача, функция, работа (activity в BPwin). Результатом анализа в этом контексте является функциональная модель, которая дает представление о предметной области в терминах функций и групп данных, сопутствующих выполнению этих функций.

Функциональная модель – это модель инфологического уровня представления, в которой акцентируется функциональный аспект моделирования предметной области.

Функциональная модель в виде иерархии функций способствует пониманию поведения субъекта моделирования.

В соответствии с методологией структурного анализа в первую очередь строится контекстная диаграмма – самое общее описание главной функции системы в целом и ее взаимодействия с внешней средой. Последующая функциональная декомпозиция сопровождается построением диаграмм декомпозиции, которые описывают каждый фрагмент декомпозиции и их взаимодействие. Детализация функциональной модели продолжается до достижения необходимой степени подробности. После каждого шага декомпозиции выполняется сеанс экпертизы с участием экспертов предметной области.

На основании функционального анализа строится функциональная модель AS-IS (как есть). Эта модель призвана согласовать разные точки зрения на то, что представляет собой предметная область на самом деле. На основании анализа модели AS-IS синтезируется модель TO-BE (как будет) или модель SHOULD-BE (как должно быть).

Функциональная модель детализирует функционирвание предмет­ной области до уровня функциональных задач отдельных категорий исполнителей и может служить основой для выделения локальных представлений о предметной области.

Популярным CASE-средством поддержки методологии функционального моделирования (IDEF0) является инструментальный пакет BPwin [10]. Под моделью в IDEF0 понимается описание иерархической системы диаграмм (текстовое и графическое), выполненное на языке структурного анализа в терминах системных компонентов: процесс (работа), вход, выход, управление и механизм.

На основании функционального анализа и выделения локальных представлений предметной области различных категорий потенциальных пользователей базы данных удается сгруппировать данные, которые в том или ином качестве сопутствуют реализации функций. Это обстоятельство дает возможность осуществить построение информационной модели предметной области.

Информационная модель – это модель инфологического уровня представления, в которой акцентируется информационный (структурный) аспект моделирования предметной области.

Одним из распространенных средств спецификации модельных представлений этого типа является т.н. модель «сущность-связь» (Entity-Relationship Model) [10-13]. Методология моделирования сущностей и связей также использует диаграммную технику, но для представления другого аспекта модели предметной области базы данных – структуры информации в терминах объектов (сущностей), их свойств (атрибутов) и отношений (связей).

В соответствии с методологией информационного моделирования IDEF1X для каждого локального представления предметной области разрабатывается локальная информационная модель. Многообразие информационных элементов, сопутствующих выполнению отдельной функции, может быть классифицировано и структурировано на основе методов абстракции обобщения и агрегации, свойственных человеческому мышлению [14,15].

Обобщением (генерализацией) называется абстракция данных, позволяющая трактовать класс различных подобных объектов-категорий как один обобщенный поименованный тип объекта.

Агрегация - это абстракция данных, которая рассматривает отношение между объектами-копонентами как новый объект-тип.

Обобщение и агрегация - это разные контексты анализа одних и тех же информационных элементов. При анализе предметной области они взаимно дополняют и обогащают семантическое содержание объекта исследования. Причем и обобщение, и агрегация могут быть применены иерархическим образом. При этом иерархия обобщения представляет классификацию объектов, а иерархия агрегации - структуру предметной области.

При проектировании локальных представлений обязательно должны быть учтены семантические условия или бизнес-правила, действующие в предметной области. Эти условия играют роль ограничений целостности модели предметной области и определяют допустимые отношения между объектами в виде зависимостей между атрибутами и в виде связей между объектами. Эти условия проистекают из анализа семантики данных предметной области. Их учет обеспечивает системную полноту анализа предметной области.

При проектировании локальных представлений должны быть продуманы и сформулированы информационные запросы, актуальные для потенциальных пользователей базы данных.

В результате для каждого локального представления указывается:

  1. определение типов сущностей;

  2. определение типов связей;

  3. определение атрибутов и связывание их с типами сущностей и типами связей;

  4. определение доменов атрибутов;

  5. определение атрибутов, являющихся первичными, альтернатив­ными или внешними ключами;

  6. определение ограничений целостности.

Соответствующие спецификации должны быть документированы.

В разных локальных представлениях один и тот же объект может выступать в роли сущности, или в роли атрибута, или в роли связи. На ранних этапах проектирования базы данных важное значение имеет интеграция понятий, не зависящих от контекста их использования в информационной модели. Поэтому на этапе инфологического проектирования локальные информационные модели отдельных представлений интегрируются в обобщенную информационную модель концептуального характера. Термин «концептуальный» в данном случае означает «обобщенный», «не зависящий от деталей, от контекста». В ERwin используется термин «логическая модель» (Logical Model) [10].

Таким образом, результаты предпроектного анализа предметной области базы данных систематизируются в виде ее функциональной и информационной моделей, не зависящих от каких-либо условий, деталей реализации.

Те результаты исследования предметной области, которые достигаются на ранних этапах проектирования базы данных и систематизируются в виде ее инфологической модели, служат основанием для постановки задачи и формулировки технического задания на проектирование информационной системы.