- •Введение.
- •Программирование.
- •Основные методы и подходы к разработке программ.
- •1. Процедурное программирование
- •2. Модульное программирование.
- •3. Нисходящее проектирование.
- •4. Программирование с защитой от ошибок.
- •5. Функциональное программирование.
- •6. Логическое программирование.
- •7. Параллельное программирование.
- •8. Объектно-ориентированное программирование.
3. Нисходящее проектирование.
Одна из основных идей, положенных в большинство известных технологий программирования - нисходящее проектирование. Существуют также другие названия: «программирование с пошаговым совершенствованием», «систематическое программирование», «иерархическое программирование». Принцип его – сначала определяются основные функции, которые должны быть обеспечены изготавливаемой программой, а затем доопределяются дополнительные функции, вытекающие из основных.
Например:
Основная функция: «обработка файла»
Доопределенные функции: «открыть файл»
«обработать все записи»
«закрыть файл»
Вот некоторые принципы нисходящего проектирования:
подробное формальное и строгое описание проектировщиком входов, функций и выходов всех модулей программ или системы;
как только Вы убедитесь, что некоторая часть задачи может быть реализована в виде отдельного модуля, постарайтесь больше не думать об этом;
внимательно следите, чтобы Вас не вовлекли в обсуждение несущественных частей проекта;
на каждом уровне проекта пытайтесь записать реализацию модуля в виде символических кодов или блок схемы (размер описания в идеале не должен превосходить одного листа, чтобы при последующем анализе перед глазами находилась наиболее полная картина);
проектированию структуры данных и их движения следует уделять не меньше времени, чем программе;
4. Программирование с защитой от ошибок.
Критики программирования с защитой от ошибок считают, что несправедливо заставлять программиста вставлять средства контроля в свою программу, что при этом увеличивается время исполнения программы, что программирование будет отнимать слишком много времени. На самом деле это время будет в последствии сэкономлено, так как множество малозаметных потенциальных ошибок в программе просто не появится.
В основу программирования с защитой от ошибок положено следующее:
контроль входных данных (тех, что поступают от пользователя), их форматов, границ;
контроль обращений из других программ;
контроль входных данных из внешних файлов.
Основные пути достижения этой цели:
контроль версий файлов, версий программы;
не следует думать, что пользователь всегда все делает правильно, скорее наоборот, если что-то можно сделать неправильно, то это будет обязательно сделано;
не следует думать, что операционная система или транслятор работает корректно, особенно это касается новых версий;
подпрограммы для научных расчетов должны контролировать большинство входных аргументов;
экономические расчеты должны проверять корректность диапазонов и типов входных данных;
возможные ошибки ввода-вывода должны быть обдуманы до того, как готова функционирующая версия алгоритма;
следует составлять блок-схему и комментарии к программе в процессе написания программы, а не оставлять это «на потом»;
следует стараться избегать использования программ с большим количеством флагов, а в случае их наличия тщательно проверять их состояние;
при условных переходах следует проверять все ситуации;
обязательно надо проверять индексацию массивов на предмет выхода за границы;
при разработке программы следует сразу же обдумывать стратегию ее тестирования.