
- •Содержание
- •Введение
- •Постановка задачи
- •Характеристики предметной области
- •Постановка задачи
- •Требования к программному обеспечению
- •Аналоги программного обеспечения
- •Характеристика выбранных программных средств
- •Решение задачи
- •Проектирование программного обеспечения
- •2.1.1. Компонента «тестировщик»
- •Конструктор заданий, уроков
- •Администрирование
- •Реализация
- •Реализация компоненты «тестировщик»
- •Реализация компоненты Конструктор
- •Реализация компоненты Администрирование
- •Инструментарий
- •Отладка и тестирование
- •3.1. Тестировщик
- •Компонента Администрирование
- •Компонента Конструктор
- •Заключение
- •Список использованных источников
Реализация компоненты Конструктор
Смысл данной компоненты, как было описано в предыдущем разделе, заключается в создании и редактировании заданий на основе схем и таблиц и их объединение в уроки. Реализация компоненты началась с анализа html кода задания, его структуры – как программно верстать такую структуру, при этом учитывая такие параметры, как шрифт, цвет, размер шрифта и само значение ячейки. Так же просматривалась возможность для запоминания параметров каждой ячейки. Было решено использовать стандартную компоненту StringGrid. С помощью, которой достаточно нажать на нужную ячейку и задать параметры. Параметры задаются на той же форме, где и находится сама таблица, компонент StringGrid. При этом параметры сохраняются для каждой ячейки в специальный массив, который потом используется при вёрстке задания. Помимо параметров ячейки задаются параметры самой таблицы или схемы, такие, как количество строк, столбцов, количество объединённых строк или столбцов, цвет. Для запоминания параметров каждой ячейки была реализована процедура table_create(), которая считывает все параметры с формы и заносит в потоковый массив. В этой процедуре учитываются так же параметры самой таблицы или схемы. После создания таблицы, схемы, задание сохраняется в текстовом формате в указанную директорию. Кроме как создания схем, таблиц в конструкторе есть возможность редактирования уже как существующих, так и только что созданных. Редактирование осуществляется путём парсинга структуры задания, то есть считываются все параметры, ранее заданные при создании таблицы, схемы и показывается структура задания в компоненте StringGrid. Под парсингом понимается синтаксический анализ структуры задания, а именно html кода. При создании или редактировании задания, учителем вводится условие задачи, ответы, пояснение, в случае ошибки учащегося. Всё это сохраняется в определённую директорию и потом используется тестировщиком. Созданная или редактируемая таблица, схема отображается на другой форме, то есть таким образом учитель может увидеть результат своих действий.
Реализация компоненты Администрирование
Данная компонента работает уже непосредственно с БД программного обеспечения и позволяет удалять, добавлять и редактировать не только учащихся, но и уроки, курсы. Реализация началась именно со связи конструктора с базой данных и создания управления уроками, учащимися. Для начала была реализована база данных, в которой хранятся пользователи, учителя, результаты учащихся и сами вопросы с ответами. Таблица пользователи, курсы, уроки, задания в БД имеются в дойном экземпляре. Так как ПО предусматривает работу не только учащихся с данным программным обеспечением, но и детей дошкольного возраста. Различие заключается лишь в самих курсах, в которых есть, вместо надписей в таблицах, схемах, рисунки и которые, как правило, легче воспринимаются ребёнком.
Таким образом, концептуальная схема БД имеет следующий вид:
Рис.2.2.3.1.
Подробней о каждой таблице:
Таблица admin. В данной таблице хранятся администраторы ПС, которые могут регистрировать самих учителей и вести работу с БД, а именно удалять, редактировать список учителей.
Таблица 2.2.3.1.
-
Имя поля
Тип
Описание
Id
SmallInt
Первичный ключ
name_
VARCHAR (30)
Имя администратора
Famili
VARCHAR (35)
Фамилия администратора
otch_a
VARCHAR (35)
Отчество администратора
Login
VARCHAR (90)
Логин
1
2
3
password
VARCHAR (100)
Пароль
Таблица Users. В таблице хранятся данные об учащихся: ФИО, дата рождения, пароль, класс, если необходимо.
Таблица 2.2.3.2.
-
Имя поля
Тип
Описание
Id
SmallInt
Первичный ключ
name_us
VARCHAR (30)
Имя ученика
Famili
VARCHAR (35)
Фамилия ученика
Otchestvo
VARCHAR (35)
Отчество ученика
Birthday
DATETIME
Дата рождения
class_gr
VARCHAR (30)
Класса либо группа. Внешний ключ к таблице class_
Password
VARCHAR (100)
Пароль ученика
type_user
VARCHAR (30)
Тип пользователя. Школьник либо дошкольник
nz_kyrsa
VARCHAR (30)
Название курса. Внешний ключ к таблице kyrs
Таблица Kyrs.
В данной таблице хранится название курса, описание и сложность самого курса.
Таблица 2.2.3.3.
-
Имя поля
Тип
Описание
Id
SmallInt
Первичный ключ
nazv_kyrsa
VARCHAR (30)
Название курса
Opisanie
VARCHAR (30)
Описание курса
Slojnost
VARCHAR (30)
Сложность курса
Таблица Yroks.
В таблице записаны данные об уроках: название урока, описание и название курса, к которому данный урок относится.
Таблица 2.2.3.4.
-
Имя поля
Тип
Описание
Id
SmallInt
Первичный ключ
nazv_yroka
VARCHAR (30)
Название урока
Opisanie
VARCHAR (30)
Описание урока
nazv_kyrs
VARCHAR (30)
Названия курса. Внешний ключ к таблице kyrs
Таблица teachers.
В данной таблице хранятся данные об учителях ПС.
Таблица 2.2.3.5.
-
Имя поля
Тип
Описание
Id
SmallInt
Первичный ключ
name_t
VARCHAR (30)
Имя учителя
fam_t
VARCHAR (35)
Фамилия учителя
otch_t
VARCHAR (35)
Отчество учителя
birthday
DATETIME
Дата рождения
class_groups
VARCHAR (30)
Класс либо группа. Внешний ключ к таблице class_
Login
VARCHAR (90)
Логин
password
VARCHAR (100)
Пароль
Таблица stat.
В таблице хранится статистика учеников по пройденным заданиям либо по пройденным курсам.
Таблица 2.2.3.6.
-
Имя поля
Тип
Описание
Id
SmallInt
Первичный ключ
id_user
Int
Id ученика. Внешний ключ к таблице users
n_zadanie
Int
Номер задания
Time
Int
Время затраченное на курс. В секундах.
sloj_kyrsa
VARCHAR (35)
Сложность курса
type_zadanie
VARCHAR (35)
Тип задания
Result
VARCHAR (35)
Результат тестирования
date_test
DATETIME
Дата проведения тестирования
1
2
3
Razm
VARCHAR (35)
Размерность таблицы либо схемы
Rejim
VARCHAR (35)
Режим тестирования
Таблица zadanie.
В данной таблице хранится вся необходимая информация по заданиям. А именно тип задания, схема или таблица, урок которому это задание относится, номер задания и размерность таблицы либо схемы. Так же хранятся пути к файлам задания.
Таблица 2.2.3.7.
Имя поля |
Тип |
Описание |
Id |
SmallInt |
Первичный ключ |
type_zadanie |
VARCHAR (35) |
Тип задания |
id_yrok |
VARCHAR (30) |
Урок для задания. Внешний ключ к таблице yroks |
nomer_zadanie |
Int |
Номер задания |
razm_zad |
VARCHAR (35) |
Размерность задания. |
Pyt_zadanie |
VARCHAR (85) |
Пути к файлам задания |