русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Способы проектирования алгоритмов и программ

Наибольшее распространение получили три способа проектирования алгоритмов и программ – восходящий, нисходящий, встречный.

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

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

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

Основными недостатками восходящего способа проектирования являются:

- сложность процесса объединения отдельных модулей в алгоритм;

- трудность исправления ошибок, допущенных на ранних стадиях разработки;

- сложность контроля разработки и прогноза завершения.

Нисходящее (сверху вниз) проектирование начинается с постановки задачи, которую требуется решить, и развивается далее путем разбиения ее на подзадачи. В конечном счете, это приводит к таким подзадачам, решение которых легко выразить в терминах базовых конструкций. Процесс проектирования включает в себя следующие действия:

- производится декомпозиция общей задачи на точно определенные подзадачи;

- доказывается, что если каждая подзадача решена корректно и полученные решения взаимосвязаны, то первоначальная задача будет решена корректно.

Процесс декомпозиции повторяется для подзадач, и доказывается корректность для выполненного разбиения. Этот процесс повторяется до получения подзадач настолько простых, что решение выражается базовыми конструкциями.

Такой способ проектирования алгоритмов и программ в виде иерархической структуры позволяет решать громоздкие и сложные задачи. При нисходящей разработке появляется возможность проверки алгоритма или проверки и отладки программы с самого начала разработки и тем самым создается ситуация выявления ошибок на ранних стадиях проектирования программ.

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

При разработке программы с использованием нисходящего проектирования не требуется проведения комплексной отладки, которая занимает при других методах разработки 25-40% от общего времени разработки программы. При этом разработка всей программы продвигается быстрее, чем разработка компонентов нижних уровней. Может выясниться, что отдельные компоненты не выполняют возложенные на них функции (например, обеспечение требуемой точности и времени вычисления).

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

Просмотров: 1616


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.