2.4 Частные задачи проектирования модульных блок-схем систем обработки данных
Многоэтапный процесс разработки базы данных, который включает последовательное создание её концептуальной, логической и физической модели с последующей эксплуатацией с использованием возможностей выбранной системы управления базой данных (СУБД). При этом наиболее трудоемким этапом является проектирование концептуальной и логической модели данных в процессе которого необходимо провести анализ предметной области, определить сущности (объекты) и их взаимосвязи, выделить ключевые элементы и т.д.
Работы по проектированию базы данных на этом этапе слабо формализованы и в большой мере основаны на опыте и интуиции разработчиков.
В процессе проектирование базы данных необходимо также обеспечить эффективность её анализа, структуризации и обработкию. Поэтому структуризация проектируемой базы данных, то есть выделение массивов и взаимосвязей между ними и обеспечение её эффективности является актуальной задачей.
В процессе проектирование систем обработки данных на различных объектах могут возникнут ситуации, связанные с условиями и особенностями данных объектов. К примеру, определен состав прикладных задач, которые имеют модульную структуру программ и для реализации указанных задач необходимо сформулировать базу данных.
Ряд обстоятельств связан с включением в систему новых прикладных задач, реорганизацией базы данных, модернизацией системы. В этих условиях разработка методов проектирования массивов базы данных для заданного множества программных модулей является актуальной задачей.
Аналогичные случаи возникает при заданном множестве запросов в СОД, которые испльзуют сформулированную базу данных, а при появлении новых запросов необходимо скорректировать базу данных.
Задача разработки логической структуры базы данных при заданном множестве программных модулей (запросов) формулируется следующим образом [124-131].
Пусть, задано множество программных модулей
для решения прикладных задач систем, обработки данных.Для реализации программных модулей используются исходные информационные элементы, которые представлены в виде множества
. Взаимосвязи между множествам программных модулей и информационными элементами отображаются в виде матрицы , , , где , если -й информационный элемент используется -ым модулем, , в противном случае.Необходимо объединить информационные элементы в массивы базы данных, чтобы минимизировать число взаимосвязей между программными модулями и массивами базы данных системы (число обращений к базе данных).
Для постановки задачи введем следующие переменные и обозначение:
Тогда, задача примет вид:
.(2.4.1)При ограничениях на:
- число информационных элементов в записи массива
, ,(2.4.1)где
-допустимое число информационных элементов в записи массива;- дублирование информационных элементов в массивах базы данных
, .(2.4.2)Данная задача относится к классу блочно-симметричных задач, что следует из матричного представления
.(2.4.3)При проектировании модульных систем обработки данных возможен случай, когда база данных уже разработана и сформулирована для решения приложений [132,133].
При возникновении новых приложений, которые используют заданную базу данных, модернизации и изменения состава и содержания прикладных задач, программных модулей, путем добавления и исключения процедур обработки данных, формирования новых запросов и других модификации необходимо синтезировать программные модули, удовлетворяющим предъявленным требованиям.
В этом случае, задача проектирования программных модулей (приложений) при заданной базе данных формулируется следующим образом.
Пусть, задана база данных в виде множества массивов
, а также множество процедур обработки данных , реализация которых приводит к решению прикладных задач. Процедуры обработки данных используют элементы базы данных, что отражается взаимосвязи между процедурами и таблицами базы данных , , . Необходимо объеденить процедуры в программные модули приложений таким образом, чтобы минимизировать число взаимосвязей программных модулей с базой данных. Для математической постановки задачи введем следующие переменные , , , где , если -ая процедура включена в состав -го программного модуля и , в противном случае. В качестве критерия используется минимум взаимосвязей проектируемых программных модулей к массивам базы данных.Задача формулируется следующим образом.
.(2.4.5)при ограничениях на:
- число процедур в составе модуля
- дублирования процедур в модуле
, .(2.4.7)Сформулированная задача также сводится к блочно-симметричной задаче. Матричное представление целевой функции имеет вид:
.(2.4.8)Таким образом, сформулированные выше задачи (2.4.1)-(2.4.3) и (2.4.5)-(2.4.7) являются частными блочно-симметричными задачами ДП. Для их решения разработан и предложен эффективный алгоритм, приведенный в разделе 3.
Выводы к разделу 2
- Разработана и предложена общая модель проектирования систем обработки данных. Задача сформулирована как блочно-симметричная задача дискретного программирования. Определены свойства и особенности данного класса задач. Предложена схема решения задачи.
- Сформулирована задача декомпозиции сложной системы обработки данных на кластерах прикладных задач и исходных документов, позволяющая минимизировать взаимосвязи между ними. Задача решается на этапе технического проектирования систем обработки данных.
- Сформулирована блочно-симметричная задача синтеза модульной блок схемы систем обработки данных. В качестве критерия в постановке задачи используется минимум информационных взаимосвязей между программными модулями и массивами базы данных при ряде технологические ограничений при проектировании систем обработки данных на этапе рабочего проектирования.
- Поставленные частные задачи проектирование массивов базы данных при заданном множестве прикладных программных модулей, а также разработаны системы программных модулей при заданных массивах базы данных. Задачи сведены к блочно-симметричным задачам дискретного программирования.
3. МЕТОДЫ И АЛГОРИТМЫ РЕШЕНИЯ БЛОЧНО-СИММЕТРИЧНЫХ ЗАДАЧ ПРОЕКТИРОВАНИЯ СИСТЕМ ОБРАБОТКИ ДАННЫХ. МНОГОКРИТЕРИАЛЬНАЯ ЗАДАЧА СИНТЕЗА МОДУЛЬНЫХ БЛОК-СХЕМ ОБРАБОТКИ ДАННЫХ
В данном разделе рассматриваются алгоритмы решения блочно-симметирчных задач. Разработан и предложен эффективный алгоритм решения синтеза модульных блок-схем систем обработки данных. Произведена оценка вычислительной сложности алгоритма. Сформулирована двухкритериальная задача разработки модульных блок-схем систем обработки данных. Обоснованы и предложены критерии эффективности проектирования модульных блок-схем. Разработан алгоритм решения двухкритериальной задачи. Приведены численные примеры реализации алгоритмов.