Тестирование широко применяется для оценки уровня знаний в учебных заведениях, при приеме на работу, для оценки квалификации персонала учреждений, т. е. практически во всех сферах деятельности человека. Испытуемому предлагается ряд вопросов (тест), на которые он должен ответить.
Обычно к каждому вопросу дается несколько вариантов ответа, из которых надо выбрать правильный. Каждому варианту ответа соответствует некоторая оценка. Суммированием оценок за ответы получается общий балл, на основе которого делается вывод об уровне подготовленности испытуемого.
Актуальность темы: В процессе работы практически каждый преподаватель сталкивается с проблемой выявления уровня знаний студента. Это легко сделать с помощью компьютерного тестирования, поэтому мною и была выбрана тема автоматизации процесса тестирования.
Проблема: преподавателем было принято решение о необходимости проведения компьютерного тестирования, следующим вопросом будет как реализовать это тестирование, где найти программу, которая будет проводить тестирование на любую тему, и выводить результаты не зависимо от количества вопросов. Ответом на этот вопрос может стать эта курсовая работа, в ней предусмотрен выход из представленной ситуации. Данная работа полностью посвящена способу автоматизации данного процесса.
Объект: Компьютерное тестирование, направленное на выявление знаний тестируемого.
Цель курсового проекта состоит в создании автоматизированной информационной системы — платформы для тестирования знаний студентов.
При этом цель подкреплена следующими задачами:
- Ознакомиться с теоретическими основами подготовки и реализации тестирования.
- Изучить литературу по темам «Информационные системы», «Case — средства» и «Интегрированные среды разработки»
- Разработать структуру базы данных
- Реализовать приложение в ИСР Borland Delphi.
Глава 1.
АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И РАЗРАБОТКА ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ АИС «Система тестирования»
1.1 Технология проведения тестирования
Тестирование представляет собой интерактивную систему для самопроверки знаний учащегося. Контрольные вопросы с вариантами выбора ответов. Тестирование может содержать помимо текста вопроса графический материал. Программа может контролировать ответы учащихся, формируя страницу Результаты тестирования.
При создании теста преподаватель может задать, порядок вопросов, правила выставления автоматической оценки. Вопрос может сопровождаться иллюстрацией.
Разработка автоматизированной системы тестирования знаний ‘Русский ...
... их синонимы [1]. Целью дипломной работы является разработка автоматизированной системы тестирования знаний по дисциплине «Русский язык». Для достижения цели дипломной работы необходимо решить следующие задачи: ... ЦТ открытых форм, подлежащих автоматизированной проверки, от него требуется ввод шаблона, соответствующий числу либо словосочетанию. Соответственно, вопросы открытых форм современными ...
Результаты тестирования вносятся в файл статистики. В этом файле хранятся: фамилия, имя, номер выбранного ответа на каждый из вопросов, общее количество набранных балов, оценка тестируемого. Файл статистики может быть скрытым и о его существовании может знать только учитель. Таким образом, учитель может контролировать в каких именно вопросах тестируемый допустил ошибки, а значит, он может предложить дополнительные занятия по разъяснению материала этой темы.
Применение данного метода позволяет учителю получить сведения об усвоении того или иного материала, не затрачивая время на беседу с учащимися или на проверку письменных работ. Возможность за 10-20 мин проверить и оценить знания всего класса улучшает обратную связь, делает ее регулярной. Систематическая проверка знаний не только способствует прочному усвоению учебного предмета, но и воспитывает сознательное отношение к учебе, формирует аккуратность, трудолюбие, целеустремленность, активизирует внимание, развивает способность к анализу. При тестовом контроле обеспечиваются равные для всех обучаемых условия проверки, т. е. повышается объективность проверки знаний. Наконец, этот метод вносит разнообразие в учебную работу, повышает интерес к предмету. Варианты заданий индивидуальны для каждого, что очень важно для психологически неустойчивых учащихся.
Оптимальны тесты, содержащие 20-30 вопросов при 4-5 выборочных ответах, из которых правильный лишь один. (Возможно также сочетание нескольких ответов. В этом случае за верный принимается полный ответ. Если допущена хотя бы одна ошибка, ответ также считается неверным.) Не рекомендуется использовать менее четырех вариантов ответов, так как при этом существенно увеличивается возможность случайного выбора правильного ответа.
Другой формой вопроса теста является задача сопоставления. Подобное задание предполагает выбор номера соответствующего варианта из всех предложенных. То есть даны два столбика — для каждого варианта из первого столбика необходимо указать соответствующий вариант из второго. Задание с сопоставлением удобно применять в случаях, когда требуется упорядочить элементы или сгруппировать какие либо элементы по определенным признакам, проверить знание связи между различными предметами, свойствами, законами.
Разным вариантам из первого столбика могут соответствовать одинаковые из второго. Так же во втором столбике могут быть варианты, не имеющие сопоставлений в первом. Количество вариантов в столбиках может быть одинаковым, а может быть и разным.
Ещё одной эффективной формой вопроса является указание порядка следования. При этом необходимо для каждого элемента (варианта ответа) указать его порядковый номер.
Иногда требуется определить — способен ли студент восстановить контекст исходного текста, в котором отсутствует некоторый смысловой элемент — слово или смысловое выражение. Вопросы с таким условием подразумевают ручной ввод текста. Можно задать не один, а несколько вариантов ответа. Ответ считается верным, если совпадает хоть с одним из вариантов. Тестолог может предусмотреть возможные опечатки (например, “позиционная” и “позиционая”) или неоднозначности ввода (например, алгоритм и алгоритмом).
Возможно использовать регулярные выражения для проверки правильности ответа. Так же можно указать учитывать или нет регистр символов.
Создание отчета как объекта базы данных. Экспертные и обучающиеся системы
... системы, используемые для решения частично структурированных задач, подразделяются на два вида: Создающие управленческие отчеты (выполняющие обработку данных: ... (меню Файл). При разработке макетов отчета руководствуйтесь следующей формулой: ширина отчета + левое поле + ... или экспертными: Модельные информационные системы предоставляют пользователю модели (математические, статистические, финансовые ...
1.2 Описание предметной области
Проектируемая АИС разрабатывается для учебных заведений, в которых одной из форм проверки знаний учащихся является тестирование.
Результаты тестирования участвуют в формировании отчетности об успеваемости в разрезе плановых процедур проверки знаний.
3 Описание автоматизируемых функций
Для АИС «Система тестирования» характерны два типа пользователей: преподаватели и студенты. Она будет содержать данные о проводимых тестах и их результатах, тем самым значительно увеличит скорость обработки служебной информации.
Цели и задачи АИС «Система тестирования»:
- упрощение работы;
- увеличение производительности труда;
- увеличение скорости информационных потоков в учебном учреждении;
- искоренение лишнего документооборота.
Пользователи должны иметь элементарные навыки по работе с ЭВМ, а также ознакомиться с АИС «Система тестирования».
АИС «Система тестирования» должна удовлетворять
- отвечать требованиям заказчика;
- обеспечивать минимальные затраты;
- поднять производительность труда;
- быть надежной в эксплуатации;
- окупиться в заданные сроки;
- легкость внедрения и доведения до персонала.
Функции АИС «Система тестирования»:
- формирование базы тестологов
- формирование базы тестируемых
формирование банка тестов
мониторинг и генерация отчетности
обеспечение быстрого доступа к информации.
4 Функциональная модель процесса учета тестирования
Модель процесса автоматизации работы с преподавателями и студентами представлена с использованием функциональной модели DFD (Data Flow Diagram) (Рисунок 1).
Данный метод позволяет провести структурный анализ потоков данных, произвести выделение атрибутов и перейти к конструированию базы данных.
Моделирование произведено с использованием программного пакета Erwin Process Modeler.
Для анализа потоков данных используются диаграммы потоков данных.
Рисунок 1 — Контекстная DFD диаграмма первого уровня
Декомпозиция DFD диаграммы первого уровня представлена на (Рисунке 2):
Рисунок 2 — Декомпозиция DFD диаграммы первого уровня
5 Проектирование базы данных методом «Сущность — Связь» для разработанной функциональной модели
В общем смысле модель данных — это инструмент для представления данных в базе данных.
В целях обеспечения наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных построим модель, называемую «сущность-связь». Эту модель данных пытаются строить по аналогии с естественным языком (последний не может быть использован в чистом виде из-за сложности компьютерной обработки текстов и неоднозначности любого естественного языка).
Разработка базы данных ‘Университет’
... 3 Разработка технического задания ОСНОВАНИЕ ДЛЯ РАЗРАБОТКИ Данная разработка ведется в соответствии с заданием по выполнению курсовой работы по теме «Разработка базы данных «Университет». Задание утверждено ... В концептуальной модели используются другие термины: вместо «сущности» используется термин «таблица», вместо «свойства» (атрибута) - «поле». Особенностью концептуальной модели является наличие ...
Основными конструктивными элементами таких моделей являются сущности, связи между ними и их свойства (атрибуты).
Сущность — любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных.
В проектируемой базе данных сущностями будут являться: ПРЕПОДАВАТЕЛИ, СТУДЕНТЫ, ТЕМЫ ТЕСТОВ, ТЕСТЫ, СТАТИСТИКА.
Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности может быть СТУДЕНТ, а экземпляром — Иванов И.И., Петров П.П. и т.д.
Атрибут — поименованная характеристика сущности. Примерами атрибутов для сущности СТАТИСТИКА будут: код теста, код тестируемого, результат, дата и т.д.
Ключ — минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. К примеру, в сущности ТЕСТ исключение из атрибутов такого как Код Теста не позволит однозначно определить конкретный тест, поэтому ключом сущности ТЕСТ является атрибут — Код теста.
Связь — ассоциирование двух или более сущностей. Для выявления связей между сущностями необходимо, как минимум, определить сами сущности и их атрибутный состав. Построим модель «сущность-связь» (отображена на схеме 2) :
Схема 2 Модель “Сущность — связь”
Центральная задача проектирования базы данных — это определение количества отношений и их атрибутного состава.
1.6 Информационная модель
Информационная модель, построенная ER методом, может быть получена при помощи CASE-средства фирмы Computer Associates Technologies : ERwin Data Modeler r7. ERwin Data Modeler r7 позволяет автоматизировать процессы создания логической и физической моделей данных.
Построенная логическая модель базы данных для АИС «Система тестирования» представлена на (рисунке 4).
Все связи имеют вид «один-ко-многим».
Рисунок 4 — Логическая модель базы данных для АИС «Система тестирования»
На основе логической модели данных ERWin была сгенерирована физическая модель, которая имеет следующий вид (рисунок 5):
Рисунок 5 — Физическая модель базы данных
Справа от названия поля можно увидеть его тип; рядом в скобках указана его размерность. Расшифровка типов:
COUNTER — поле счетчик (числовой инкремент)
VARCHAR — текстовое поле
INTEGER — длинное целое
DECIMAL — вещественное
LONGCHAR — текстовое поле типа «MEMO»
1.7 Определение ключей (первичных и внешних)
В таблице «Студенты» первичным ключом является поле «ID», так как информация, находящаяся в этом поле, является уникальной.
OLAP-технологии и хранилища данных
... и просмотра, третьи — для их пополнения и т.д. Хранилища данных строятся на базе СУБД и СППР. Система управления базами данных (СУБД) — это совокупность лингвистических и программных средств общего или ... Хранилище данных 1.1 Сущность хранилища данных В настоящее время в организациях принять какое-либо управленческое ... также для среды с множеством запросов сложной структуры. OLAP-технологии Сущн
Данная таблица является родительской для таблицы «Результаты». Поле «СтудентID» таблицы «Результаты» ссылается на поля таблицы «Студенты». При этом осуществляется каскадная ссылочная целостность, то есть при удалении записи в таблице «Студенты» удаляются все связанные записи в дочерней таблице.
В таблице «ТемыТестов» первичным ключом является поле «Код», информация, находящаяся в этом поле, является уникальной. Данная таблица является родительской для таблицы «Тесты», для неё осуществляется каскадная ссылочная целостность.
Таблица «Преподаватели» задает первичным ключом поле «ID».
ГЛАВА 2. РАЗРАБОТКА И ОПИСАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ АИС «СИСТЕМА ТЕСТИРОВАНИЯ»
1 Выбор СУБД и средств разработки приложений
Практически любая компьютерная программа требует для своей работы ввода исходных данных. Способ такого ввода и организации соответствующих данных существенно зависит от вида решаемых задач.
Если объем исходных данных невелик (порядка нескольких чисел, символов, символьных последовательностей и т.п.), то наиболее эффективным способом ввода будет диалоговое взаимодействие пользователя с программой с фиксацией (если это необходимо) вводимых данных в файле. Такого же рода файл можно использовать и в случаях, когда часть используемых данных меняется при переходе от одного варианта решаемой задачи к другому.
В случае, когда объем данных велик, доступ к ним отличается от последовательного, а сами данные некоторым образом структурированы и могут быть подготовлены заранее, целесообразным становится использование базы данных и соответствующих средств доступа к СУБД для чтения, корректировки и добавления данных.
Наиболее распространенной в настоящее время является реляционная модель организации данных и основанные на ней БД и СУБД. Чисто реляционная модель данных имеет целый ряд ограничений, препятствующих ее применению в решении сложных научно-технических задач. Наиболее существенным из таких ограничений является отсутствие средств работы со структурированными объектами (списки, деревья и т.п.).
Это ограничивает использование реляционных БД в качестве хранилища данных при решении серьезных научно-технических задач, для которых типична сложная организация требуемых данных.
Для создания АИС «Система тестирования» использовались: СУБД Access, а также интегрированная среда разработки Delphi.Access является настольной СУБД реляционного типа. Достоинством Access является то, что она имеет очень простой графический интерфейс, который позволяет не только создавать собственную базу данных, но и разрабатывать приложения, используя
В отличие от других настольных СУБД, Access хранит все данные в одном файле, хотя и распределяет их по разным таблицам, как и положено реляционной СУБД.
Для выполнения почти всех основных операций Access предлагает большое количество Мастеров (Wizards), которые делают основную работу за пользователя при работе с данными и разработке приложений, помогают избежать рутинных действий и облегчают работу неискушенному в программировании пользователю.
Создание многопользовательской БД Access и получение одновременного доступа нескольких пользователей к общей базе данных возможно в локальной одноранговой сети или в сети с файловым сервером. Сеть обеспечивает аппаратную и программную поддержку обмена данными между компьютерами. Access следит за разграничением доступа разных пользователей к БД и обеспечивает защиту данных при одновременной работе. Так как Access не является клиент серверной СУБД, возможности его по обеспечению многопользовательской работы несколько ограничены. Обычно для доступа к данным по сети с нескольких рабочих станций, файл БД Access (с расширением *.mdb\*.accdb) выкладывается на файловый сервер. При этом обработка данных ведется в основном на клиенте — там, где запущено приложение, в силу принципов организации файловых СУБД. Этот фактор ограничивает использование Access для обеспечения работы множества пользователей (более 25-40) и при большом количестве данных в таблицах, так как многократно возрастает нагрузка на сеть.
Разработка базы данных в Microsoft Access
... удобный ввод информации в базу ) создание таблиц по графическому представлению информационной системы осуществляется на основе доступных возможностей среды разработки по работе выбранной СУБД и представляет собой отображение таблиц из базы данных в приложения ) создание ...
Однако MS Access обладает и большим количеством преимуществ. В первую очередь можно отметить распространенность, которая обусловлена тем, что Access является продуктом компании Microsoft, программное обеспечение и операционные системы которой использует большая часть пользователей персональных компьютеров. MS Access полностью совместим с операционной системой Windows, постоянно обновляется производителем, поддерживает множество языков.
В целом MS Access предоставляет большое количество возможностей за сравнительно небольшую стоимость. Также необходимо отметить ориентированность на пользователя с разной профессиональной подготовкой, что выражается в наличии большого количества вспомогательных средств (Мастеров), развитую систему справки и понятный интерфейс. Эти средства облегчают проектирование, создание БД и выборку данных из нее.
Для реализации клиентской части программного продукта была выбрана среда разработки Borland Delphi 7.
Язык программирования служит двум связанным между собой целям:
- он дает программисту аппарат для задания действий, которые должны быть выполнены;
— Среда программирования Delphi идеально подходит для выполнения поставленных задач и достижения данных целей.позволяет работать с удаленными и локальными базами данных любых типов и является одним из самых распространенных средств создания приложений баз данных. Именно простота языка и эффективность создаваемых с его помощью программ сделали Delphi незаменимым средством разработки приложений для доступа к базам данных.используется для генерирования и вывода на печать сложных отчетов баз данных. Так же данная среда разработки предоставляет возможность связываться из своего приложения с другими приложениями.
Обычно, визуальная среда разработки состоит из трех взаимосвязанных компонентов: редактора, отладчика и конструктора форм. В любом из современных инструментов ускоренной разработки приложений (Rapid Application Development — RAD) эти три компонента должны гармонично взаимодействовать друг с другом. При работе в конструкторе форм Delphi неявно генерирует программный код тех компонентов, которые размещаются или обрабатываются в формах. В окне редактора в код автоматически созданной программы можно внести необходимые дополнения, определяющие специфическое поведение данного приложения. Здесь же, в окне редактора, можно отладить код, внося точки останова, точки просмотра.
Быстрый компилятор позволяет разрабатывать программное обеспечение поэтапно, поскольку допускает многократное внесение небольших изменений в исходную программу, с последующей перекомпиляцией и тестированием. Вследствие этого возникает весьма эффективный цикл разработки. Более медленный компилятор вынуждает разработчика одновременно вносить больший объем изменений, комбинируя несколько отдельных доработок в одном цикле компиляции и отладки. Это, безусловно, снижает эффективность отдельных циклов разработки. Преимущества, достигаемые за счет повышенной эффективности работы откомпилированных программ, очевидны. В любом случае, чем быстрее работает программа и чем меньше ее объектный код, тем лучше.
Создание базы данных строительной компании
... базе данных четыре таблицы (рисунок 3 ,4 ,5 ,6). Рисунок 2. Схема данных Рисунок 3. Таблица 1 - Жилые дома Рисунок 4. Таблица 2 - муниципальная собственность Рисунок 5. Таблица 3 - служебные помещения 2.2.4 Этап разработки программы Разработка программы «создание базы данных строительной ... большие возможности для разработки API-приложений, Web-сервисов и работы с базами данных различных платформ, в ...
2 Технология создания базы данных в MS Access для использования в АИС «Система тестирования»
Следующее описание технологии создания базы данных в MS Access основывается на СУБД MS Access версии 2007. Абстрагируясь от цифр в названии продукта, описанные действия и требуемый результат можно получить и с помощью работы как в прошлых версиях (вплоть MS Access 2003), так и в самых последних. Различным будет интерфейс СУБД, но принципы создания остаются теми же.
Первым шагом будет являться создание файла — оболочки базы данных.
При запуске MS Access пользователь попадает в главное окно управления файлами СУБД — вкладку «Файл». В панели навигации слева, по умолчанию, уже будет активна категория «Создать». В центральной части окна этой категории отображаются различные шаблоны новых баз данных. На данном этапе нам требуется создать пустую базу данных, поэтому выбираем шаблон с соответствующим названием. Далее, в правой части окна требуется задать имя и расширение файла базы данных, а так же указать каталог, в которой он будет создан. Теперь при нажатии на кнопку «Создать» будет сгенерирована новая пустая база данных. Визуально описанные выше шаги показаны на (рисунке 6).
Рисунок 6 — Создание файла новой базы данных
Для разрабатываемой мной АИС я указал имя файла новой базы данных как «tests.mdb».
После создания новой базы данных нам становится доступно её редактирование. На экране под панелью вкладок отображается её структура (слева) и область данных (справа) (рисунок 7).
Рисунок 7 — Окно базы данных
Приступим теперь к созданию таблиц.
Исходя из ранее описанных моделей (логической и физической) требуемой базы данных, воссоздадим их теперь непосредственно в СУБД.
Для этого перейдём на вкладку «Создание» панели навигации и в группе функций «Таблицы» выберем пункт «Таблица». Будет сгенерирована новая таблица — она отобразится в структуре слева (рисунок 8).
Рисунок 8 — Новая таблица
Сейчас таблица не содержит никакой логики внутри себя и нам следует создать в ней структуру (т.е. описать атрибуты сущности, указать их тип и назначить размерность).
Удобнее всего это сделать с помощью «Конструктора». Для этого вызовем контекстное меню правой кнопкой мыши на заголовке таблицы и выберем в нём пункт с одноимённым названием. При этом, предварительно, СУБД попросит вас задать имя для дальнейшего представления таблицы. Укажем имя в соответствии с контекстом воссоздаваемой сущности. К примеру, наименованием таблицы будет «Студенты». После подтверждения мы попадём в окно конструктора, которое можно увидеть на (рисунок 9).
Технологии баз данных для интернет
... развития технологии баз данных, подчеркнуть особенности, специфичные для конкретного ... интернет-технологий и систем управления удаленными базами данных однозначно показало высокую эффективность создания корпоративных баз данных, ... Теперь процесс разработки программы проще показать, чем рассказать о нем. [5] Целью курсовой работы является применение web-технологий в разработке удаленных баз данных. ...
Рисунок 9 — Режим конструктора таблицы
В верхней части окна области данных имеется таблица состоящая из трёх полей — «Имя поля», «Тип данных» и «Описание». Данная таблица описывает поля таблицы «Студенты»: в первый столбец записывается имя поля, во второй — из выпадающего списка выбирается тип поля, в третий столбец можно записать комментарий для лучшего понимания структуры базы данных.
В нижней части окна области данных содержится панель «Свойства поля», в ней задаются специфические свойства для разных типов полей, уникальность поля, наличие счетчика, маски и прочие параметры.
В правой части окна области данных содержится блок «Окно свойств». Он содержит параметры отображения данных непосредственно в визуальной части СУБД и к вопросам разработки базы данных для клиентской части никак не относится.
Настало время описать все необходимые поля таблицы «Студенты», указать их размерность, а так же задать первичный ключ (рисунок 10).
Рисунок 10 — Описание полей таблицы
После описания и проверки следует сохранить изменения (контекстное меню по вкладке таблицы, выбрать пункт меню «Сохранить»).
Поля в таблице будут созданы.
Аналогичным образом создадим все необходимые таблицы для базы данных. Список всех созданных таблиц показан на (рисунок 11).
Рисунок 11 — Описание полей таблицы
Теперь настало время задать связи между таблицами. Для этого нужно перейти на вкладку «Работа с базами данных» и в группе «Отношения» выбрать пункт «Схема данных». В области данных появится пустой лист (рисунок 12)
Рисунок 12 — Формирование схемы данных
Вызовем контекстное меню на листе схемы данных и выберем пункт «Отобразить все». На лист добавятся образы всех имеющихся в базе таблиц (рсиунок 13).
Содержит страниц главы рисунков таблицы источников
... мониторирования «Валента» МН-02-5 (рисунок 2) в полной мере отвечает приведенным ... Дневник суточного мониторинга ведется в форме таблицы с соблюдением хронологии событий. В ... представляет интерес обобщение на основе литературных данных влияния совокупности регистрируемых геофизических параметров ... поле сердца образуется в результате сложения полей многочисленных отдельных волокон сердца. Каждое ...
Рисунок 13 — Подготовка к назначению связей
Связи назначаются путём перетаскивания курсором мыши необходимого поля одной таблицы к полю другой таблицы. При этом будет вызвана форма, в которой уточняются ключевые поля, отображается тип связи и задаются параметры обеспечения целостности данных.
Создадим связь между таблицами «Студенты» и «Результаты». Исходя из контекста ранее созданной модели «Сущность — связь» — один студент может иметь сколько угодно пройденных тестов. Поэтому таблица «Студенты» будет являться родительской для таблицы «Результаты». Перенесём поле ID таблицы «Студенты» на поле СтудентID таблицы «Результаты». В вызванной форме «Изменение связей» проверяем выбранные поля, а так же задаём критерии целостности данных (рисунок 14).
После чего нажимаем на кнопку «Создать». Будет создана указанная связь, которая отобразится на диаграмме листа.
Рисунок 14 — Форма «Изменение связей»
Аналогичным образом определяем необходимые связи для всех таблиц. Финальная схема данных отображена на (рисунок 15).
Рисунок 15 — Финальная схема данных
На этом процесс формирования базы данных завершен и теперь можно приступить к созданию клиентской части.
3 Разработка клиентского приложения АИС
После того как необходимая база данных создана можно смело приступать к разработке клиентской части.
3.1 Этап первый: создание главной формы и элементов навигации
Запустим интегрированную среду разработки Borland Delphi 7. Окно запущенной ИСР показано на (рисунок 16).
Рисунок 16 — Рабочая область ИСР Delphi
Основой любого разрабатываемого приложения всегда является проект приложения. Давайте создадим его: в главном меню перейдём на File > New > VCL Forms Application. Автоматически будет сгенерирован новый проект с одним модулем Unit1 в котором описана единственная и текущая форма приложения на данный момент (рисунок 17) .
Рисунок 17 — Новый проект
Сразу же сохраним проект для корректного взаимодействия: File > Save Project As и укажем папку хранения проекта.
Теперь самое время определиться с количеством форм будущего приложения и способами взаимодействия между пользователем и интерфейсом приложения.
Поскольку большое количество форм сказывается на скорости взаимодействия пользователей с интерфейсом программы (в нашем случае — это просто будет неудобно), условимся, что форм у разрабатываемой АИС будет одна.
Немаловажным критерием качества взаимодействия пользователей с интерфейсом АИС служит — навигация по программе. Для решения данного вопроса разместим на форме панели — информационную и управляющую. На (рисунок 18) показано их расположение.
Рисунок 18 — Расположение навигационных панелей на форме
Теперь следует заполнить управляющую панель навигационными кнопками. Для этого воспользуемся компонентом TBitBtn с вкладки Additional.
Результат кнопочной навигации представлен на (рисунок 19).
Рисунок 19 — Формирование навигации
Поскольку форма у нас только одна, а уместить все функции и компоненты в свободной области формы невозможно (да и не практично), то необходимо обеспечить многослойность свободной области формы. С данной проблемой легко справляется компонент TNoteBook с вкладки компонентов “Win 3.1”. Этот компонент представляет собой «страницы» (tabs) блокнота, на которых располагаются другие визуальные компоненты. Каждая страница сама является оконным элементом управления и содержит список того, что на ней расположено. Поместим компонент на форму. Зададим ему имя (Name) “N” и укажем выравнивание по всей свободной области (Align=alClient).
Результат можно увидеть на (рисунок 20).
Рисунок 20 — Страница компонента N
Сейчас N содержит только одну страницу. Нам необходимо создать количество страниц равное количеству всех кнопок во всех категориях навигационной панели (это позволит выделить область формы для решения задач, поставленных по контексту каждой из кнопок).
Добавление/удаление и редактирование страниц осуществляется в свойстве — массиве Pages компонента. Обратимся к нему. На экране появится окна управления страницами компонента, в котором по нажатию кнопки Add добавляется новая страница. Добавим необходимое нам количество страниц (рисунок 21).
Каждая страница имеет своё имя и порядковый номер (индекс) по которым и осуществляется отображение заданной страницы.
Наши страницы созданы и теперь осталось лишь связать их с соответствующими кнопками навигационной панели. Для этого событию при нажатии соответствующей кнопки присваиваем вызов отображения соответствующей страницы. Например, для кнопки “Авторизация” в событие — клик мыши используем следующий код:
- procedure TForm1.btnAutrorizaciyaClick(Sender: TObject);.ActivePage:=’Default’;;
При срабатывании этого события будет отображена
Таким образом, следует задать вызов страниц для каждой из кнопок навигационного меню.
Итак, страницы созданы, навигация по ним настроена. Теперь можно распределять элементы. Но прежде мы настроим подключение к базе данных.
3.2 Этап второй: создание модуля данных и подключение к базе
Стоит отметить, что взаимодействие приложений с базами данных на этапе проектирования и в дальнейшем осуществляется с помощью двух типов компонентов: визуальных и не визуальных, причём нормальное функционирование первых всегда зависит от наличия вторых, поскольку те являются прослойкой (каналом доступа) к базам данных.
Хороший тон программирования требует отделять не визуальные компоненты (если их много) в отдельные структуры, которые будут вносить ясность в логику проектирования приложения. Такими структурами являются модули данных. Они так же не имеют визуального представления, а являются лишь контейнерами (хранителями) данных. Создадим такой модуль в нашем проекте.
Добавление модуля данных осуществляется через File > New > Other…
Рисунок 22 — Создание модуля данных
Созданный модуль данных (рисунок 23) будет помещён в файл Unit2. Переименуем модуль данных (Name) в DM.
Рисунок 23 — Модуль данных
Займемся теперь подключением программы к базе данных.
Центральный доступ к базе данных осуществляет компонент TADOConnection. Переместим его на модуль с вкладки компонентов “dbGo”. Данный компонент предназначен для управления соединением с объектами хранилища данных ADO, обеспечивает доступ к хранилищу данных компонентам ADO, инкапсулирующим набор данных. Проще говоря, все запросы к базе данных и все её ответы будут проходить через этот компонент.
Перед открытием соединения необходимо задать его параметры. Это можно осуществить с помощью специального редактора параметров соединения, который вызывается двойным щелчком на компоненте TADOConnection, или щелчком на кнопке в поле редактирования свойства ConnectionString в Инспекторе объектов. Здесь можно настроить соединение через свойство ConnectionString (радиокнопка Use Connection String) или загрузить параметры соединения из файла с расширением udl (радиокнопка Use Data Link File).
Файл UDL представляет собой обычный текстовый файл, в котором указывается название параметра и через знак равенства его значение. Параметры разделяются точкой с запятой.
Использование в качестве параметров выгрузку из файла UDL предпочтительнее, поскольку при изменении местоположения базы данных не потребуется перекомпиляция программы из-за корректировки одной лишь строчки. Создадим текстовый файл в папке проекта, в котором напишем следующий текст:
[oledb]
; Everything after this line is an OLE DB initstring=Microsoft.Jet.OLEDB.4.0;Source=tests.mdb; Security Info=False
В данном случае база данных находится непосредственно в папке проекта, поэтому в подстроке Data Source в качестве параметра указано лишь имя файла базы данных (=tests.mdb).
При ином раскладе, путь к БД используется полный. Сохраним изменения, а после изменим расширение файла на *.UDL. Имя изменим на “base”. Теперь следует выбрать в качестве строки параметра подключения готовый UDL — файл (рисунок 24).
Рисунок 24 — Выбор строки подключения
Успешность подключения можно проверить, назначив свойству Connected значение “true”. Если свойство сумело перевестись в это значение, значит связь работает.
Связь с базой данных установлена. Теперь нам нужно позаботиться над вопросом отправки запросов к базе данных и обработке полученных результатов. Для решения этих задач служат два компонента TADOTable с вкладки компонентов “dbGo” и TDataSource с вкладки “Data Access”. Первый обеспечивает применение запросов SQL при работе с данными через ADO, но не умеет отображать полученную информацию в формах приложения. Второй же является связующим звеном между наборами данных, представленных компонентами TADOTable и визуальными компонентами отображения и управления данными. Вместе они обеспечивают манипулирование данными из базы.
Разместим компонент TADOTable в модуль DM, после переименуем его в VyborTemyTestaTable. Укажем для него в свойстве “Connection” созданный ранее ADOConnection. Теперь добавим TDataSource, переименуем его в VyborTemyTestaSource. Свойством “Dataset” для него укажем VyborTemyTestaTable. Данная связка двух компонентов (рисунок 25) обеспечит нам полную работу с таблицей Clients, находящейся в базе данных.
Рисунок 25 — Связка Table + DataSource для таблицы ТемыТестов
Теперь, следуя аналогии создания вышеописанной связки, создадим связки для всех таблиц из базы данных (рисунок 26).
Рисунок 26 — Состав модуля данных
На (рисунок 26) красным выделен TempQuery, который не имеет связку DataSource. Этот отдельный Query не связан конкретно с какой-либо таблицей; он будет работать с промежуточными запросами.
Теперь всё готово для манипуляции данными из базы.
4 Real-time работа системы
Запуск системы осуществляется посредством открытия исполняемого файла — project1.exe.
При старте программы пользователь попадает на страницу авторизации (рисунок 27).
До тех пор пока авторизация не осуществлена — переход по навигационному меню невозможен. Поскольку типов пользователей в системе — два, соответствующая роль выбирается в выпадающем списке. Если требуется создать новый аккаунт, то используется кнопка “новый аккаунт”. Через данную страницу так же осуществляется выход из системы.
Рисунок 27 — Страница авторизации
В случае успешной авторизации, при выборе роли студента, ему становится доступен переход к разделу тестирования. Для роли преподавателя успешная авторизация открывает доступ к дополнительным разделам системы. В этом случае навигация имеет следующий вид (рисунок 28).
Рисунок 28 — Авторизован преподаватель
4.2 Разработка тестов
При переходе к разделу разработки тестов, пользователь увидит следующую страницу (рисунок 29).
Рисунок 29 — Раздел разработки тестов
Данный раздел содержит список всех тестов имеющихся в базе, а так же конструктор для создания новых. Кнопки управления на странице позволяют добавлять, удалять и переименовывать темы тестов и, непосредственно, тесты, содержащиеся в них. Выбор конкретного теста осуществляется через выпадающий список. Правый щелчок мыши по списку отобразит окно параметров выбранной записи.
Чтобы отредактировать уже имеющийся в базе тест, используется кнопка “Импорт теста в конструктор”. Для сохранения тестов в базу используется кнопка “Экспорт теста из конструктора в БД”.
Сам конструктор представляет из себя две области — таблицу вопросов и область редактирования (рисунок 30).
Рисунок 30 — Области конструктора
Табличная часть содержит список вопросов и описание типа каждого из них. Для добавления/удаления вопросов вызывается контекстное меню правой кнопкой мыши по данной области (рисунок 31).