Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
теория информатика.doc
Скачиваний:
100
Добавлен:
24.09.2019
Размер:
5.2 Mб
Скачать

13.3 Процедурное программирование

Процедурное программирование состоит из структурного (нисходящее и восходящее проектирование) и модульного программирования.

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

Типичными методами структурного проектирования являются:

                    нисходящее проектирование, кодирование и тестирование программ; модульное программирование;

                    структурное проектирование (программирование) и др.

В зависимости от объекта структурирования различают:

                    функционально-ориентированные методы — последовательное разложение задачи или целостной проблемы на отдельные, достаточно простые составляющие, обладающие функциональной определенностью;

                    методы структурирования данных.

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

Для методов структурирования данных осуществляется анализ, структурирование и создание моделей данных, применительно к которым устанавливается необходимый состав функций и процедур обработки. Программные продукты тесно связаны со структурой обрабатываемых данных, изменение которой отражается на логике обработки (алгоритмах) и обязательно требует перепроектирования программного продукта. Структурный подход использует:

                    диаграммы потоков данных (информационно-технологические схемы) — показывают процессы и информационные потоки между ними с учетом “событий”, инициирующих процессы обработки;

                    интегрированную структуру данных предметной области (инфологическая модель, ЕR - диаграммы);

                    диаграммы декомпозиции — структура и декомпозиция целей, функций управления, приложений;

                    структурные схемы — архитектура программного продукта в виде иерархии взаимосвязанных программных модулей с идентификацией связей между ними, детальная логика обработки данных программных модулей (блок-схемы).

13.3.1 Структурное проектирование

Метод нисходящего проектирования предполагает последовательное разложение общей функции обработки данных на простые функциональные элементы (“сверху вниз”).

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

Последовательность действий по разработке функциональной структуры алгоритма приложения:

•          определяются цели автоматизации предметной области и их иерархия (цель-под цель);

• устанавливается состав приложений (задач обработки), обеспечивающих реализацию поставленных целей;

• уточняется характер взаимосвязи приложений и их основные характеристики (информация для решения задач, время и периодичность решения, условия выполнения и др.);

• определяются необходимые для решения задач функции обработки данных;

• выполняется декомпозиция функций обработки до необходимой структурной сложности, реализуемой предполагаемым инструментарием.

Подобная структура приложения (рис. 13.1) отражает наиболее важное — состав и взаимосвязь функций обработки информации для реализации приложений, хотя и не раскрывает логику выполнения каждой отдельной функции, условия или периодичность их вызовов.

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

Функции ввода-вывода информации рекомендуется отделять от функций вычислительной или логической обработки данных.

Пример 13.1. Некоторые функции, например Ф2, далее неразложимы на составляющие: они предполагают непосредственную программную реализацию. Другие функции, например Ф1, Фm, могут быть представлены в виде структурного объединения более простых функций, например Ф11, Ф12 и т. д. Для всех функций - компонентов осуществляется самостоятельная программная реализация; составные функции (типа Ф1, Фm) реализуются как программные модули, управляющие функциями-компонентами, например, в виде программ-меню.

Рисунок 13.1. Функциональная структура приложения:

Ц — цель; пЦ — подцель; П — приложение; Ф — функция