Этапы разработки программ
Методы проектирования программ
Практическая работа № 19 «Отладка программы»
• постановка задачи • построение модели • разработка алгоритма и способа представления данных • кодирование и сопровождение • отладка • тестирование • документирование • внедрение
Как вы знаете, новые программы для компьютеров пишут программисты. Но это не совсем точно: любая достаточно сложная программа проходит несколько этапов от рождения идеи до выпуска готового продукта, и в этом участвует множество специалистов.
1. Постановка задачи. Сначала определяют задачи, которые должна решать программа, и записывают все требования к ней в виде документа — технического задания. Это очень важный этап, потому что ошибка в самом начале разработки приведёт к тому, что будет решена совершенно другая задача.
2. Построение модели. Когда задача поставлена, нужно выполнить формализацию — записать все требования на формальном языке, например на языке математических формул. В результате строится модель исходной задачи, в которой чётко определяются все связи между исходными данными и желаемым результатом.
3. Разработка алгоритма и способа представления данных. Любая компьютерная программа служит для обработки данных. Поэтому очень важно определить, как будут представлены данные в памяти компьютера (например, в виде отдельных переменных или массивов). Способ хранения данных определяет и алгоритмы работы с ними: если выбрана неудачная структура данных, очень сложно написать хороший алгоритм обработки. Известная книга швейцарского специалиста Никлауса Вирта, автора языка Паскаль, так и называется «Алгоритмы 4- структуры данных = программы».
4. Кодирование. Только теперь, когда выбран способ хранения данных и готовы алгоритмы для работы с ними, программисты приступают к написанию программы. Эта работа называется кодированием, потому что программист кодирует алгоритм — записывает его на языке программирования. Результат его работы — текст программы — часто называют программным кодом.
5. Отладка. Ни один человек не может написать достаточно большую программу без ошибок. Поэтому программисту приходится искать и устранять ошибки в программах. Этот процесс называется отладкой программы.
Все ошибки можно разделить на две группы: синтаксические ошибки и логические ошибки. Синтаксические ошибки — несоответствие правилам языка программирования — обнаруживаются транслятором, поэтому найти и исправить их достаточно просто.
Сложнее исправлять логические ошибки — ошибки в составлении алгоритма. Из-за логических ошибок программа работает не так, как требуется. Чтобы исправить такую ошибку, программисту приходится внимательно изучить работу программы, иногда даже выполнить многие вычисления вручную, без компьютера, и сравнить результаты каждого шага с теми результатами, которые даёт программа.
Логические ошибки могут привести к отказу — аварийной ситуации, например к делению на ноль. Часто при отказе операционная система завершает работу программы, и данные могут быть потеряны. Отказы часто называют ошибками времени выполнения (англ. runtime error).
6. Тестирование. Когда программист исправил все обнаруженные им ошибки, он передаёт программу на тестирование — тщательную проверку в различных режимах. Обычно эту работу выполняют специально обученные люди — тестировщики.
Тестирование в компании, которая разрабатывает программу, называется альфа-тестированием. Когда оно завершено, начинается бета-тестирование (внешнее тестирование). Программа (бета- версия) рассылается некоторым клиентам или даже распространяется свободно. Цель этого этапа — привлечь к тестированию множество людей, чтобы они смогли найти как можно больше ошибок в программе.
7. Документирование — это разработка документации на программу. Этим занимаются технические писатели. Техническая документация описывает, как работает программа, а руководство пользователя содержит инструкцию по использованию программы.
8. Внедрение и сопровождение. Когда программа отлажена и документация по ней готова, её нужно передать заказчику. Компания берёт на себя сопровождение программы — обучение пользователей, исправление найденных ими ошибок, техническую поддержку (ответы на вопросы). Часто компании выпускают новые версии программ, в которых исправляются ошибки и добавляются новые возможности.
Следующая страница Методы проектирования программ