Рассмотрим задачу синтеза модульной блок-схемы системы обработки данных, минимизирующей общее число связей между модулями и массивами базы данных.
Для постановки задачи введем следующие обозначения. Пусть, - множество процедур обработки данных для решения прикладных задач системы; - множество информационных элементов, необходимых для реализации процедур из множеств . На множестве введем отношение , определяемое матрицей , где
Необходимо синтезировать модульную блок-схему СОД путем распределения множества процедур по модулям обработки данных, множества информационных элементов - в логическую структуру базы данных и установить оптимальные взаимосвязи между модулями и логической структурой базы данных, минимизирующих число взаимосвязей между компонентами блок-схемы.
Введем следующие переменные:
Введем вспомогательные переменные:
Переменная отражает использование -го информационного элемента -м модулем, т.е. если хотя бы один информационный элемент обрабатывается -ой процедурой, включенный в состав -го модуля, то данный элемент также обрабатывается этим модулем.
Переменная отражает использование -го массива данных-ой процедурой, т.е. если процедура использует хотя бы один информационный элемент, включенной в состав -го массива данных, то данная процедура использует этот массив.
Переменную отражающую взаимосвязь между модулями блок-схемы и массивами базы данных можно определить следующим образом:
,
либо,
Определение указанных переменных вытекает из свойства симметричности блочно-симметричных задач.
Задача проектирования модульных блок-схем систем обработки данных (МСОД) формулируется следующим образом.
Необходимо синтезировать модульную блок схему путем распределения множества процедур по модулям обработки данных, множества информационных элементов - в логическую структуру базы данных и установить оптимальные взаимосвязи между модулями и логической структурой базы данных, минимизирующих число взаимосвязей между компонентами блок-схем.
При этом должны быть учтены такие требования, как ограниченность размеров модулей и логических массивов базы данных, отсутствие дублирования процедур в модулях и информационных элементов в логических массивах.
Математическая постановка задачи имеет вид:
(2.3.1)
при ограничениях:
- число процедур в составе каждого модуля блок-схемы
, ,(2.3.2)
где -допустимое число процедур в -ом модуле;
- включение отдельных процедур обработкиданных в состав одного модуля
, ,(2.3.3)
для заданных и;
- дублирование процедур в модулях блок-схемы
, ,(2.3.4)
- размер записи массива базы данных
; , (2.3.5)
где - допустимое число информационных элементов в записи -го массива данных;
- дублирование информационных элементов в массивах базы данных
, ;(2.3.6)
- число информационных элементов, обрабатываемых каждым модулем
, .(2.3.7)
Сформулированная задача относится к новому классу задач дискретного программирования - блочно-симметричным задачам с булевыми двухиндексными переменными.
Целевую функцию (2.3.1) блочно-симметричной задачи разработки модульной блок-схемы удобно представить в матричной форме.
(2.3.8)
или
.(2.3.9)
Решением задач (2.3.1)-(2.3.7) являются множества булевых матриц , в котором - состав модулей блок-схемы, - состав массивов базы данных блок-схемы, - взаимосвязи между модулями и массивами базы данных блок-схемы, а также оптимальные значение целевой функции . Для решения данной задачи разработан и предложен эффективный алгоритм итеративных отображений (раздел 3).
2.4 Частные задачи проектирования модульных блок-схем систем обработки данных
Многоэтапный процесс разработки базы данных, который включает последовательное создание её концептуальной, логической и физической модели с последующей эксплуатацией с использованием возможностей выбранной системы управления базой данных (СУБД). При этом наиболее трудоемким этапом является проектирование концептуальной и логической модели данных в процессе которого необходимо провести анализ предметной области, определить сущности (объекты) и их взаимосвязи, выделить ключевые элементы и т.д.
Работы по проектированию базы данных на этом этапе слабо формализованы и в большой мере основаны на опыте и интуиции разработчиков.
В процессе проектирование базы данных необходимо также обеспечить эффективность её анализа, структуризации и обработкию. Поэтому структуризация проектируемой базы данных, то есть выделение массивов и взаимосвязей между ними и обеспечение её эффективности является актуальной задачей.
В процессе проектирование систем обработки данных на различных объектах могут возникнут ситуации, связанные с условиями и особенностями данных объектов. К примеру, определен состав прикладных задач, которые имеют модульную структуру программ и для реализации указанных задач необходимо сформулировать базу данных.
Ряд обстоятельств связан с включением в систему новых прикладных задач, реорганизацией базы данных, модернизацией системы. В этих условиях разработка методов проектирования массивов базы данных для заданного множества программных модулей является актуальной задачей.
Аналогичные случаи возникает при заданном множестве запросов в СОД, которые испльзуют сформулированную базу данных, а при появлении новых запросов необходимо скорректировать базу данных.
Задача разработки логической структуры базы данных при заданном множестве программных модулей (запросов) формулируется следующим образом [124-131].
Пусть, задано множество программных модулей для решения прикладных задач систем, обработки данных.
Для реализации программных модулей используются исходные информационные элементы, которые представлены в виде множества . Взаимосвязи между множествам программных модулей и информационными элементами отображаются в виде матрицы , , , где , если -й информационный элемент используется -ым модулем, , в противном случае.
Необходимо объединить информационные элементы в массивы базы данных, чтобы минимизировать число взаимосвязей между программными модулями и массивами базы данных системы (число обращений к базе данных).
Для постановки задачи введем следующие переменные и обозначение:
Тогда, задача примет вид:
.(2.4.1)
При ограничениях на:
- число информационных элементов в записи массива
, ,(2.4.1)
где -допустимое число информационных элементов в записи массива;
, .(2.4.2)
Данная задача относится к классу блочно-симметричных задач, что следует из матричного представления
.(2.4.3)
При проектировании модульных систем обработки данных возможен случай, когда база данных уже разработана и сформулирована для решения приложений [132,133].
При возникновении новых приложений, которые используют заданную базу данных, модернизации и изменения состава и содержания прикладных задач, программных модулей, путем добавления и исключения процедур обработки данных, формирования новых запросов и других модификации необходимо синтезировать программные модули, удовлетворяющим предъявленным требованиям.
В этом случае, задача проектирования программных модулей (приложений) при заданной базе данных формулируется следующим образом.
Пусть, задана база данных в виде множества массивов , а также множество процедур обработки данных , реализация которых приводит к решению прикладных задач. Процедуры обработки данных используют элементы базы данных, что отражается взаимосвязи между процедурами и таблицами базы данных , , . Необходимо объеденить процедуры в программные модули приложений таким образом, чтобы минимизировать число взаимосвязей программных модулей с базой данных. Для математической постановки задачи введем следующие переменные , , , где , если -ая процедура включена в состав -го программного модуля и , в противном случае. В качестве критерия используется минимум взаимосвязей проектируемых программных модулей к массивам базы данных.
Задача формулируется следующим образом.
.(2.4.5)
при ограничениях на:
- число процедур в составе модуля
, ;(2.4.6)
- дублирования процедур в модуле
, .(2.4.7)
Сформулированная задача также сводится к блочно-симметричной задаче. Матричное представление целевой функции имеет вид:
.(2.4.8)
Таким образом, сформулированные выше задачи (2.4.1)-(2.4.3) и (2.4.5)-(2.4.7) являются частными блочно-симметричными задачами ДП. Для их решения разработан и предложен эффективный алгоритм, приведенный в разделе 3.
Выводы к разделу 2
- Разработана и предложена общая модель проектирования систем обработки данных. Задача сформулирована как блочно-симметричная задача дискретного программирования. Определены свойства и особенности данного класса задач. Предложена схема решения задачи.
- Сформулирована задача декомпозиции сложной системы обработки данных на кластерах прикладных задач и исходных документов, позволяющая минимизировать взаимосвязи между ними. Задача решается на этапе технического проектирования систем обработки данных.
- Сформулирована блочно-симметричная задача синтеза модульной блок схемы систем обработки данных. В качестве критерия в постановке задачи используется минимум информационных взаимосвязей между программными модулями и массивами базы данных при ряде технологические ограничений при проектировании систем обработки данных на этапе рабочего проектирования.
- Поставленные частные задачи проектирование массивов базы данных при заданном множестве прикладных программных модулей, а также разработаны системы программных модулей при заданных массивах базы данных. Задачи сведены к блочно-симметричным задачам дискретного программирования.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16