Разработка приложения для сопровождения лабораторной работы "Классификация средств измерения"

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Содержание

Введение

1. Теоретические основы разработки программных продуктов

1.1 Понятие ЖЦПО и виды моделей разработки программного продукта

1.2 Этапы разработки программных продуктов

2. Разработка программы «Классификация средств измерения»

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

2.2 Разработка модели задачи

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

2.4 Отладка и тестирование программы

2.5 Документирование программы

Заключение

Литература

Приложения

Введение

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

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

изучить материалы по разработке программ;

изучить информационные источники по системе ООП Delphi;

определиться со средством разработки приложения;

организовать удобную навигацию в программе;

обеспечить сохранение результатов тестирования во внешний файл.

1. Теоретические основы разработки программных продуктов

1.1 Понятие ЖЦПО и виды моделей разработки программного продукта

Понятие жизненного цикла является одним из базовых понятий методологии проектирования П. О. Жизненный цикл П.О. представляет собой непрерывный процесс, начинающийся с момента принятия решения о создании ПО и заканчивается в момент полного изъятия её из эксплуатации. Структура жизненного цикла основывается на трех группах процессов:

— основные процессы жизненного цикла (приобретение,… [поставка, разработка, эксплуатация, сопровождение);

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

— организационные процессы (управление проектами, создание, инфраструктуры проекта, определение, оценка и улучшение самого, жизненного цикла, обучение).

Рассмотрим каждую из указанных групп более подробно.

Процессы жизненного цикла

Основные процессы

Вспомогательные процессы

Организационные процессы

1. приобретение;

2. поставка;

3. разработка;

4. реализация.

1. документ;

2. управление фигурацией;

3. обеспечение качества;

4. верификация;

5. аудит;

6. разрешение проблем.

1. управление;

2. обучение;

3. создание;

4. инфраструктуры.

В состав жизненного цикла П.О. входят следующие стадии:

Формирование требований к П.О. ;

Реализация;

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

Тестирование;

Ввод в действие;

Эксплуатация и сопровождение;

Снятие с эксплуатации;

Модели жизненного цикла ПO

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

К настоящему времени наибольшее распространение получили следующие две основные модели жизненного цикла:

· каскадная модель, иногда также называемая моделью «водопад» (waterfall);

· реальный случай каскадной схемы разработки ПО;

· спиральная модель.

Каскадная модель жизненного цикла ПО

Каскадная модель демонстрирует классический подход к разработке различных систем в любых прикладных областях. Для разработки информационных систем данная модель широко использовалась в 70-х и первой половине 80-х годов. Каскадные методы проектирования хорошо описаны в зарубежной и отечественной литературе разных направлений: методических монографиях, стандартах, учебниках. Организация работ по каскадной схеме официально рекомендовалась и широко применялась в различных отраслях. Таким образом, наличие не только теоретических оснований, но и промышленных методик и стандартов, а также использование этих методов в течение десятилетий позволяет называть каскадные методы классическими.

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

Основные этапы разработки по каскадной модели

За десятилетия существования модели «водопад» разбиение работ на стадии и названия этих стадий менялись. Кроме того, наиболее разумные методики и стандарты избегали жесткого и однозначного приписывания определенных работ к конкретным этапам. Тем не менее все же можно выделить ряд устойчивых этапов разработки, практически не зависящих от предметной области:

· анализ требований заказчика;

· проектирование;

· разработка;

· тестирование и опытная эксплуатация;

· сдача готового продукта.

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

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

Третий этап -- реализация проекта. Здесь осуществляется разработка программного обеспечения (кодирование) в соответствии с проектными решениями, полученными на предыдущем этапе. Методы, используемые для реализации, не имеют принципиального значения. Результатом выполнения данного этапа является готовый программный продукт.

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

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

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

Основные достоинства каскадной модели

Каскадная модель имеет ряд положительных сторон, благодаря которым она хорошо зарекомендовала себя при выполнении различного рода инженерных разработок и получила широкое распространение. Рассмотрим основные достоинства модели «водопад»:

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

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

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

Тем не менее, несмотря на все свои достоинства, каскадная модель имеет ряд недостатков, ограничивающих ее применение при разработке информационных систем.

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

В настоящее время многие неудачи программных проектов объясняются именно применением последовательного процесса разработки.

Недостатки каскадной модели

Перечень недостатков каскадной модели при ее использовании для разработки информационных систем достаточно обширен. Вначале просто перечислим их, а затем рассмотрим основные из них более подробно:

существенная задержка получения результатов;

ошибки и недоработки на любом из этапов выясняются, как правило, на последующих этапах работ, что приводит к необходимости возврата на предыдущие стадии;

сложность распараллеливания работ по проекту;

чрезмерная информационная перенасыщенность каждого из этапов;

сложность управления проектом; 3 высокий уровень риска и ненадежность инвестиций.

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

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

Спиральная модель жизненного цикла

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

Итерации

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

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

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

Проблемы, возникающие при использовании спиральной модели

Основная проблема спирального цикла -- определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каж-13 этапов жизненного цикла. Иначе процесс разработки может превратиться в конечное совершенствование уже сделанного. При итерационном подходе нужно следовать принципу «лучшее -- враг хорошего».

1. 2 Этапы разработки программных продуктов

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

постановка задачи;

анализ, формализованное описание задачи, выбор модели;

выбор или разработка алгоритма решения задачи;

проектирование структуры программы;

кодирование;

отладка и верификация программы;

получение результата, его интерпретация и, возможно, последующая модификация модели;

публикация или передача заказчику результата работы;

сопровождение программы.

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

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

Выбор или разработка алгоритма и численного метода решения задач имеет важнейшее значение для успешной работы над программой. Тщательно проработанный алгоритм решения задачи — необходимое условие эффективной работы по составлению программы.

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

Кодирование — это запись алгоритма на языке программирования. Если алгоритм решения задачи, структура программы и структура данных тщательно продуманны и аккуратно записаны, затраты времени на кодирование уменьшается, а вероятность ошибок на этом этапе cнижaетcя.

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

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

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

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

2. Разработка приложения для сопровождения лабораторной работы «Классификация средств измерения»

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

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

Результаты тестирования сохранять в текстовый файл.

Приложение должно выполнять следующие функции:

— появление заставки;

— переход на регистрационную форму;

— переход на главную форму (при корректной регистрации);

— навигация по вкладкам (Назад, Далее);

— анализирует правильность выбора характеристик измерительных приборов.

— Предоставляет информацию по лабораторной работе.

— сохранение результатов тестирования во внешний текстовый файл.

— Просмотр результатов.

Спецификация.

Название

Классификация средств измерения

Требования к компьютеру

ПК на базе CPU (процессора) не менее Pentium I — 233 MHz, RAM (оперативная память) не менее 16 Mb, видеокарта — 128 Mb, операционная система семейства Windows не ниже 95 версии.

Описание

Программа предоставляет возможность за счет кнопок «Назад», «Далее», т. е. некоторые вопросы можно пропустить, а потом вернуться к ним. После того как пользователь выполнит лабораторную работу, загружаются результаты тестирования в сообщение.

Требования к интерфейсу

Управление программой осуществляется с помощью главного меню

— Файл (выход, начать тест, теоретический материал, посмотреть);

— Справка (об авторе).

Главная форма.

Меню:

— Файл (выход и закончить тест);

— Справка (об авторе).

Теоретическая часть

Меню:

— Файл (Перейти к регистрации, Выход)

— Справка (Об авторе)

Результат (Сообщение).

Входные данные

Ввод фамилии, имени, отчества и № группы в регистрационной форме

Выходные данные

Результат тестирования (ФИО пользователя, количество баллов, правильных и неправильных ответов)

Примеры работы программного продукта

Запуск, загрузка заставки, переход на регистрационную форму. Регистрация, переход на главную форму. Тестирование. Вывод результатов тестирования. Сохранение результатов в текстовый файл.

2. 2 Разработка модели задачи

Схема взаимодействия модулей программы:

/

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

Form2 (Главная форма)

procedure TForm2. Timer1Timer (Sender: TObject);

begin

Form2. AlphaBlendValue:=Form2. AlphaBlendValue+1;

if Form2. AlphaBlendValue=250 then

begin

Timer1. Enabled:=false;

Test1. Show;

Free;

end;

end;

Form3(Форма с закладками)

procedure TForm3. RadioButton1Click (Sender: TObject);

begin

if RadioButton1. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton7Click (Sender: TObject);

begin

if RadioButton7. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton11Click (Sender: TObject);

begin

if RadioButton11. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton14Click (Sender: TObject);

begin

if RadioButton14. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton16Click (Sender: TObject);

begin

if RadioButton16. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton21Click (Sender: TObject);

begin

if RadioButton21. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton26Click (Sender: TObject);

begin

if RadioButton1. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton29Click (Sender: TObject);

begin

if RadioButton1. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton31Click (Sender: TObject);

begin

if RadioButton31. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton49Click (Sender: TObject);

begin

if RadioButton49. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton36Click (Sender: TObject);

begin

if RadioButton36. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton39Click (Sender: TObject);

begin

if RadioButton39. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton43Click (Sender: TObject);

begin

if RadioButton43. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton54Click (Sender: TObject);

begin

if RadioButton54. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton61Click (Sender: TObject);

begin

if RadioButton61. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton62Click (Sender: TObject);

begin

if RadioButton62. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton66Click (Sender: TObject);

begin

if RadioButton66. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton69Click (Sender: TObject);

begin

if RadioButton69. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton46Click (Sender: TObject);

begin

if RadioButton46. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton74Click (Sender: TObject);

begin

if RadioButton74. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton78Click (Sender: TObject);

begin

if RadioButton78. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton81Click (Sender: TObject);

begin

if RadioButton81. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton86Click (Sender: TObject);

begin

if RadioButton86. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton89Click (Sender: TObject);

begin

if RadioButton89. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton91Click (Sender: TObject);

begin

if RadioButton91. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton97Click (Sender: TObject);

begin

if RadioButton97. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton103Click (Sender: TObject);

begin

if RadioButton103. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton105Click (Sender: TObject);

begin

if RadioButton105. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton109Click (Sender: TObject);

begin

if RadioButton109. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton111Click (Sender: TObject);

begin

if RadioButton111. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton116Click (Sender: TObject);

begin

if RadioButton116. Checked then

d: =d+1;

end;

procedure TForm3. RadioButton119Click (Sender: TObject);

begin

if RadioButton119. Checked then

d: =d+1;

end;

procedure TForm3. FormCreate (Sender: TObject);

begin

PageControl1. Style:=tsFlatButtons;

d: =0;

end;

procedure TForm3. FormHide (Sender: TObject);

var f: textfile;

d: string;

begin

d: =DateTimeToStr (Now);

AssignFile (f,'RezRezult. txt');

ReWrite (f);

Append (f);

Writeln (f, d+' Фамилия: '+test1. Edit1. Text+' Имя: '+test1. Edit2. Text+' Отчество: '+

test1. Edit3. Text+' № группы: '+test1. Edit4. Text+' Качество: '+inttostr (oc)+'%');

Closefile (f);

end;

procedure TForm3. BitBtn15Click (Sender: TObject);

begin

no: =32-d;

str: ='Результат: '+inttostr (d)+ ' правильных ответа (ов)'+

#13+ inttostr (no)+' неправильных ответа (ов). ';

If MessageDlg (pchar (str), mtInformation,[mbok], 0)=mrok Then

Hide; test1. Show;

end;

procedure TForm3. BitBtn1Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=1

end;

procedure TForm3. BitBtn2Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=0

end;

procedure TForm3. BitBtn3Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=2

end;

procedure TForm3. BitBtn4Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=1

end;

procedure TForm3. BitBtn5Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=3

end;

procedure TForm3. BitBtn6Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=2

end;

procedure TForm3. BitBtn7Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=4

end;

procedure TForm3. BitBtn8Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=3

end;

procedure TForm3. BitBtn9Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=5

end;

procedure TForm3. BitBtn10Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=4

end;

procedure TForm3. BitBtn11Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=6

end;

procedure TForm3. BitBtn12Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=5

end;

procedure TForm3. BitBtn13Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=7

end;

procedure TForm3. BitBtn14Click (Sender: TObject);

begin

PageControl1. ActivePageIndex:=6

end;

procedure TForm3. N2Click (Sender: TObject);

begin

no: =32-d;

str: ='Результат: '+inttostr (d)+ ' правильных ответа (ов)'+

#13+ inttostr (no)+' неправильных ответа (ов). ';

If MessageDlg (pchar (str), mtInformation,[mbok], 0)=mrok Then

Hide;

test1. Show;

end;

procedure TForm3. N3Click (Sender: TObject);

begin

Application. Terminate;

end;

procedure TForm3. N5Click (Sender: TObject);

begin

AboutBox. Show;

end;

end.

Регистрационная форма

procedure TTest1. Button1Click (Sender: TObject);

begin

if (Edit1. Text<>'')and (Edit2. Text<>'')and (Edit3. Text<>'')and (Edit4. Text<>'') then

begin

Hide;

Form3. Show;

end

else MessageDlg ('Данные введены не полностью!', mtWarning,[mbok], 0);

end;

procedure TTest1. Button2Click (Sender: TObject);

begin

Application. Terminate;

end;

procedure TTest1. N4Click (Sender: TObject);

begin

Application. Terminate;

end;

procedure TTest1. N3Click (Sender: TObject);

begin

form3. Show;

end;

procedure TTest1. Edit1KeyPress (Sender: TObject; var Key: Char);

begin

if Key=#13 then begin

Key: =#0;

Edit2. SetFocus;

end;

end;

procedure TTest1. Edit2KeyPress (Sender: TObject; var Key: Char);

begin

if Key=#13 then begin

Key: =#0;

Edit3. SetFocus;

end;

end;

procedure TTest1. Edit3KeyPress (Sender: TObject; var Key: Char);

begin

if Key=#13 then begin

Key: =#0;

Edit4. SetFocus;

end;

end;

procedure TTest1. N2Click (Sender: TObject);

begin

if (Edit1. Text<>'')and (Edit2. Text<>'')and (Edit3. Text<>'')and (Edit4. Text<>'') then

begin

Hide;

Form3. Show;

end

else MessageDlg ('Данные введены не полностью!', mtWarning,[mbok], 0);

end;

procedure TTest1. N6Click (Sender: TObject);

begin

AboutBox. Show;

end;

end.

Теоретическая часть

procedure TForm5. N3Click (Sender: TObject);

begin

Application. Terminate;

end;

procedure TForm5. N2Click (Sender: TObject);

begin

Close;

test1. Show;

end;

procedure TForm5. N5Click (Sender: TObject);

begin

AboutBox. Show;

end;

procedure TForm5. Button1Click (Sender: TObject);

begin

Close;

test1. Show;

end;

end.

2.4 Отладка и тестирование программы

Отладка — это процесс поиска и устранения ошибок в программе, проводимой по результатам ее прогона.

При отладке происходит локализация и устранение ошибок и явных ошибок кодировки.

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

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

Средства отладчика доступны через команды пункта меню Run (Выполнение) и подменю View Debug Windows (Просмотр — Окна отладки) и позволяют выполнять такие действия, как:

· выполнение до указанного оператора (строки кода);

· пошаговое выполнение приложения;

· выполнение до точки останова (Breakpoint);

· включение и выключение точек останова;

· просмотр значений объектов, например переменных, в окне просмотра;

· установка значений объектов при выполнении приложения.

· установка параметров отладчика выполняется в диалоговом окне Debugger Options (Параметры отладчика), вызывается одноименной командой пункта меню Tools (Средства).

Включением и выключением отладчика управляет переключатель Integrated debugging (Интегрированная отладка), который по умолчанию включен, и отладчик автоматически подключается к каждому приложению.

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

Окно просмотра — позволяет набрать имя переменной, значение которой необходимо узнать. В тексте программы можно устанавливать точки останова, в которых программа приостанавливает свое выполнение. Завершить работу зациклившейся программы можно нажатием клавиш CTRL-Break.

Тестирование — это процесс исполнения программ с целью выявления ошибок.

Тестирование — это процесс деструктивный, поэтому считается, что тест удачный если обнаружена ошибка.

Тестирующие программы как черного ящика (стратегия черного ящика определяет тестирование с анализом входных данных и результатов работы программы). Критерием исчерпывающего входного тестирования является использование всех возможных наборов входных данных.

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

Разумная и реальная стратегия тестирования — сочетание черного и белого ящиков.

Принципы тестирования:

1. Описание предлагаемых значений выходных данных или результатов должно быть необходимой частью тестового набора;

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

Таким образом, тестирование — это процесс выполнения программы с целью обнаружения ошибок.

Хорошим считается тест, который имеет большую вероятность обнаружения еще не выявленной ошибки. Удачным считается тест, который обнаруживает еще не выявленную ошибку.

При разработке программ очень полезным бывает метод «ручного тестирования» без компьютера на основе инспекции и сквозного просмотра (тестирование «всухую»).

Инспекция и сквозной просмотр — это набор процедур и приемов обнаружения ошибок при чтении текста. Основные типы ошибок при программировании:

обращения к переменным, значения которым не присвоены или не инициализированы;

выход индексов за границы массивов;

несоответствие типов или атрибутов переменных величин;

явные или неявные проблемы адресации памяти;

логические ошибки;

6) ошибочные передачи управления;

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

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

Граничные условия — это ситуации, возникающие непосредственно на, выше или ниже границ входных и выходных классов эквивалентности.

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

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

Таблица 1.

Оформление результатов отладки программы

№ п/п

Код ошибки

Сообщение об ошибке

Меры по устранению ошибок

1

229

expected but identifier 'inttostr' found

Запись оператора IntToStr

2

57

Incompatible types: 'String' and 'Integer'

Перевод из целого значения в строковое (InttoStr)

Таблица 2.

Оформление результатов

№ п/п

Исходные данные

Ожидаемый результат

Фактический результат

1

Timer1

Задержка заставки на экране

+

2

GroupBox

Контейнер для вариантов ответа

+

3

RadioButton

Варианты ответа

+

4

Label

Вопросы

+

5

BitButton

Навигация по вопросам

+

6

BitButton

Результаты тестирования

+

7

BitButton

Выход из программы

+

8

Edit

Ввод данных о пользователе

+

9

Image

Отображение рисунка для теста заставки

+

2.5 Документирование программы

Описание применения:

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

Условия применения: минимальные системные требования: ПК на базе процессора PI 233 MHz, оперативная память 16 Mb, видеокарта — 128Mb, операционная система не ниже Windows 95.

Описание задачи: Классификация средств измерения

Входные и выходные данные: текстовая информация.

Руководство программиста:

Результаты тестирования (RezRezult. txt). Данный файл можно просмотреть при помощи стандартной программы «Блокнот».

Руководство пользователя:

Для запуска программы требуется запустить файл Project1. exe. Сначала появляется заставка, которая автоматически переходит на регистрационную форму. В регистрационной форме требуется ввести фамилию, имя, отчество, номер группы и нажать кнопку «Принять». Если данные введены в полном объеме, то загружается главная форма (Лабораторная работа «Классификация средств измерения»), иначе выводится сообщение «Данные введены не полностью!» Главная форма содержит восемь вкладок, на каждой из которых находится вопрос и варианты ответа, а также кнопки «Назад», «Далее». При ответе на последний вопрос появляется кнопка «Закончить тест», при нажатии на которую появляется информационное окно (количество правильных и неправильных ответов). После того как работа с программой будет завершена результаты тестирования записываются в текстовый файл.

При выборе меню [Справка] пользователь может просмотреть сведения об авторе.

При выборе меню [Выход] пользователь может выйти из программы.

При выборе меню [Закончить тест] пользователь может досрочно закончить тест.

программный продукт тестирование файл

Заключение

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

В результате создано приложение для сопровождения лабораторной работы «Классификация средств измерения». Позволяет просматривать результаты лабораторной работы и сохраняет их в текстовый файл.

Литература

Архангельский А. Я. Программирование в Delphi 7. — М.: ООО «Бином-Пресс», 2004. — 1152 с.: ил.

Гофман В., Хомоненко А. Delphi 6. — СПб.: БХВ-Петербург, 2001. — 1152 с.

Глушаков С.В., Клевцов А. Л., Теребилов С. А. Программирование на Delphi 5.0, Харьков: Фолио, 2002.

Культин Н. Б. Программирование в Turbo Pascal и Delphi. СПб.: БХВ — Петербург, 2001.

Фаронов В.В. Delphi 5. Учебный курс. -М.: «Нолидж», 2001.

Приложения

Рис. 1. Заставка

Рис. 2. Главная форма

Рис. 3. Регистрационная форма

Рис. 4. Результаты тестирования

Рис. 5 Теоретический материал

ПоказатьСвернуть
Заполнить форму текущей работой