Отла́дка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится:
· узнавать текущие значения переменных;
· выяснять, по какому пути выполнялась программа.
Существуют две взаимодополняющие технологии отладки.
· Использование отладчиков — программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия.
· Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода — на экран, принтер, громкоговоритель или в файл. Вывод отладочных сведений в файл называется журналированием.
Отладка программы — это специальный этап в разработке программы, состоящий в выявлении и устранении программных ошибок, факт существования которых уже установлен. Программные ошибки, как правило, делятся на три вида:
Ошибки в построении предложения с ПРИЧАСТНЫМ ОБОРОТОМ.
· Синтаксическая ошибка. Неправильное употребление синтаксических конструкций, например употребление оператора цикла For без то или Next.
· Семантическая ошибка. Нарушение семантики той или иной конструкции, например передача функции параметров, не соответствующих ее аргументам.
· Логическая ошибка. Нарушение логики программы, приводящее к неверному результату. Это наиболее трудный для «отлова» тип ошибки, ибо подобного рода ошибки, как правило, кроются в алгоритмах и требуют тщательного анализа и всестороннего тестирования.
Ручная отладка
Метод ручного тестирования
Это – самый простой и естественный способ данной группы. При обнаружении ошибки необходимо выполнить тестируемую программу вручную, используя тестовый набор, при работе с которыми была обнаружена ошибка. Метод очень эффективен, но не применим для больших программ, программ со сложными вычислениями и в тех случаях, когда ошибка связана с неверным представлением программиста о выполнении некоторых операций. Данный метод часто используют как составную часть других методов отладки.
Общая методика отладки программных продуктов, написанных для выполнения в операционных системах MS DOS и Win32:
1 этап – изучение проявления ошибки;
2 этап – определение локализации ошибки;
3 этап – определение причины ошибки;
4 этап – исправление ошибки;
5 этап – повторное тестирование.
Процесс отладки можно существенно упростить, если следовать основным рекомендациям структурного подхода к программированию:
— программу наращивать «сверху-вниз», от интерфейса к обрабатывающим подпрограммам, тестируя ее по ходу добавления подпрограмм;
— выводить пользователю вводимые им данные для контроля и проверять их на допустимость сразу после ввода;
— предусматривать вывод основных данных во всех узловых точках алгоритма (ветвлениях, вызовах подпрограмм).
Спецификация программы, программная спецификация (program specification) — точная и полная формулировка определенной задачи или группы задач, содержащая сведения, необходимые для построения алгоритма их решения. Содержит описание результата, который должен быть достигнут с помощью конкретной программы, а также действий, выполняемых программой для достижения конечного результата без упоминания того, как указанный результат достигается
Синтаксическая норма| Русский язык
Отладка ПС инструментальными средствами. Точка остановы.
Что такое «точка останова»? С какой целью она используется?
Точка останова — это преднамеренное прерывание выполнения программы, при котором выполняется вызов отладчика
Сопровождение ПС
Сопровожде́ние (поддержка) программного обеспечения — процесс улучшения, оптимизации и устранения дефектов программного обеспечения (ПО) после передачи в эксплуатацию. Сопровождение ПО — это одна из фаз жизненного цикла программного обеспечения, следующая за фазой передачи ПО в эксплуатацию. В ходе сопровождения в программу вносятся изменения, с тем, чтобы исправить обнаруженные в процессе использования дефекты и недоработки, а также для добавления новой функциональности, с целью повысить удобство использования (юзабилити) и применимость ПО.
Сопровождение программного обеспечения стандартизовано, имеются национальные стандарты Российской Федерации, идентичные международным (ISO/IEC 12207:2008 System and software engineering — Software life cycle processes, ГОСТ Р ИСО/МЭК 12207-2010 «Национальный стандарт Российской Федерации. Информационная технология. Системная и программная инженерия.
Процессы жизненного цикла программных средств»; ISO/IEC 14764:99 Information tehnology — Software maintenance, ГОСТ Р ИСО/МЭК 14764-2002 «Государственный стандарт Российской Федерации. Информационная технология. Сопровождение программных средств»; IEEE 1219).
Принято выделять несколько линий сопровождения (структура приведена на примере внешнего сопровождения ПО):
0 линия (call-center, информационный центр, горячая линия) — обработка телефонных обращений от клиентов, передача обращений техническим специалистам (1-я линия сопровождения)
1 линия (инженер по сопровождению, инженер технической поддержки, support engineer) — консультация/настройка/устранение ошибок в работе ПО/наполнение базы знаний, составление мануалов
2 линия (инженер по сопровождению, инженер технической поддержки, support engineer) функциональное сопровождение/проектная деятельность на этапе запуска ПО на машинах заказчика
3 линия (инженер по сопровождению, инженер технической поддержки, support engineer) — системное сопровождение/проектная деятельность на этапе запуска ПО на оборудовании заказчика
Работу инженера по сопровождению ошибочно сравнивают с работой информационного центра. Однако по функционалу эти специалисты принципиально различаются — если call-center фактически аккумулирует обращения пользователей, то сопровождение является центральным звеном в цепочке разработки и доработки ПО, которое решает проблемы, возникающие в период эксплуатации ПО (системы, сервиса).
Адаптация ПС.
Приспособление программных средств к условиям функционирования, не предусмотренным приразработке.
Примечание. Адаптация заключается в доработке программного средства без изменения его основныхфункций
адаптация это процесс изменения и усовершенствования ПО для стабильной и правильной работы на компьютерах заказчика
Полевые испытания ПС
Полевые испытания ПС
Полевые испытания ПС — это демонстрация ПС вместе с технической системой, которой управляет эта ПС, узкому кругу заказчиков в реальных условиях и осуществляется тщательное наблюдение за поведением ПС [12.3]. Заказчикам должна быть предоставлена возможность задания собственных контрольных примеров, в частности, с выходов в критические режимы работы технической системы, а также с вызовом в ней аварийных ситуаций. Это дополнительные испытания, проводимые по решению аттестационной комиссии только для некоторых ПС, управляющих определенными техническими системами.
Качество ПО.
Ка́чество програ́ммного обеспечения — способность программного продукта при заданных условиях удовлетворять установленным или предполагаемым потребностям (ISO/IEC 25000:2014).
весь объем признаков и характеристик программ, который относится к их способности удовлетворять установленным или предполагаемым потребностям (ГОСТ Р ИСО/МЭК 9126-93, ISO 8402:94);
степень, в которой система, компонент или процесс удовлетворяют потребностям или ожиданиям заказчика или пользователя (IEEE Std 610.12-1990)
Фактор качества ПО — это нефункциональное требование к программе, которое обычно не описывается в договоре с заказчиком, но, тем не менее, является желательным требованием, повышающим качество программы.
Некоторые из факторов качества:
· Понятность: Назначение ПО должно быть понятным, из самой программы и документации.
· Полнота: Все необходимые части программы должны быть представлены и полностью реализованы.
· Краткость: Отсутствие лишней, дублирующейся информации. Повторяющиеся части кода должны быть преобразованы в вызов общей процедуры. То же касается и документации.
· Портируемость: Лёгкость в адаптации программы к другому окружению: другой архитектуре, платформе, операционной системе или её версии.
· Согласованность: По всей программе и в документации должны использоваться одни и те же соглашения, форматы и обозначения.
· Сопровождаемость: Насколько сложно изменить программу для удовлетворения новых требований. Это требование также указывает, что программа должна быть хорошо документирована, не слишком запутана, и иметь резерв роста по использованию ресурсов (память, процессор).
· Тестируемость: Позволяет ли программа выполнить проверку приёмочных характеристик, поддерживается ли возможность измерения производительности.
· Удобство использования: Простота и удобство использования программы. Это требование относится прежде всего к интерфейсу пользователя.
· Надёжность: Отсутствие отказов и сбоев в работе программ, а также простота исправления дефектов и ошибок.
· Эффективность: Насколько рационально программа относится к ресурсам (память, процессор) при выполнении своих задач.
Приемо-сдаточные испытания
Приемочное тестирование или Приемо-сдаточное испытание (Acceptance Testing)
Формальный процесс тестирования, который проверяет соответствие системы требованиям и проводится с целью:
— определения удовлетворяет ли система приемочным критериям;
— вынесения решения заказчиком или другим уполномоченным лицом принимается приложение или нет.
Приемочное тестирование выполняется на основании набора типичных тестовых случаев и сценариев, разработанных на основании требований к данному приложению.
Решение о проведении приемочного тестирования принимается, когда:
— продукт достиг необходимого уровня качества;
— заказчик ознакомлен с Планом Приемочных Работ (Product Acceptance Plan) или иным документом, где описан набор действий, связанных с проведением приемочного тестирования, дата проведения, ответственные и т.д.
Фаза приемочного тестирования длится до тех пор, пока заказчик не выносит решение об отправлении приложения на доработку или выдаче приложения.
Виды программных документов
Вид программного документа | Содержание программного документа |
Спецификация | Состав программы и документации на нее |
Ведомость держателей подлинников | Перечень предприятий, на которых хранят подлинники программных документов |
Текст программы | Запись программы с необходимыми комментариями |
Описание программы | Сведения о логической структуре и функционировании программы |
Программа и методика испытаний | Требования, подлежащие проверке при испытании программы, а также порядок и методы их контроля |
Техническое задание | Назначение и область применения программы, технические, технико-экономические и специальные требования, предъявляемые к программе, необходимые стадии и сроки разработки, виды испытаний |
Пояснительная записка | Схема алгоритма, общее описание алгоритма и (или) функционирования программы, а также обоснование принятых технических и технико-экономических решений |
Эксплуатационные документы | Сведения для обеспечения функционирования и эксплуатации программы |
Источник: infopedia.su
Компиляция и исправление синтаксических ошибок
После подготовки текста программы необходимо ее откомпилировать, связать с библиотекой стандартных процедур и функций, загрузить в оперативную память и передать ей управление. Компиляцией называется трансляция программы, записанной на исходном языке, в объектный модуль и создание в результате исполняемого файла.
Вся эта последовательность действий называется исполнением программы и реализуется в разделе Программа командой Выполнить ( F9 ). Вызов команды Выполнить приводит к компиляции и исполнению программного модуля, находящегося непосредственно в редакционном окне (рис. 3). Кроме этого система Pascal ABC позволяет выполнять пошаговую компиляцию и исполнение со входом в подпрограмму ( F7 ) или без входа в подпрограмму ( F8 ), а также исполнение программы вплоть до строки программы, в которой находится курсор, с помощью клавиши F4.
Этап компиляции позволяет определить наличие или отсутствие синтаксических ошибок в программе. При их обнаружении среда автоматически загружает в окно редактора исходный файл и помещает курсор в ту строку программы, при компиляции которой найдена ошибка.
Во многих случаях такие ошибки возникают из-за неправильного набора текста на клавиатуре, пропуска запятых, двоеточий и т.п. Найденная ошибка исправляется программистом, и производится повторная компиляция программы.
Если в программе нет синтаксических ошибок, то далее производится тестирование программы, в процессе которого выявляются семантические и алгоритмические ошибки [4, 5]. Тестирование включает подготовку тестов (специальным образом подобранных наборов входных данных, для которых заранее просчитан результат), его прогон и сравнение полученных результатов с эталонными (тестовыми). Число тестовых наборов должно быть достаточным для слежения за ходом выполнения программы по всем ее ветвям и проверки свойств, характеристик и функций (спецификаций) проектируемой программы. Кроме того, необходимы наборы, контролирующие допустимые значения для исходных данных и предельные значения для результатов.
1.5. Этапы подготовки и решения задач на компьютере
Практика программирования показывает, что решение прикладных, инженерных, экономических и научных задач на ЭВМ сложный и трудоемкий процесс, состоящий из следующих этапов.
1. Постановка задачи состоит в четком изложении условия задачи и определении подзадач.
2. Физический и математический анализ. Анализируется, существует ли вообще решение данной задачи и единственно ли оно. Подбирается математический аппарат, и строится математическая модель для решения задачи. Выбирается метод или методика решения (составляются формулы, определяются правила, связывающие эти формулы).
3. Этап алгоритмизации. На основании выбранного метода и конкретных методик с учетом возможностей ПК разрабатывается алгоритм и строится его схема. Этот этап заключается в разложении вычислительного процесса на возможные составные части, описании содержания каждой такой части, установлении порядка их следования, которые определят структуру программы, т. е. разрабатывается укрупнённый алгоритм решения задачи и проверяется возможность реализации выбранного метода. Подобное расчленение алгоритма на составные части называется структуризацией.
4. Этап программирования. Выбирается язык и (или) система программирования, и в соответствии с алгоритмом разрабатывается программа на конкретном языке программирования.
5. Отладка программы и тестирование . Отладка программы состоит в обнаружении и исправлении ошибок, допущенных на всех этапах проектирования программы. Синтаксические ошибки обнаруживаются компилятором, который выдаёт сообщение об ошибке и её месте (в основном это ошибки в написании операторов) при компиляции. Алгоритмические ошибки или смысловые (семантические) обнаруживаются в результате тестирования.
6. Решение задач на компьютере.
7. Обработка результатов решения задач. Производится анализ результатов, строятся таблицы, графики, делаются выводы.
Дополнительно могут присутствовать такие этапы, как описание структуры программы, описание структур данных, оптимизация программы, этап документирования.
Различают следующие системы подготовки и выполнения программы:
1) компилирующего типа (статистическая подготовка) (СИ, ПАСКАЛЬ);
2) интерпретирующего типа (динамическая подготовка).
В системах компилирующего типа сначала для всей программы готовится загрузочный модуль, который затем выполняется, т.е. подготовка и выполнение разделены во времени.
В системах интерпретирующего типа последовательно читается, транслируется и сразу же выполняется оператор за оператором (БЕЙСИК).
Словарь основных терминов
Трансляция — преобразование программы, представленной на одном языке программирования, в эквивалентную форму на другом языке.
Компиляция — трансляция программы с исходного модуля в объектный модуль (или на язык низкого уровня, близкого к машинному языку).
Редактирование связей ( компоновка ) — сборка программы с другими модулями и стандартными подпрограммами, приводящая к изменению порядка размещения, формата и содержимого данных.
Загрузка — пересылка программы с внешнего носителя данных в основную (оперативную) память и из основной в регистровую.
Исходный модуль — это текст программы, записанный на языке высокого уровня.
Объектный модуль — это программа после компиляции (в машинных кодах с относительными адресами).
Абсолютный модуль — это программа в машинных кодах с подсоединёнными к ней подпрограммами, настроенная на выполнение в заданной области оперативной памяти.
Компилятор – программное средство, выполняющее компиляцию программы.
Транслятор — программа или специальное технические средство, выполняющее трансляцию программы.
Интерпретатор — вид транслятора, осуществляющего пооператорную (покомандную) обработку и выполнение исходной программы.
Редактор связей — программа, предназначенная для построения одного загрузочного модуля из одного или более независимо транслируемых объектных или загрузочных модулей.
Загрузчик — обрабатывающая программа, выполняющая загрузку абсолютного модуля в основную память по установленным адресам.
Источник: lektsia.com
Тестирование
Тестирование программы включает в себя проверку её работы в различных условиях с целью определить корректность её работы.
Так как информационная система предназначена главным образом для хранения данных и манипуляций с ними, то особое внимание при проведении тестирования было уделено проверке записи и удаления данных из таблиц, а также обновлению данных.
Найденные ошибки устранялись, и тестирование продолжалось до тех пор, пока работа приложения не была признана удовлетворительной.
Разработка любой программы предполагает наличие в исходном тексте ошибок и борьбу с ними. Все практически неисчислимое множество возможных ошибок обычно подразделяют на три группы:
? смысловые (логические) ошибки.
Синтаксические ошибки — это самые простые ошибки, которые легко устраняются уже на этапе компиляции. Причина их одна ? неправильная запись служебных слов, операторов.
Смысловые (логические) ошибки — самые сложные и трудноуловимые. Они проявляются в том, что программа ведет себя не так, как предполагалось. Последствия смысловых ошибок могут быть самыми разными: неправильное содержимое окна, невыполнение или неверное выполнение команд пользователя, неправильное содержимое таблиц и многое другое. На борьбу со смысловыми ошибками уходит почти все время отладки.
Этапы отладки
Отладка программы является достаточно сложным процессом обнаружения и исправления ошибок, который обычно требует последовательного выполнения четырех этапов:
? локализация ошибки в тексте программы;
? установление причины ошибки;
В конкретных ситуациях перечисленные этапы могут пересекаться, некоторых из них может и не быть, однако в общем случае дело обстоит именно так.
Исправление ошибок
После создания исполняемого файла над готовым приложением был проведен ряд испытаний. Цель их проведения состояла в том, чтобы рассмотреть все возможные варианты работы программы, протестировать ее в нормальных, исключительных и экстремальных условиях, выявить недостатки и устранить их, если таковые имели место.
Таким образом, при тестировании были обнаружены некоторые ошибки, которые в последствие были устранены. Представленное приложение успешно справляется со своей задачей, не требуя при этом большого количества ресурсов системы и не нарушая работы операционной системы.
Применение
Данное программное средство предназначено для автоматизации рабочего места менеджера гостиницы, оно обеспечивает хранение, накопление, корректировку и предоставление всей информации обо всех заказах, которые хранятся в БД.
Для функционирования программы необходимо наличие операционной системы Windows, так как она создавалась специально для работы в этой среде. Сотрудник гостиницы должен иметь навыки работы в среде Windows, так как все формы, разработанные в приложении, используют компоненты Windows для обеспечения диалога между программой и пользователем.
Для запуска программы необходимо скопировать папку с программой на жесткий диск и запустить исполняемый файл Project1.exe.
После запуска программы пользователь видит ее главное окно:
Для регистрации новых постояльцев необходимо нажать на кнопку Гости. Появляется окно регистрации.
В соответствующие поля имени и фамилии необходимо ввести данные о постояльце. Для заселения нужно нажать кнопку Добавить. Чтобы посчитать клиента надо нажать на строку клиента, а потом нажать кнопку Посчитать в окне появиться счет к оплате.
Для выхода из регистрации нужно нажать кнопку ЗАКРЫТЬ.
Для редактирования таблицы обслуживание надо нажать на кнопку Обслуживание. Затем после заполнения полей нажать кнопку добавить.
При нажатии на пункт меню «Выход» программа завершит свою работу.
Источник: studbooks.net