Введение в информационные технологии
1.4. Классификация информационных технологий
Для того чтобы правильно понять, оценить, грамотно разработать и использовать информационные технологии в различных сферах жизни общества необходима их предварительная классификация. Классификация информационных технологий зависит от критерия классификации. В качестве критерия может выступать показатель или совокупность признаков, влияющих на выбор той или иной информационной технологии. Как правило, выделяют следующие классификационные признаки информационных технологий, представленные на рис. 1.6.
По назначению выделяют следующие два основных класса информационных технологий ( рис. 1.7):
- обеспечивающие информационные технологии;
функциональные информационные технологии.
Обеспечивающие информационные технологии — это технологии обработки информации, которые могут использоваться как инструменты в различных предметных областях для решения специализированных задач. Они представляют собой способы организации отдельных технологических операций информационных процессов и связаны с представлением, преобразованием, хранением, обработкой или передачей определенных видов информации.
К ним относятся технологии текстовой обработки, технологии работы с базами данных, мультимедиатехнологии, технологии распознавания символов, телекоммуникационные технологии, технологии защиты информации, технологии разработки программного обеспечения и т. д.
Функциональные информационные технологии — это технологии, реализующие типовые процедуры обработки информации в определенной предметной области. Они строятся на основе обеспечивающих информационных технологий и направлены на обеспечение автоматизированного решения задач специалистов данной области. Модификация обеспечивающих технологий в функциональную может быть сделана как профессиональным разработчиком, так и самим пользователем, что зависит от квалификации пользователя и от сложности модификации. Взаимосвязь между функциональными и обеспечивающими информационными технологиями приведена на рис. 1.8.
К функциональным информационным технологиям относятся офисные технологии, финансовые технологии, информационные технологии в образовании, в промышленности, корпоративные информационные технологии, информационные технологии автоматизированного проектирования и т. д.
Информационные технологии можно рассматривать с точки зрения пользовательского интерфейса, т. е. возможностей доступа пользователя к информационным и вычислительным ресурсам в процессе обработки информации. По этому признаку выделяют ( рис. 1.9):
- пакетные информационные технологии;
- диалоговые информационные технологии;
сетевые информационные технологии.
Пакетные информационные технологии характеризуются тем, что операции по обработке информации производятся в заранее определенной последовательности и не требуют вмешательства пользователя. В этом случае задания или накопленные заранее данные по определенным критериям объединяются в пакет для последующей автоматической обработки в соответствии с заданными приоритетами. Пользователь не может влиять на ход выполнения заданий, пока продолжается обработка пакета, его функции ограничиваются подготовкой исходных данных по комплексу задач и передачей их в центр обработки. В настоящее время пакетный режим реализуется применительно к электронной почте и формированию отчетности.
Диалоговые информационные технологии предоставляют пользователям неограниченную возможность взаимодействовать с хранящимися в системе информационными ресурсами в режиме реального времени, получая при этом всю необходимую информацию для решения функциональных задач и принятия решений. Эти технологии предполагают отсутствие жестко закрепленной последовательности операций преобразования данных и активное участие пользователя, который анализирует промежуточные результаты и вырабатывает управляющие команды в процессе обработки информации.
Сетевые информационные технологии обеспечивают пользователю доступ к территориально распределенным информационным и вычислительным ресурсам с помощью специальных средств связи. В этом случае появляется возможность использования данных, накопленных на рабочих местах других пользователей, перераспределения вычислительных мощностей между процессами решения различных функциональных задач, а также возможность совместного решения одной задачи несколькими пользователями.
По способу организации сетевого взаимодействия выделяют ( рис. 1.10):
- информационные технологии на базе локальных вычислительных сетей;
- информационные технологии на базе многоуровневых сетей;
информационные технологии на базе распределенных сетей.
Информационные технологии на базе локальных вычислительных сетей представляют собой систему взаимосвязанных и распределенных на ограниченной территории средств передачи, хранения и обработки информации, ориентированных на коллективное использование общесетевых ресурсов — аппаратных, программных, информационных. Они позволяют перераспределять вычислительные мощности между пользователями сети в зависимости от изменения их потребностей и сложности решаемых задач и обеспечивают надежный и быстрый доступ пользователей к информационным ресурсам сети.
Построение информационных технологий на базе многоуровневых сетей заключается в представлении архитектуры создаваемой сети в виде иерархических уровней, каждый из которых решает определенные функциональные задачи. Такие технологии строятся с учетом организационно-функциональной структуры соответствующего многоуровневого экономического объекта и позволяют разграничить доступ к информационным и вычислительным ресурсам в зависимости от степени важности решаемых задач и реализуемых функций управления на каждом уровне.
Информационные технологии на базе распределенных сетей обеспечивают надежную передачу разнообразной информации между территориально удаленными узлами сети с использованием единой информационной инфраструктуры. Этот способ организации сетевого взаимодействия ориентирован на реализацию коммуникационных информационных связей между территориально удаленными пользователями и ресурсами сети.
По принципу построения информационные технологии делятся на следующие виды ( рис. 1.11):
- функционально ориентированные технологии;
объектно ориентированные технологии.
При построении функционально ориентированных информационных технологий деятельность специалистов в рассматриваемой предметной области разбивается на множество иерархически подчиненных функций, выполняемых ими в процессе решения профессиональных задач. Для каждой функции разрабатывается технология ее реализации на рабочем месте пользователя, в рамках которой определяются исходные данные, процессы их преобразования в результатную информацию, а также выделяются информационные потоки, отражающие передачу данных между различными функциями.
Построение объектно ориентированных информационных технологий заключается в проектировании системы в виде совокупности классов и объектов предметной области. При этом иерархический характер сложной системы отражается в виде иерархии классов, ее функционирование рассматривается как совокупность взаимодействующих во времени объектов, а конкретный процесс обработки информации формируется в виде последовательности взаимодействий. В качестве объектов могут выступать пользователи, программы, клиенты, документы, базы данных и т. д. Такой подход характерен тем, что используемые процедуры и данные заменяются понятием «объект», что позволяет динамически отражать поведение моделируемой предметной области в зависимости от возникающих событий.
Сравнительная характеристика функционально ориентированных и объектно ориентированных технологий приведена в табл. 1.3.
Функционально ориентированная технология | Объектно ориентированная технология | |
---|---|---|
Рассматриваемая задача | Учет товаров на складе | |
Представление системы | В виде функций:
| В форме классов объектов:
|
Принцип построения | Разрабатываются технологии для каждой функции и определяются процессы передачи информации от одной функции к другой | Определяются состав и структура каждого класса объектов и процессы информационного взаимодействия этих классов друг с другом и с внешней средой |
По степени охвата задач управления выделяют следующие виды ( рис. 1.12):
- информационные технологии обработки данных;
- информационные технологии управления;
- информационные технологии автоматизации офисной деятельности;
- информационные технологии поддержки принятия решений;
информационные технологии экспертных систем.
Информационные технологии обработки данных предназначены для решения функциональных задач, по которым имеются необходимые входные данные и известны алгоритмы, а также стандартные процедуры их обработки. Эти технологии применяются в целях автоматизации некоторых рутинных, постоянно повторяющихся операций управленческой деятельности, что позволяет существенно повысить производительность труда персонала. Характерной особенностью этого класса технологий является их построение без пересмотра методологии и организации процессов управления.
Целью информационной технологии управления является удовлетворение информационных потребностей сотрудников, имеющих дело с принятием решений. Эти технологии ориентированы на комплексное решение функциональных задач, формирование регулярной отчетности и работы в информационно-справочном режиме для подготовки управленческих решений. Они решают следующие задачи обработки данных:
- оценка планируемого состояния объекта управления;
- оценка отклонений от планируемых состояний;
- выявление причин отклонений;
анализ возможных решений и действий.
Информационные технологии автоматизации офисной деятельности направлены на организацию и поддержку коммуникационных процессов как внутри организации, так и с внешней средой на базе компьютерных сетей и других современных средств передачи и работы с информацией. В них реализуются типовые процедуры делопроизводства и контроля управления:
- обработка входящей и исходящей информации;
- сбор и последующее составление отчетности за определенные периоды времени в соответствии с различным критериями выбора;
хранение поступившей информации и обеспечение быстрого доступа к информации и поиск необходимых данных.
Эти технологии предусматривают наличие интегрированных пакетов прикладных программ: текстовый процессор, табличный процессор, электронная почта, телеконференции, специализированные программы реализации электронного документооборота и т. д.
Информационные технологии поддержки принятия решений предусматривают широкое использование экономико-математических методов, моделей и пакетов прикладных программ для аналитической работы и формирования прогнозов, составления бизнес-планов и обоснованных выводов по изучаемым процессам и явлениям производственно-хозяйственной практики. Отличительными характеристиками этих технологий является ориентация на решение слабоформализованных задач, генерация возможных вариантов решений, их оценка, выбор и предоставление пользователю лучшего из них и анализ последствий принятого решения. Информационные технологии поддержки принятия решений могут использоваться на любом уровне управления и обеспечивают координацию лиц, принимающих решение, как на разных уровнях управления, так и на одном уровне.
Информационные технологии экспертных систем составляют основу автоматизации труда специалистов-аналитиков. Эти работники, кроме аналитических методов и моделей для исследования складывающихся в рыночных условиях ситуаций, могут использовать накопленный и сохраняемый в системе опыт оценки ситуаций, т. е. сведения, составляющие базу знаний в конкретной предметной области. Обработанные по определенным правилам такие сведения позволяют подготавливать обоснованные решения и вырабатывать стратегии управления и развития. Отличие информационных технологий экспертных систем от технологии поддержки принятия решения состоит в том, что они предлагают пользователю принять решение, превосходящее его возможности, и способны пояснять свои рассуждения в процессе получения решения.
По характеру участия технических средств в диалоге с пользователем ( рис. 1.13):
Источник
Информационные системы с понятийными моделями. Часть первая
Внедряя современные информационные системы, крупные компании рассчитывают быстрее принимать решения, обнаруживать скрытые для бизнеса резервы и возможности, анализировать накопленный опыт и выстраивать прогнозы на основе выявленных закономерностей. Однако реальная отдача от информационных систем часто оказывается значительно ниже, а сроки внедрения и затраты – выше ожидаемых. Причин может быть великое множество, в том числе и связанных с неэффективным управлением, человеческим фактором, устарелой инфраструктурой.
Существенные недостатки есть и у самих информационных систем. В этой статье я предлагаю поговорить не о традиционных – трёхслойных – АИС, а о системах с четырехслойной архитектурой, где новый четвертый слой – слой представления – реализует понятийную модель предметной области. Для актуализации модели при изменениях в предметной области не требуется программировать. Более того, как актуализация модели, так и прикладные задачи решаются посредством семантически инвариантных для всех предметных областей операций над сущностями понятий.
В итоге удается улучшить вычислительные, технологические и эксплуатационные характеристики информационных систем с понятийными моделями предметной области. Но об этом далее.
Как правило, информационные системы строятся по трехслойной архитектуре, которая включает в себя слой клиента, слой логики и слой базы данных. Основной особенностью таких систем является физическое разделение программ, отвечающих за хранение данных (слой базы данных), от программ, обрабатывающих данные (слой логики) и отображающих данные (слой клиента).
В нашей компании “ИНСИСТЕМС” используется информационная система LANCAD, в которой четыре слоя: слой клиента, слой представления, слой логики и слой базы данных, где новый слой – слой представления – реализует понятийную модель предметной области. Понятийная модель служит для высокоуровнего описания предметной области, близкого пониманию пользователей и разработчиков информационных систем.
В отличие от других известных подходов к информационному моделированию ассоциация рассматривается как обычное понятие, а не как именованный вид связи, задающий в модели некоторую роль или отношение. Последнее позволяет повысить уровень абстракции модели и разработать информационную систему, для функционирования которой требуется небольшое число общих алгоритмов с небольшой вычислительной сложностью. Причем сами алгоритмы не зависят от предметной области, так как формулируются в предельно общих операциях над понятиями.
О понятии понятия
Обычно понятие определяется как форма (вид) мысли, которая является результатом объединения сущностей объективной или субъективной реальности по определенной совокупности общих и, в совокупности, отличительных для них признаков.
Для непосредственно работы с мыслями пока не придуманы адекватные и эффективные технические средства, поэтому разберемся в том, как «мысли» пользователей обрабатываются в современных информационных системах.
Полагается, что понятия образуются (определяются) при абстрагировании.
Абстрактное мышление – один из основных процессов умственной деятельности человека, когда мы под воздействием некоторой проблематики мысленно вычленяем и рассматриваем уже как самостоятельные объекты отдельные свойства, стороны или состояния сущностей обозреваемой предметной области. При этом формируются четыре вида понятий: единичные, простые, конкретные и абстрактные.
Единичные понятия. При образовании единичных понятий абстракция проявляется в способности мысленного выделения в предметной области уникальных сущностей и присвоения им имен. Иными словами, образование единичного понятия – это замена сущности знаком, тождественным сущности в некотором смысле. Тут вспоминаем известный всем треугольник Фреге, который в графическом виде показывает связь знака, значения (сущности) и смысла.
Примерами единичных понятий могут служить такие понятия как «Зеленый», «Кислый», «Громкий», «Твердый», «Яркий», «Тяжелый», «Длинный», «Один», «Много» и т.п.
Как правило, единичные понятия формируются для фиксации того или иного состояния органов чувств или элементарных абстрактных представлений.
Единичные понятия также называются понятиями-значениям, призванными обозначить некоторую элементарную сущность. В информационных системах единичные понятия кодируются в виде единичных значений простых типов данных. Например, «-1», «3,5», «Ц», «16:31», «2018-04-10», «АБВ».
Простые понятия. При образовании простых понятий абстракция проявляется как некоторое сознательное неведение, позволяющее сосредоточиться на одном общем признаке множества сущностей и игнорировать другие их стороны.
Простые понятия образуются путем объединения сущностей, подобных в некотором смысле. Простым понятиям присваивается уникальное имя, мыслимое как единичное понятие, и задается область допустимых проявлений (значений, принадлежащих сущностей), мыслимая как множество единичных понятий.
Примером простого понятия может служить такое понятие, как «Цвет», которое объединяет сущности единичных понятий «Красный», «Зеленый» и т.д., или «Целое число», состоящее из представимых целых чисел.
В информационных системах простые понятия соответствуют простым типам данных или типам данных, производным от них путем ограничения множества значений. Например, «Целое со знаком», «Символ», «Число с плавающей запятой», «Время», «Дата», «Строка», и т.п.
Конкретные понятия. Конкретные понятия образуются на основе объединения сущностей с одинаковыми наборами признаков, позволяющими отличать сущности, принадлежащие конкретному понятию, от сущностей, не принадлежащих понятию. Выделяемые при этом признаки мыслятся как простые понятия, а имена конкретных понятий – как единичные понятия.
В информационных системах конкретные понятия представляются таблицами, столбцы которых соответствуют понятиям-признакам, а строки содержат значения этих признаков для сущностей, принадлежащих понятию.
Например, конкретное понятие «Мяч» может содержать такие понятия-признаки как «Цвет», «Диаметр», «Материал», а строки таблицы будут определять сущности понятия «Мяч»: («Красный», «10», «Резина»), («Зеленый», «15», «Ткань»), и т.д. Если некоторая сущность предметной области имеет значения признаков, принадлежащих какой-либо строке такой таблицы, то эта сущность распознается как «Мяч».
На языках программирования конкретные понятия выражаются массивом структур с полями из простых типов данных, а в базах данных – таблицей, столбцы которой те же простые типы дынных.
Абстрактные понятия. При образовании абстрактных понятий используются более сложные формы абстрагирования, основанные на установлении между понятиями отношений независимости, дифференциации и интеграции признаков, где в качестве признаков уже могут выступать любые понятия, в том числе и абстрактные (рис. 1).
Рис. 1. Отношения признаков понятий: а) независимость; б) дифференциация; в) интеграция
Для образования абстрактных понятий применяются две абстракции: обобщение и ассоциация. Обобщение выражает схожесть понятий, проявляющуюся при дифференциации признаков, а ассоциация раскрывает состав понятия, проявляющийся при интеграции признаков.
Считается, что за образование обобщений отвечает левое полушарие мозга, а за образование ассоциаций – правое.
Ассоциация. При ассоциации порождение нового понятия происходит путем объединения признаков ассоциируемых понятий. Иными словами, понятие-ассоциация включает в себя несколько других понятий в качестве своих составных частей.
Например, понятие «Заявка» может состоять из таких понятий как «Пользователь» (автор заявки), «Дата» (дата создания заявки), «Предмет» (описание сути заявки) и т.п.
Но не все комбинации сущностей ассоциированных понятий могут составлять реальную сущность понятия-ассоциации. По этой причине ассоциация задается в табличном виде, где столбцы соответствуют ассоциированным понятиям, а каждая строка является описанием одной сущности понятия-ассоциации.
Например, могут отсутствовать заявки, поданные конкретным пользователем в конкретный день. По этой причине, как и для конкретных понятий, ассоциация задается в табличном виде, где столбцы – ассоциированные понятия, а каждая строка – соответствующие сущности ассоциированных понятий, составляющие каждую сущность понятия-ассоциации.
Частным случаем ассоциация является известная абстракция агрегации. При агрегации предполагается, что понятия-признаки агрегированного понятия могут принимать любые допустимые значения. В этом случае для задания агрегата не требуется формировать таблицу со списком сущностей и их признаками, так как любая комбинация понятий-признаков является допустимым агрегатом. Примером понятия-агрегата может служить понятие «Комплексное число», которое является агрегаций двух понятий «Действительное число». На практике абстрактные понятия-агрегаты встречаются очень редко.
Видно, что ассоциация является абстракцией, лежащей в основе образования конкретных понятий путем ассоциации понятий-признаков.
Обобщение. При обобщении происходит порождение нового понятия путем объединения сущностей нескольких подобных понятий, когда новое понятие сохраняет все или часть общих признаков исходных понятий и игнорирует другие их признаки.
Примером понятия-обобщения может служить понятие «Фрукты», которое является результатом объединения сущностей таких понятий как «Яблоко», «Груша», «Персик», «Абрикос» и т.п. При этом фиксируются те признаки, которые являются общими для всех обобщаемых понятий, например, «Съедобность», «Наличие семян», а также другие признаки (возможно не все), выделенные у фруктов в соответствии с постановкой решаемой задачи.
Частным случаем обобщения является абстракция типизации. При типизации предполагается, что все типизируемые понятия имеют одинаковые признаки. Примерами понятий-типов являются все простые типы данных в языках программирования. Поэтому они и называются типами.
Следует заметить, что обобщение является абстракцией, лежащей в основе образования простых понятий путем типизации понятий-значений.
Понятие «Понятие». Следует заметить, что любое понятие само является понятием с набором признаков, общих для всех понятий.
В информационной системе LANCAD любое понятие в том числе и понятие «Понятие» содержит следующие признаки (рис. 2): «_Entity» (уникальный числовой идентификатор сущности), «_Title» (имя сущности), «_Icon» (пиктограмма сущности), «_Model» (дополнительные признаки сущности для слоя представления), «_Flags» (дополнительные признаки сущности для слоя логики и данных).
Для каждой сущности «Понятие» помимо общих задаются специфические признаки: «Abstract» (абстракция понятия-сущности, одно из следующих значений: понятие-значение, понятие-признак, понятие-ассоциация, понятие-обобщение) и «Aspect» (аспект понятия-сущности, будет рассмотрен далее).
Рис. 2. Признаки понятия «Понятие»
Вариации смысла
Если выбрать любое слово из толкового словаря и предложить двум людям разъяснить и расширить его определение, то почти всегда собеседники придут к непримиримым противоречиям. Такая же проблема имеет место и в информационных системах. Одно и то же понятие для различных групп пользователей имеет различный смысл и, как следствие этого, должно иметь различное описание.
По этой причине в информационной системе LANCAD предусматривается многоаспектное описание понятий, когда каждому понятию приписывается признак «Aspect». При этом разрешается определение понятий с одним и тем же именем, но в разных аспектах.
На рис. 3 показан фрагмент таблицы понятия-признака «Аспект».
Рис. 3. Сущности понятия-признака «Аспект»
Например, понятие «Проект» в общем (пустом) аспекте характеризует проект в организационном смысле: задаются дата начала, дата окончания, бюджет, привлекаемые ресурсы, и т.п. А аспекте «Pro» понятие «Проект» характеризует проект в строительном смысле: задаются объект строительства, вид строительства, стадии проектирования, список разделов и марок комплектов чертежей, и т.п. Очевидно, что между двумя проектами, определенными в разных аспектах, есть что-то общее, но также имеются и существенные различия, порой несовместимые. Например, в общем аспекте проект всегда имеет конкретную дату завершения, а в строительном аспекте проект актуален, пока существует объект строительства.
Структура реальности
В отличие от известных формализмов, используемых для описания взаимосвязи понятий (концептуальные схемы, концептуальные графы, онтологии, дискрипционная логика, семантические сети, диаграммы классов и т.п.), где на понятиях задается множество отношений различной природы и смысла, в информационной системе LANCAD использован другой формализм – понятийная структура, которая определена как множество понятий с двумя видами отображений, единственное назначение которых – показать способы образования понятий, способы их абстрагирования.
Понятийная структура призвана отразить результаты понятийного анализа предметной области и выражает отображения одних понятий в другие. Используемые при этом абстракции рассматриваются как умственные операции, необходимые и достаточные для мысленного выделения и превращения в отдельные понятия тех представлений, которые накоплены относительно описываемой предметной области.
Пример отображения понятийной структуры показан на рис. 4: список понятий и их сущности показаны на левой панели формы в виде дерева, а имена понятий, способ абстрагирования и аспекты показаны слева в виде списка.
Рис. 4. Понятийная структура
Например, понятие «Принципал» является обобщением понятий «Пользователь» и «Группа», а понятие «Пользователь» – ассоциацией понятий «Пароль», «Имя», «Отчество», «Фамилия», «Телефон» и т.д. (рис. 5).
Рис. 5. Атрибуты понятия «Пользователь»
В свою очередь такие понятия, как «Имя», «Отчество», «Фамилия», «Телефон», «Почта», определены как строковые понятия-значения соответствующей длины с ограничением области значений в виде регулярных выражений.
Так как признаками абстрактных понятий могут быть в том числе и другие абстрактные понятия, то для таких понятий вместо слова «признак» используется слово «атрибут».
Прав ли Айзек Азимов?
Четырехслойная информационная система должна работать с моделью предметной области и адекватно описывать состояние и поведение последней.
В своем романе «Конец Вечности» Айзек Азимов высказал мысль о том, что Реальность такова, что Вычислитель, используемый для моделирования предполагаемых Изменений Реальности, соизмерим по сложности с самой Реальностью (рис. 6). Действительно ли реальные модели столь сложны? Или мы просто «не умеем их готовить»? Попробуем ответить на эти вопросы.
Рис. 6. Вычислитель для моделирования реальности. Источник
В рассмотренной ранее понятийной структуре предметной области задаются имена понятий, способы их абстрагирования и список понятий-атрибутов, на которых понятия определены. Однако, как задаются простые понятия или какие наборы значений понятий-атрибутов определяют ту или иную сущность конкретных и абстрактных понятий, остается не выясненным.
Очевидно, для полного описания предметной области необходимо расширить понятийную структуру описанием сущностей, принадлежащих каждому понятию. В результате такого расширения получим понятийную модель предметной области, на которой будем решать стоящие прикладные задачи.
В слое базы данных единичные понятия (понятия-значения) представим встроенными типами данных. В информационной системе LANCAD используется 38 понятий-значений (рис. 7).
Рис. 7. Понятия-значения
В свою очередь, простые понятия (понятия-признаки) реализуются в виде таблиц, содержащих перечисление сущностей-значений, принадлежащих таким понятиям. Пример представления понятия-признака «Аспект» приведен ранее на рис. 3, а его отображение в понятийной структуре на рис. 4.
Конкретные понятия представимы таблицами, столбцы которых соответствуют понятиям-значениям. На рис. 8 показан фрагмент таблицы для представления конкретного понятия «Цвет», где специфический атрибут понятия представлен столбцом «Color».
Рис. 8. Конкретное понятие «Цвет»
Понятие-ассоциация представляется в виде таблицы, связывающей сущности ассоциируемых понятий в сущность понятия-ассоциации, где в отличие от конкретных понятий столбцы могут соответствовать абстрактным понятиям и содержать уникальные идентификаторы их сущностей (значения из поля _Entity).
Пример таблицы понятия-ассоциации «Понятие» показан на рис. 9.
Рис. 9. Понятие-ассоциация «Понятие»
Представление абстрактного понятия-обобщения осуществляется с помощью запроса к базе данных, собирающего записи из таблиц обобщаемых понятий с заданным списком общих полей.
Пример виртуальной таблицы понятия-обобщения «Принципал» приведен на рис. 10, где сущности с начальными цифрами уникального идентификатора, равными 68, являются сущностями понятия «Группа», а сущности с цифрами 67 – сущностями понятия «Пользователь». Общими атрибутами для таких сущностей оказались понятия «Имя» и «Пароль».
Рис. 10. Понятие-обобщение «Принципал»
Таким образом, в слое базы данных понятийная модель предметной области представляется перечислением сущностей понятий в физических и виртуальных таблицах. Физическая таблица непосредственно хранится в памяти, а виртуальная таблица формируется динамически в результате выполнения некоторого запроса к базе данных.
Отсюда непосредственно следует вывод о том, что сложность модели предметной области соизмерима со сложностью самой предметной области. Если мы «утаим» некоторые понятия или их сущности, то для информационной системы они существовать не будут. И выявить их каким-либо образом не представляется возможным.
Может ли человек по капле воды догадаться о существовании океана? Некоторые отвечают, что да, может. Но тогда человек должен использовать свой интеллект, который не сводим к рациональному мышлению, которое мы пытаемся автоматизировать. В таких случаях ничего не остается, кроме дополнения понятийной модели новыми понятиями и сущностями, являющимися результатом интеллектуальной деятельности пользователей информационной системы.
Tempora mutantur et nos mutamur in illis
В заголовке – известный латинский афоризм, гласящий о том, что «времена меняются, и мы меняемся вместе с ними». Какую бы понятийную модель мы не создали, в момент своего создания она уже устарела. Как обеспечить актуализацию модели вслед за изменениями в предметной области?
Очевидно, актуализация любой понятийной модели сводима к трем операциям над понятиями, а именно: созданию сущности понятия, изменению сущности понятия и удалению сущности понятия. Так как каждое понятие является сущностью понятия «Понятие», то в рамках этих операций возможно создание, изменение и удаление понятий как таковых.
Создание сущности. Операция создания сущности какого-либо понятия осуществляется путем вставки в таблицу понятия новой строки с полями, равными значениям атрибутов создаваемой сущности. Для этого в слое базы данных используется SQL-запрос типа INSERT.
В свою очередь, операция создания понятия-сущности возникает при усложнении понятийной модели предметной области и состоит в определении имени нового понятия, задания способа его абстрагирования и перечисления понятий-атрибутов. В зависимости от вида понятия в базе данных создается или таблица – для понятий-признаков и понятий-ассоциаций, или представление (англ. view) – для понятий-обобщений. Для создания понятия в слое базы данных требуется создание соответствующей хранимой процедуры, обеспечивающей целостность базы данных после такой операции и, опосредованно, – целостность понятийной модели.
Удаление сущности. Операция удаления сущности понятия осуществляется путем выполнения SQL-запроса удаления строки из таблицы понятия типа DELETE. Так как на удаляемую сущность понятий могут быть ссылки из друг таблиц, то не каждая операция удаления оказывается возможной без удаления связанных с ней сущностей. Для обеспечения такой взаимосвязи при создании таблиц понятий определяются внешние ключи (англ. foreign keys) для всех абстрактных полей этой таблицы (рис. 11). В результате чего получается сильно связанная база данных, а механизм внешних ключей обеспечивает целостность понятийной модели.
Операция удаления понятия-сущности возникает в случае существенного изменения модели предметной области и состоит в изменении описания всех понятий, в определения которых входит удаляемое понятие. Для обеспечения целостности понятийной модели удаление понятий осуществляется соответствующей хранимой процедурой.
Рис. 11. Внешние ключи таблиц понятий
Изменение сущности. Операция изменения сущности эквивалентна SQL-запросу типа UPDATE, изменяющего поля одной или нескольких строк таблицы соответствующего понятия. Определенные для таблицы внешние ключи обеспечивают целостность понятийной модели при выполнении операций изменения.
Изменение понятий-сущностей возникает при необходимости наполнить понятие новым предметным содержанием. Операции изменения понятия выполняются соответствующей хранимой процедурой, которая модифицирует таблицу понятия и задает внешние ключи для вставляемых абстрактных столбцов.
Интерфейс пользователя. Операции добавления и удаления сущностей понятия отображаются в контекстное меню приложения (рис. 12).
Рис. 12. Операции создания и удаления сущностей
Операция изменения сущности выполняется путем непосредственного изменения значения простого понятия или путем выбора из ниспадающего списка одного из допустимых значений абстрактного понятий (рис. 13). В этом случае сущности абстрактных понятий отображаются в интерфейсе пользователя в виде наименования и соответствующей пиктограммы (атрибуты _Title и _Icon).
Рис. 13. Операции изменения сущностей
Итак, в первой части статьи мы рассмотрели определение понятийных высокоуровневых моделей. А во второй части я расскажу, как у нас в компании “ИНСИСТЕМС” реализована полнофункциональная информационная система, основанная на понятийном моделировании предметных областей. Продолжение следует.
Источник