Рисунок 2


Рисунок 3

В Delphi разработчик из меню палитры компонент выбирает необходимую компоненту, например кнопку, и буксирует ее при помощи мыши в нужное место окна разрабатываемой формы. При этом кнопке автоматически присваивается название (имя или идентификатор), и она описывается в модуле формы (рис. 4).

Щелкнув по изображению компоненты на форме, можно сделать ее активной. Затем, перемещая при помощи мыши границы кнопки и работая в окне Inspector, можно задать надпись (например, ОК) и/или графическую пиктограмму на кнопке, задать цвета и другие настроечные параметры кнопки. Двойной щелчок по кнопке — и в исходном тексте формы появится шаблон подпрограммы (метода) нужного типа реакции на щелчок (рис. 5). Работая в окне редактора текста, можно оформить тело подпрограммы реакции кнопки на щелчок.

Рисунок 4


Рисунок 5

Программа Inspector позволяет входить в исходные тексты методов (подпрограммы обработки событий, названных Events), например, на нажатие Enter, а также задавать начальные значения полям данных, названных Properties (рис. 6).

Рисунок 6

Начальные шаги технологии визуального программирования определяются оболочкой самой среды визуального программирования. Сначала создаются экранные формы простейшей буксировкой мыши. В инспекторе объектов производится настройка их свойств путем заполнения отдельных полей. На главную форму помимо визуальных компонент наносятся невизуальные компоненты. Формы объединяются в единый проект. Далее в соответствии со сценарием диалога программируются методы события основной и подчиненных форм. Программы "пустых" методов событий появляются в окне редактора после нажатия соответствующих клавиш или действий мыши. "Пустые" методы дополняются определенными операторами активации и дезактивации форм. По окончании начальных шагов получается работающий "скелет" программы с источниками данных из файловых баз данных и со сгенерированными формами документов, выводимых на печать. Исследователь (Browser) обеспечивает визуализацию схемы иерархии классов полученного "скелета" программы. Другими словами, технический проект реализованной части программы формируется автоматически. Дальнейшая разработка программы ведется по технологии объектно-ориентированного программирования. Можно часть программы реализовать по технологии структурного программирования. Некоторые недостающие визуальные и невизуальные компоненты получаются модификацией исходных текстов наиболее близких прототипов имеющихся компонент. Рекомендуется новые компоненты помещать в палитру компонент. Это облегчит их повторное использование в данной или последующих разработках. Код, относящийся только к данной разработке, набирается по тексту программы.

НЕ нашли? Не то? Что вы ищете?

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

1.3 Средства отладки программ

Разработку программы можно разбить на следующие этапы:

Составление алгоритма решения задачи. Алгоритм — это описание последовательности действий, которые необходимо выполнить для решения поставленной задачи.

Написание текста программы. Текст программы пишут на каком-либо языке программирования (например на Free Pascal) и вводят его в компьютер с помощью текстового редактора.

Отладка программы. Отладка программы — это процесс устранения ошибок из текста программы. Все ошибки делятся на синтаксические и логические. При наличии синтаксических ошибок (ошибок в написании операторов) программа не запускается. Подобные ошибки исправляются проще всего. Логические ошибки — это ошибки, при которых программа работает, но неправильно. В этом случае программа выдаёт не те результаты, которые ожидает разработчик или пользователь. Логические ошибки исправить сложнее, чем синтаксические, иногда для этого придётся переписывать отдельные участки программы, а иногда и перерабатывать весь алгоритм. Тестирование программы. Тестирование программы — процесс выявления ошибок в работе программы. Процессы отладки и тестирования сопровождаются неоднократным запуском программы на выполнение. Процесс запуска программы может быть осуществлён только после того, как введённая в компьютер программа на алгоритмическом языке Pascal1будет переведена в двоичный машинный код и создан исполняемый файл. Процесс перевода текста программы в машинный код называют трансляцией. Все трансляторы делятся на два класса: интерпретаторы — трансляторы, которые переводят каждый оператор программы в машинный код, и по мере перевода операторы выполняются процессором; компиляторы переводят всю программу целиком, и если перевод всей программы прошёл без ошибок, то полученный двоичный код можно запускать на выполнение. Если в качестве транслятора выступает компилятор, то процесс перевода текста программы в машинный код называют компиляцией. При переводе программы с языка Pascal в машинный код используются именно компиляторы. Рассмотрим основные этапы обработки компилятором программы на языке Delphi.

Компилятор анализирует, какие внешние библиотеки3 нужно подключить, разбирает текст программы на составляющие элементы, проверяет синтаксические ошибки и в случае их отсутствия формирует объектный код (в Windows — файл с расширением. obj, в Linux — файл с расширением. o). Получаемый на этом этапе двоичный файл (объектный код) не включает в себя объектные коды подключаемых библиотек.

На втором этапе компоновщик подключает к объектному коду программы объектные коды библиотек и генерирует исполняемый код программы. Этот этап называется компоновкой или сборкой программы. Полученный на этом этапе исполняемый код программы можно запускать на выполнение. На сегодняшний день существует множество компиляторов языка Pascal, среди которых можно выделить Borland Pascal, Delphi, а также свободно распространяемый кроссплатформенный компилятор языка Free Pascal и среду визуального программирования Lazarus.

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

Трассировка программы. Во время работы программы ее инструкции выполняются одна за другой со скоростью работы процессора компьютера. При этом программист не может определить, какая инструкция выполняется в данный момент, и, следовательно, определить, соответствует ли реальный порядок выполнения инструкций разработанному им алгоритму. В случае неправильной работы программы необходимо видеть реальный порядок выполнения инструкций. Это можно сделать, выполнив трассировку программы. Трассировка — это процесс выполнения программы по шагам (step-by-step), инструкция за инструкцией. Во время трассировки программист дает команду: выполнить очередную инструкцию программы. Delphi обеспечивает два режима трассировки: без захода в процедуру (Step over) и с заходом в процедуру (Trace into). Режим трассировки без захода в процедуру выполняет трассировку только главной процедуры, при этом трассировка подпрограмм не выполняется, вся подпрограмма выполняется за один шаг. В режиме трассировки с заходом в процедуру выполняется трассировка всей программы, т. е. по шагам выполняется не только главная программа, но и все подпрограммы. Для того чтобы начать трассировку, необходимо из меню Run выбрать команду Step over или Trace into. В результате в окне редактора кода будет выделена первая инструкция программы. Для того чтобы выполнить выделенную инструкцию, необходимо из меню Run выбрать команду Step over (нажать клавишу <F8>) или Trace into (нажать клавишу <F7>). После выполнения инструкции будет выделена следующая. Таким образом, выбирая нужную команду из меню Run, можно выполнить трассировку программы. Активизировать и выполнить трассировку можно при помощи функциональной клавиатуры. Команде Step overсоответствует клавиша <F8>, а команде Trace into — клавиша <F7>. В любой момент времени можно завершить трассировку и продолжить выполнение программы в реальном темпе. Для этого надо из меню Run выбрать команду Run. При необходимости выполнить трассировку части программы следует установить курсор на инструкцию программы, с которой надо начать трассировку, и из меню Run выбрать команду Run to cursor или нажать клавишу <F4>. Затем, нажимая клавишу <F7>или клавишу <F8>, выполнить трассировку нужного фрагмента программы.

Во время трассировки можно наблюдать не только порядок выполнения инструкций программы, но и значения переменных. Тестирование является органической частью процесса отладки программ, которая включает: собственно тестирование, диагностику и локализацию ошибок, а также корректировку отлаживаемых программ и контроль правильности устранения обнаруженных ошибок. В соответствии с этими стадиями процесса отладки изменяются цели и задачи тестирования. Целями тестирования последовательно являются: тестирование для обнаружения ошибок в программе; тестирование для диагностики и локализации причин обнаруженных искажений результатов; тестирование правильности выполненных корректировок и устранения обнаруженных ошибок в программе. Различие целей влияет на выбор наиболее эффективных методов тестирования для их реализации. Наиболее широкий спектр методов тестирования применяется для обнаружения ошибок. Основной целью такого тестирования является выявление отклонений результатов функционирования реальной программы от заданных эталонных значений. При этом задача состоит в обнаружении максимального числа ошибок, в качестве которых принимается любое отклонение результатов от эталонов. Успешным является тестирование, которое приводит к обнаружению существования ошибок. Если в результате тестирования ошибка не выявлена, то проведенные операции не дали сведений, позволяющих повысить качество программ, и тем самым не оправдали затрат. В этом случае эффективными являются операции тестирования, обладающие высокой способностью по обнаружению ошибок в программе. С этих позиций тесты, не способствующие обнаружению ошибок и только подтверждающие корректность функционирования программ, являются неэффективными, так как приводят к бесполезным затратам.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19