Диплом: Автоматизация процесса контроля знаний учащихся ГБОУ города Москвы школы №656 А.С. Макаренко

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
83
Рисунок 2.12 - Форма вопросов и ответов
Форма FormTest вызывается из формы FAdm при нажатии на кнопку
«Начать прохождение теста» в командной панели списка тестов. Данная форма
предназначена для прохождения выбранного теста учащимся и фиксации
результатов его прохождения в базе данных.
В первую очередь у формы FormTest переопределен метод ShowModal,
унаследованный от родительского класса TForm. Теперь этот метод имеет два
параметра, через которые в форму передаются идентификатор теста,
прохождение которого будет обеспечено формой, и идентификатор пользователя,
который проходит данный тест. В этом же методе происходит динамическое
создание объекта класса TTest.
Как уже говорилось, класс TTest инкапсулирует в себе все необходимые
свойства и методы для работы с объектом предметной области «Тест».
Происходит считывание из базы данных параметров теста и формирование
84
списка вопросов и ответов, которые представляют из себя списки объектов
классов TQuestion и TAnswer. Далее вся работа с тестом происходит через
объект класса TTest.
Форма имеет четыре панели для отображения органов управления работы
с тестом: панель наименования, панель текущего вопроса, панель ответов на
текущий вопрос, панель навигации по тесту.
В панели наименования отображается подробное наименование теста, а
также значение времени и номер вопроса. В значении времени отображается
время в часах, минутах и секундах, оставшееся до окончания теста, если в
параметрах теста задан лимит времени на его прохождение. Если лимит времени
не задан, то отображается текущее системное время. Для реализации функции
времени предназначены два объекта TTimer, размещенные на форме. Первый из
них предназначен для контроля лимита времени (если он задан). В его интервал
записывается значение в миллисекундах, соответствующее лимиту времени,
заданному в минутах. При срабатывании этого таймера вызывается процедура
завершения теста. Второй таймер имеет интервал в одну секунду и
предназначен для изменения текста в компоненте TLabel, отображающем
оставшееся или текущее время.
В панели текущего вопроса отображается текст и картинка текущего
вопроса. Номер текущего вопроса – это свойство класса TTest, которое в методе
ShowModal принимает значение ноль и далее меняется в зависимости от
навигации по тесту. Текущий вопрос берется из объекта TTest при помощи
метода GetQuest. Заметим, что если в текущем вопросе нет картинки, то поле
для нее не отображается и вся панель текущего вопроса занята текстом вопроса.
Для вывода изображения картинки вопроса предназначен компонент TImage
размещенный на панеле-контейнере TPanel. При выводе изображения
вызывается метод ComputeImage формы FQuestAnswer, который рассчитывает
размер и местоположение компонента TImage относительно компонента-
контейнера TPanel таким образом, чтобы изображение в компоненте TImage
85
было пропорциональным, но при этом занимало максимальную площадь
компонента-контейнера.
Панель ответов предназначена для вывода ответов на текущий вопрос.
Она представляет из себя компонент TScrollBox в котором динамически
создаются компоненты TradioButton или TCheckBox (в зависимости от типа
ответа вопроса) , текст которых заполняется текстом ответов. Таким образом,
пользователю предоставляется возможность выбрать вариант ответа
предложенный ему из нескольких возможных. Возможность вертикальной
прокрутки объектов в компоненте TScrollBox обеспечивают отображение
любого количества ответов. В создаваемых динамически компонентах
TRadioButton и TCheckBox запоминается порядковый номер ответа и при ответе
на вопрос именно этот номер фиксируется как выбранный пользователем
вариант ответа. Если тип ответа вопроса установлен как «текст», то
динамические объекты TRadioButton и TCheckBox не создаются, а вместо этого
становится видимым поле ввода, в которое пользователю предлагается ввести
свой вариант ответа. Введенный ответ фиксируется как данный пользователем
ответ при нажатии на кнопку «Ответить».
Панель навигации предназначена для фиксации пользователем ответа на
вопрос, для завершения теста по желанию пользователя и для передвижения по
вопросам теста.
Для фиксации ответа на вопрос предназначена кнопка «Ответить». При ее
нажатии в текущий вопрос теста (объект класса TQuestion списка вопросов
Questions объекта класса TTest) записывается порядковый номер ответа,
выбранный пользователем при помощи радиокнопок, либо сам текст ответа,
введенный пользователем в поле ввода. Результат ответа на вопрос не
вычисляется.
Для навигации по тесту предназначена кнопки «Вперед» и «Назад», при
нажатии на которые увеличивается или уменьшается на единицу номер
текущего вопроса и вызывается функция его отображения. Кроме того, на
86
панели навигации динамически создаются кнопки-объекты класса TSpeedButton,
каждая из которых соответствует вопросу. При нажатии на какую-либо из
кнопок порядковый номер вопроса объекта TTest принимает соответствующее
значение, происходит отображение текущего вопроса, а свойство Down кнопки
становится равное True, что визуально представляется как «вдавленная» кнопка.
Для завершения прохождения теста по желанию пользователя на панели
навигации находится кнопка «Завершить» при нажатии на которую вызывается
метод Close формы.
Завершение теста происходит либо по желанию пользователя при нажатии
на кнопку «Завершить», либо по срабатыванию таймера лимита времени. В
любом случае вызывается метод Close формы. Пользователь может и любым
другим способом, принятым в Windows-приложениях закрыть окно формы
FormTest. Фиксация результатов теста происходит в обработчике события
закрытия формы.
При фиксации результатов происходит расчет результатов каждого
вопроса, расчет результата теста в целом, а также таких параметров как
количество вопросов на которые даны ответы и количество вопросов на которые
даны правильные ответы. Все эти данные, а также данные об идентификаторе
теста, идентификаторе пользователя, проходившего тест, дате и времени начала
и окончания теста заносятся в таблицу jornal базы данных.
Заметим, что назначение формы FormTest заключается в том, чтобы
обеспечить пользователю корректное и удобное прохождение теста. Для этого во
избежание непреднамеренных ошибок пользователя методы формы должны
корректно обрабатывать такие ситуации, как попытка зафиксировать ответ на
вопрос при не данном ответе, попытка перейти к другому вопросу теста без
фиксации ответа на текущий вопрос (если ответ был дан), попытка закончить
тест при наличии вопросов, на которые не даны ответы. На все эти и подобные
случаи форма должна реагировать выдачей соответствующих предупреждений.
Внешний вид формы представлен на рисунке 2.12.
87
Рисунок 2.12 - Форма прохождения теста.
Форма FormTest предназначена также и для отображения результатов
прохождения теста пользователем после фиксации результатов теста в базе
данных перед окончательным закрытием формы. Органы управления, в которых
отображаются параметры теста и результаты теста становятся видимыми после
прохождения теста в них отображается вся необходимая информация. При
нажатии на кнопку «Подробно» становится виден компонент TMemo, в котором
отображается история прохождения теста в текстовом виде: выводятся строка с
тестом вопроса, строка с текстом выбранного или введенного ответа,
рассчитанный балл вопроса, строка с текстом правильного ответа. При
повторном нажатии на кнопку «Подробно» компонент TMemo становится не
видимым. Если для теста задана интерпретация, то при на панели просмотра
результатов становится видимой кнопка «Расшифровать», при нажатии на
88
которую в поле TMemo выводится вариант интерпретации теста, который
соответcтвует рассчитанному количественному результату теста.
В программе предусмотрена возможность печати результатов теста. Если в
главном меню программы выбрать пункт «Печать» при активном окне
прохождения теста (форма FormTest), то если в данный момент в ней
отображаются результаты теста, то будет вызвана форма FormPrintResult, в
которой размещен компонент TQuickReport. Перед вызовом этой формы
происходит заполнение его органов отображения значениями параметров теста и
его результатами, после чего вызывается метод PreView компонента
TQuickReport, отображающем предварительный просмотр печатной формы
результатов теста.
Форма FormStatistic вызывается из главной формы приложения и
предназначена для получения статистики по прохождению тестов. Форма имеет
три панели: панель настроек, панель результатов и панель команд.
На панели настроек располагаются органы управления, при помощи
которых пользователь производит настройки статистики:
диапазон дат прохождения тестов;
пользователь;
тест;
После нажатия кнопки «Сформировать» формируется SQL-запрос на
выборку записей из базы данных результатов прохождения тестов,
соответствующих заданным условиям. Записи результирующей выборки
выводятся в компонент DBGrid в панели результатов для анализа пользователем
пройденных тестов.
На панели команд располагаются кнопки «Сформировать»,
«Расшифровать» и «Закрыть», а также общий результат выборки тестов.
При выборе в главном меню пункта «Печать» из формы FormStatistic
вызывается форма FormPrintStatistic. Она имеет в себе компонент TQuickReport,
89
в котором формируется печатная форма статистики. Перед вызовом формы все
компоненты, располагающиеся на компоненте TQuickReport заполняются
соответствующими значениями и происходит вызов метода PreView,
вызывающему окно предварительного просмотра печатной формы. Внешний
вид формы приведен на рисунке 2.13.
Рисунок 2.13 - Форма статистики.
Форма FUsers предназначена для ведения списка пользователей. В
компоненте DBGrid данной формы при помощи SQL-запроса формируется
список пользователей системы, а в органах управления отображаются свойства
пользователя: логин, пароль, фамилия, имя отчество и категория пользователя.
Категория пользователя отображается радиокнопками. При нажатии на кнопки
управления выполняется SQL-запрос по добавлению, редактированию данных и
удалению пользователя. При удалении пользователя контролируется ссылочная
целостность базы данных. Внешний вид формы приведен на рисунке 2.14.
90
Рисунок 2.14 - Форма списка пользователей.
Для запуска программы на выполнение необходимо запустить
выполняемый файл tests.exe. Сделать это можно любым доступным в
операционной системе методом. Для быстрого запуска программы
рекомендуется создать ярлык для выполняемого файла и запускать программы
щелчком мыши.
Перед первым запуском программы необходимо создать алиас базы
данных с именем TEST при помощи программы BDEAdministrator. Данная
программа находится в панели управления Windows и устанавливается вместе с
системой BDE. Сама же система BDE входит в комплект поставки системы
разработки C++ Builder/Delphi и ставится с этой системой по умолчанию. Если
же программа устанавливается на компьютер, на котором отсутствует система
разработки, необходимо установить систему BDE отдельно, либо с диска
установки Borland C++ Builder/Delphi, выбрав в списке устанавливаемых
компонент только систему BDE. Сама база данных (файлы таблиц и индексов)
также должны быть скопированы на жесткий диск компьютера перед первым
запуском программы в отдельный каталог с установочного диска программы.
91
III Обоснование экономической эффективности проекта
3.1 Выбор и обоснование методики расчёта экономической эффективности
Степень эффективности определяет, насколько выгодные решения
принимаются с точки зрения функционирования бизнеса независимо от того, во
что это обходится.
Экономическая эффективность оценивается трудовыми и стоимостными
показателями, которые позволяют измерить экономию от внедрения
автоматизированного проекта относительно базового (ручного) варианта. [16]
К трудовым показателям можно отнести следующие показатели:
Абсолютное снижение трудовых затрат (∆Т):
,
10

(3.1.)
где Т
0
трудовые затраты на обработку информации по базовому варианту, час
Т
1
трудовые затраты на обработку информации по автоматизированному
варианту, час
Коэффициент относительного снижения трудовых затрат (К
Т
):
,100
0


(3.2)
Индекс снижения трудовых затрат или повышение производительности труда
(Y
Т
):
,
1
0

(3.3)
К стоимостным показателям относятся следующие показатели:
Абсолютное снижение стоимостных затрат (∆С):
,
10
CCC 
(3.4)
92
где С
0
стоимостные затраты на обработку информации по базовому варианту,
руб.
С
1
стоимостные затраты на обработку информации по автоматизированному
варианту, руб.
Коэффициент относительного снижения стоимостных затрат (К
С
):
100
0

C
C
C
(3.5)
Индекс снижения стоимостных затрат или повышение производительности
труда (Y
C
):
,
C
C
1
0
C

(3.6)
Коэффициенты К
С
и Y
C
характеризуют рост производительности труда за счет
внедрения более экономичного варианта проектных решений. [19]
При оценке эффективности используются обобщающие и частные показатели.
К основным обобщающим показателям экономической эффективности
относятся:
годовой экономический эффект;
расчетный коэффициент эффективности капитальных вложений;
срок окупаемости системы.
Годовой экономический эффект от внедрения проекта (Э) определяется, как
разность между годовой экономией и нормативной прибылью:
,CЭ


(3.7)
где К
П
- единовременные затраты, тыс. руб.,
Е
Н
нормативный коэффициент эффективности капитальных вложений.
Произведение К
П
* Е
Н
в данном случае следует рассматривать как
нормативную прибыль, которая должна быть получена от внедрения системы.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)