ПЭИС : 13.Проектирование процессов обработки данных в пакетном режиме
К задачам, решаемым в пакетном режиме (запускаемым, как правило, в виде фоновых заданий), относятся задачи, характеризующиеся следующими признаками: слабой разветвленностью алгоритма, отсутствием необходимости вмешательства пользователя в ход решения и выбора варианта решения, большими объемами обрабатываемых данных и длительным временем решения и получения результатной информации. К таким задачам относятся, например, задачи статистической обработки данных, планирования производственной программы, расчета заработной платы и др.
Процесс проектирования внутримашинной технологии решения задач в пакетном режиме состоит из выполнения ряда операций, содержание и последовательность которых, а также состав получаемых проектных документов зависят от методов и инструментальных средств проектирования, выбираемых на предпроектной стадии. В условиях использования оригинальной технологии и канонического проектирования к методам и инструментальным средствам проектирования программного обеспечения задач относят методы IPT-технологиипроектирования и процедурно-ориентированные языки программирования.
В первую группу входит совокупность взаимосвязанных методов проектирования, которые были разработаны фирмой IBM:
- метод структурного проектирования;
- метод модульного проектирования;
- метод проектирования «сверху-вниз»;
- метод структурного программирования;
- метод HIPO-документирования.
Основной задачей структурного проектирования является выделение полного состава функций, для выполнения которых предназначаются разрабатываемые программные средства задачи. Выделяют два главных этапа структурного проектирования:
- этап общего проектирования, после которого проектировщик получает полный состав функциональных блоков и связей между ними;
- этап детального проектирования, задачей которого является определение полного состава программных блоков и связей между ними, показывающего, по какой технологии реализуются выявленные ранее функции.
Структурное проектирование позволяет на раннем этапе проектирования определить необходимые функции, которые должна реализовывать задача в процессе своей эксплуатации и убрать дублирующие.
Модульное проектирование дает возможность разбить программные и функциональные блоки на оптимальное количество модулей небольшой размерности (длиной до пятисот операторов), определить назначение каждого модуля и осуществить идентификацию его входных и выходных параметров.
По своему назначению модули делят на управляющие и исполнительные, а по степени общности — на стандартные и оригинальные.
Метод модульного проектирования поддерживается методом проектирования «сверху-вниз». Традиционно применяемое проектирование методом «.снизу-вверх» включает выполнение операций по разработке программного обеспечения в следующей последовательности: разработка отдельных компонентов программы, кодирование этих компонентов, отладка и интеграция, т. е. сборка их на последнем шаге, что приводит к вероятности выявления стольких неувязок в программе, сколько было в ней составных частей.
Проектирование методом «сверху-вниз» позволяет свести процесс разработки программы к выполнению двух операций: логическая разработка с одновременным интегрированием и выполнение кодирования с отладкой. При таком подходе вначале разрабатывается логическая структура программы в виде дерева программных модулей с установлением всех типов связей между ними, а затем идут кодирование и отладка модулей. При этом проектирование начинается с модулей, занимающих верхние уровни иерархии, с одновременной проработкой связей их со всеми соподчиненными модулями, для которых разрабатываются временные «заглушки» с целью проведения их отладки.
Структурное программирование основывается на выполнении нескольких ограничений. Первое касается размеров модулей и сегментов, согласно которым небольшой по размеру модуль (до 500 операторов) вначале сегментируется на небольшие разделы (сегменты) размером на один лист (до 60 операторов). Дальнейшая сегментация идет в пределах листа с выполнением расположения сегментов на листе со сдвигом слева направо для улучшения визуальных характеристик программы.
Другим ограничением, применяемым в этом методе, является ограничение на типы используемых операторов и структур. Рекомендуется использование линейной структуры (последовательность взаимосвязанных операторов), иерархической структуры с оператором if и циклических (кольцевых) структур с использованием оператора do while. He рекомендуется применение оператора go to.
Структурное программирование позволяет повысить степень читаемости программной документации и качество сопровождаемости программного продукта.
Для обеспечения качественного документирования разработки программного продукта в этой технологии предлагалось использование нескольких методов, в частности, например, использование стандартного пакета документов HIPO (иерархия -вход — процесс — выход), в который входят три типа документов.
- Таблица содержания пакета, в которой рисуется иерархическая структура пакета, состоящего из полной совокупности соподчиненных функциональных блоков.
- Обзорная схема каждой функции, в которой описываются документы, массивы, данные, идущие на вход функции, этапы обработки и перечень документов и массивов, получаемых на выходе функции.
- Подробная схема функции (описываются вход, процесс и выход каждого программного блока и дается указание внешних и внутренних потоков информации).
Положительной стороной использования пакета HIPO являлась стандартность представления описания программных продуктов и возможность поддерживать хорошую его читаемость на этапе эксплуатации и сопровождения. К отрицательным сторонам можно отнести: трудность внесения изменений в документацию, поскольку документация включает большое количество схем; высокую сложность каждой схемы и большую степень их связанности; высокие требования к квалификации исполнителя.
Выделяют следующие виды средств частичной автоматизации проектирования типовых операций обработки данных:
- библиотеки макрогенераторов;
- библиотеки стандартных подпрограмм;
- генераторы программ;
- интерпретаторы, ориентированные на предметную область.
Суть метода использования библиотеки макрогенератора заключается в том, что проектировщики, исходя из опыта проектирования, вьделяют в теле задач часто повторяющиеся последовательности операторов, реализующие небольшие функции обработки. На эти последовательности разрабатываются макрорасширения, имена которых обрабатываются макрогенератором, поэтому в тело программы включаются макрокоманды с параметрами, что значительно сокращает объем работ по программированию. В случае использования данного средства проектировщик должен выполнить следующие работы:
- анализ алгоритма задачи;
- анализ содержания библиотеки макроопределений (библиотека макрогенератора);
- написание на базовом языке исходной программы;
- включение в тело программы макрокоманд с параметрами (макроопределения);
- подготовка программы к вводу;
- ввод программы и ее обработка макрогенератором, который включает макрорасширения из библиотеки;
- трансляция и редактирование программы;
- испытание на контрольном примере, подготовка документации.
Если проектировщик использовал библиотеку стандартных подпрограмм, то в состав операций по проектированию должны входить такие операции, как: декомпозиция задачи на функциональные блоки; выбор типовых процедур и состава стандартных подпрограмм; разработка принципов связи программных модулей, списков передаваемых параметров; разработка алгоритмов оригинальных программных модулей; выбор языка программирования, написание и отладка кодов программ; соединение типовых процедур и оригинальных программных модулей; разработка управляющих модулей; комплексная отладка на контрольном примере с разработкой программной документации.
Дальнейшее развитие методика проектирования внутри-машинной технологии обработки данных получила при использовании генераторов программ и программ интерпретирующего типа.