Разработка интерактивных учебных материалов во FLASH с использованием метода хранения данных на стороне клиента в клиент-серверных приложениях

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



z2, и вписываю в поле Create new database, рядом находится поле кодировки для будущей базы данных, следует выбрать utf8_unicode_ci, так как база данных будет содержать символы на кириллице, которые поддерживаются данной кодировкой.

Рис. 2 Создание Базы данных

.Далее необходимо создать таблицу answers со следующими параметрами, Рис. 3.

Рис.3 Структура таблицы Answers

id_otveta - является id ответа, нужно поставить авто-инкрементацию, и поставить ключ PRIMARY, что означает что данное поле будет под значением PRIMARY, и будет увеличиваться на 1, при вводе каждого нового значения.

id_voprosa - это id вопроса, и нужен данный элемент для присвоения нужному вопросу его соответствующие ответы.

Text - это непосредственно сам ответ, которые будет в формате varchar.

Id_testa - айди теста, по которому ответы будут узнавать к какому тесту они относятся.

7.Следующая таблица будет questions, которая будет содержать вопросы, которые будут отображаться тесте, Рис. 4.

Рис. 4 Структура таблицы questions

В данной таблице находится 5 полей:

Id_voprosa - нужно выставить авто-инкрементацию и ключ PRIMARY, так как это будет уникальным id для вопроса, и ответы будут ссылаться на данный id.

Text - самое содержимое вопроса, которое будет отображаться в Flash-приложении.

Id_otveta - id ответа, которое будет соответствует id_otveta из таблицы answersю

Id_testa - соответствующий тест, в котором состоит данный вопрос.

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

8.Последняя таблица в базе данных, это таблица тестов, в которой будет храниться информация о тестах, которые будут доступны в Flash-приложении, Рис. 5.

Рис. 5 Структура таблицы quizzes

Id_testa - id теста, следует поставить авто-инкрементацию и ключ PRIMARY, так как данное значение теста будет уникально, и вопросы и ответы будут относиться к данному полю.

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

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

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

.6 Подсоединение базы данных к Flash

Для начала нужно связать только что созданную базу данных с будущим Flash-приложением. Следует использовать метод PHP + XML. То есть теоретически PHP запрашивает данные с сервера, записывает их в XML, а потом уже эти данные транзитом через XML попадают в мое Flash-приложение.

Нужно создать файл data.php и записывать код подключения к базе данных, а потом передать все это в XML-файл, как уже говорилось, данные буду выводить в виде xml, так как с этим форматом FLASH работает лучше всего.

Подсоединение к БД

$link = mysql_connect("localhost", "root", "") or die("Could not connect : " . mysql_error());_select_db("quiz2") or die("Не выбрана БД");

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

.7 Создание классов

Далее необходимо создать классы, необходимые для работы Flash-приложения. Главный класс называется com/src/Main.as, после того как он создан и добавлен на iену, происходит загрузка настроек из xml/data.xml это делается с помощью класса DataLoader грузится ссылка на файл data.php и данные для страниц. Страниц в данном случае может быть неограниченное количество.

Переданные данные грузятся и сохраняются в класс Model.as, класс в котором хранятся все нужные данные, к которым может понадобиться доступ из любого места в программе. Как только данные загружены, обработчик событий DataLoader вызывает событие loadComplete, и исходя из этого события класс Main.as продолжает дальнейшую работу Flash-приложения с интерактивными учебными материалами. Далее создается всплывающее окно, где нужно вводить имя пользователя, данный класс называется Login.as, Рис. 6.

Далее если выбираются элементы теста, то это подгружается класс Testslists.as. Когда происзодит переход на страницу тестов, Flash-приложение делает запрос к файлу data.php и передает методом POST переменную action=get_tests.

Рис. 6 Всплывающее окно Логин

После этого данный скрипт, определяет, что Flash-приложению нужен список тестов, и принимает из базы данных из таблицы тестов, id и заголовки тестов, и возвращает Flash-приложению в виде xml. Класс TestsList.as выводит заголовки тестов в виде кнопок, и при создании кнопок проверяется есть ли в классе SharedObject, результаты для данных тестов, если данные обнаруживаются на стороне клиента, то прописывается что данный тест уже был пройден, и результаты видны на экране, а если нет, то тест остается без изменений.

Рис. 7 Пройденный тест

Класс CurrentTest.as по порядку выдает вопросы с ответами, и если при ответе на вопрос id его совпадает с id_otveta, то он засчитывается как верный ответ, в противном случае ответ засчитывается как неправильный, если существуют