Разработка динамического сайта для логопедических занятий - Дипломная работа

бесплатно 0
4.5 109
Создание Интернет-сайта для упрощения связи учителей-логопедов и родителей учащихся. Проектирование макета графического интерфейса. Выбор средств разработки программного продукта. Требования к функционалу ученика. Возможности интерфейса администратора.


Аннотация к работе
Для работы с разрабатываемым сайтом в базе данных содержится 15 таблиц: «Users», «Teachers», «Pupil», «Timing», «Folders», «Docs», «Messages», «Attach_docs», «New_messages», «New_attach_docs», «Blanks», «Blank_rows», «Pupil_blanks_head», «Pupil_blanks», «Games». Название поля Тип данных Описание id int (11) Уникальный номер пользователя login varchar (15) Логин пользователя password varchar (255) Зашифрованный пароль name varchar (30) Имя lastname varchar (30) Фамилия city varchar (30) Город, в котором проживает пользователь email varchar (100) Адрес электронной почты пользователя level int (1) Тип пользователя: 1 - ученик, 2 - учитель, 3 - администратор сайта avatar varchar (255) Адрес изображения на веб-сервере, используемого в качестве аватара пользователя block int (1) Статус пользователя: 1 - заблокирован Название поля Тип данных Описание par_complaints text Жалобы родителей на речь ребенка teacher int (11) Идентификатор учителя teacher_chk int (1) Статус учителя: 0 - не выбран учитель; 1-учителю, чей id записан в поле teacher, подана заявка, на то, чтобы стать его учеником; 2 - учитель занес пользователя в список своих учеников. При добавлении анкеты на страницу ученика, в таблицу «Pupil_blanks_head» - «Заголовок анкет учеников» сохраняются данные об этом ученике и об анкете - идентификатор ученика, на страницу которого была добавлена анкета и идентификатор одной из анкет, созданных учителем на разрабатываемом сайте. Будет удалена переписка между учителем и этим учеником из таблицы «Messages», удалены анкеты, добавленные учителем на страницу ученика, из таблиц «Pupil_blanks_head» и «Pupil_blanks», удалены записи о времени проведения занятий с этим учеником из таблицы «Timing».В данном дипломном проекте был спроектирован и разработан программный продукт, представляющий собой динамический интернет-сайт для логопедических занятий, предназначенный для упрощения деятельности учителей-логопедов и их взаимодействия с родителями учащихся. В ходе разработки были усовершенствованы навыки в программировании на языках, используемых при создании сайта; изучены особенности дизайна HTML-страниц, нацеленные на повышение кроссбраузерности сайта, проанализированы положительные и отрицательные качества схожих по тематике сайтов. В результате, разработан сайт, обладающий следующими особенностями: удобный и понятный пользователю интерфейс;Закрыть глаза, сильно напрягая глазные мышцы, на счет 1 4, затем раскрыть глаза, расслабив мышцы глаз, посмотреть вдаль на счет 1 - 6. Не поворачивая головы, посмотреть направо и зафиксировать взгляд на счет 1 - 4, затем посмотреть вдаль прямо на счет 1 - 6. Закрыть глаза, не напрягая глазные мышцы, на счет 1 - 4, широко раскрыть глаза и посмотреть вдаль на счет 1 - 6. 1 - 2 - встать на носки, руки вверх - наружу, потянуться вверх за руками. Физкультминутка для снятия утомления с плечевого пояса и рук: Динамические упражнения с чередованием напряжения и расслабления отдельных мышечных групп плечевого пояса и рук, улучшают кровоснабжение, снижают напряжение.$result=mysql_query("SELECT id FROM users WHERE login= "$login"",$db);$myrow = mysql_fetch_array($result); $result2=mysql_query("INSERT INTO users (login, password, name, lastname,city,email,level,avatar)VALUES("$login","$password","$name","$lastname","$city","$email","$level","$avatar")"); $result4=mysql_query("INSERT INTO teachers (id) VALUES ("$id")");} if ($result4=="TRUE") exit(include("reg_complete.php"));//регистрация завершена else{ mysql_query("DELETE FROM users WHERE login= "$login"",$db);$err_c=6; exit(include("reg_err.

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

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

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

1. Формирование требований к программному продукту

1.1 Постановка задачи

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

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

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

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

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

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

Реализация программного продукта - результатом решения этой задачи станет готовый сайт.

1.2 Обзор существующих аналогов

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

1.2.1 Сайт «Логопедия для всех»

Назначение сайта «Логопедия для всех» (http://www.logolife.ru/) можно узнать из эпиграфа на его страницах: «Логопедия, развитие речи детей. Для логопедов, детей и их мам. Логопедические занятия, упражнения, игры на развитие речи. Конспекты занятий» [1].

Рисунок 1.1 - сайт «Логопедия для всех»

Достоинствами этого сайта являются: возможность регистрации логопедов, просмотр их анкет; наличие раздела с логопедическими упражнениями и занятиями; в разделе «Консультация логопеда» родители могут задавать вопросы логопеду-администратору сайта.

Недостатки: нельзя задать вопрос определенному логопеду, в то же время, администратор-логопед консультирует родителей, не имея необходимой информации об их детях; для публикации на сайте материалов для занятий, таких как логопедические упражнения и задания, необходимо сделать запрос администратору, после чего он, возможно, опубликует их в соответствующем разделе, далее автор материала не имеет возможности его самостоятельно редактировать; в разделе «Компьютерные программы для логопедических занятий» представлены логопедические упражнения и игры в виде презентаций, которые можно использовать только после скачивания на компьютер.

1.2.2 Сайт «Логопед-профессионал»

Сайт «Логопед-профессионал» (http://www.logoped.pro/) служит для поиска логопедов и дефектологов и ознакомления с тематическими материалами, публикациями и фотографиями.

Рисунок 1.2 - сайт «Логопед-профессионал»

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

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

1.2.3 Сайт логопедического центра «Людмила»

Кроме информации о самом логопедическом центре на данном сайте (http://log-center.ru/) представлены материалы по развитию и коррекции речи. Из достоинств можно выделить раздел «Логопеды» с подробной информацией о специалистах центра и раздел «Игры» с бесплатными логопедическими играми, которые можно запускать в онлайн-режиме, также существует возможность записи к определенному специалисту с помощью сайта.

Рисунок 1.3 - сайт «Логопедический центр “Людмила”»

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

1.2.4 Итоги обзора

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

1.3 Функциональные требования

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

1.3.1 Требования к функционалу неавторизированного пользователя

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

Рисунок 1.4 - Возможности неавторизированного пользователя

1.3.2 Требования к функционалу ученика

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

Рисунок 1.5 - Возможности пользователя-ученика

1.3.3 Требования к функционалу учителя

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

Рисунок 1.6 - Возможности пользователя-учителя

1.3.4 Требования к функционалу администратора

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

Рисунок 1.7 - Возможности администратора сайта

1.4 Выбор программных средств разработки

В результате анализа требований к программному продукту были выбраны следующие программные средства для его реализации: - HTML;

- JAVASCRIPT;

- скриптовый язык программирования PHP 5;

- СУБД MYSQL;

- инструмент для администрирования СУБД MYSQL - PHPMYADMIN.

HTML - Hyper Text Markup Language - язык разметки гипертекста.

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

HTML файлы можно создавать и редактировать с помощью обычных текстовых редакторов, например, с помощью стандартной программы системы Windows XP «Блокнот».

JAVASCRIPT - это язык программирования, используемый в составе HTML-страниц для увеличения функциональности и возможностей взаимодействия с пользователями. С помощью JAVASCRIPT на веб-странице можно сделать то, что невозможно сделать стандартными тегами HTML [2]. Скрипты выполняются в результате наступления каких-либо событий, инициированных действиями пользователя, например, нажатия кнопки мыши, перемещения курсора, наведения курсора на объект, ввода или изменения данных в текстовых полях, таким образом, обеспечивается интерактивность веб-страниц.

Статические HTML-страницы создаются вручную, затем загружаются на веб-сервер. Чтобы изменять содержимое сайта, разработчику нужно редактировать эти страницы на своем компьютере и снова загружать на веб-сервер, поэтому такая технология обычно используется для создания сайтов-визиток или промо-сайтов, так как предоставляемая ими информация не требует частого редактирования. Для удовлетворения функциональных требований к программному продукту, разрабатываемый сайт должен быть динамическим. Динамические сайты отличаются от статических тем, что они состоят не из HTML-файлов, а из PHP-файлов, которые являются программами, с их помощью генерируется HTML-код страниц. PHP-скрипты выполняются на стороне веб-сервера, а не на компьютере пользователя, как в случае с JAVASCRIPT. В области программирования для сети Интернет PHP - один из популярных скриптовых языков благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

Популярность в области построения вебсайтов определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них: - автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределенные массивы;

- взаимодействие с большим количеством различных систем управления базами данных;

- автоматизированная отправка HTTP-заголовков;

- работа с HTTP-авторизацией;

- работа с cookies и сессиями;

- работа с локальными и удаленными файлами, сокетами;

- обработка файлов, загружаемых на сервер [3].

Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в апреле 2012 года PHP находился на 6 месте среди языков программирования [4].

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

СУБД MYSQL - это свободная система управления реляционными базами данных. В реляционной базе данные хранятся в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. PHPMYADMIN - это бесплатное приложение, написанное на PHP, предназначенное для администрирования СУБД MYSQL через браузер. PHPMYADMIN поддерживает широкий спектр операций с MYSQL. Наиболее часто используемые операции осуществляются с помощью пользовательского интерфейса (управление базами данных, таблицами, полями, связями, индексами, пользователями, разрешениями и так далее), кроме того, существует возможность напрямую ввести и выполнить любую команду SQL.

2. Проектирование и реализация программного продукта

2.1 База данных программного продукта

Для работы с разрабатываемым сайтом в базе данных содержится 15 таблиц: «Users», «Teachers», «Pupil», «Timing», «Folders», «Docs», «Messages», «Attach_docs», « New_messages», «New_attach_docs», «Blanks», «Blank_rows», «Pupil_blanks_head», «Pupil_blanks», «Games».

2.1.1 Описание таблиц базы данных

При регистрации пользователя, его данные сохраняются в таблицу «Users» - «Пользователи», ее структура представлена в таблице 2.1. Одновременно с этим, в зависимости от типа пользователя, выбранного им в форме регистрации, в таблицу «Teachers» или «Pupil» добавляется запись с номером пользователя.

Таблица 2.1 - Users

Название поля Тип данных Описание id int (11) Уникальный номер пользователя login varchar (15) Логин пользователя password varchar (255) Зашифрованный пароль name varchar (30) Имя lastname varchar (30) Фамилия city varchar (30) Город, в котором проживает пользователь email varchar (100) Адрес электронной почты пользователя level int (1) Тип пользователя: 1 - ученик, 2 - учитель, 3 - администратор сайта avatar varchar (255) Адрес изображения на веб-сервере, используемого в качестве аватара пользователя block int (1) Статус пользователя: 1 - заблокирован

В таблице «Users» хранятся основные данные о пользователях. Эти сведения требуется знать о всех пользователях, но существуют и специфические сведения, свойственные для определенных типов пользователей. При регистрации пользователь выбирает: зарегистрироваться как учитель или как ученик. Данные об учителях хранятся в таблице «Teachers» - «Учителя», ее структура представлена в таблице 2.2.

Таблица 2.2 - Teachers

Название поля Тип данных Описание id int (11) Уникальный номер пользователя-учителя middlename varchar (30) Отчество учителя education varchar (255) Образование учителя experience text Опят работы other text Дополнительная информация об учителе

Данные об учениках хранятся в таблице «Pupil» - «Ученики», структура представлена в таблице 2.3.

Таблица 2.3 - Pupil

Название поля Тип данных Описание id int (11) Уникальный номер пользователя-ученика day int (2) День рождения month int (2) Месяц рождения year int (4) Год рождения m_name varchar (30) Имя матери m_middlename varchar (30) Отчество матери m_lastname varchar (30) Фамилия матери f_name varchar (30) Имя отца f_middlename varchar (30) Отчество отца f_lastname varchar (30) Фамилия отца

Название поля Тип данных Описание par_complaints text Жалобы родителей на речь ребенка teacher int (11) Идентификатор учителя teacher_chk int (1) Статус учителя: 0 - не выбран учитель; 1- учителю, чей id записан в поле teacher, подана заявка, на то, чтобы стать его учеником; 2 - учитель занес пользователя в список своих учеников.

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

Для определения учителя пользователя-ученика в таблице «Pupil» имеется поле «teacher».

Данные о расписании логопедических занятий хранятся в таблице «Timing» - «Расписание». Учитель выбирает день недели, время занятия и ученика, с которым оно проводится. Структура таблицы «Timing» представлена в таблице 2.4.

Таблица 2.4 - Timing

Название поля Тип данных Описание id int (11) Уникальный номер записи day int (1) Порядковый номер дня недели time varchar (5) Время проведения занятия p_id int (11) Идентификатор ученика, с которым проводится занятие t_id int (11) Идентификатор учителя, который проводит занятие

Загружая материалы на сайт, учитель может распределять их по разделам. Таблица «Folders» - «Разделы» хранит информацию о разделах материалов учителей. Структура «Folders» отображена в таблице 2.5.

Таблица 2.5 - Folders

Название поля Тип данных Описание f_id int (11) Уникальный номер раздела f_name varchar (100) Название раздела t_id int (11) Идентификатор учителя, которому принадлежит раздел

Таблица «Docs» - «Материалы» хранит информацию о материалах, загруженных пользователем-учителем на сайт. Если учителем не выбран раздел для загружаемого материала, идентификатор раздела в таблице «Docs» (f_id) будет равен нулю.

Во избежание совпадения имен файлов материалов на сервере в имя файла включается текущая метка времени - количество секунд, прошедших от 00:00:00 1января 1970 года до настоящего времени. Структура «Docs» представлена в таблице 2.6: Таблица 2.6 - Docs

Название поля Тип данных Описание d_id int (11) Уникальный номер материала name int (15) Название файла path int (15) Путь к файлу материала на сервере date varchar (8) Дата загрузки файла в материалы учителя f_id varchar (5) Идентификатор раздела, к которому относится материал t_id text Идентификатор учителя, которому принадлежит материал

Сообщения, отправленные пользователями сайта, сохраняются в таблице «Messages» - «Сообщения»: Таблица 2.7 - Messages

Название поля Тип данных Описание id int (11) Уникальный номер сообщения sender int (15) Идентификатор отправителя сообщения receiver int (15) Идентификатор получателя сообщения date varchar (8) Дата отправки time varchar (5) Время отправки text text Текст сообщения

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

Информация о прикрепленных материалах хранится в таблице «Attach_docs» - «Прикрепленные материалы», структура которой представлена в таблице 2.8.

Таблица 2.8 - Attach_docs

Название поля Тип данных Описание id int (11) Уникальный номер записи d_id int (11) Идентификатор материала, который прикреплен к сообщению mes_id int (11) Идентификатор сообщения, к которому прикреплен материал

Чтобы после выбора прикрепляемых материалов не терялся уже введенный текст нового сообщения и уже прикрепленные к нему материалы, информация о них временно хранится в таблицах «New_messages» - «Новые сообщения» и «New_attach_docs» - «Прикрепленные материалы новых сообщений». Их структура показана в таблице 2.9 и в таблице 2.10.

Таблица 2.9 - New_messages

Название поля Тип данных Описание id int (11) Уникальный номер нового сообщения sender int (15) Идентификатор отправителя сообщения receiver int (15) Идентификатор получателя сообщения text text Текст сообщения

Таблица 2.10 - New_attach_docs

Название поля Тип данных Описание id int (11) Уникальный номер записи d_id int (11) Идентификатор материала, который прикреплен к новому сообщению mes_id int (11) Идентификатор нового сообщения, к которому прикреплен материал

При создании учителем новой анкеты, название и тип анкеты сохраняются в таблицу «Blanks» - «Анкеты». Структура таблицы «Blanks» показана в таблице 2.11.

Таблица 2.11 - Blanks

Название поля Тип данных Описание bl_id int (11) Уникальный номер анкеты bl_name varchar (60) Название анкеты type int (1) Тип анкеты: 1 - анкета для родителей, 2 - анкета для логопеда t_id int (11) Идентификатор учителя, который создал анкету

Структура созданной учителем анкеты хранится в виде записей таблицы «Blank_rows» - «Элементы анкеты». Каждая запись этой таблицы представляет собой описание элемента анкеты: Таблица 2.12 - Blank_rows

Название поля Тип данных Описание r_id int (11) Уникальный номер элемента анкеты type int (1) Тип элемента анкеты: 1 - заголовок, 2 - подзаголовок, 3 - малое текстовое поле, 4 - большое текстовое поле r_index int (2) Порядковый номер элемента анкеты в ее структуре sign varchar (150) Подпись элемента анкеты bl_id int (11) Идентификатор анкеты, к которой относится элемент

При добавлении анкеты на страницу ученика, в таблицу «Pupil_blanks_head» - «Заголовок анкет учеников» сохраняются данные об этом ученике и об анкете - идентификатор ученика, на страницу которого была добавлена анкета и идентификатор одной из анкет, созданных учителем на разрабатываемом сайте. Структура «Pupil_blanks_head» представлена в таблице 2.13.

Таблица 2.13 - Pupil_blanks_head

Название поля Тип данных Описание id int (11) Уникальный номер записи p_id int (11) Идентификатор ученика, на страницу которого добавлена анкета bl_id int (11) Идентификатор добавленной анкеты

Когда пользователь заполняет анкету, внесенные данные сохраняются в таблице «Pupil_blanks» - «Анкеты учеников». Ее структура показана в таблице 2.14.

Таблица 2.14 - Pupil_blanks

Название поля Тип данных Описание id int (11) Уникальный номер записи p_id int (11) Идентификатор ученика, на страницу которого добавлена анкета bl_id int (11) Идентификатор анкеты r_id int (11) Идентификатор элемента анкеты text text Информация, введенная пользователем в текстовое поле добавленной анкеты

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

Вид элемента прикрепленной анкеты определяется с помощью ссылки на элемент исходной анкеты - r_id.

Данные о загруженных администратором сайта играх сохраняются в таблицу «Games» - «Игры». Игры являются flash-приложениями, хранящимися на сторонних ресурсах, а не на сервере сайта. Поэтому в качестве ссылки должен указываться адрес игры на другом сайте. Структура «Games» представлена в таблице 2.15

Таблица 2.15 - Games

Название поля Тип данных Описание id int (11) Уникальный номер игры name varchar (255) Название игры note text Описание игры link varchar (255) Ссылка на игру

2.1.2 Описание связей между таблицами базы данных

Реляционные базы данных состоят из нескольких таблиц, связь между которыми устанавливается с помощью совпадающих полей. Каждая запись в таблицах идентифицирует один объект. Отношение между объектами определяет отношение между таблицами. Существует 4 типа отношений: - отношение «один-к-одному» означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице;

- отношение «один-ко-многим» означает, что каждой записи в одной таблице соответствует одна или несколько записей в другой таблице;

- отношение «многие-ко-одному» аналогично рассмотренному ранее типу;

- отношение «многие-ко-многим» возникает между двумя таблицами в тех случаях, когда одна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы или одна запись из второй таблицы может быть связана более чем с одной записью из первой таблицы [5].

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

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

Схема связей таблиц в базе данных разрабатываемого приложения показана на рисунке 2.1.

Рисунок 2.1 - Связи между таблицами

Линиями изображены связи между таблицами. Линия с цифрой «1» в начале и буквой «М» в конце обозначает связь «один-ко-многим». Линия с цифрой «1» в начале и в конце обозначает связь «один-к-одному». Из приведенной схемы видно, что таблица «Games» не связана с остальными таблицами базы. Таблица «Users_1» на схеме обозначает, ту же таблицу, что и «Users». С ее помощью показана «двойная» связь таблицы базы данных «Users» с таблицами «Messages» и «New_messages».

2.2 Интерфейс пользователя

Зайдя на главную страницу сайта, пользователь увидит форму для входа на сайт (рисунок 2.2).

Рисунок 2.2 - Главная страница

По нажатию на кнопку «Войти» происходит проверка полей ввода. Если пользователь не заполнит какое-либо из полей ввода и попытается войти на сайт, будет показано соответствующее сообщение (рисунок 2.3).

Рисунок 2.3 - Проверка формы входа

После того, как пользователь ввел данные и нажал на кнопку «Войти», осуществляется проверка наличия пользователя с таким логином и паролем в базе данных. Если не найдено совпадений, то пользователю сообщается о том, что он ввел неверные данные (рисунок 2.4).

Рисунок 2.4 - Неудачная авторизация

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

Пользователю, желающему зарегистрироваться на сайте, нужно пройти по ссылке на главной странице «Зарегистрироваться».

Рисунок 2.5 - Регистрация

Перейдя по ней, пользователь попадает на страницу с формой для регистрации (рисунок 2.5). Чтобы зарегистрироваться, нужно заполнить все поля формы, ввести код c изображения и нажать кнопку «Зарегистрироваться». Ввод кода с изображения предусмотрен для защиты от автоматической регистрации на сайте. Изображение генерируется с помощью скрипта «my_code_gen.php» [6].

Если пользователь не заполнил одно или несколько полей в форме регистрации, ему будет показано оповещение, а данные не будет отправлены на сервер (рисунок 2.6).

Рисунок 2.6 - Проверка формы регистрации

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

Рисунок 2.7 - недействительный адрес почты

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

Рисунок 2.8 - Успешное завершение регистрации

2.2.1 Интерфейс ученика

Если пользователь зарегистрировался как ученик, то после авторизации ему доступны следующие разделы: «Моя страница», «Сообщения», «Развивающие игры», «Учитель».

Рисунок 2.9 - Страница ученика

«Моя страница» представляет собой раздел с личной информацией пользователя (рисунок 2.9). Когда пользователь первый раз заходит на свою страницу, в качестве аватара используется стандартное изображение. Пользователь может выбрать изображение на своем компьютере и нажать кнопку «Сохранить» в блоке «Выбор изображения», тогда новое изображение будет сохранено на сервер, а в таблице «Users» базы данных обновится путь к файлу с изображение. Справа на странице расположен раздел с информацией об ученике, в него входят данные, сохраненные при регистрации, хранящиеся в таблице «Users» и данные, хранящиеся в таблице «Pupil» - эта информация отображается на вкладке «Основные данные». Чтобы ее изменить, пользователю нужно нажать кнопку «Изменить», тогда поля с данными примут вид полей ввода текста (рисунок 2.10).

Рисунок 2.10 - Изменение данных

Чтобы сохранить изменения, пользователю нужно нажать на кнопку «Сохранить». После этого проверяется корректность введенной информации: действительность адреса электронной почты; совпадение нового пароля и его повтора, если поле «Новый пароль» было заполнено. Если данные корректны, то в базе данных обновляются данные о пользователе в таблицах «Users» и «Pupil», иначе, пользователю показывается сообщение об ошибке.

Если пользователь уже выбрал своего учителя, то на вкладке «Анкеты для родителей» он увидит список анкет для родителей, которые учитель добавил его страницу. При нажатии на название анкеты отобразится ее содержимое (рисунок 2.11), заполнять анкету ученик может аналогично изменению своих данных на вкладке «Основные данные». Данные из анкет для родителей доступны для просмотра только самому ученику и его учителю.

Рисунок 2.11 - Анкеты для родителей

На странице «Сообщения» ученик может выбрать, какие именно сообщения отображать: показываются последние полученные или отправленные сообщения из переписки с другими пользователями или полную переписку с определенным пользователем. Если пользователь выбрал просмотр последних сообщений (рисунок 2.12), то, щелкнув по одному из них, он увидит полную переписку с пользователем, которому принадлежит сообщение (рисунок 2.13). Ученик может обмениваться сообщениями только со своим учителем, администратором сайта, а также получать оповещения сайта о том, что пользователь-учитель согласился или отказался внести пользователя-ученика в список своих учеников, и о том, что учитель добавил анкету на страницу ученика, пользователь не может отправлять сообщения в ответ на оповещения сайта.

Рисунок 2.12 - Последние сообщения

На рисунке 2.13 показана переписка ученика со своим учителем. Если учитель прикрепил к сообщению материал, название файла материала будет показано под этим сообщением учителя. Чтобы загрузить материал на свой компьютер, ученику нужно нажать кнопку «Скачать» рядом с названием материала. Чтобы отправить новое сообщение, ученик должен ввести его в тестовое поле и нажать кнопку «Отправить». Если пользователь попытается отправить сообщение без текста, то оно не будет обрабатываться, иначе сообщение и информация о нем сохранятся в базе данных в таблице «Messages».

Рисунок 2.13 - Переписка с учителем

На странице «Развивающие игры» показан список игр сайта для логопедических занятий (рисунок 2.14).

Рисунок 2.14 - Развивающие игры

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

Рисунок 2.15 - Игра

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

Рисунок 2.16 - Результаты поиска учителей

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

Рисунок 2.17 - Просмотр страницы пользователя-учителя

Чтобы выбрать учителя, пользователь-ученик должен в списке учителей нажать кнопку «Выбрать» напротив определенного учителя. После этого в таблицу «Pupil» сохранится информация о выборе ученика, статус учителя teacher_chk станет равен единице, что означает, что учитель еще не подтвердил, что пользователь является его учеником. Теперь на странице «Учитель» пользователь будет видеть только блок с информацией о выбранном им учителе. Вид страницы показан на рисунке 2.18.

Рисунок 2.18 - Неподтвержденный учитель

Когда пользователь-учитель примет пользователя-ученика в список своих учеников, в разделе «Учитель» ученик увидит не только информацию о том, кто является его учителем, но и расписание занятий (рисунок 2.19), также ученик сможет обмениваться сообщениями со своим учителем.

Рисунок 2.19 - Подтвержденный учитель

2.2.2 Интерфейс учителя

Если пользователь зарегистрировался как учитель, то после авторизации ему доступны следующие разделы: «Моя страница», «Сообщения», «Развивающие игры», «Ученики», «Расписание», «Анкеты», «Материалы».

На странице «Моя страница», изображенном на рисунке 2.20, пользователь-учитель, так же, как и пользователь-ученик, может изменять аватар и личные данные. Резюме учителя хранится в таблице «Teachers». Страницу учителя могут просматривать все пользователи-ученики и администратор сайта.

Рисунок 2.20 - Страница пользователя-учителя

Страница «Сообщения» учителя организована аналогично странице «Сообщения» ученика. Учитель может обмениваться сообщениями со своими учениками и администратором сайта, получать оповещения сайта о поступлении новой заявки от пользователя-ученика, об удалении пользователя-ученика из списка учеников. Страница переписки учителя с одним из учеников показана на рисунке 2.21.

Рисунок 2.21 - Переписка учителя с учеником

Чтобы добавить файл материала к сообщению, учителю нужно нажать «Прикрепить материал», после этого он попадет на страницу выбора материала, показанную на рисунке 2.22, а в таблицы «New_messages» и «New_attach_docs» базы данных сохраняется информация о новом сообщении и прикрепленных к нему материалов. Эта информация хранится до написания другого сообщения.

Рисунок 2.22 - Выбор материала

На этой странице учитель может выбрать материал, который нужно прикрепить к сообщению, если учитель создал разделы для систематизации материалов, то слева выводится список разделов, щелкнув по названию, учитель увидит названия файлов, принадлежащих определенному разделу. Определившись с выбором материала, учителю нужно нажать кнопку «Прикрепить к сообщению» под названием файла. После этого учитель вернется на страницу переписки с пользователем. Под полем ввода сообщения появится список прикрепленных материалов (рисунок 2.23). Чтобы удалить материалы из этого списка, учителю нужно нажать кнопку «Удалить» рядом с названием файла материала.

Рисунок 2.23 - Новое сообщение с прикрепленным материалом

После того, как учитель нажмет «Отправить», информация о сообщении сохранится в таблице «Messages», информация о файлах, прикрепленных к сообщению, сохранится в таблице «Attach_docs».

Страница «Развивающие игры» соответствует странице «Развивающие игры» пользователя-ученика, рассмотренной в 2.2.1.

На странице «Ученики» пользователь-учитель может просматривать список учеников - вкладка «Ученики», и список пользователей-учеников, которые хотят вступить в список учеников пользователя-учителя - вкладка «Заявки».

На рисунке 2.24 показан список учеников пользователя-учителя. Учитель может перейти по ссылке «Написать сообщение», тогда откроется страница «Сообщения», и будет показана переписка с выбранным учеником. Также учитель может нажать кнопку «Удалить из списка учеников», после этого действия в базе данных в таблице «Pupil» у удаленного из списка ученика будет изменено значение поля teacher на ноль. Будет удалена переписка между учителем и этим учеником из таблицы «Messages», удалены анкеты, добавленные учителем на страницу ученика, из таблиц «Pupil_blanks_head» и «Pupil_blanks», удалены записи о времени проведения занятий с этим учеником из таблицы «Timing». Ученик будет оповещен об удалении.

Рисунок 2.24 - Ученики

На вкладке «Заявки» (рисунок 2.25) пользователь видит список пользователей-учеников, которые выбрали учителя, но он еще не принял решение о занесении их в список своих учеников. Для управления заявками, учитель может использовать кнопки «Принять» - пользователь-ученик попадет в список учеников учителя, «Отклонить» - пользователь ученик не будет показан ни в одном из списков страницы «Ученики».

Рисунок 2.25 - Заявки

Для удобства пользователя-учителя, на странице «Ученики» предусмотрен поиск по имени и фамилии, кроме этого, на вкладке «Заявки» можно выбирать город.

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

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

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

В результате, разработан сайт, обладающий следующими особенностями: удобный и понятный пользователю интерфейс;

три уровня авторизированных пользователей;

динамическое обновление расписания занятий учителем;

динамическое создание виртуальных анкет и их добавление на страницы учеников;

«прикрепление» учеников к определенному учителю;

динамическое создание разделов материалов;

систематизированное хранение материалов учителя в разделах;

отправка файлов с материалами ученику с помощью сообщений.

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

Список литературы
1. Логопедия для всех, www.logolife.ru [Электронный ресурс].

2. Справочное руководство по JAVASCRIPT, www.nsc.ru/rus/docs/JS/introduction.html [Электронный ресурс].

3. Википедия - свободная электронная библиотека, ru.wikipedia.org/wiki/PHP [Электронный ресурс].

4. PVSM. Новости ИТ мира, www.pvsm.ru/razrabotka/5285 [Электронный ресурс].

5. ИНТУИТ. Национальный открытый университет, www.intuit.ru/department/database/workwdb/5/2.html [Электронный ресурс].

6. Частная коллекция качественных материалов для тех, кто делает сайты, ruseller.com/lessons.php?rub=37&id=358 [Электронный ресурс].
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?