Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование.doc
Скачиваний:
11
Добавлен:
21.05.2015
Размер:
102.91 Кб
Скачать

3. Нисходящее проектирование.

Одна из основных идей, положенных в большинство известных технологий программирования - нисходящее проектирование. Существуют также другие названия: «программирование с пошаговым совершенствованием», «систематическое программирование», «иерархическое программирование». Принцип его – сначала определяются основные функции, которые должны быть обеспечены изготавливаемой программой, а затем доопределяются дополнительные функции, вытекающие из основных.

Например:

Основная функция: «обработка файла»

Доопределенные функции: «открыть файл»

«обработать все записи»

«закрыть файл»

Вот некоторые принципы нисходящего проектирования:

  • подробное формальное и строгое описание проектировщиком входов, функций и выходов всех модулей программ или системы;

  • как только Вы убедитесь, что некоторая часть задачи может быть реализована в виде отдельного модуля, постарайтесь больше не думать об этом;

  • внимательно следите, чтобы Вас не вовлекли в обсуждение несущественных частей проекта;

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

  • проектированию структуры данных и их движения следует уделять не меньше времени, чем программе;

4. Программирование с защитой от ошибок.

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

В основу программирования с защитой от ошибок положено следующее:

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

  • контроль обращений из других программ;

  • контроль входных данных из внешних файлов.

  • Основные пути достижения этой цели:

  • контроль версий файлов, версий программы;

  • не следует думать, что пользователь всегда все делает правильно, скорее наоборот, если что-то можно сделать неправильно, то это будет обязательно сделано;

  • не следует думать, что операционная система или транслятор работает корректно, особенно это касается новых версий;

  • подпрограммы для научных расчетов должны контролировать большинство входных аргументов;

  • экономические расчеты должны проверять корректность диапазонов и типов входных данных;

  • возможные ошибки ввода-вывода должны быть обдуманы до того, как готова функционирующая версия алгоритма;

  • следует составлять блок-схему и комментарии к программе в процессе написания программы, а не оставлять это «на потом»;

  • следует стараться избегать использования программ с большим количеством флагов, а в случае их наличия тщательно проверять их состояние;

  • при условных переходах следует проверять все ситуации;

  • обязательно надо проверять индексацию массивов на предмет выхода за границы;

  • при разработке программы следует сразу же обдумывать стратегию ее тестирования.