Предметная область – это совокупность объектов реального или предполагаемого мира, подлежащая описанию или моделированию и исследованию. Предметная область состоит из объектов, различаемых по свойствам и находящихся в определенных отношениях между собой или взаимодействующих каким-либо образом.
В процессе изучения предметной области должна быть создана ее модель. Знания из различных источников должны быть формализованы при помощи каких-либо средств. Это могут быть текстовые описания предметной области или специализированные графические нотации. Существует большое количество методик описания предметной области: например, методика структурного анализа SADT и основанная на нем IDEF0, диаграммы потоков данных Гейна-Сарсона, методика объектно-ориентированного анализа UML и другие. Модель предметной области описывает процессы, происходящие в предметной области, и данные, которые в этих процессах используются.
В научных и инженерных кругах, занимающихся вопросами теории и практики автоматизированных информационных систем (АИС) под предметной областью понимают систематизированную совокупность объектов, свойств объектов, связей между объектами и функции, выполняемые объектами, деятельность которых является предметом автоматизации с помощью АИС. При этом под простым объектом предметной области понимается носитель совокупности характеризующих его свойств, через которые проявляется сущность объекта и которые неотделимы от него.
Ядром (основой) любой АИС является информационная база (ИБ). ИБ представляет статичную, информационную модель предметной области АИС, т.е. содержит систематизированное описание совокупности объектов, свойств объектов и связей между объектами в предметной области. Совокупность функций, выполняемых объектами, моделируется программным обеспечением АИС. Таким образом, АИС представляет собой динамическую модель конкретной предметной области.
Предметная область состоит из реальных и абстрактных объектов, которые называют сущностями. Можно считать также, что она состоит из классов сущностей. Классификация основывается на сходстве и учитывает характеристики, общие для нескольких сущностей. Выбор характеристик для группировки сущностей в классы произволен и осуществляется прагматически, в зависимости от целей анализа. В предметной области также рассматриваются некоторые общие свойства, которыми обладают сущности, которые их классифицируют, связывают и т.д. в данной предметной области. Они могут обозначаться как «классификации», «правила», «законы» или «ограничения», касающиеся состояния и поведения сущностей в предметной области. Все то, что считается частью предметной области, зависит от времени, то есть выбранные объекты и события могут со временем изменяться. Это в равной степени относится и к классификациям, правилам, законам, но, как правило, частота их изменения будет меньше.
Информация, содержащаяся в АИС, дает описание предметной области. Конкретное физическое представление этой информации называют базой данных для АИС. Классификации, правила, и т.д. представляют основной интерес для системного аналитика, проектирующего АИС. При анализе предметной области он должен установить именно эти факты, обсудить их с заказчиком (пользователем) и описать.
Разработка любой АИС начинается с системного анализа предметной области, в результате которого создается концептуальная схема предметной области, представляющая собой непротиворечивую совокупность высказываний, истинных для данной предметной области, включая возможные состояния, классификации, законы, правила. При разработке концептуальной схемы значительную роль играет абстракция – формирование образов реальности (представлений, понятий, суждений) посредством отвлечения и пополнения.
Концептуальная схема предназначена для пользователей и разработчиков АИС. Концептуальная схема включает в себя единое центральное описание содержимого информационной базы и описание того, какие действия – типа обновления и выборки – допустимы над этой информацией.
Концептуальное представление концентрирует внимание на смысле информации, именно концептуальная схема описывает это представление. На базе концептуальной схемы создаются внешние схемы, описания которых сосредоточены на том, как представлена информация для пользователя (т.е. описаны прототипы интерфейсов пользователя). Описание внутреннего физического представления, данных в вычислительной системе содержится во внутренней схеме.
Теоретической основой описания предметной области является интерпретируемая формальная система логики. Для выработки такой формальной системы логики для описания предметной области требуется:
1) определение алфавита, в котором можно однозначно и автоматически распознать, входит ли данный символ в алфавит (эти условия удовлетворяются при использовании обычных устройств ввода информации в ЭВМ);
2) обеспечение конечного набора эффективных правил (алгоритмов), определяющих, какие строки символов являются правильно построенными и какие правильно построенные строки следует рассматривать как предложения;
3) обеспечение конечного набора эффективных правил, определяющих, являются ли данное предложение аксиомой;
4) обеспечение конечного набора эффективных правил, определяющих, может ли данное предложение быть непосредственно выводимым из данного множества предложений;
5) обеспечение конечного набора правил интерпретации, приписывающих каждому предложению значение таким образом, что предложение интерпретируются как утверждения о предметной области – однозначно истинное или ложное.
Требования 1-4 относятся к синтаксису или грамматике концептуальной схемы и информационной базы. Требование 5 связано с семантикой концептуальной схемы и информационной базы.
Проектировщик информационной системы должен иметь возможность выразить концептуальную схему в терминах, соответствующих рассматриваемой предметной области и восприятию ее пользователем. В частности, не должно налагаться никаких ограничений на сущности, наличие которых допускается в предметной области или на свойства, которыми они могут обладать. Проектировщик информационной системы ограничен только требованиями основных принципов логики, встроенных в информационный процессор, т.е. требованиями поддерживания непротиворечивости.
Учитывая также, что концептуальная схема должна быть простой в использовании и понимании для разнообразных пользователей, необходим механизм добавления лингвистических конструкций произвольной сложности (макроконструкций) в формальную систему, для того чтобы пользователи могли с ней взаимодействовать на любом требуемом уровне абстракции.
Должны соблюдаться следующие общие принципы:
1. Все общие классификации, правила, законы предметной области должны быть описаны в концептуальной схеме. Информационная система не может нести ответственность за соблюдение правил, описанных где-либо еще, в частности, в прикладных программах.
2. Концептуальная схема должна включать в себя только концептуальные аспекты (и статические, и динамические) предметной области, исключая, таким образом, все аспекты (внешние или внутренние) представления данных, физической организации данных и методов доступа, а также все аспекты внешнего представления пользователя – такие, как форматы сообщений, структуры данных, и т.д.
Назначение концептуальной схемы определяется следующим образом: обеспечить общую основу для понимания общего поведения предметной области; определить допустимую эволюцию и манипулирование информацией о предметной области; обеспечить основу для интерпретации внешних и внутренних синтаксических форм, представляющих информацию о предметной области; обеспечить основу для преобразований между различными внешними и внутренними схемами.
Современные CASE-системы включают в себя средства для обработки концептуальной схемы, которые удовлетворяют следующим требованиям:
- обеспечивают основные концепции, пригодные для адекватного описания как статических, так и динамических аспектов предметной области;
- обеспечивают язык, на котором можно выразить концептуальную схему таким образом, чтобы она была понятна пользователям;
- обеспечивают язык описания концептуальной схемы, который может интерпретироваться ЭВМ;
- предусматривают удобные средства ведения изменений в концептуальной схеме, отражающих изменения в общих классификациях, правилах, законах и т.д. предметной области.
Как только получен набор локальных концептуальных моделей данных (концептуальная схема), отражающих представление пользователей о предметной среде, приступают к логическому проектированию базы данных – конструированию общей информационной (инфологической) модели системы на основе отдельных моделей данных пользователей, которое выполняется с использованием специальных языковых средств, не зависящих от реально используемых в дальнейшем программных средств (например, СУБД) и других физических условий.
Требования, предъявляемые к инфологической модели (ИЛМ): адекватное интегрированное отображение предметной области; непротиворечивость; однозначность, расширяемость (возможность композиции и декомпозиции модели); единый язык спецификации ИЛМ; восприимчивость пользователем; верифицируемость.
Инфологическая модель предметной области включает в себя ряд компонентов (рис. 4.1). Центральной компонентой инфологической модели является описание объектов предметной области и связей между ними (ER-модель).
Рис. 4.1. Компоненты инфологической модели
Описание предметной области всегда представлено в какой-то знаковой системе. Поэтому кроме отношений, присущих предметной области, возникают еще и отношения, обусловленные особенностями отображения предметной области в языковой среде. Поэтому при построении ИЛМ должны учитываться такие лингвистические категории, как синонимия, омонимия, изоморфизм и др.
Кроме того, в инфологической модели должны быть отражены и алгоритмические зависимости между показателями. Обычно для этих целей используются графы взаимосвязи показателей, отражающие, какие показатели служат исходными для вычисления других (рис. 4.2).
Рис. 4.2. Граф взаимосвязи показателей
Расчетные формулы, а также алгоритмы вычислений также в каком-то виде должны быть представлены в ИЛМ.
Следующим компонентом инфологической модели является описание информационных потребностей пользователей. Для этих целей используются специальные языковые средства. Они должны отражать тип запроса, объемно-частотные характеристики, режим использования данных и т.п.
Модели «сущность-связь» (ER-модель)
Модель «сущность-связь» – это неформальная модель предметной области (ПРО), используемая на этапе инфологического проектирования БД; средство общения с будущими пользователями для сбора информации о ПРО при проектировании БД.
Сущность – это некоторая абстракция реально существующего объекта, процесса или явления, о котором надо хранить информацию в БД.
Тип сущности – это поименованный набор однородных объектов (например, микросхемы, транзисторы и т.п.).
Экземпляр сущности – это конкретный объект в наборе (например, К155ЛА3, КТ315Г).
Атрибут – это поименованная характеристика сущности, которая принимает некоторое значение из множества значений.
Атрибут задан: если ему присвоено наименование; приведено смысловое описание атрибута; определено множество значений (домен или пул); указано назначение его (описание свойств сущностей или идентификации экземпляров сущностей).
Первичный ключ – назначенный набор ключевых атрибутов.
Возможный (потенциальный) ключ – набор атрибутов, который может быть ключом, но не входит в первичный ключ.
Связи – это средство представления отношений между сущностями. Понятие «отношение» – строго математическое понятие.
Тип связи – это связь между типами сущности.
Экземпляр связи – это связь между экземплярами сущности.
Бинарные связи – это связи между двумя сущностями.
Отображение – это двунаправленная бинарная связь.