Информационно-сложные задачи.

Широкое распространение информационных технологий, проникновение их в различные области деятельности человека, успех и эффективность их применения привели к тому, что решение практически любой задачи невозможно без использования вычислительной техники. Однако вместе с широким распространением информационных систем (ИС) возросли и требования к ИС. Если раньше автоматизировалась конкретная функция при помощи соответствующего АРМ (Автоматизированного Рабочего Места) то сейчас необходима уже комплексная автоматизация всех смежных функций. Это привело к росту сложности конечной задачи. Не осознавая проблем, возникающих при росте сложности задачи, невозможно качественно решить задачу и самое главное, обеспечить длительный жизненный цикл полученного решения.

1. Информационно-Сложные Задачи.

Информационная сложность задачи имеет два аспекта: «количественный» и «качественный». Количественная сложность зависит от объема обрабатываемой информации и ее распределенности. Решение задач, характеризующихся «количественной сложностью», как правило, является технической проблемой, которая в настоящее время имеет различные решения, позволяющие эффективно обрабатывать большие объемы информации. Для этого используются высокопроизводительные компьютеры, оптимизируются алгоритмы доступа и обработки информации, а так же распараллеливаются вычисления для их одновременного выполнения.

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

«Многофункциональность»

Многофункциональность, это необходимость одновременного решения нескольких задач на одних и тех же данных (например: Договора, Бухгалтерия, Кадры, Склады и т.п.). Решение многофункциональной задачи требует создания Единого Информационного Пространства, обеспечивающего непротиворечивое представление данных необходимых для каждой задачи. Так же необходимо обеспечивать согласованность действий каждой подсистемы, которая должна учитывать требования других подсистем. Построение единой, непротиворечивой схемы данных, объединяющих всю информацию для решения различных задач, является сверхсложной задачей, которая решается, как правило, экспериментальным путем во время опытной эксплуатации ИС.

«Многообъектность»

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

«Многосвязанность»

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

«Многокритериальность»

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

«Изменчивость»

Постоянные изменения в Предметной Области и в требованиях к решению задачи приводит к необходимости построения адаптивной и развиваемой ИС, что многократно сложнее, чем решение той же задачи при фиксированных условиях. Изменения в структурах хранения данных автоматически приводят к необходимости корректировки прикладных алгоритмов.

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

2. Проблемы Традиционных Технологий. (Реляционных Баз Данных)

В настоящее время необходимость перехода от отдельных независимых систем, используемых на предприятии, к единой информационной системе (ИС), охватывающей все аспекты деятельности, ни у кого не вызывает сомнения. Однако, построение таких систем является сложной задачей. Одним из существенных факторов, влияющим на решение задачи, является адекватность инструмента, используемого для решения. Так, например, использование для решения интегральных уравнений простого калькулятора с базовым набором арифметических операций несравнимо тяжелее, чем решение этих же уравнений при помощи математического пакета. При построении информационной системы таким "калькулятором" являются Базы Данных (БД), которые обеспечивают только базовые функции по манипулированию информацией. Сейчас существуют различные Базы Данных, построенные по разным принципам. Основную массу БД составляют Реляционные БД и их производные – Постреляционные БД. Не смотря на развитее БД, принципы, изначально заложенные в них, определяют саму концепцию БД и имеют ряд принципиальных ограничений (в той или иной степени эти ограничения свойственны и не Реляционным БД):

"Бессмысленность" данных

Данные, хранящиеся в БД, не интерпретируются средствами самой БД. Интерпретация "смысла" данных в БД лежит либо непосредственно на пользователе, либо на прикладном алгоритме. Для БД содержание конкретного поля в таблице определяется его типом данных: числовое поле, поле даты, строка и т.д., но что конкретно отображено этими значениями для БД принципиально не известно. Так, например, поле "дата рождения" для БД представляется как поле даты, которое может принимать значения в определенном диапазоне (если он задан), но то, что эта дата - "дата рождения" может сказать только сам пользователь, проанализировав структуру БД, или прикладная программа, где эта интерпретация "зашита" в алгоритме программы. Эта проблема усиливается, когда речь идет о большом количестве разнотипных объектов. Для извлечения необходимой информации из такого массива данных нельзя заранее предусмотреть все запросы, какие бы настройки они не имели, и поэтому для извлечения "произвольной" информации пользователю в конечном итоге предоставляется на откуп язык SQL для формирования собственных запросов к данным. Пользователь при этом должен знать как о структуре данных, так и об интерпретации этих данных, и, формулируя некоторую программу на этом языке, он закладывает схему обработки, а полученный результат интерпретирует самостоятельно. Это является ПРИНЦИПИАЛЬНОЙ проблемой при построении сложных систем, содержащих разнородную, сложно структурированную информацию.

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

Слабые выразительные возможности

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

В Базах Данных для представления информации используются следующие конструкции: Отношение (таблица), Кортеж (строка таблицы), Атрибут (столбец таблицы). При помощи этих конструкций возможно построение только "плоских" (одноуровневых) взаимосвязей. Для построения сложных взаимосвязей в БД используются ключевые атрибуты, которые обеспечивают только физическую взаимосвязь между данными, но не отражают "семантику" данной связи. В БД так же отсутствуют средства для явного отображения таких категорий как: существование, общее и частное, часть и целое, форма и содержание и др. Еще одним важным ограничением Баз Данных является отсутствие механизмов "абстрагирования", которые позволили бы решать задачу на уровне абстрактных понятий, не зависящих от их конкретного представления и наполнения.

"Жесткость" структур хранения информации

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

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

3. Требования к Информационной Технологии.

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

Рассмотренные проблемы БД определят сложность решения следующих задач:

Построения единого информационного пространства (ЕИП)

Единое информационное пространство является обязательным требованием для информационных систем. Только на основании анализа всей информации можно принимать объективные решения, а не угадывать их. Основной сложностью построения Единого Информационного Пространства является согласованность всех данных. Система должна обеспечивать возможность совместного рассмотрения и анализа любых данных. В БД согласованность достигается путем строгого соблюдения нормальных форм (что на практике редко удается достичь) и большим количеством связующих ключей. При модификации такой структуры, как правило, необходимо заново согласовывать все "связи".

Построение Единого Информационного Пространства влечет за собой проблему "Анализ информации и выявление закономерностей"

Решение сильносвязанных и сложноструктурированных задач

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

Адаптация под конкретные нужды пользователя

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

Развитие системы в процессе эксплуатации

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

Анализ информации и выявление закономерностей

Построение единой информационной системы в первую очередь связано с необходимостью совместного анализа всей существующей информации. Поэтому качество анализа информации, а также оперативность получения результата являются ключевыми характеристиками ИС. Запросы, задаваемые к системе, можно разделить на две группы: периодические и уникальные. Периодические запросы заранее известны и для них существуют специальные интерфейсы. При этом такие интерфейсы позволяют параметрически настраивать соответствующий запрос. Уникальный запрос является насущной потребностью, и как правило, требует оперативного ответа. Такой запрос заранее не известен и может затрагивать любые аспекты информации. Для построения таких запросов предлагается использовать SQL. Даже при наличии визуальных средств построения SQL пользователь должен знать структуру БД и принципы его построения (не понимание принципов SQL как правило приводит к получению "не совсем того ответа"). Как правило, обычный пользователь не может сам сформулировать такой вопрос и приходится прибегать к услугам информационной службы. Это существенно снижает оперативность получения результата, и получается "испорченный телефон" при формулировании запроса.

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