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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Понятие структурного программирования. Псевдокод.

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

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

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

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

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

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

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

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

К 17 и 18 вопросу:

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

Тестирование ПС – процесс выполнения программ на некотором наборе данных, для которого заранее известен результат либо правило поведения программы. Набор соответствующих данных называется тестом или тестовым набором.

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