Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

14 - 23 / Билет 23

.docx
Скачиваний:
17
Добавлен:
11.04.2015
Размер:
18.36 Кб
Скачать

Билет 23 - Основные этапы решения задач на ЭВМ

Этапы создания программного обеспечения

В процессе разработки программ с использованием структурного подхода можно выделять следующие этапы: 1.постановка задачи – определение требований к программному продукту; 2. анализ – осуществление формальной постановки задачи и определение методов ее решения;3. проектирование – разработка структуры программного продукта, выбор структур для хранения данных, построение и оценка алгоритмов подпрограмм и определение особенностей взаимодействия программы с вычислительной средой (другими программами, операционной системой и техническими средствами); 4. реализация – составление программы на выбранном языке программирования, ее тестирование и отладка. 5.модификация – выпуск новых версий программного продукта.

Постановка задачи

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

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

Анализ, формальная постановка и выбор метода решения

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

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

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

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

Проектирование

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

Логическое проектирование. Логическое проектирование при структурном подходе предполагает детальную проработку последовательности действий будущей Программы. Его начинают с определения структуры будущего программного продукта: отдельная программа или программная система, состоящая из нескольких взаимосвязанных программ. Затем переходят к разработке алгоритмов программ. Алгоритмом называют формально описанную последовательность действий, которые необходимо выполнить для получения требуемого результата.

Реализация

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

понятный процессору – в машинные коды. Этот процесс для языка С состоит из нескольких этапов

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

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

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

Для обнаружения ошибок параллельно с отладкой программы осуществляют ее тестирование.

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

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

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

Соседние файлы в папке 14 - 23