- •Дисциплина «Технология разработки программных продуктов» Теория
- •1 Классификация программных продуктов по сфере использования: системное программное обеспечение, инструментарий технологий программирования, пакеты прикладных программ.
- •Инструменты разработки программных средств
- •2 Понятие жизненного цикла программы. Основные этапы жизненного цикла программы
- •3 Понятие модели жизненного цикла разработки программного продукта. Обзор существующих основных моделей
- •Каскадная модель
- •Модель прототипирования
- •Модель быстрой разработки приложений (rad-модель)
- •Многопроходная модель
- •Спиральная модель
- •4 Структурное программирование. Основные управляющие конструкции структурного программирования
- •5 Методы структурного программирования. Достоинства и недостатки структурного программирования
- •6 Сущность метода объектно-ориентированного программирования. Основные этапы объектно-ориентированного программирования. Основные принципы объектно-ориентированного программирования
- •Этапы разработки программных продуктов с использованием ооп
- •7 Классификация систем, поддерживающих диалоговые процессы. Интерфейс пользователя программного продукта. Требования, предъявляемые к стандартному графическому интерфейсу пользователя
- •8 Классификация ошибок программного обеспечения
- •9 Отладка программ. Методы и виды отладки программ. Различие между тестированием и отладкой программ.
- •Автономная отладка модуля
- •Комплексная отладка
- •10 Виды тестирования
- •11 Тестирование программ. Разработка тестов. Характеристики хорошего теста. Как узнать, прошла ли программа тест
- •12 Методы тестирования программных продуктов: «стеклянный ящик», «черный ящик»
- •13 Тестирование программных продуктов. Классы эквивалентности. Условия принадлежности тестов к классу эквивалентности. Поиск классов эквивалентности
- •Категории специалистов, занятых разработкой и эксплуатацией программ
- •Технологии коллективной разработки
- •Коллективная разработка
- •Стоимость программных средств. Факторы, влияющие на стоимость программных средств
- •Факторы, влияющие на стоимость программных средств
- •Факторы, связанные с разработкой
- •Факторы, связанные с организацией разработки
- •Факторы, определяемые окружающей средой
- •17 Отладочные возможности среды программирования Delphi
- •Условная точка останова
- •Изменение характеристик точки останова
- •Удаление точки останова
- •Пошаговое выполнение программы
- •Использование окна Watch
- •Использование команд Evaluate и Modify
- •18 Защита программного обеспечения
- •Практика
9 Отладка программ. Методы и виды отладки программ. Различие между тестированием и отладкой программ.
Отладка - это локализация и устранение ошибок. Отладка является следствием успешного тестирования. Это значит, что если тестовый вариант обнаруживает ошибку, то процесс отладки уничтожает ее.
Итак, процессу отладки предшествует выполнение тестового варианта. Его результаты оцениваются, регистрируется несоответствие между ожидаемым и реальным результатами. Несоответствие является симптомом скрытой причины. Процесс отладки пытается сопоставить симптом с причиной, вследствие чего приводит к исправлению ошибки. Возможны два исхода процесса отладки:
причина найдена, исправлена, уничтожена;
причина не найдена.
Во втором случае отладчик может предполагать причину. Для проверки этой причины он просит разработать дополнительный тестовый вариант, который поможет проверить предположение. Таким образом, запускается итерационный процесс коррекции ошибки.
Английский термин debugging (отладка) дословно переводится как «ловля блох», который отражает специфику процесса — погоню за объектами отладки, «блохами». Рассмотрим, как может быть организован этот процесс «ловли блох» .
Различают две группы методов отладки:
аналитические;
экспериментальные.
Аналитические методы базируются на анализе выходных данных для тестовых прогонов.
Экспериментальные методы базируются на использовании вспомогательных средств отладки (отладочные печати, трассировки (выдача значений при каждом изменении)), позволяющих уточнить характер поведения программы при тех или иных исходных данных.
Общая стратегия отладки - обратное прохождение от замеченного симптома ошибки к месту в программе, где ошибка совершена.
Цель отладки - найти оператор программы, при исполнении которого правильные аргументы приводят к неправильным результатам.
В разных методах прослеживание организуется по-разному. В аналитических методах - на основе логических заключений о поведении программы. Цель - шаг за шагом уменьшать область программы, подозреваемую в наличии ошибки. Здесь определяется корреляция между значениями выходных данных и особенностями поведения.
Основное преимущество аналитических методов отладки состоит в том, что исходная программа остается без изменений.
В экспериментальных методах для прослеживания выполняется:
Выдача значений переменных в указанных точках.
Трассировка переменных (выдача их значений при каждом изменении).
Трассировка потоков управления (имен вызываемых процедур, меток, на которые передается управление, номеров операторов перехода).
Преимущество экспериментальных методов отладки состоит в том, что основная рутинная работа по анализу процесса вычислений перекладывается на компьютер. Многие трансляторы имеют встроенные средства отладки для получения информации о ходе выполнения программы.
Недостаток экспериментальных методов отладки - в программу вносятся изменения, при исключении которых могут появиться ошибки. Впрочем, некоторые системы программирования создают специальный отладочный экземпляр программы, а в основной экземпляр не вмешиваются.
Отладка ПП это деятельность, направленная на обнаружение и исправление ошибок в ПП с использованием процессов выполнения его программ. Тестирование ПП это процесс выполнения его программ на некотором наборе данных, для которого заранее известен результат применения или известны правила поведения этих программ. Указанный набор данных называется тестовым или просто тестом. Таким образом, отладку можно представить в виде многократного повторения трех процессов: тестирования, в результате которого может быть констатировано наличие в ПП ошибки, поиска места ошибки в программах и документации ПП и редактирования программ и документации с целью устранения обнаруженной ошибки.
Успех отладки ПП в значительной степени предопределяет рациональная организация тестирования. При отладке ПП отыскиваются и устраняются, в основном, те ошибки, наличие которых в ПП устанавливается при тестировании.