Формирование модели предметной области
Современный уровень инструментальных средств позволяет работать на компьютере на определенном уровне, например, при использовании редакторов, многим пользователям. Однако при углубленной работе с информацией, связанной с ее сбором, созданием базы данных, обработкой информации, представлением для дальнейшего использования возникают значительные трудности. Это связано с невозможностью работы в компьютерной среде на естественном языке. Вся информация, описывающая конкретную предметную область должна быть определенным образом абстрагирована и формализована.
Основными направлениями формализации информации о предметной области являются:
• теория классификации, базирующаяся на таксономическом и мерономическом описании информации. Таксономическое описание основано на идеологии множеств, а мерономическое осуществляется через строго формализованное определение классов;
• теория измерений, предлагающая базу для качественных и количественных измерений через классификационные и порядковые шкалы;
• семиотика, изучающая знаковые системы с точки зрения синтактики, семантики и прагматики.
Прежде чем перейти непосредственно к вопросам формализации и абстрагированного описания кратко коснемся вопросов терминологии.
Понятие информации в общем плане должно быть связано с определенной предметной областью, свойства которой она отражает. В более узком плане понятие информации связано с определенным объектом. При этом наблюдается относительная независимость информации от носителя, поскольку возможны ее преобразование и передача по различным физическим средам с помощью разнообразных физических сигналов безотносительно к ее содержанию, т.е. к семантике, что и явилось центральным вопросом многих исследований, в том числе и в философской науке. Информация о любом материальном объекте может быть получена путем наблюдения, натурного либо вычислительного эксперимента, а также на основе логического вывода. Поэтому говорят о доопытной, или априорной информации и послеопытной, т.е. апостериорной, полученной в итоге эксперимента.
Предметная область – реальный мир, который должен быть отражен в информационной базе.
Факты – результат наблюдения за состоянием предметной области.
Данные – вид информации, отличающийся высокой степенью форматированности в отличие от более свободных структур, характерных для речевой, текстовой и визуальной информации
Информационная база (база данных) – совокупность данных, предназначенных для совместного применения.
Знания – итог теоретической и практической деятельности человека, отражающий накопление предыдущего опыта и отличающийся высокой степенью структуризации.
В знаниях можно выделить три основные составные части:
• декларативные (факторальные знания), представляющие общее описание объекта, что не позволяет их использовать без предварительной структуризации в конкретной предметной области;
• понятийные (системные) знания, содержащие помимо первой части, взаимосвязи между понятиями и свойства понятий;
• процедурные (алгоритмические) знания, позволяющие получить алгоритм решения.
Предмет – всякая материальная вещь, объект познания. В логике предметом называется все то, на что направлена наша мысль; все то, что может быть как-то воспринято, названо и т.д. В этом смысле предметом считаются также суждение, понятие, умозаключение. В математической логике предметы обозначаются символами – предметными константами и предметными переменными.
Свойство – то, что присуще предметам, что отличает их от других предметов или делает их похожими на другие предметы. Каждый предмет обладает бесчисленным множеством свойств. Свойства проявляются в процессе взаимодействия предметов.
Признак – все то, в чем предметы, явления сходны друг с другом или в чем они отличаются друг от друга; показатель, сторона предмета или явления, по которой можно узнать, определить или описать предмет или явление.
Атрибут (лат. attributum – предназначенное, наделенное, присовокупленное) – неотъемлемое, существенное, необходимое свойство, признак предмета или явления, без которого они не могут существовать, быть самими собой, в отличие от случайных, преходящих, несущественных свойств, или акциденций.
Таким образом, для современного состояния информационных технологий необходим переход от информационного описания предметной области к представлению на уровне данных, осуществляемый на основе декомпозиции, абстракции, агрегирования.
Декомпозиция – это разбиение системы (программы, задачи) на компоненты, объединение которых позволяет решить данную задачу.
Абстракция позволяет правильно выбрать нужные компоненты для декомпозиции.
Абстракция представляет собой эффективный способ декомпозиции, осуществляемый посредством изменения списка декомпозиции.
Абстракция предполагает продуманный выбор компонент. Процесс абстракции может быть рассмотрен как некоторое обобщение. Он позволяет забыть о различиях и рассматривать предметы и явления так, как если бы они были эквивалентны.
Выделение общего у процессов и явлений есть основа классификации. Иерархия абстракций представляет собой фактически схему классификации.
Агрегирование – процесс объединения предметов в некоторую группу не обязательно в целях классификации. Агрегирование выполняется с некоторой целью.
Способы абстрагирования:
• абстракция через параметризацию;
• абстракция через спецификацию.
Абстракция через параметризацию – выделение формальных параметров с возможностью их замены на фактические в различных контекстах.
Выделение формальных параметров позволяет абстрагироваться от конкретного приложения и базируется на общности определенных свойств конкретных приложений.
Абстракция через спецификацию позволяет абстрагироваться от внутренней структуры до знания свойств внешних проявлений (результата).
Модель данных – модель, используемая при абстрагировании. Концептуальная модель – абстрагированное описание предметной области.
После знакомства с вопросами терминологии Вы получили возможность разговаривать на профессиональном языке и можно перейти к проблемам конструирования информационного обеспечения. Первой в этом ряду стоит проблема анализа предметной области.
При анализе предметной области принято выделять три этапа:
• анализ требований и информационных потребностей;
• определение информационных объектов и связей между ними;
• конструирование-концептуальной модели предметной области.
Этап анализа требований и информационных потребностей включает следующие задачи:
• определение перечня задач по извлечению, обработке, хранению, транспортировке и представлению (в том числе документированию) информации;
• определение требований к составу, структуре, формам представления информации;
• прогнозирование возможных изменений информационных ресурсов как в количественном, так и в содержательном плане.
Рассмотрим пример анализа предметной области. Выберем область деятельности, знакомую всем студентам – учебный процесс. Предположим, нам поручили разработать информационную систему "Расписание занятий".
Каждый из участников действия имеет свое представление об информации данной предметной области. Нашей задачей является обобщение этих представлений, получаемых путем опроса участников информационных процессов и анализа документов. Все действия желательно фиксировать в виде определенных документов на бумаге или в памяти компьютера. Форма фиксации может быть любая: структурная схема, блок-схема, таблица и т.д. Например, в качестве таковых можно использовать следующие виды документов: схему внешних информационных связей (рис. 7.5), схему детализации действия (рис. 7.6), схему потоков данных (рис. 7.7) и др.
Рис. 7.5. Схема внешних информационных связей
Рис. 7.6. Схема детализации действия
Используем предложенные типы документов.
1. Схема внешних информационных связей. Действие – Работа_с_расписанием.
2. Схема детализации действия. Действие – Работа_с_расписа- нием.
3. Схема потоков данных. Действие – Работа_с_расписанием.
4. Схемы классификации: объект – пользователи расписания (рис. 7.8, а); объект – помещение (рис. 7.8, б); данные – запросы к расписанию (рис. 7.8, в).
Рис. 7.7. Схема потоков данных
Рис. 7.8. Схемы классификации
5. Схема детализации. Данные – справки по расписанию (рис. 7.9).
6. Схема классификации. Данные – справки по расписанию (рис. 7.10).
Тщательность проведения этапа анализа определяет в дальнейшем эффективность работы информационной системы, возмож-
Рис. 7.9. Схема детализации
ность дальнейшего наращивания информационных ресурсов, адаптируемость к изменению требований к системе.
После анализа требований и информационных потребностей можно перейти к следующей фазе – определению информационных объектов и связей между ними.
Основной задачей данного этапа является разбиение предметной области на составные части путем декомпозиции, осуществляемой по определенным правилам.
На данный момент существуют два основных подхода к этому процессу, отличающихся критериями декомпозиции: функционально – модульный (структурный) и объектно-ориентированный.
Функционально-модульный подход основан на принципе алгоритмической декомпозиции с выделением функциональных элементов и установлением строгого порядка выполняемых действий, т.е. в основе лежит иерархический подход с выделением вначале функциональных действий, затем независимых компонентов с дальнейшей их детализацией.
Рис. 7.10. Схема классификации
Объектно-ориентированный подход основан на объектной декомпозиции с описанием поведения системы в терминах взаимодействия объектов.
Главным недостатком функционально-модульного подхода является однонаправленность информационных потоков и недостаточная обратная связь. В случае изменения требований к системе это приводит к полному перепроектированию, поэтому ошибки, заложенные на ранних этапах, сильно сказываются на продолжительности и стоимости разработки. Другой важной проблемой является неоднородность информационных ресурсов, используемых в большинстве информационных систем. В силу этих причин в настоящее время наибольшее распространение получил объектно-ориентированный подход.
Основные понятия, используемые при декомпозиции предметной области на основе объектно-ориентированного подхода – объект, класс, экземпляр, атрибут, связь между объектами, связь между атрибутами.
Объект – это абстракция множества предметов реального мира, обладающих одинаковыми характеристиками и законами поведения. Объект характеризует собой типичный неопределенный элемент такого множества. Основной характеристикой объекта является состав его атрибутов (свойств). Иным образом, объект можно характеризовать как факт, лицо, событие, предмет, определяемый совокупностью данных. В примитивном плане – объект это то, что отвечает на вопрос "кто?", "что?". Объект может быть реальным (например, человек, предмет, географический пункт) и абстрактным (например, событие, счет покупателя, изучаемый учебный курс).
Атрибут – информационное отображение свойств объекта.
Экземпляр объекта – это конкретный, определенный элемент множества. Например объектом может являться государственный номер автомобиля, а экземпляром этого объекта – номер К 173 ПА.
Класс – это множество предметов реального мира, связанных общностью структуры и поведением.
Элемент класса – это конкретный элемент данного множества. Например, класс регистрационных номеров автомобиля.
Обобщая эти определения, можно сказать, что объект – это типичный представитель класса, а термины "экземпляр объекта" и "элемент класса" равнозначны. На рис. 7.11 показаны отношения между классами, объектами и предметами реального мира. Связь между объектами (атрибутами) – информационное отображение
Рис. 7.11. Отношения между классами, объектами и предметами реального мира
функциональной, "родственной", видовой или иной зависимости (подчиненности).
При выделении информационных объектов можно проследить следующую последовательность действий:
• формирование классов, на которые можно разбить данные, подлежащие хранению;
• присвоение уникального имени каждому классу объектов;
• выделение информационных объектов путем анализа информационных потоков, документальных источников и интервьюирования участников информационного взаимодействия;
• присвоение уникального имени каждому объекту данных и проверка их синтактики и семантики;
• определение набора характеристик каждого объекта и формирование на этой основе состава атрибутов;
• присвоение уникальных имен выбранным атрибутам;
• задание ограничений на объекты и их атрибуты (количественные ограничения – диапазон изменения: максимальное (минимальное) значение и др., ограничение целостности (неизменности состояния объекта в рассматриваемом интервале времени).
В процессе отражения между состояниями взаимодействующих объектов возникает определенная связь. Информация как результат отражения одного объекта другим выявляет степень соответствия их состояний.
Выделяют три типа связи: связь "один к одному" (1:1), связь "один ко многим" (1:М), связь "многие ко многим" (M:N).
Примеры этих связей:
Связь "один к одному" (1:1) отображает однозначную зависимость между объектами (больной Иванов лежит на койке 73 – на койке 73 лежит больной Иванов; студент Петров имеет зачетную книжку №131056 – зачетная книжка №131056 принадлежит студенту Петрову).
Связь "один ко многим" (1:М) или "многие к одному" (М:1) отображает неоднозначную зависимость одного объекта по отношению к другому (больной Иванов лежит в палате №6 – в палате №6 лежат больные Иванов, Петров, Сидоров, Михайлов; студент Петров учится в группе №131 – в группе №131 учатся студенты Петров, Максимов, Коробкин, Ильин, Круглова и др.).
Связь "многие ко многим" (M:N) отображает неоднозначную зависимость объектов по отношению друг к другу (больной Иванов лечится у врачей Соколова, Воробьева, Воронова – врач Соколов лечит больных Иванова, Петрова, Сидорова; студент Петров посещает лекции профессоров Яшина, Васильева, Волкова – профессор Яшин читает лекции студентам Петрову, Максимову, Короб- кину, Ильину, Кругловой и др.).
Выделение этих связей является крайне важным, так как связи 1:М и M.N имеют внутреннюю неопределенность, что сказывается при операциях поиска и модификации (изменения) данных. Для преодоления неопределенности на этапе реализации логической модели требуется вводить избыточную информацию.
Заключительной фазой анализа предметной области является проектирование определенной информационной структуры в виде концептуальной модели. Для построения концептуальной модели используются операции агрегации и обобщения.
Агрегация основана на объединении информационных объектов в один на основе семантических связей между объектами. Например, самолет типа X перевозит груз из пункта отправления А в пункт назначения В. Используя агрегацию создаем информационный объект РЕЙС с атрибутами "тип самолета", "пункт отправления", "пункт назначения", "рейс самолета".
Обобщение основано на объединении родственных информационных объектов в родовой объект. Например, объекты АВТОМОБИЛЬ, САМОЛЕТ, КОРАБЛЬ, ВЕЛОСИПЕД, МОТОЦИКЛ объединяем в объект ТРАНСПОРТНОЕ СРЕДСТВО. Одним из атрибутов этого объекта будет атрибут "тип транспортного средства".
Этап концептуального проектирования является специфическим, так как здесь требуется одновременно знание особенностей предметной области и методологии проектирования. Характерным является использование различных моделей (модели "сущность – связь", бинарных моделей данных, семантических сетей, инфологических моделей данных и др.). Отрицательным моментом является неадекватность получаемых результатов как при использовании различных моделей, так и в рамках коллектива исполнителей. Особенностью концептуальной модели является ее ориентация с одной стороны на информационные интересы пользователя, с другой – на информационные потребности самой предметной области. Пользователям на выбор предлагается две модели: модель "сущность – связь" и простая реляционная модель с указанием функциональных взаимосвязей между атрибутами.
Одной из распространенных моделей является модель "сущность – связь" ("entity" – "relationship"), в литературе наряду с этим используется термин "ER-модель", или "модель Чена".
Базовыми структурами в ER-модели являются типы сущностей и типы связей (рис. 7.12). Отличие типа связи от типа сущности – в установлении зависимости реализации одного типа от реализации другого.
Пример: ЛИЧНОСТЬ – тип сущности, тип СОСТОИТ В БРАКЕ – нет, так как реализация последнего типа не существует, если не существует двух личностей. Поэтому, тип связи можно рассматривать как агрегат двух или более типов сущностей.
Реляционная модель является наиболее распространенной на практике в современных ИС, поэтому целесообразно рассмотреть
Рис. 7.13. Семантическая диаграмма реляционной модели
Рис. 7.12. Элементы ER-диаграммы
Рис. 7.14. Пример реляционной модели
ее возможности. Большинство СУБД, представленных на рынке, являются реляционными или объектно-реляционными. Семантическая диаграмма реляционной модели представлена на рис. 7.13, а пример реляционной модели – на рис. 7.14.