Разработка программного продукта для тестирования специалистов по защите информации

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 17.11.2018
Размер файла 3,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ИСЛЕДОВАНИЕ ПРДЕМЕТНОЙ ОБЛАСТИ

1.1 Описание класса ПП соответствующих разработке

1.2 Требование к программному продукту

2. ПРОЕКТИРОВАНИЕ

2 Функции программного продукта

2.1 Проектирование интерфейса пользователя

2.2 Обоснование выбора средства разработки

3. КОДИРОВАНИЕ И АНАЛИЗ КАЧЕСТВА

3.1 Разработка программных модулей проекта

3.2 Разработка тестирования

4. АНАЛИЗ КАЧЕСТВА ПРОГРАММНОГО ПРОДУКТА

4.1 Метод тестирования

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

ЗАКЛЮЧЕНИЕ

ГЛОССАРИЙ

СПИСОК АББРИВЕТАТУР

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ А - ТЕХНИЧЕСКОЕ ЗАДАНИЕ

ПРИЛОЖЕНИЕ - В ДОКУМЕНТИРОВАННЫЙ ЛИСТИНГ ПРОГРАММНЫХ МОДУЛЕЙ

ВВЕДЕНИЕ

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

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

Объектом исследования является изучение деятельности специалистов по защите информации.

Предмет исследования -разработка тестирования для специалистов по защите информации.

Для достижения поставленной цели были сформулированы следующие задачи:

3 Проанализировать предметную область и её структуру, определить специфические функции, которые необходимо реализовать в программном обеспечении.

4 Сформулировать функциональные требования к разработке программного обеспечения.

5 Спроектировать структуру разрабатываемого программного продукта.

6 Определить принципы построения пользовательского интерфейса.

7 Выявить ошибки в работе с компонентами на стадии разработки.

8 Провести анализ качества разработанного программного продукта.

Новизна исследования.

Программный продукт разработан специально для тестирования специалистов по защите информации.

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

Структура и объём работы. Пояснительная записка к курсовой работе выполнена на 37 страницах, состоит из введения, четырех разделов, заключения, списка использованных источниковнаименований работ отечественных и зарубежных авторов), содержит девять рисунков, три таблицы и два приложения.

Во введении обосновывается выбор темы исследования, её актуальность; сформулированы цель и задачи исследования, определены объект и предмет.

В первом разделе представлены результаты анализа предметной области, а также выдвинуты требования к разрабатываемому ПП.

Во втором разделе проведено проектирование программного продукта. Описана архитектура программного продукта.

Третий раздел содержит описание алгоритма разработки программного продукта.

В четвертом разделе проведена оценка качества:описаны критерии оценки качества, методы и виды тестирования программных продуктов.

В заключении описаны результаты выполнения курсовой работы.

1. ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

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

1.1 Описание класса ПП соответствующих разработке

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

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

Рисунок 1.1 - Приложение тестирования «Ведомственная охрана»

Краткая характеристика программы «Ведомственная охрана»:

9 вся информация сгруппирована по разделам и включает тесты для самопроверки;

10 программа позволяет пройти тестирование по актуальному на данный момент списку из 231 вопроса;

11 в приложении присутствуют вопросы для ведомственной охраны со спецсредствами (без оружия).

Программное средство «Тесты для школы» (рис 1.2). Издатель: Anicrof, приложение имеет удобный и понятный интерфейс, работает в онлайн и офлайн режимах.

Рисунок 1.2 - Приложение тестирования «Тесты для школы»

Краткая характеристика программы «Тесты для школы»:

12 приложение тесты для школы, содержит большое количество тестов по различным предметам школьной программы;

13 тест можно использовать для проверки знаний и подготовки к ЕГЭ;

14 приложение содержит: сложные тесты и не очень, для младших, и старших классов школы.

Программное средство «Незнайка» (рис. 1.3). Разработчик - ООО «Neznaika.pro».

Краткая характеристика программы «Незнайка»:

15 тест содержит много предметов ЕГЭ и ОГЭ;

16 все варианты содержат подробные решения заданий;

17 система напоминаний.

Рисунок 1.3-Интерфейс программы «Незнайка»

Все перечисленные программные средства имеют следующие общие функции:

18 приложения содержать большое количество тестов;

19 вывод результата.

1.2 Требования к программному продукту

В процессе сравнения существующих программных продуктов, былсформулирован функционал разрабатываемого программного продукта:

1. Добавление и редактирование вопросов, и ответов;

2. Тест должен содержать не менее 40 вопросов;

3. В программе необходимо реализовать вывод результата пройденного теста;

4. Возможностьвыбора теста, пройти случайный тест.

Выводы

20 В ходе анализа предметной области проанализированы программные продукты тестирования.

21 Сформулирована система требований к программному продукту.

2. ПРОЕКТИРОВАНИЕ

Проектирование подразумевает под собой один из основных способов создания необходимой техники или программных продуктов. Для проектирования характерны определенная “логика” и определенные возможности.

2.1 Функции программного продукта

При проектировании программного продукта была составлена UML-диаграмма вариантов использования приложения тестирования для специалистов по защите информации (рис 2.1).

Рисунок 2.1 - UML-диаграмма

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

3. Тестирование состоит из 4-х тестов, в которых содержится по 10 вопросов, и 4 ответа на каждый вопрос.

4. Выбор тестирования.

5. Вывод результата пройденного теста.

2.2 Проектирование интерфейса пользователя

При загрузке программынаглавная форма должна разделятся на два поля(рис 2.2). На первом поле расположены две кнопки «Пройти тестирование», «О программе». Второе поле предназначено для вывода теста на экран.

Рисунок 2.2 - Главная форма программы

Кнопка «Пройти тестирование» позволит открыть поле с тестом. Также появится кнопки«Выбор теста», «Случайный тест». «Выбор теста» откроет таблицу с вариантами тестирования.(рис 2.3).

Рисунок 2.3 - Форма тестирование

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

В окне с тестом будут отображаться 10 вопросов, и 3 варианта ответа к каждому вопросу. На поле тестирование будет содержаться кнопка «Проверить тест», и также панель с выводом результата.

2.3 Среда разработки ПО

Исходя, из этих функций было решено использовать для разработки приложения императивный структурированный объектно-ориентированный язык программирования Delphi, так как он позволяет реализовать все необходимые функции и требования, поставленные перед программным продуктом.

Выводы

6. Сформулированы основные функции программного продукта;

7. Спроектирован пользовательский интерфейс;

8. Определена среда разработки.

3. КОДИРОВАНИЕ И АНАЛИЗ КАЧЕСТВА

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

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

3.1 Разработка программных модулей проекта

В первую очередь была разработана главная форма программы (рис.3.1). Она была реализована при помощи таких компонентов Delphiкак Forms, Image,Panel, Button.

Рисунок 3.1 - Главная форма

На главной форме расположена кнопка «Пройти тестирование» (рис. 3.2)., она позволит пользователю «Выбрать тест» (листинг 3.1), или пройти «Случайное тестирование»(листинг 3.2)

Листинг 3.1 - Выбор теста

Form1.Caption:='Выбортеста';

btn5.Visible:=False;

pnl3.Visible:=True;

btn10.Visible:=True;

btn11.Visible:=True;

pnl3.top:=80;

Рисунок 3.2 -Выбор теста

Листинг 3.2 - Случайныйтест

var

ans :integer;

begin

btn11.Visible:=True;

randomize;

ans:=random(5);

caseans of

0: btn6.Click;

1: btn7.Click;

2: btn8.Click;

3: btn9.Click;

end;

Кнопки «Главное меню» служит для перехода на главную форму (листинг 3.3).

Листинг 3.3 - Главное меню

btn5.Visible:=False;

btn10.Visible:=False;

btn11.Visible:=False;

btn3.Visible:=False;

btn14.Visible:=False;

btn15.Visible:=False;

btn16.Visible:=False;

pnl3.Visible:=False;

pnl2.Visible:=False;

ScrollBox1.Visible:=False;

ScrollBox2.Visible:=False;

ScrollBox3.Visible:=False;

ScrollBox4.Visible:=False;

lbl1.Visible:=True;

Кнопка «<», «>» служит для закрытия и открытия панели с кнопками (листинг 3.4)

Листинг 3.4 - закрытие панели

1.

btn12.Visible:=False;

pnl4.Visible:=False;

btn13.Visible:=True;

img2.Width:=1086;

img2.Left:=0;

2.

btn12.Visible:=True;

pnl4.Visible:=true;

btn13.Visible:=False;

img2.Width:=857;

3.2Разработка тестирования

На поле тестирования расположен компонент ScrollBox, он предназначен для вывода вопросов и ответов (рис 3.3)

Рисунок 3.3 - Проверка результата

Также на поле находится кнопка «Проверить тест»,она считывает правильные ответы и выводит результат на панель (листинг 3.5).

Листинг 3.5 - Вывод результата

1.

pnl2.Visible:=True;

lbl1.Visible:=True;

ball:=0;

if rg1.ItemIndex=otv[1] then inc(ball);

if rg2.ItemIndex=otv[2] then inc(ball);

if rg3.ItemIndex=otv[3] then inc(ball);

if rg4.ItemIndex=otv[4] then inc(ball);

if rg5.ItemIndex=otv[5] then inc(ball);

if rg6.ItemIndex=otv[6] then inc(ball);

if rg7.ItemIndex=otv[7] then inc(ball);

if rg8.ItemIndex=otv[8] then inc(ball);

if rg9.ItemIndex=otv[9] then inc(ball);

if rg10.ItemIndex=otv[10] then inc(ball);

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

Выводы

9. Разработка пользовательского интерфейсапроведена в полном соответствии с требованиями.

10. Создано поле для проведения тестирования.

3.

4. АНАЛИЗ КАЧЕСТВА ПРОГРАММНОГО ПРОДУКТА

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

4.1 Методы тестирования

Модульное тестирование - проводитсяв первую очередь. Это метод испытания на объектном уровне. Отдельные программные компоненты тестируются на наличие ошибок. Для этого теста требуется точное знание программы и каждого установленного модуля. Таким образом, эта проверка осуществляется программистами, а не тестерами. Для этого создаются тест-коды, которые проверяют, ведет ли программное обеспечение себя так, как задумывалось.

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

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

4.2 Результаты тестирования и результаты тестовых испытаний ПП

Самыми распространёнными методами тестирования являются тестирование методом черного ящика, белого ящика и серого ящика.

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

Тестирование программного обеспечения происходила по плану, предложенному в таблице 4.1.

Таблица 4.1 - Тестирование методом черного ящика

Название модуля

Описание тестового случая

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

Тест пройден?

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

Выбор вида работы:

1.На главной форме нажимаем кнопку «Пройти тестирование».

2. На главной форме нажимаем кнопку «О программе».

1. При нажатии на какую-либо кнопку в основном поле отображается информация, соответствующая нажатой кнопке.

2. В поле поиска отображается вводимая информация.

Да

Форма «Тестирование»

Выбор вида работы:

1.На форме тестирования нажимаем на кнопку «Выбор теста».

3 На форме тестирования нажимаем на кнопку «Результат тестирование».

1.При нажатии на какой-либо элемент списка в поле отображается список тестов.

2. При нажатии кнопку мы переходимна случайный тест.

Да

Тестирование методом белого ящика представляет собой проверка внутреннего функционирование и логику работы кода. При выполнения теста, необходимо знание кода, чтобы узнать точную часть кода, имеющую ошибки. Этот тест также известен как White-box, Open-Box или Glassbox тестирование.

При тестировании программного обеспеченияметодом белого ящика, были выявлены ошибки, представленные в таблице 4.2.

Таблица 4.2 - Тестирование методом «белый ящик»

Ошибки

Комментарии

Вывод случайного теста

Выводится один и тот же тест.

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

Программа не правильно считала количество правильных ответов, затруднялся вывод результата

Выявленные ошибки исправлялись разработчиком.

Вывод

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

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

ЗАКЛЮЧЕНИЕ

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

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

Был спроектирован внешний интерфейс пользователя. Была разработана UML-диаграмма приложения.Для создания программного продукта была выбрана среда разработки Delphi 7.

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

ГЛОССАРИЙ

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

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

Метод тестирования «черный ящик» - осуществляется без знаний внутренней работы системы. Производиться представление программное обеспечение для пользовательской среды, предоставляя различные входы и тестируя сгенерированные выходы.

Метод тестирования «белый ящик»- тестирование кода на предмет логики работы программы и корректности её работы с точки зрения компилятора того языка, на котором она писалась.

Пользовательский интерфейс - это комплекс правил и средств, организующих взаимодействие пользователя с устройствами или программами.

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

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

СПИСОКАББРЕВИАТУР

ПК- персональный компьютер;

ПО - программное обеспечение;

ПП- программныйпродукт;

UML- UnifiedModelingLanguage;

СТ - системное тестирование.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Программное средство «Незнайка» [Электронный ресурс]: [веб-сайт]. URL:https://neznaika.pro;

2. Программное средство «Ведомственная охрана» [Электронный ресурс]: [веб-сайт]. URL:https://play.google.com/store/apps/id=ponasenkov;

3. Программное средство «Тест для школы» [Электронный ресурс]: [веб-сайт]. URL:https://play.google.com/store/apps/id=nirkof.sktests;

4. Архангельский А.Я. Программирование в Delphi 6./А.Я. Архангельский. - М.: ООО «Бином-Пресс», 2004.-1120 с;

5. Фленов, М.Е. Библия Delphi, 3-издание. [Текст]/М.Е. Фленов.- М.: БХВ-Петербург, 2012.- 656 с.

6. Гофман В.Э., Хомоненко А.Д. Delphi. Быстрый старт. -- СПб.: БХВ-Петербург, 2003. -- 288 с.

7. Романчик В.С., А.Е. Люлькин, "Программирование в Delphi 7: пособие для студентов". Минск: БГУ, 2007. - 128 с.;

8. Бабаш, А.В. Информационная безопасность. Лабораторный практикум: Учебное пособие / А.В. Бабаш, Е.К. Баранова, Ю.Н. Мельников. -- М.: КноРус, 2013. -- 136 c.

9. Громов, Ю.Ю. Информационная безопасность и защита информации: Учебное пособие / Ю.Ю. Громов, В.О. Драчев, О.Г. Иванова. -- Ст. Оскол: ТНТ, 2010. -- 384 c.

10. Петров, С.В. Информационная безопасность: Учебное пособие / С.В. Петров, И.П. Слинькова, В.В. Гафнер. -- М.: АРТА, 2012. -- 296 c.

11. Поляков О.Г. О некоторых проблемах использования тестов как одного из средств контроля обучения школьников по иностранному языку// Иностранные языки в школе - №2 - 1994.

12. Исаев А.Л., Куров А.В. Машинная графика в среде программирования Delphi: Учеб.пособие.- М.: Изд-во МГТУ им.Н.Э.Баумана, 2006.-65 с.: ил.

ПРИЛОЖЕНИЕ А - ТЕХНИЧЕСКОЕ ЗАДАНИЕ

Введение

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

Наименование программы

Наименование программы: «Приложение тестирования защиты информации».

Назначение и область применения

Программа разработана для проверки знаний.

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

13. Основания для разработки

Основанием для разработки является учебный план дисциплины МДК 03.01 «Технологии разработки программного обеспечения»

14. Назначение разработки

Разрабатываемый ПП предназначен для проверки знаний по защите информации в форме тестирования.

15. Состав выполняемых функций

Программный продукт должен обеспечивать выполнение следующих функций:

16. Хранение вопросов;

17. Вывод тестирования;

18. Вывод результата пройденного тестирования;

19. Требования к программе

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

Интерфейс будет состоять из двух панелей, на одной из которых будут располагаться кнопки для перехода, а на другой вывод окон тетсирования.

21. Требования к функциональным характеристикам

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

22. Работать под управлением Windows 7 или выше.

23. Иметь интуитивно понятный интерфейс.

24. Обеспечивать корректную работу.

25. Требования к надежности

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

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

Отказы программы вследствие некорректных действий пользователя при взаимодействии с программой недопустимы.

26. Условия эксплуатации

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

27. Требования к составу и параметрам технических средств

28. Оперативная память не менее 16 Мb.

29. Свободное место на жестком диске объемом не менее 1,5 МБ

30. Установленная ОС Windows 7 или выше.

31. Установленное программное обеспечение «Delphi 7».

32. Требования к информационной и программной совместимости

Система должна работать под управлением ОС Windows 7 и выше. В качестве средств разработки требуется использовать среду программирования «Delphi 7».

33. Требования к маркировке и упаковке

Создается инсталляционный пакет и сохраняется на диске.

34. Требования к транспортированию и хранению

Диск с программой необходимо хранить в поставляемой с ним упаковке в темном и сухом месте.

35. Требования к программной документации

Состав программной документации должен включать в себя:

36. Техническое задание;

37. Пояснительную записку;

38. Технико-экономические показатели

Предполагаемая потребность: ежедневно

39. Стадии и этапы разработки

40. Стадии разработки

Разработка должна быть проведена в шесть стадий:

1. Разработка технического задания;

2. Анализ требований;

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

4. Программирование;

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

6. Внедрение.

41. Порядок контроля и приемки

Сдача проводится на базе колледжа преподавателю информационных дисциплин

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

Содержание работ

График работ

Отметка о выполнении

Подпись руководителя

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

12.02.18

2.Определение и уточнение требований к техническим средствам

13.02.18- 15.02.18

3.Определение требований к программе

15.02.18- 18.02.18

4.Определение входных и выходных данных

19.02.18- 22.02.18

5.Разработка алгоритма решения задачи

23.02.18- 28.02.18

6.Разработка структуры программы

01.03.18- 04.03.18

7.Написание программного кода

05.03.18- 11.03.18

8.Тестирование и отладка программы

12.03.18- 18.03.18

9.Оформление документации по программе

19.03.18- 21.03.18

ПРИЛОЖЕНИЕ - В ДОКУМЕНТИРОВАННЫЙ ЛИСТИНГ ПРОГРАММНЫХ МОДУЛЕЙ

unit Unit1;

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, Menus, jpeg;

type

TForm1 = class(TForm)

pnl1: TPanel;

ScrollBox1: TScrollBox;

rg1: TRadioGroup;

rg2: TRadioGroup;

rg3: TRadioGroup;

rg4: TRadioGroup;

btn3: TButton;

rg5: TRadioGroup;

lbl2: TLabel;

lbl3: TLabel;

lbl4: TLabel;

lbl5: TLabel;

lbl6: TLabel;

lbl7: TLabel;

rg6: TRadioGroup;

img2: TImage;

pnl2: TPanel;

lbl1: TLabel;

pnl4: TPanel;

img1: TImage;

pnl3: TPanel;

img3: TImage;

btn2: TButton;

btn1: TButton;

btn4: TButton;

btn5: TButton;

btn10: TButton;

btn11: TButton;

btn9: TButton;

btn8: TButton;

btn7: TButton;

btn6: TButton;

btn12: TButton;

btn13: TButton;

btn14: TButton;

btn15: TButton;

btn16: TButton;

ScrollBox2: TScrollBox;

ScrollBox3: TScrollBox;

ScrollBox4: TScrollBox;

lbl8: TLabel;

lbl9: TLabel;

lbl10: TLabel;

rg7: TRadioGroup;

rg8: TRadioGroup;

rg9: TRadioGroup;

rg10: TRadioGroup;

lbl11: TLabel;

lbl12: TLabel;

lbl13: TLabel;

lbl14: TLabel;

lbl15: TLabel;

rg11: TRadioGroup;

rg12: TRadioGroup;

rg13: TRadioGroup;

rg14: TRadioGroup;

rg15: TRadioGroup;

rg16: TRadioGroup;

rg17: TRadioGroup;

rg18: TRadioGroup;

rg19: TRadioGroup;

rg20: TRadioGroup;

lbl16: TLabel;

lbl17: TLabel;

lbl18: TLabel;

lbl19: TLabel;

lbl20: TLabel;

lbl21: TLabel;

lbl22: TLabel;

lbl23: TLabel;

lbl24: TLabel;

lbl25: TLabel;

lbl26: TLabel;

rg21: TRadioGroup;

rg22: TRadioGroup;

rg23: TRadioGroup;

lbl27: TLabel;

lbl28: TLabel;

lbl29: TLabel;

rg24: TRadioGroup;

rg25: TRadioGroup;

rg26: TRadioGroup;

lbl30: TLabel;

lbl31: TLabel;

lbl32: TLabel;

rg27: TRadioGroup;

rg28: TRadioGroup;

rg29: TRadioGroup;

lbl33: TLabel;

lbl34: TLabel;

lbl35: TLabel;

rg30: TRadioGroup;

lbl36: TLabel;

lbl37: TLabel;

lbl38: TLabel;

rg31: TRadioGroup;

lbl39: TLabel;

rg32: TRadioGroup;

rg33: TRadioGroup;

lbl41: TLabel;

rg34: TRadioGroup;

lbl40: TLabel;

lbl42: TLabel;

rg35: TRadioGroup;

rg36: TRadioGroup;

lbl43: TLabel;

lbl44: TLabel;

rg37: TRadioGroup;

rg38: TRadioGroup;

lbl45: TLabel;

lbl46: TLabel;

rg39: TRadioGroup;

rg40: TRadioGroup;

lbl47: TLabel;

lbl48: TLabel;

lbl49: TLabel;

lbl50: TLabel;

procedure btn2Click(Sender: TObject);

procedure btn3Click(Sender: TObject);

procedure cbb1Change(Sender: TObject);

procedure btn4Click(Sender: TObject);

procedure btn5Click(Sender: TObject);

procedure btn1Click(Sender: TObject);

procedure btn6Click(Sender: TObject);

procedure btn7Click(Sender: TObject);

procedure btn8Click(Sender: TObject);

procedure btn9Click(Sender: TObject);

procedure btn12Click(Sender: TObject);

procedure btn13Click(Sender: TObject);

procedure btn11Click(Sender: TObject);

procedure btn10Click(Sender: TObject);

procedure btn16Click(Sender: TObject);

procedure btn15Click(Sender: TObject);

procedure btn14Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

ball:integer;

constotv:array[1..40]of byte=(0,2,2,0,1,2,0,1,1,1,1,2,2,1,0,1,1,2,0,0,0,1,2,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,1,0);

implementation

uses Unit3;

{$R *.dfm}

procedure TForm1.btn2Click(Sender: TObject);

begin

Form1.Caption:='Тестирование';

btn4.Visible:=True;

btn5.Visible:=True;

btn1.Visible:=false;

btn11.Visible:=True;

end;

procedure TForm1.btn3Click(Sender: TObject);

begin

pnl2.Visible:=True;

lbl1.Visible:=True;

ball:=0;

if rg1.ItemIndex=otv[1] then inc(ball);

if rg2.ItemIndex=otv[2] then inc(ball);

if rg3.ItemIndex=otv[3] then inc(ball);

if rg4.ItemIndex=otv[4] then inc(ball);

if rg5.ItemIndex=otv[5] then inc(ball);

if rg6.ItemIndex=otv[6] then inc(ball);

if rg7.ItemIndex=otv[7] then inc(ball);

if rg8.ItemIndex=otv[8] then inc(ball);

if rg9.ItemIndex=otv[9] then inc(ball);

if rg10.ItemIndex=otv[10] then inc(ball);

lbl1.caption:='Правильных ответов '+IntToStr(ball)+'/10';

end;

procedure TForm1.cbb1Change(Sender: TObject);

var

i:Integer;

begin

case 1 of

0:ScrollBox1.Visible:=True;

end;

end;

procedure TForm1.btn4Click(Sender: TObject);

begin

Form1.Caption:='Выбортеста';

btn5.Visible:=False;

pnl3.Visible:=True;

btn10.Visible:=True;

btn11.Visible:=True;

pnl3.top:=80;

end;

procedure TForm1.btn5Click(Sender: TObject);

var

ans :integer;

begin

btn11.Visible:=True;

randomize;

ans:=random(5);

caseans of

0: btn6.Click;

1: btn7.Click;

2: btn8.Click;

3: btn9.Click;

end;

end;

procedure TForm1.btn1Click(Sender: TObject);

begin

Form3.Show;

btn11.Visible:=True;

end;

procedure TForm1.btn6Click(Sender: TObject);

begin

Form1.Caption:='Тест №1';

ScrollBox1.Visible:=True;

ScrollBox2.Visible:=False;

ScrollBox3.Visible:=False;

ScrollBox4.Visible:=False;

btn3.Visible:=True;

btn14.Visible:=False;

btn15.Visible:=False;

btn16.Visible:=False;

lbl1.Visible:=True;

lbl10.Visible:=False;

lbl9.Visible:=False;

lbl8.Visible:=False;

pnl2.Visible:=True;

btn3.Top:=272;

btn3.Left:=824;

end;

procedure TForm1.btn7Click(Sender: TObject);

begin

Form1.Caption:='Тест №2';

ScrollBox1.Visible:=False;

ScrollBox2.Visible:=True;

ScrollBox3.Visible:=False;

ScrollBox4.Visible:=False;

btn3.Visible:=False;

btn14.Visible:=False;

btn15.Visible:=False;

btn16.Visible:=True;

pnl2.Visible:=True;

lbl1.Visible:=False;

lbl10.Visible:=True;

lbl9.Visible:=False;

lbl8.Visible:=False;

end;

procedure TForm1.btn8Click(Sender: TObject);

begin

Form1.Caption:='Тест №3';

ScrollBox1.Visible:=False;

ScrollBox2.Visible:=False;

ScrollBox3.Visible:=True;

ScrollBox4.Visible:=False;

btn3.Visible:=False;

btn16.Visible:=False;

btn15.Visible:=False;

btn14.Visible:=True;

pnl2.Visible:=True;

lbl1.Visible:=False;

lbl10.Visible:=False;

lbl9.Visible:=False;

lbl8.Visible:=True;

btn14.Top:=272;

btn14.Left:=824;

end;

procedure TForm1.btn9Click(Sender: TObject);

begin

Form1.Caption:='Тест №4';

ScrollBox1.Visible:=False;

ScrollBox2.Visible:=False;

ScrollBox3.Visible:=False;

ScrollBox4.Visible:=True;

btn3.Visible:=False;

btn16.Visible:=False;

btn14.Visible:=False;

btn15.Visible:=True;

pnl2.Visible:=True;

lbl1.Visible:=False;

lbl10.Visible:=False;

lbl9.Visible:=True;

lbl8.Visible:=False;

btn15.Top:=272;

btn15.Left:=824;

end;

procedure TForm1.btn12Click(Sender: TObject);

begin

btn12.Visible:=False;

pnl4.Visible:=False;

btn13.Visible:=True;

img2.Width:=1086;

img2.Left:=0;

end;

procedure TForm1.btn13Click(Sender: TObject);

begin

btn12.Visible:=True;

pnl4.Visible:=true;

btn13.Visible:=False;

img2.Width:=857;

img2.Left:=224;

end;

procedure TForm1.btn11Click(Sender: TObject);

begin

btn4.Visible:=False;

btn5.Visible:=False;

btn10.Visible:=False;

btn11.Visible:=False;

btn3.Visible:=False;

btn14.Visible:=False;

btn15.Visible:=False;

btn16.Visible:=False;

pnl3.Visible:=False;

pnl2.Visible:=False;

ScrollBox1.Visible:=False;

ScrollBox2.Visible:=False;

ScrollBox3.Visible:=False;

ScrollBox4.Visible:=False;

lbl1.Visible:=True;

btn1.Visible:=True;

btn2.Visible:=True;

end;

procedure TForm1.btn10Click(Sender: TObject);

begin

btn10.Visible:=False;

btn3.Visible:=False;

btn14.Visible:=False;

btn15.Visible:=False;

btn16.Visible:=False;

pnl3.Visible:=False;

pnl2.Visible:=False;

ScrollBox1.Visible:=False;

ScrollBox2.Visible:=False;

ScrollBox3.Visible:=False;

ScrollBox4.Visible:=False;

btn4.Visible:=True;

btn5.Visible:=True;

end;

procedure TForm1.btn16Click(Sender: TObject);

begin

ball:=0;

if rg11.ItemIndex=otv[11] then inc(ball);

if rg12.ItemIndex=otv[12] then inc(ball);

if rg13.ItemIndex=otv[13] then inc(ball);

if rg14.ItemIndex=otv[14] then inc(ball);

if rg15.ItemIndex=otv[15] then inc(ball);

if rg16.ItemIndex=otv[16] then inc(ball);

if rg17.ItemIndex=otv[17] then inc(ball);

if rg18.ItemIndex=otv[18] then inc(ball);

if rg19.ItemIndex=otv[19] then inc(ball);

if rg20.ItemIndex=otv[20] then inc(ball);

lbl10.caption:='Правильных ответов '+IntToStr(ball)+'/10';

end;

procedure TForm1.btn15Click(Sender: TObject);

begin

ball:=0

if rg31.ItemIndex=otv[31] then inc(ball);

if rg32.ItemIndex=otv[32] then inc(ball);

if rg33.ItemIndex=otv[33] then inc(ball);

if rg34.ItemIndex=otv[34] then inc(ball);

if rg35.ItemIndex=otv[35] then inc(ball);

if rg36.ItemIndex=otv[36] then inc(ball);

if rg37.ItemIndex=otv[37] then inc(ball);

if rg38.ItemIndex=otv[38] then inc(ball);

if rg39.ItemIndex=otv[39] then inc(ball);

if rg40.ItemIndex=otv[40] then inc(ball);

lbl9.caption:='Правильных ответов '+IntToStr(ball)+'/10';

end;

procedure TForm1.btn14Click(Sender: TObject);

begin

ball:=0;

if rg21.ItemIndex=otv[21] then inc(ball);

if rg22.ItemIndex=otv[22] then inc(ball);

if rg23.ItemIndex=otv[23] then inc(ball);

if rg24.ItemIndex=otv[24] then inc(ball);

if rg25.ItemIndex=otv[25] then inc(ball);

if rg26.ItemIndex=otv[26] then inc(ball);

if rg27.ItemIndex=otv[27] then inc(ball);

if rg28.ItemIndex=otv[28] then inc(ball);

if rg29.ItemIndex=otv[29] then inc(ball);

if rg30.ItemIndex=otv[30] then inc(ball);

lbl8.caption:='Правильных ответов '+IntToStr(ball)+'/10';

end;

end.

end.

unit Unit2;

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls;

type

TForm3 = class(TForm)

pnl1: TPanel;

lbl1: TLabel;

lbl2: TLabel;

lbl3: TLabel;

lbl4: TLabel;

lbl5: TLabel;

lbl6: TLabel;

pnl2: TPanel;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

{$R *.dfm}

end.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.