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

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.01.2017
Размер файла 809,9 K

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

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

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

Система тестирования должна быть разработана в какой либо среде программирования Delphi, Cbuider или, например Visual Basic. Использование такого инструмента не только упростит сам процесс разработки, но и позволит создать типовой оконный интерфейс понятный и доступный пользователю Windows. Типичность интерфейса не только упростит диалог, но и снизит эмоциональную нагрузку на испытуемого и его стресс, а соответственно получить более достоверный результат тестирования.

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

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

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

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

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

Среда функционирования программного продукта -- операционные системы семейства MS Windows .

2. Построение программы тестирования

2.1 Выбор среды программирования и его обоснование

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

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

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

2.2 Организация программной среды аудита знаний

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

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

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

1.Вопрос -- поле текстового формата ;

2.Первый ответ - поле формата строка;

3.Вес или оценка ответа в + или - (в стобальной системе) int;

4.Второй ответ - поле формата строка;

5.Вес или оценка ответа в стобальной системе + или-;

6.Третий ответ - поле формата строка;

7.Вес или оценка ответа + или - (в стобальной системе);

8.Четвертый ответ - поле формата строка;

9.Вес или оценка ответа + или - (в стобальной системе);

10.Пятый ответ - поле формата строка;

11.Вес или оценка ответа + или - (в стобальной системе);

12.Текстовое поле с пояснениями к данному вопросу используемое для восполнения недостающих знаний, если включается режим обучения;

13.Графическое изображение сопровождающее вопрос.

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

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

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

Вторая программа тестирования первоначально предлагает пользователю ввести Логин -- Фамилию и пароль, который обеспечивает ограничение доступа только для тестируемого. Для того чтобы загрузить тесты первоначально программа тестирования загружает вторую базу в которой должна находиться информация о тестируемом: фамилия, имя, отчество, пароль и принадлежности к определенной группе работников. Соответственно для этой группы ему будут предъявлены свои тесты и загружен файл базы с информацией о содержимом самих тестов.

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

Рассмотрим саму структуру данных:

1. Фамилия;

2. Имя;

3. Отчество;

4. Пароль доступа к тестам;

5. Принадлежность к конкретной службе обеспечения;

6. Поле графического рисунка для фото сотрудника;

7. Поле комментарии типа текст, содержащее развернутую информацию о сотруднике в виде текстовой записи;

8. Далее следует 90 полей с оценками результатов теста по каждому вопросу.

98-99. дата и время начала и окончания при прохождении теста испытуемым.

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

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

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

2.3 Используемые элементы среды программирования

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

Для начала работы над новой программой запускаем Delphi. Далее выбираем в меню File (Файл) команду New Application (Создать приложение). Среда программирования сразу создает стартовое окно с названием Form1 меняем это название, заменяя свойство Caption на Программу конструктор тестов. Мышкой устанавливаем требуемые размеры формы, можно также поменять цвет, или шрифт оформления, но так как разрабатывается классическое стандартное Windows окно, то ничего остального менять не будем. Главное чтобы форма обеспечила необходимое пространство, чтобы далее разместить на ней требуемые компоненты, для создания программы тестирования.

Далее создание проекта продолжается методом добавления на форму необходимых компонентов. Наиболее часто используемые компоненты находятся на вкладке Standard (рис. 2.1.).

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

Рисунок 2.1 Вкладка Standard содержит наиболее часто используемые компоненты

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

Каждому компоненту Delphi присваивает имя, которое состоит из названия компонента и его порядкового номера. Например, если к форме добавить два компонента Edit, то их имена будут Edit1 и Edit2. Путем изменения значения свойства Name можно изменить имя компонента, это в дальнейшем позволит более удобно для самого программиста именовать компоненты в программе.

Компонент типа Edit - это специальные редактируемые строки удобные для ввода различных текстовых строк или, например цифровых данных.

В табл. 2.1. перечислены основные свойства компонента Edit - поля ввода-редактирования.

Таблица 2.1. Свойства компонента Edit (поле ввода-редактирования)

Свойство

Описание

Name

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

Text

Текст, находящийся в поле ввода и редактирования

Left

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

Top

Расстояние от верхней границы компонента до верхней границы формы

Height

Высота поля

Width

Ширина поля

Font

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

ParentFont

Признак наследования компонентом характеристик шрифта формы, на которой находится компонент. Если значение свойства равно True, то при изменении свойства Font формы автоматически меняется значение свойства Font компонента

Свойства компонента так же, как и свойства формы, можно изменить при помощи Object Inspector. Для этого требуемый компонент выбирается на форме, или из списка компонент.

Далее для каждого компонета выполняется выбор опредеелнного свойства и обеспечивается установка его параметров. Например свойство Caption - показывает какой текст отображается на выбранном элементе, кроме редактируемых элементов таких как Edit(в нем меняется содержимое Text). Другие два важных свойства Visible -видимость компонета, а также его имя Name, через которое ведется обращение в программе к данному компонету.

Окно Object TreeView содержит весь список используемых при разработке компонентов.

Рисунок 2.2 Пример выбора компонента Edit2 в Object Inspetor и окне Object TreeView

Помимо полей редактирования в окне программы должна находиться краткая информация о программе и назначении полей ввода. Для вывода текста типа подписей на форме используют поля вывода статического текста - компонент Label. Значок компонента Label находится на вкладке Standard (рис. 2.3.). Добавляется компонент Label в форму точно так же, как и поле редактирования.

Рисунок 2.3 Компонент Label - поле вывода текста

В форму разрабатываемого приложения для того чтобы «подписать» все используемые поля редактирования, надо добавить десять компонентов типа Label. Первое поле предназначено для «подписи» поля редактирования вопросов, пять остальных подписывают соответствующие поля редактирования ответы 1-5, дополнительно одной подписью отмечаем поля оценка, соответствующие каждому вопросу. Также подписывается поле рисунка к вопросу и обучающие комментарии, а дополнительно выполняется вывод рекомендаций, заполняет все поля и комментарии к специальному элементу для работы с таблицами DBNavigetor. В результате был получен следующий дизайн.

Рисунок 2.4 Результирующая форма программы конструктора тестов

На нем мы видим основные поля для работы с базой и простые комментарии.

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

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

Такое решение защищает базу данных на этапе редактирования. Использование стандартного и широко распространенного средства Acces позволяет обеспечить простоту создания и защиты встроенными средствами Windows.

На основной форме, представленной на рисунке 2.4. видим, что таблица с содержимым базы расположена внизу. Можно напрямую редактировать ассоциированную с базой таблицу, но это не самый удобный вариант. Поэтому для редактирования определенных полей, в визуальном формате представления, были на форму вынесены специальные компоненты, обеспечивающие синхронное редактирование соответствующих полей программы. В качестве базовой системы взаимодействия с базой данных были опробованы два варианта: BDE и ADO. Первая система взаимодействия более проста в организации, но имеет недостаток, так как требует доустановки дополнительных компонентов поддержки данной технологии, что, по-моему, является заметным неудобством, вторая методика использует встроенные в Windows средства. Исходя из анализа полученного результата и эффективности работы, был выбран второй вариант: система обеспечения взаимодействия через систему ADO.

Программа работает с базами данных (БД) и вместо компонентов Edit используем DBEdit. Они имеют возможность привязки к элементам и содержимому БД, а находятся они на вкладке DataControl. Для работы с самой базой данных, используем специализированные невизуальные компоненты. Непосредственный доступ к базе данных обеспечивает компонент DataSource, значки который находится на вкладке Data Access палитры компонентов.

Рисунок .2.6 Используемая вкладка доступа к данным

Для визуального отображения содержащихся в базе данных используем специализированную таблицу DBGrid (он расположен внизу слева на разработанном дизайне формы конструктора рис.2.4.). Удобство такого решения в том, что поля таблицы автоматически связываем с нашей создаваемой базой данных содержащей вопросы тестирования. Компонент DataSource при этом, позволяет оперативно выбирать источник данных, использовать один и тот же компонент, например, DBGrid для отображения данных из любой подключаемой базы данных. Так как наша программа предназначена для создания тестов минимум по четырем специализациям, то удобно сделать для каждой специализации сою базу данных, которая будет подключаться при необходимости, как и в программу конструктора, так и в программы тестирования и администрирования.

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

Для того чтобы создать новую таблицу, нужно выбором из меню Tools команды Database Desktop нужно запустить Database Desktop. Затем в появившемся окне утилиты Database Desktop надо из меню File выбрать команду New и в появившемся списке выбрать тип создаваемого файла - Table. Затем в открывшемся диалоговом окне Create Table, следует выбрать тип создаваемой таблицы (значением по умолчанию является тип Paradox 7, далее в разрабатываемой программе использован тип БД- Acces, как более доступный).

DataSet - свойство выбираемое из списка и в нем задаем привязку к создаваемой базе данных. Первоначально, как указывалось, было выполнено создание базы в специализированном конструкторе утилите входящей в комплект Delphi - DatabaseDesktop.

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

Таблица 2.2 Свойства компонента DataSource

Свойство

Определяет

Name

Имя компонента. Используется для доступа к свойствам компонента

DataSet

Имя компонента, представляющего собой входные данные

Для каждого поля таблицы необходимо задать имя, тип и, если нужно, размер поля. Имя поля используется для доступа к данным. В качестве имени поля, которое вводится в колонку Field Name, можно использовать последовательность из букв латинского алфавита и цифр длиной не более 25 символов. ВАЖНО указать тип каждого поля базы данных, это определяет, какие данные могут быть помещены в поле. Тип задается вводом в колонку Type символьной константы. Типы полей и соответствующие им константы приведены в табл. 2.3., а далее при необходимости указать размер поля. Переход при заполнении между полями, осуществляется по клавише Enter.

Таблица 2.3 Тип поля содержит тип информации, которая может в нем находиться

Тип

Константа

Содержимое поля

Alpha

A

Строка символов. Максимальная длина строки определяется характеристикой Size, значения которой находятся в диапазоне 1-255

Number

N

Число из диапазона 10-307 - 10308 с 15-ю значащими цифрами

Money

$

Число в денежном формате. Цифры числа делятся на группы при помощи разделителя групп разрядов. Также выводится знак денежной единицы

Short

S

Целое число из диапазона -32767-32767

Long Integer

I

Целое число из диапазона -2 147 483 648-2 147 483 647

Date

D

Дата

Time

Т

Время с полуночи, выраженное в миллисекундах

Time stamp

@

Время и дата

Memo

M

Строка символов произвольной длины. Поле типа Memo используется для хранения текстовой информации, которая не может быть сохранена в поле типа Alpha. Размер поля (1-240) определяет, сколько символов хранится в таблице. Остальные символы хранятся в файле, имя которого совпадает с именем файла таблицы, а расширение файла - .mb

Formatted Memo

F

Строка символов произвольной длины (как у типа Memo). Имеется возможность указать тип и размер шрифта, способ оформления и цвет символов

Graphic

G

Графика

Logical

L

Логическое значение "истина" (True) или "ЛОЖЬ" (False)

Auto-increment

+

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

Bytes

Y

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

Binary

В

Двоичные данные. Поле этого типа используется для хранения данных, которые не могут быть интерпретированы Database Desktop. Как и данные типа Memo, эти данные не находятся в файле таблицы. Поля типа Binary, как правило, содержат audio-данные

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

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

Для обеспечения интерфейса базы данных с пользователем, используем в основном компоненты, из вкладки DataControls. Она содержит элементы аналогичные вкладкам Standart и Additional (например DBEdit и DBMemo используемые в разрабатываемых программах, а также специализированная текстовая таблица DBGrid, если не требуется редактирования используем DBLabel).

Так как на поле таблицы отображаются только числовые и строчные поля, то для отображения комментариев -- обучающего материала по каждому вопросу используем синхронизируемемое с базой данных поле - компонент DBMemo. Этот компонент обеспечивает функции не только отображения текста, но и простейшего редактора, так как в его основе лежит WordPad. Соответственно если имеются, какие либо электронные материалы, то можно их вставить с помощью мыши или комбинации клавиш. (Ctrl-Insert копируем выделенный текст, а комбинация Shift-Insert вставляет текст на поле DBMemo).

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

Пример такого кода приведем в данном описании

procedure TForm1.Button1Click(Sender: TObject);

begin //добавляется новая запись базы данных

ADOTable_Vopros.Append;//открытие обращения к базе через ADO

dbgrid1.SetFocus; //перевод фокуса на новое поле

end;

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

//удаление записи

begin

//если записи отсутствуют, то выводим сообщение, иначе удаляем запись

if dbgrid1.DataSource.DataSet.RecordCount<>0 then

begin

if (MessageBox(Handle, 'Удаление записей может привести к нарушению работы всей базы данных. Удалить запись?', 'Внимание !!!', MB_YESNO)= IDYES) then

ADOTable_Vopros.Delete // удаляется выбранная запись базы данных

end

else ShowMessage('Нет записей для удаления');

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

with DBVopros do begin // компонент DBEdit переименован в Vopros

DataSource:= Viprosi1;

DataField := 'Вопрос';//привязываем содержимое поля к-та к полю БД

end;

with DBOtvet1 do begin

DataSource:= Viprosi1;

DataField := 'Ответ 1';

end;

with DBVes1 do begin

DataSource:= Viprosi1;

DataField := 'Вес ответа 1';

end;

with DBOtvet2 do begin

DataSource:= Viprosi1;

DataField := 'Ответ 2';

end;

with DBVes2 do begin

DataSource:= Viprosi1;

DataField := 'Вес ответа 2';

end;

with DBOtvet3 do begin

DataSource:= Viprosi1;

DataField := 'Ответ 3';

end;

with DBVes3 do begin

DataSource:= Viprosi1;

DataField := 'Вес ответа 3';

end;

with DBOtvet4 do begin

DataSource:= Viprosi1;

DataField := 'Ответ 4';

end;

with DBVes4 do begin

DataSource:= Viprosi1;

DataField := 'Вес ответа 4';

end;

with DBOtvet5 do begin

DataSource:= Viprosi1;

DataField := 'Ответ 5';

end;

with DBVes5 do begin

DataSource:= Viprosi1;

DataField := 'Вес ответа 5';

end;

with DBMemo1 do begin

DataSource:= Viprosi1;

DataField := 'Пояснения к ответу';

end;

with DBTime do begin

DataSource:= Viprosi1;

DataField := 'Время прохождения';

end;

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

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

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

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

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

Рисунок 2.7 Ввод логина пароля при запуске программы администрирования

Для того чтобы понять работу программы рассмотрим полученный интерфейс.

Рисунок 2.8 Пример основного интерфейса администрирования

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

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

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

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

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

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

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

begin

// ищем пользователя с введенной фамилией и проверка пароля

nt:=0; j:=0;

ADOTable_Test.Append; //открываем таблицу со списком тестируемых

while ((nt=0)and(j<100)) do // пока не найдена фаимилия или не пройдено ограничение в 100 тестируемых

begin //выполняем поиск введеной фамилии

j:=j+1;

//переводим активность на выбранную запись

DBGrid2.DataSource.DataSet.Locate('Код',IntToStr(j),[loCaseInsensitive]); //

//считываем пароль доступа

pasv:=ADOTable_Test.FieldValues['Фамилия'];

if (Edit2.Text=pasv) then

begin //пользователь найден проверяем пароль

pasv:=ADOTable_Test.FieldValues['Пароль доступа'] ;

if (Edit3.Text=pasv) then //если пароль верен открываем базу вопросов

Рисунок 2.9 Прохождение теста, основная форма

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

// реакция на выбор опеределенного ответа -----------------------------------------------------------

procedure TForm1.RadioButton1Click(Sender: TObject);

begin //выбран ответ 1

rezult:=rezult+DBVes1.Text+'_'+IntToStr(time)+' '; //добавляем запись о результате и времени прохождения

time:=0; //обнуляем время для след теста

ball:=ball+StrToInt(DBVes1.Text); //подсчет суммарного бала за весь тест

ADOTable_Vopros.Append; //обращаемся к след записи БД

DBGrid1.DataSource.DataSet.Locate('Код',IntToStr(n),[loCaseInsensitive]);

//выбираем след строку с номером n и увеличиваем n на 1

n:=n+1;

DBGrid1.Refresh ;

Label2.Caption:= ADOTable_Vopros.FieldValues['Вопрос'] ;

RadioButton1.Checked:=false;

end;

Текст для программ обработчиков остальных выборов аналогичен и представлен в листинге программы в приложении.

Рассматривая третью программу, непосредственно предназначенную для тестирования, можно сказать, что от первых двух программ сохранена визуальная форма, но обеспечено формирование других функций. В программе тесирования визуальная структура аналогична той что используется при создании теста, но так как поля вопроса и ответов в данном случае не допускают изменения, то вместо редактируемого компонента DBEdit, использовать компонент аналогичный простой текстовой подписи Label. Однако, так как необходимо обеспечить синхронизацию с БД, то используется компонент с вкладки DataControls - DBText. Каждый из наложенных на форму компонентов, сопоставлен с конкретным полем базы, это обеспечивает возможность автоматического отображения выбранной записи базы данных. Для упрощения выбора правильного ответа используется новый компонент RadioButton (в количестве пяти), выбирая один из них, пользователь автоматически сбрасывает выбор по остальным ответам. В момент выбора ответа в обработчике события автоматически выполняется считывание веса ответа -- оценки и формирование суммарного бала. Также в этом обработчике события осуществляется и переход на следующий вопрос из базы теста. Так как в базе существет еще одно поле -- время ответа. То с помощью специального невизуального компонета Timer отслеживается время на ответ и если оно превышает заранее заданное экспертом, то автоматически отображается следующий вопрос, а по текущему выставляется -- 100 баллов.

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

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

procedure TForm1.Timer1Timer(Sender: TObject);

begin

if time>250 then time:=0

else time:=time+1;

Form1.Refresh;

// контроль программой прохождения теста

if n=31 then

begin

n:=32;

if (MessageBox(Handle,'Вы прошли весь тест', 'Внимание !!!', MB_YESNO)= IDYES) then

begin

Edit1.Text:=rezult+IntToStr(ball);

ADOTable_Vopros.Append;

if ntest=1 then ADOTable_Test.FieldValues['Результаты первого теста']:=rezult+IntToStr(ball);

if ntest=2 then ADOTable_Test.FieldValues['Результаты второго теста']:=rezult+IntToStr(ball);

if ntest=3 then ADOTable_Test.FieldValues['Результаты третьего теста']:=rezult+IntToStr(ball);

if ntest=1 then

begin

if (MessageBox(Handle,'{Хотите его пройти в режиме обучения,повтор возможен толко завтра', 'Внимание !!!', MB_YESNO)= IDYES) then

begin

n:=1;

ADOTable_Vopros.Append;

DBGrid1.DataSource.DataSet.Locate('Код',IntToStr(n),[loCaseInsensitive]); //выбираем след строку с номером n

n:=n+1;

DBGrid1.Refresh ;

Label2.Caption:= ADOTable_Vopros.FieldValues['Вопрос'] ;

DBMemo1.Visible:=True;

end

else

form1.Close;

end;

end;

end;

if n<>2 then // проверяем если шаг 2 то идет обучение

begin // если не шаг 2 идет тест и нужно подсчитать время на тест

//

if StrToInt(DBTime.Text)>=time then time:=time+1//подсчет времени поиска ответа

else

begin

rezult:=rezult+'-100'+'_'+IntToStr(time)+' ';

time:=0;

Edit1.Text:=rezult;

ADOTable_Vopros.Append;

DBGrid1.DataSource.DataSet.Locate('Код',IntToStr(n),[loCaseInsensitive]);

//выбираем след строку с номером n

n:=n+1;

DBGrid1.SelectedIndex := DBGrid1.SelectedIndex; //переход на след запись

DBGrid1.Refresh ;

// Label2.Caption:= ADOTable_Vopros.FieldValues['Вопрос'] ;

end;

end;

end;

2.4 Разработка алгоритма работы программы аудита

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

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

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

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

Выполнить перенос BDE на другой компьютер вручную практически невозможно. Поэтому Borland рекомендует создавать установочную программу, которая выполнит копирование всех необходимых файлов, в том числе и компонентов BDE. В качестве средства создания установочной программы Borland настоятельно рекомендует использовать утилиту InstallShield Express, которая входит в состав всех наборов Delphi. Поставляемая с Delphi версия этой утилиты специально адаптирована к задаче переноса и настройки BDE.

Литература

1. А.Г. Федоров Delphi 3.0 для всех -- М.: Компьютер Пресс. 1998г.- 544с.

2. В. И. Емельянов, В. И. Воробьев, Т. П. Тюрина:учебное пособие для вузов Основы программирования на Delphi М.: Высшая школа 2010г -486с.

3. Голицына, О.Л. Системы управления базами данных: учебное пособие для вузов / О.Л. Голицына, И.И. Попов, Т.Л. Партыка. - М.: Инфра-М, 2006 432 с.

4. Научные работы: методика подготовки и оформления / Авт.-сост. И.Н. Кузнецов. 2-е изд., перераб. и доп. - Мн.: Амалфея, 2000. - 544 с.

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


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

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

    курсовая работа [637,7 K], добавлен 14.01.2015

  • Организация проверки результатов обучения и оценки знаний, использование систем тестирования, основные требования к ним. Создание современной модели WEB-сервиса тестирования знаний; программная реализация; защита от копирования информации и списывания.

    курсовая работа [24,1 K], добавлен 11.05.2012

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

    курсовая работа [304,4 K], добавлен 17.08.2013

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

    курсовая работа [1,5 M], добавлен 17.01.2011

  • Обследование объекта, обоснование необходимости систем компьютерного тестирования. Анализ существующих разработок и обоснование выбора технологии проектирования. Создание системы компьютерного тестирования на основе случайного выбора в среде Visual Basic.

    дипломная работа [2,4 M], добавлен 18.08.2013

  • Обеспечение универсальности функций тестирования при разработке программы для тестирования студентов. Бесплатное программное обеспечение. Анализ выбора среды программирования. Особенности среды Delphi и СУБД MySQL. Описание алгоритма и блок-схемы.

    курсовая работа [1,6 M], добавлен 01.02.2013

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

    дипломная работа [562,2 K], добавлен 06.06.2014

  • Разработка программы для вычисления производительности труда рабочих цеха. Описание среды и языка программирования. Требования к программному и аппаратному обеспечению. Математическая модель решения задачи. Методы тестирования. Техника безопасности.

    курсовая работа [2,6 M], добавлен 29.03.2013

  • Математическое описание операций преобразования плоских фигур. Выбор и обоснование языка программирования и среды разработки. Задание базовой фигуры. Разработка алгоритма работы программы. Проверка корректности работы программы в различных режимах.

    курсовая работа [567,6 K], добавлен 13.10.2014

  • Организация вычислительных процессов и программирования на алгоритмическом языке. Создание программы "Калькулятор". Выбор языка и среды программирования. Функциональная схема работы программы, описание разработанных алгоритмов. Способы устранения ошибок.

    курсовая работа [434,1 K], добавлен 27.08.2012

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