Файл: Создание системы тестирования с одним правильным ответом.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.03.2023

Просмотров: 302

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

5. Сохранить данные справочника в базе.

6. Указать участника тестирования? Если нет, то к пункту 9, если да, то к следующему.

7. Внести данные об участнике.

8. Сохранить данные в базу.

9. Требуется добавить тест? Если нет, то к пункту, если да, то к следующему.

10. Создать тест.

11. Добавить вопрос.

12. Сохранить вопрос в базу.

13. Добавить ответ.

14. Сохранить ответ в базу.

15. Требуется добавить ещё один ответ? Если да, то к пункту 13, если нет, то к пункту 16.

16. Требуется добавить ещё один вопрос? Если да, то к пункту 11, если нет, то к пункту 17.

17. Требуется сформировать отчёт? Если да, то к следующему пункту. Если нет, то к пункту 22.

18. Выбрать тип отчёта.

19. Внести параметры для отчёта.

20. Сформировать отчёт.

21. Получить отчёт.

22. Конец.

Блок-схема алгоритма работы преподавателя в системе представлена на рисунке 12.

Рисунок 12 – Блок-схема алгоритма работы преподавателя в системе

Алгоритм прохождения тестирования в системе представлен ниже:

1. Начало.

2. Выбрать тест и войти в систему.

3. Посмотреть вопрос.

4. Выбрать ответ.

5. Перейти далее? Если да, то к следующему пункту. Если нет, то к пункту.

6. Есть ещё вопрос? Если да, то к пункту 3. Если нет, то к следующему пункту.

7. Подсчёт результатов тестирования.

8. Сохранение результата тестирования в журнале.

9. Конец.

Блок-схема алгоритма тестирования в системе представлена на рисунке 13.

Рисунок 13 – Блок-схема алгоритма тестирования в системе

Контрольный пример работы в ИС

Для входа в систему требуется пройти авторизацию. При авторизации требуется выбрать тип пользователя. Если тип пользователя Преподаватель, то потребуется выбрать ФИО из списка и ввести пароль. После чего откроется главное окно Преподавателя. Если пользователь принадлежит к типу Студент, то потребуется выбрать свою группу, тест и своё ФИО в списке. На рисунке 14 представлено окно авторизации.

Рисунок 14 – Окно авторизации в системе

Главное окно преподавателя программного комплекса представлено на рисунке 15. Оно включает в себя главное меню и журнал тестов.

Рисунок 15 – Главное окно Преподавателя

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


Для управления списками участников в главном меню выбирается пункт «Участники». Откроется окно, представленное на рисунке 16.

Рисунок 17 – Окно «участники»

Формирование тестов доступно через окно Тесты (рисунок 18). Открывается через главное меню «Основное/Тесты».

Рисунок 18 – Окно «Тесты»

В данном окне можно отредактировать название теста, порог прохождения и описание теста, а также отведённое на тест время в минутах. Также, при выборе конкретного теста, вызывается контекстное меню и выбирается пункт «Вопросы и ответы». Откроется окно, представленное на рисунке 19.

Рисунок 19 – Окно «Вопросы и ответы»

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

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

Также, можно задать свой вариант ответа, при этом – указать правильное значение, с которым будет сравниваться данный студентом ответ (без учёта регистра).

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

Рисунок 20 – Окно тестирования (один вариант ответа с картинкой)

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

Система позволяет формировать отчёты:

  • подробный отчёт о тестировании с результатами выбранного теста из журнала – рисунок 21;
  • отчёт о тестировании по студенту - пример представлен на рисунке 22;
  • отчёт о тестировании за период - пример представлен на рисунке 23.

Рисунок 21 – Пример подробного отчёта о тестировании

Рисунок 22 – Пример отчёта о тестировании по студенту

Рисунок 23 – Пример отчёта о тестировании за период

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

Заключение


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

Составлена SADT-модель процесса промежуточного контроля знаний студентов.

Рассмотрена входная, нормативно-справочная и результатная информация.

Результатная информация – это отчёты:

  • подробный отчёт о тестировании;
  • отчёт о тестировании по студенту;
  • отчёт о тестировании за период.

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

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

  • «GroupStud» – группа;
  • «Subj» – предмет;
  • «SubjList» – список предметов;
  • «People» – участники;
  • «Test» – тест;
  • «Quest» – вопросы;
  • «Answer» – ответы;
  • «Journaltest» – журнал тестирования;
  • «Journalanswer» – журнал ответов.

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

Составлена диаграмма классов:

  • TfrmLogin
  • TfrmMain
  • TfrmGrid
  • TfrmQuestAnswer
  • TfrmTest
  • TfrmReport
  • TDM.

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

Список использованных источников

  1. Амбалова З.А. Сравнение методологий разработки интеллектуальных систем в сфере управления комплексными проектами / З.А. Амбалова // В сб.: Инновационные механизмы решения проблем научного развития сборник статей по итогам Международной научно-практической конференции. - 2017. - C. 139-141.
  2. Бачурин С.А., Гусева А.И. Метод автоматизированной разработки систем поддержки учебной и научно-исследовательской деятельности / С.А. Бачурин, А.И. Гусева // Современные проблемы науки и образования. - 2015. - № 4. - C. 83.
  3. Бетенекова Н.В., Николаенко В.С. Обобщение структуры проектной документации / Н.В. Бетенкова, В.С. Николаенко // В сб.: Государство и бизнес. Современные проблемы экономики: материалы IX Международной научно-практической конференции. Северо-Западный институт управления РАНХиГС при Президенте РФ. - 2017. - C. 224-228.
  4. Виноградова М.В. Унифицированный процесс разработки программного обеспечения / М.В. Виноградова, В.И. Белоусова – М.: Юнити, 2015. - 260 с.
  5. Власов А.И. Пространственная модель оценки эволюции методов визуального проектирования сложных систем / А.И. Власов // Датчики и системы. - 2016. - № 9 (172). - C. 10-28.
  6. Данилова М.С., Гудков А.А. Некоторые подходы к тестированию соответствия разработанных IT-продуктов требованиям заказчика / М.С. Данилова, А.А. Гудков // Информационные технологии. Радиоэлектроника. Телекоммуникации. - 2016. - № 6-1. - C. 198-208.
  7. Заботина Н.Н. Проектирование информационных систем: Учебное пособие / Н.Н. Заботина. – М.: Издательский Дом "ИНФРА-М", 2013. - 331 с.
  8. Культин Н.Б. Основы программирования в Embarcadero / Н.Б. Культин - СПб.:БХВ-Петербург, 2015. - 416 с.
  9. Соколов Л.Ф. Виды и формы текущего контроля и промежуточной аттестации [Электронный ресурс] – Режим доступа URL: https://pandia.ru/text/77/323/46088.php
  10. Сухомлинский В.А. Анализ контроля знаний студентов при проведении различных видов учебных занятий [Электронный ресурс] - Режим доступа URL: https://www.informio.ru/publications/id480/Analiz-kontrolja-znanii-studentov-pri-provedenii-razlichnyh-vidov-uchebnyh-zanjatii
  11. Чистов Д.В. Проектирование информационных систем: учебник и практикум для академического бакалавриата / Д.В. Чистов - М.: Юрайт, 2016. – 259 с.

Приложение

Фрагмент кода приложения ИС тестирования

unit uMain;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Menus, Data.DB, Vcl.Grids,

Vcl.DBGrids, Vcl.DBCtrls, Vcl.StdCtrls, Vcl.ExtCtrls, System.UITypes;

type

TfrmMain = class(TForm)

mm: TMainMenu;

imMain: TMenuItem;

imPeople: TMenuItem;

imTest: TMenuItem;

N1: TMenuItem;

imClose: TMenuItem;

imLibrary: TMenuItem;

imLibrary0: TMenuItem;

imReport: TMenuItem;

imReport0: TMenuItem;

imReport1: TMenuItem;

imSettings: TMenuItem;

imLinking: TMenuItem;

pnlGrid: TPanel;

pnlMain: TPanel;

Label1: TLabel;

Label2: TLabel;

pm: TPopupMenu;

btnStart: TButton;

btnCancel: TButton;

imAdd: TMenuItem;

imDelete: TMenuItem;

cbPeople: TDBLookupComboBox;

cbTest: TDBLookupComboBox;

grdMain: TDBGrid;

N2: TMenuItem;

imReport2: TMenuItem;

procedure imMenuClick(Sender: TObject);

procedure imReportClic(Sender: TObject);

procedure imCloseClick(Sender: TObject);

procedure imLinkingClick(Sender: TObject);

procedure pmPopup(Sender: TObject);

procedure imAddClick(Sender: TObject);

procedure imDeleteClick(Sender: TObject);

procedure btnStartClick(Sender: TObject);

procedure btnCancelClick(Sender: TObject);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

frmMain: TfrmMain;

implementation

{$R *.dfm}

uses

uGrid, uReport, uTest, uDM;

procedure TfrmMain.imMenuClick(Sender: TObject);

var

frm: TfrmGrid;

begin

Application.CreateForm(TfrmGrid,frm);

frm.Tag:=(Sender as TMenuItem).Tag;

frm.ShowModal;

frm.Free;

end;

procedure TfrmMain.imReportClic(Sender: TObject);

var

frm: TfrmReport;

begin

Application.CreateForm(TfrmReport,frm);

frm.Tag:=(Sender as TMenuItem).Tag;

frm.ShowModal;

frm.Free;

end;

procedure TfrmMain.imCloseClick(Sender: TObject);

begin

Application.Terminate;

end;

procedure TfrmMain.imLinkingClick(Sender: TObject);

begin

DM.LinkedBase(true);

end;

procedure TfrmMain.pmPopup(Sender: TObject);

begin

imDelete.Visible:=grdMain.DataSource.DataSet.RecordCount>0;

imReport2.Visible:=grdMain.DataSource.DataSet.RecordCount>0;

end;

procedure TfrmMain.imAddClick(Sender: TObject);

begin

pnlMain.Visible:=true;

pnlGrid.Enabled:=false;

grdMain.DataSource.DataSet.Append;

end;

procedure TfrmMain.imDeleteClick(Sender: TObject);

begin

if MessageDlg('Вы действительно хотите удалить запись?',mtWarning,mbOkCancel,0)=mrOk then

grdMain.DataSource.DataSet.Delete;

end;

procedure TfrmMain.btnStartClick(Sender: TObject);

var

frm: TfrmTest;

begin

grdMain.DataSource.DataSet.FieldByName('DateTest').asDatetime:=Date;

grdMain.DataSource.DataSet.Post;

DM.tblQuest.First;

Application.CreateForm(TfrmTest,frm);

frm.ShowModal;

frm.Free;

pnlMain.Visible:=False;

pnlGrid.Enabled:=True;

end;

procedure TfrmMain.FormShow(Sender: TObject);

var

frm: TfrmTest;

begin

if Tag=2 then

begin

grdMain.DataSource.DataSet.Append;

grdMain.DataSource.DataSet.FieldByName('DateTest').asDatetime:=Date;

grdMain.DataSource.DataSet.FieldByName('People').AsInteger:=DM.tblTester.FieldByName('ID').AsInteger;

grdMain.DataSource.DataSet.FieldByName('Test').AsInteger:=DM.tblTest.FieldByName('ID').AsInteger;

grdMain.DataSource.DataSet.Post;

Application.CreateForm(TfrmTest,frm);

AlphaBlend:=true;

AlphaBlendValue:=100;

frm.ShowModal;

frm.Free;

Application.Terminate;

end;

end;

procedure TfrmMain.btnCancelClick(Sender: TObject);

begin

grdMain.DataSource.DataSet.Cancel;