Модульное программирование

Модульное программирование представляет собой метод разработки программ, при котором большие программы пишутся, тестируются и отлаживаются небольшими частями, которые затем объединяются в единый комплекс. Настоящий нисходящий метод проектирования программ требует использования модульного программирования, но сам метод модульного программирования появился значительно раньше и часто используется независимо от остальных методов. Обычно модули выделяются на функциональной основе. В программировании для микропроцессоров такое выделение модулей особенно конструктивно, так как библиотеку модулей можно использовать в последующей работе. Парнас1 предложил иной способ разделения на модули, основанный на выделении тех компонентов проекта, которые могут изменяться в процессе разработки проекта. Очевидными преимуществами модульного программирования являются уменьшение размеров отлаживаемых и тестируемых программ, создание типовых программ, которые могут повторно использоваться, и возможность разделения задач на части или использование ранее созданных программ. К числу недостатков следует отнести сложности стыковки программ, дополнительные затраты времени и памяти на передачу управления между модулями и необходимость проводить тестирование на разных уровнях (на уровне модулей и программы в целом), а также необходимость составления специальных программ для тестирования модулёй. Труднее всего воспользоваться модульным программированием тогда, когда наиболее критичной является структура данных, а не структура программы. Однако модульное программирование — это очень эффективный метод. разработки ПО для микропроцессоров независимо от использования других методов. В рассмотренной ранее программе для системы взвешивания можно выделить следующие программы-модули:

1) сообщающая АЦП, что он должен начать работать, ожидающая завершения процесса преобразования и затем помещающая результат преобразования в память или регистр. Такую программу (модуль) можно, разумеется, использовать в любой системе с таким же или аналогичным АЦП;

2) считывающая информацию с клавиатуры и регистрирующая факт замыкания контактов. Эту программу можно использовать при работе с аналогичным клавишным устройством;

3) перемножающая два десятичных числа. Эта программа может использоваться в любой системе для выполнения десятичных арифметических операций;

4) выводящая результаты на сегментные дисплеи. Эту программу можно написать таким образом, что можно будет легко изменять постоянные времени дисплеев.

Разумеется, разработчик ПО должен использовать все методы проектирования комплексно Разработка блок-схем, нисходящее проектирование, структурное программирование и модульное программирование не исключают друг друга. Проектировщик должен помнить, что основная его задача состоит в том, чтобы создать работающую программу, а не слепо следовать предписаниям какого-либо из методов. 



Купить комплектующие для котлов zota зота kotel-zota.ru.