Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[2 курс] Программная инженерия.docx
Скачиваний:
10
Добавлен:
20.08.2020
Размер:
47.85 Кб
Скачать

Контроль структуры программы

Для контроля структуры программы используются 3 метода:

  1. Статический контроль – оценка структуры программы

Состоит в оценке программы с точки зрения разбиения на модули

  1. Смежный контроль – имеет 2 модификации

Смежный контроль сверху – контроль со стороны разработчиков архитектуры ПС и внешнего описания

Смежный контроль снизу – контроль со стороны разработчиков модулей

  1. Сквозной контроль – мысленное прокручивание структуры программы, при выполнении заранее разработанных текстов. Является динамическим контролем.

Разработка программного модуля

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

  1. Изучение и проверка спецификации модуля, выбор языка программирования

  2. Выбор алгоритма и структуры данных

  3. Программирование модуля

  4. Шлифовка (оптимизация) текста модуля

  5. Проверка модуля (включая тестирование)

  6. Компиляция модуля

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

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

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

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

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

На последнем шаге предусматривает завершение проверки модуля и подготовка программного продукта.

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

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

  1. Следование – линейная структура, определяющая последовательность действий

  2. Разветвление – предполагает наличие условия (if – else), в зависимости от которого выполняется одна из двух ветвей

  3. Повторение – обычный цикл

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

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

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