Разработка автоматизированного рабочего места директора сети детских клубов Юла

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    41,98 Кб
  • Опубликовано:
    2017-01-19
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка автоматизированного рабочего места директора сети детских клубов Юла

Содержание

Введение

1.Аналитический обзор

.1 Выбор программной среды

.2 Система управления базами данных MySQL

.3 PHP: Hypertext Preprocessor

.Анализ предметной области

.1 Краткая характеристика сети Детских Клубов «Юла»

.2 Обоснование необходимости разработки

.3 Определение целевого сегмента пользователей, их функции

.Проектная часть разработки

.1 Проектирование структуры базы данных

.2 Реализация интерфейса администрирования

.3 Разработка интерфейса web-сайта

.4 Разработка пользовательской части

Заключение

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

Введение

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

Базой данных является представленная в объективной форме совокупность самостоятельных материалов (статей, расчетов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины. [10]

СУБД MySQL - одна из множества баз данных, поддерживаемых в PHP. Система MySQL распространяется бесплатно и обладает достаточной мощностью для решения реальных задач. [6]

Для работы с базами данных удобно пользоваться средством, входящим в комплект Web-разработчика: Denwer <#"justify">Для реализации базы данных мною выбрана СУБД MySQL. Web-интерфейс для работы с базой данных реализован с помощью серверного языка сценариев PHP Hypertext Preprocessor. Выполнено содержательное наполнение базы и показаны примеры работы с базой данных. Создание любой базы данных начинается с выбора структуры базы данных. В нашем случае удобнее использовать десять таблиц с данными.

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

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

Предметом исследования является проектирование базы данных ДК «Юла».

Целью данной работы является разработка автоматизированной информационной системы сети Детских Клубов «Юла» на основе базы данных MySQL.

В рамках дипломной работы были поставлены следующие задачи:

анализ предметной области сети Детских клубов «Юла»

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

создание интерфейса базы данных;

создание информационного сайта-визитки;

- создание учетных записей на сайте для клиентов ДК «Юла».

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

Кроме базы данных, которая упростит и, в тоже время, предоставит новые возможности работы директора ДК «Юла», был создан информационный сайт-визитка клуба. Он является не менее важной и актуальной информационной системой в настоящее время.

На сегодняшний день каждая фирма или же заведение имеет свой интернет-сайт. Сайт нужен для бизнеса в качестве атрибута, например, фирменный бланк, буклет или визитка. Большие компании известные своей устойчивой позицией и стабильным доходом популярны своими корпоративными сайтами. [7]

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

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

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

1.Аналитический обзор

.1 Выбор программной среды

программный интерфейс база

В настоящее время разработка web - приложений занимает одно из ведущих мест в программировании. Основным языком разработки сайтов является HTML <#"justify">Рисунок 1.1 - Запуск Denwer

Подробную информацию об установке пакета и расширений, его индивидуальной настройке и решении различных проблем, а также о добавлении новых хостов можно найти на сайте разработчика (denwer.ru).

Как заключение -Денвер хороший выбор для начинающего web-разработчика или для тех, кого утомляет долгие настройки инструментария. Также путем индивидуальных настроек можно создать среду, близкую к выбранному вами хостингу <#"justify">Рисунок 1.2 - Ярлыки для запуска Denwer

Проанализировав все достоинства и недостатки программной среды Denver, я остановилась именно на ней. Но также хотелось рассмотреть самые известные и широко используемые альтернативы Denver. [19]

1. AMPPS

-Последняя версия: 2.3

Русский язык: есть (частично)

Portable версия: Нет

- Поддержка ОС: Windows, MAC OS X, LINUX

Рисунок 1.3 - Установка AMPPS

Базовый комплект:

·Softaculous AMPPS 4.4.5

·Apache 2.4.7

·MySQL 5.6.16

·PHP 5.5.9, 5.4.25 and 5.3.28

·PERL 5.10.1

·Python 2.7.2

·MongoDB(64-bit) 2.4.9

·phpMyAdmin

·RockMongo

·FTP Server - FileZilla Server(Windows) and Pure-FTPd(Mac)

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

Несомненным плюсом данной сборки является поддержка многих распространенных CMS, блог-платформ, веб-форумов, досок объявлений, фотогалерей и проч. Всего доступных приложений более 200! Набор включённых в пакет компонентов актуален, все модули довольно новые и, что примечательно, здесь мы можем найти такую редкость как Python и MongoDB.

Из минусов я хочу отметить частичный русский перевод, который присутствует только в каталоге скриптов, да и то не везде. После перезапуска Apache трей-меню отказалось работать, перезагрузка Windows не помогла. Еще одним минусом является отсутствие портативности. На мой взгляд AMPPS больше пригодится новичкам для изучения скриптов, нежели серьёзным разработчикам. [21]

2.. AppServ

Последняя версия: 2.6.0

Русский язык: Нетверсия: Нет

Рисунок 1.4 - Установка. AppServ

Базовый комплект:

·Apache 2.2.8

·PHP 6.0.0-dev

·MySQL 6.0.4-alpha

·phpMyAdmin-2.10.3

Apache и MySQL устанавливаются как сервисы. Никакой управляющей программы нет, только страница со ссылкой на PhpMyAdmin. По своей сути AppServ является графическим установщиком Apache, PHP, MySQL и более ничем. Если Denwer сам запускает компоненты, то здесь они просто устанавливаются в качестве сервисов и управляются самой Windows.[22]

1.Open Server

Последняя версия: 5.2.4

Русский язык: Естьверсия: Да


Рисунок 1.5 - Установка Open Server

Базовый комплект:

·Apache 2.2.31 / 2.4.18;

·Bind 9.10.3-P4;

·Nginx 1.6.3 / 1.8.1 / 1.9.12;

·MySQL 5.1.73 / 5.5.48 / 5.6.29 / 5.7.11;

·MariaDB 5.5.48 / 10.0.24 / 10.1.13;

·MongoDB 2.4.14 / 2.6.12 / 3.0.10 / 3.2.4;

·PostgreSQL 9.2.15 / 9.3.11 / 9.4.6 / 9.5.1;

·Redis 2.8.2400 / 3.0.501;

·Memcached 1.2.6 / 1.4.5;

·FTP FileZilla 0.9.53;

·PHP 5.2.17 (Zend Optimizer 3.3.3, IonCube 5.0.14, Memcache 2.2.4);

·PHP 5.3.29;

·PHP 5.4.45;

·PHP 5.5.33;

·PHP 5.6.19;

·PHP 7.0.4;

·ImageMagick 6.8.9-9-Q16;

·Ghostscript 9.15;

·Sendmail 32;

·Wget 1.11.4;

·NNCron Lite 1.17;

·ConEmu 15.08.13g;

·HeidiSQL 9.3;

·RockMongo 1.1.7;

·PHPRedisAdmin 1.4.2;

·PHPMyAdmin 4.4.15.5;

·PHPPgAdmin 5.2;

·PHPMemcachedAdmin 1.2.2;

В противовес другим участникам нашего обзора Open Server имеет наиболее приятный и продуманный интерфейс, обладает мощными возможностями по настройке и администрированию компонентов. К несомненным плюсам можно отнести поддержку профилей настроек, переключение HTTP/MySQL/PHP модулей, планировщик заданий (cron), удобное управление доменами и алиасами, а для «чайников» имеется толковое руководство пользователя.

Приятной особенностью Open Server является возможность использовать программу в качестве портативного персонального стартового меню. Можно установить сервер на USB накопитель, перенести туда свои portable программы, создать закладки для часто посещаемых сайтов и везде, где бы вы не находились, вы будете иметь удобное меню быстрого доступа к своим любимым сайтам и программам.

Одна проблема. Open-Server занимает места в 10 (и это минимальная сборка) раз больше, чем Denwer, его портативность зависит от операционной памяти и каждая сборка как новая (нельзя обновлять старую версию на новую). [23]

1.2 Система управления базами данных MySQL

Прежде чем делать выводы, стоит ли применять пакет MySQL в качестве сервера баз данных, вначале надо выяснить, что он собой представляет. MySQL - это реляционная СУБД.поддерживает SQL (структурированный язык запросов) и может применяться в качестве SQL-сервера. Это означает, что общаться с сервером можно на языке SQL: клиент посылает серверу запрос, тот его обрабатывает и отдает клиенту только те данные, которые были получены в результате этого запроса. Тем самым клиенту не требуется выкачивать данные и производить вычисления, как, например, в Microsoft Access.

Кроме того, MySQL - это ПО с открытым кодом, т.е. его можно свободно изучать и изменять. Пакет распространяется на условиях GPL (General Public License), его можно бесплатно загрузить из Интернета (<#"justify">SELECT auto FROM autopark WHERE massa > !Больше чего? Я понятия

не имею, каково среднее значение!

Для этого среднее значение в поле massa нужно вычислить:

SELECT AVG(massa) FROM autopark

Если поддерживаются вложенные запросы, то эти два запроса можно вложить друг в друга:

SELECT auto FROM autopark WHERE massa >( SELECT AVG(massa)

FROM autopark)

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

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

Каскадное обновление данных - позволяет удалять и обновлять связанные данные. Например, при удалении из базы данных записи о клиенте из связанных таблиц автоматически удаляются все записи о заказах этого клиента.[11]

Преимущества

А теперь перечислим преимущества MySQL.

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

Безопасность. Довольно высокий уровень безопасности обеспечивается благодаря базе данных mysql, создающейся при установке пакета и содержащей пять таблиц. При помощи этих таблиц можно описать, какой пользователь из какого домена с какой таблицей может работать и какие команды он может применять. Пароли, хранящиеся в базе данных, можно зашифровать при помощи встроенной в MySQL функции password().

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

Открытость кода. Благодаря этому вы сможете сами добавлять в пакет нужные функции, расширяя его функциональность так, как вам требуется. Кстати, за отдельную плату для вас это могут сделать и сами авторы MySQL. Чтобы заказать расширение MySQL у создателей пакета, просто зайдите на сайт <#"justify">·Winmysqladmin - входит в Windows-дистрибутив MySQL, имеет стандартный графический интерфейс и позволяет администрировать MySQL;

·MySqlManager - входит в Windows-дистрибутив MySQL, несет в себе клиентские функции (но ничего серьезного с ее помощью автору сделать так и не удалось);

·MySQL Administrator for Windows - более "продвинутая" утилита сторонних разработчиков. Позволяет зарегистрировать и подключаться одновременно к нескольким MySQL-серверам, создавать, удалять и изменять структуру баз данных и таблиц, создавать в таблицах ключи, писать SQL-запросы и сохранять их в файле:

·XMySQL - клиент MySQL для X Window-подобных систем. Предоставляет полный доступ к таблицам, допускает групповые вставки и удаления, имеет конструктор запросов и функции администрирования пакета. Программу можно найти по адресу <#"justify">·MySQLAdmin - главный инструмент администрирования MySQL. С его помощью вы можете создавать, уничтожать, изменять базы данных и полностью контролировать свой сервер.

·MySQLDump - утилита резервирования данных.

·MySQLAccess - позволяет изменять таблицы прав доступа и выводить их содержание в удобном для чтения виде.

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

·MySQLImport - импортирует данные из файла с разделителями в базу данных.

·MySQLShow - показывает структуру баз данных и таблиц, из которых они состоят.

Хочу заострить внимание читателя вот на чем: сейчас появились программы, работающие через CGI-интерфейс, которые предоставляют практически полный пакет услуг администрирования баз данных. Эти программы лежат на Web-серверах и представляют собой обычные CGI-скрипты. Очень часто эти скрипты размещаются в доступных для общего пользования каталогах. Опасность заключается в том, что с помощью поисковых машин любой может найти такие программы по имени файла, а потом сделать с вашей базой данных все, что его душе угодно. Эту проблему легко обойти, если размещать эти скрипты в закрытых паролем каталогах сервера. Но лучшее решение - вообще отказаться от использования таких программ на сервере.

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

SELECT title, LENGTH(title) FROM table

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

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

SELECT event FROM table WHERE time>(Unix_TIMESTAMP()-(60*60*24))

Здесь функция Unix_TIMESTAMP() вычисляет текущее время, от которого мы отнимаем одни сутки.[6]

Применение

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

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

Что же касается использования MySQL в качестве корпоративной базы данных, то здесь ситуация складывается не слишком благоприятно. Сформулируем требования к SQL-cерверу корпоративной базы данных, исходя из специфики работы сотрудников, и оценим с точки зрения этих требований MySQL.

Возможность работы нескольких пользователей. Это очевидное требование следует дополнить тем, что интенсивность использования базы данных в данном случае будет значительно выше, чем на Web-сервере. В самом деле, для сайта 20 посетителей одновременно считается большим успехом, а в случае корпоративной базы таким показателем может похвастаться даже небольшая фирма. Особое внимание надо обратить на то обстоятельство, что корпоративная база данных использует более сложные пользовательские интерфейсы, чем странички на сайте; иными словами, более интенсивно посылает запросы на сервер. В техническом плане это означает, что нужна блокировка на уровне изменяемой записи. Здесь MySQL показывает себя не лучшим образом: блокировка в нем осуществляется на уровне таблиц. Это означает, в частности, что если кто-то вводит заказ, то всем запросам (анализирующим статистику, выбирающим записи для отчета и т.п.) придется ждать, пока ввод заказа закончится. В случае корпоративной базы данных это сводит на нет даже такое преимущество MySQL, как быстродействие. [3]

1.3 PHP: Hypertext Preprocessor

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

На сегодняшний день можно отметить три наиболее популярных языка, применяемых в веб-разработке: PHP, Ruby и Python.

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

Собственно, одного HTML уже достаточно для того, чтобы делать сайты. Но это будут статические сайты, без обратной связи с пользователями. Кроме того, обновления таких статических сайтов трудоемки. Для придания сайту динамики, используются языки веб-программирования. [9]

<#"justify">Преимущества PHP:

·является свободным программным обеспечением, распространяемым под особой лицензией (PHP license);

·легок в освоении на всех этапах;

·поддерживается большим сообществом пользователей и разработчиков;

·имеет развитую поддержку баз данных;

·имеется огромное количество библиотек и расширений языка;

·может использоваться в изолированной среде;

·предлагает нативные средства организации веб-сессий, программный интерфейс расширений;

·является довольно полной заменой проприетарной среды ASP (Active Server Pages) от Microsoft;

·может быть развёрнут почти на любом сервере;

·портирован под большое количество аппаратных платформ и операционных систем.

Недостатки PHP:

·не подходит для создания десктопных приложений или системных компонентов;

·имеет слабые средства для работы с исключениями;

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

·объекты передаются по значению, что смущает многих программистов, привыкших к передаче объектов по ссылке, как это делается в большинстве других языков;

·веб-приложения, написанные на PHP, зачастую имеют проблемы с безопасностью.

Согласно Википедии <#"justify">Скрипты, написанные на языке PHP, обычно хранятся в файлах с расширением.php, которые содержат в себе смесь обычных HTML-тэгов со специальной разметкой: открывающим тэгом <?php и закрывающим ?>.[15]

2.Анализ предметной области

.1 Краткая характеристика сети Детских Клубов «Юла»

Детский Клуб «Юла» - это современный центр развития ребенка. Наш клуб предоставляет безграничные возможности для самореализации и всестороннего раскрытия личности малыша. В детском клубе ребенку должно быть комфортно, поэтому у нас очень уютно, доброжелательный персонал создают атмосферу теплоты и внимания. Первый детский клуб «Юла» открыт в октябре 2014 года по адресу г. Вологда, ул. Фрязиновская, д. 32.

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

С каждым днём всё большее количество родителей понимают, что вложение денег в образование ребёнка - беспроигрышное вложение. Сейчас большинство из них читают, что если образование дорогое - значит хорошее. Но это не всегда оказывается именно так. Образование для детей дошкольного возраста не должно стоить больших денег, т.к. каждый хочет, что бы его ребёнок был в школе отличником, но далеко не каждый родитель способен отдать на это большие деньги. Ценовая политика ДК «Юла» позволяет получить достойное дошкольное образование и категории людей среднего достатка, и даже ниже среднего.

Район «Молодежный» - это молодой застраивающийся район, основную массу населения которого составляют семьи с детьми дошкольного возраста. Как никакой другой, этот район испытывает резкую потребность в дошкольных учреждениях именно такого типа, как Детский Клуб «Юла». Еженедельно к руководству Детского Клуба поступают просьбы об открытии новых кружков. Родителей интересуют абсолютно различные сферы развития их детей от творчества до шахмат.

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

ДК «Юла» предлагает широкий спектр услуг для детей от 1 до 14 лет:

üраннее развитие с 1 года

üкомплексное развитие от 3 до 5 лет

üподготовка к школе от 5 до 7 лет

üэкспресс подготовка к школе

üизо-студия от 3 до 8 лет

üшахматы с 5 лет

üанглийский язык с 7 лет

üтворческая мастерская с 7 лет

üтеатральная студия с 7 лет

üлогопед

üпсихолог

üигровая комната

üпроведение Дней Рождений

üвыезд аниматоров

üшоу, тематические вечеринки

üувлекательные мастер-классы

üлетний лагерь

üпродленка.

Второй детский клуб «Юла» открыт по адресу г. Вологда, ул. Горького 118. Основная его деятельность - это проведение развлекательных мероприятий ( Дни Рождения, выезды аниматоров, мастер-классы, квесты и пр.).

Штат сети детских клубов «Юла» состоит из:директора первого филиала, директора второго филиала, 2 администратора, 7 педагогов и 5 аниматоров.

Организационная структура ДК «Юла» выглядит следующим образом:

Рисунок 2.1 - Организационная структура сети ДК «Юла»

.2 Обоснование необходимости разработки

Рабочее места директора Детского клуба «Юла» оборудовано ноутбуком с возможностью выхода в интернет. Специализированного программного обеспечения не установлено. Основные данные учтены с помощью пакета Microsoft Office (Microsoft Word, Excel, Powerpoint).Также большое количество информации хранится на бумажных носителях, такие как посещаемость, списки групп, данные родителей, контактная информация. Данные об исследуемой организации в сети Internet можно узнать только из группы в социальной сети ( ВКонтакте <https://vk.com/yula502451> ), из сайтов-каталогов (<#"justify">Основными целями создания АИС «ДК Юла» являются:

Замещение существующей информационной системы на полностью автоматизированную, что значительно упростит затраты времени и сил на работу с клиентами и с сотрудниками;

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

Повысит качество работы. Уменьшит риск ошибок при занесении на бумажный носитель и дальнейшую обработку;

Наглядность и структурность данных обеспечит удобство в работе с информацией;

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

Для реализации поставленных целей система должна решать следующие задачи:

ввод данных в отдельные таблицы, содержащие все данные о клиентах; сотрудниках, кружках, посещаемости, расписании;

редактирование данных в информационной системе;

возможность поиска по различным запросам (клиент-занятие, сотрудник - занятие);

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

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

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

Для этого обратимся к организации документооборота сети Детских клубов «Юла». К списку документов, которые будут объединены в разработанной базе данных, относятся следующие:

1. Журнал учета посещаемости. Это журнал, который ведется в бумажной форме и в Microsoft Excel, он выглядит следующим образом:

Рисунок 2.2 - Журнал учета посещаемости

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

. Общий список учащихся. Это документ, в котором фиксируются ФИО учеников, родителей, контактные телефоны

Рисунок 2.3 - Общий список учащихся

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

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

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

База данных сможет объединить в себе такие категории, как занятия, клиентов, педагогов, расписание, посещаемость. Благодаря чему, сеть детских клубов «Юла» сможет полностью отказатьcя от бумажных носителей и множества документов Microsoft Excel. Еще одной положительной чертой будет являться оперативность поступления информации к директору филиала. Администратор, находясь на рабочем месте в клубе, фиксирует данные о ежедневной посещаемости, оплатах, которые оперативно поступают к директору филиала.

Кроме внесения данных в базу, запланировано, что будет производиться расчет заработной платы педагогам за месяц, что значительно упростит работу директора ДК «Юла».

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

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

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

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

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

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

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

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

Исходя из вышеперечисленных причин, можно сказать, что в наше время сайт - это незаменимая вещь для маркетинга и рекламы. И такой компании, как сеть детских клубов «Юла» не стоит игнорировать Интернет в своей работе.

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

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

Обратимся теперь к третьему разделу АИС для сети детских клубов «Юла». Данный раздел называется «пользовательский». Он будет разработан специально для клиентов клуба. Каждому родителю, который заключил договор, выдается логин и пароль для входа в специальный раздел на сайте. После входа клиент видит следующую информацию: задолженность/переплату по занятиям, последние новости, домашнее задание.

Пользовательский раздел сможет упростить устную работу администратора, педагогов и директора ДК «Юла». Ежедневно к работникам поступают следующие вопросы:

Сколько необходимо заплатить за текущий месяц?

Что принести с собой на изо-студию?

Какое домашнее задание на следующий урок театральной студии?

Какие ближайшие мероприятия у Вас состоятся?

Как Вы работайте в праздничные дни?

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

2.3 Определение целевого сегмента пользователей, их функции

У каждого из разделов АИС ДК «Юла» свой целевой сегмент пользователей. Пользователями базы данных с интерфейсом являются директоры филиалов и администраторы.

К функциям администраторов относится:

занесение нового клиента;

внесение данных о родителе;

контроль посещаемости;

редактирование посещаемости, при условии предъявления подтверждающего документа об отсутствии;

внесение изменений в расписание;

редактирование цены и продолжительности занятия.

В функции директоров филиалов ДК «Юла» входят все вышеперечисленные, а также:

добавление нового занятия;

внесение данных о новом педагоге;

расчет заработной платы педагога;

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

прикрепление к каждому педагогу занятие, которое он преподает;

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

Целевым сегментов пользователей сайта является население города Вологды и Вологодского района, которое активно использует сеть Internet. Если наиболее узко изучить целевой сегмент, то в 70% это девушки в возрасте от 23 до 35 лет, проживающие в районах Заречье и Водники. К таким данным сеть детских клубов пришла после исследования внутренней документации: средний возраст, адрес проживания родителей, с которыми на протяжении последних лет были заключены договора об оказании услуг. Также было проведено исследование участников группы в социальных сетях (ВКонтакте <https://vk.com/yula502451>).

Если обратиться именно к группе в социальных сетях, то видно следующее: 10 037 человек - общее количество участников, из них 8082 женщины, что составляет 80,5%.

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

Итак, из 8082 женщин, являющихся участницами группы ДК «Юла» в социальных сетях, 6711 девушек в возрасте от 23 до 35 лет. Что составляет 83,04% от общего количества женщин, и 67, 1% от участников группы.

Рисунок 2.5 - Сегмент пользователей группы в социальных сетях

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

Третий раздел АИС ДК «Юла» - пользовательская часть. Целевая аудитория здесь ограничена четкими рамками. Это родители детей, которые занимаются у нас в клубе, с ними заключены договора на оказание услуг и выданы логины и пароли от личного кабинета. Как уже было указано ранее, в личном кабинете каждый может увидеть следующую информацию: задолженность/переплату по занятиям, последние новости, домашнее задание. Данные о логинах и паролях хранятся в базе данных и заполняются директором филиала.

3.Проектная часть разработки

Для разработки данного проекта использовались следующие средства:

)язык программирования HTML;

2)язык программирования PHP;

3)CSS.

В качестве среды разработки использовался Denwer (с поддержкой Apach, PHP, MySQL), для тестирования использовались браузеры Mozilla Firefox, Google Chrome, Яндекс.Браузер.

3.1 Проектирование структуры базы данных

Для реализации базы данных мною выбрана СУБД MySQL. Web-интерфейс для работы с базой данных реализован с помощью серверного языка сценариев PHP Hypertext Preprocessor. Выполнено содержательное наполнение базы и показаны примеры работы с базой данных. Создание любой базы данных начинается с выбора структуры базы данных. В нашем случае удобнее использовать одиннадцать таблиц с данными. Для более подробного описание структуры базы данных «ДК Юла» обратимся к физической и логической модели.

Логический уровень - это абстрактный взгляд на данные, на нем данные представляются так, как выглядят в реальном мире, и могут называться так, как они называются в реальном мире, например "Клиент", "Занятие" или "Преподаватели". Объекты модели, представляемые на логическом уровне, называются сущностями и атрибутами. Логическая модель данных может быть построена на основе другой логической модели, например на основе модели процессов. Логическая модель данных является универсальной и никак не связана с конкретной реализацией СУБД.

Физическая модель данных, напротив, зависит от конкретной СУБД, фактически являясь отображением системного каталога. В физической модели содержится информация о всех объектах БД. Поскольку стандартов на объекты БД не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели могут соответствовать несколько разных физических моделей. Если в логической модели не имеет значения, какой конкретно тип данных имеет атрибут, то в физической модели важно описать всю информацию о конкретных физических объектах - таблицах, колонках, индексах, процедурах и т. д. Разделение модели данных на логические и физические позволяет решить множество важных задач.[13]

Физическая схема базы данных.

Выделим следующие основные сущности предметной области и их атрибуты.

. Сущность client (клиент) необходима для хранения информации о клиентах:

·id_student: int(8) (суррогатный ключ)

·fio: varchar(100) (ФИО клиента)

·birthDay: date (Дата рождения)

·id_parent: int(8) (суррогатный ключ)

2. Сущность lessons (занятия) необходима для хранения информации о занятиях:

·id_lesson: int(8) (суррогатный ключ)

·name: varchar(100) (название занятия)

·price: int(5) (стоимость абонемента за месяц)

·time: int(4) (продолжительность занятия)

3. Сущность parents (родители) необходима для хранения информации о родителях:

·id_parent: int(8) (суррогатный ключ)

·fio: varchar(50) (ФИО родителя)

·phone: varchar(11) (телефон родителя)

·address: varchar(100) (адрес родителя)

·passport: varchar(100) (паспортные данные родителя)

4. Сущность schedule (расписание) необходима для хранения информации о расписании занятий:

·id_schedule: int(8) (суррогатный ключ)

·id_lesson: int(8) (суррогатный ключ)

·day_week: varchar(1) (день недели 1,2…7)

·hour: time (время начала занятия)

5. Сущность teacher (учитель) необходима для хранения информации об учителях:

·id_teacher: int(8) (суррогатный ключ)

·fio: varchar(100) (ФИО учителя)

·phone: varchar(11) (телефон учителя)

6. Сущность status (статус) необходима для хранения информации о статусах посещаемости занятий:

·id_status: int(8) (суррогатный ключ)

·name: varchar(20) (наименование статуса посещаемости)

7. Сущность attendance (посещаемость) необходима для хранения информации о посещаемости клиентов:

·id_lesson: int(8) (суррогатный ключ)

·id_student: int(8) (суррогатный ключ)

·date: datetime (дата и время посещения занятия)

·id_status: int(8) (суррогатный ключ)

8. Сущности клиента и занятия объединены связкой ass_clientlessons <#"justify">·id_student: int(8) (суррогатный ключ)

·id_lesson: int(8) (суррогатный ключ)

·date_start: date (дата начала обучения)

·date_finish:date (дата окончания обучения)

9. Сущности учителя и занятия объединены связкой ass_teacherlesson <#"justify">·id_teacher: int(8) (суррогатный ключ)

·id_lesson: int(8) (суррогатный ключ)

10. Сущность adminra (администратор) необходима для регистрации администраторов

·cod_a: int(2) (суррогатный ключ)

· nik: varchar(20) (логин администратора)

· password: varchar(20) (пароль для авторизации с правами администратора)

11. Сущность authentication (аутентификация) необходима для регистрации родителей на сайте

·id_parent: int(8) (суррогатный ключ)

·login: varchar(15) (логин родителя)

·password: varchar(15) (пароль родителя)

Логическая модель базы данных.

Общая схема базы данных выглядит следующим образом:

Рисунок 3.1 - Логическая модель базы данных

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

Первая таблица, с которой я начала создание базы данных «junior_club» - это родители (parents). Именно с родителями мы заключаем договор на оказание услуг, а уже затем каждого из поступивших клиентов заяисляем в определенные группы.

Рисунок 3.2 - Таблица «parents»

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

Рисунок 3.3 - Cвязь таблиц «parents» и «client»

В таблице client кроме первичного ключа, ФИО клиента и даты рождения, также указывается номер родителя(id_parents), таким образом, появляется связь между двумя таблицами. Связь между таблицами client и parents называется один ко многим.

Рисунок 3.4 - Таблица «client»

Следующая таблица-справочник - это teacher (учителя). Каждому учителю присваивается уникальный номер, указывается ФИО и телефон.

Рисунок 3.5 - Таблица «teacher»

Далее заполняем таблицу-справочник - это lessons (занятия). Каждому занятию присваивается уникальный номер, указывается стоимость месячного абонемента и продолжительность занятий.

Рисунок 3.6 - Таблица «lessons»

При заполнение следующей таблицы «lessons» возникает связь «многие ко многим». При такой связи одной записи в таблице А могут соответствовать несколько записей в таблице В, а одной записи в таблице В - несколько записей в таблице А. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит, по крайней мере, из двух полей, являющихся полями внешнего ключа в таблицах А и В.

Именно так происходит и у нас. Связующей таблицей между «lessons» и «teacher» является таблица «ass_teacherlesson <#"justify">Рисунок 3.8 - Связь таблиц «teacher» и «lessons»

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

Связующей таблицей между «lessons» и «client» является таблица «ass_clientlesson <#"justify">Далее происходит заполнение таблицы посещаемость (attendance). Полями данной таблицы являются три первичных ключа, таких таблиц, как занятие, клиент и статус. Также присутствует поле даты и времени начала проведения занятия.

Рисунок 3.13 - Таблица «attendance»

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

Для рассмотрения данных связей сначала ознакомимся с полями таблицы status.


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

Отобразим первую связь «многие ко многим»:

Рисунок 3.15 - Связь «многие ко многим»

Данная связь говорит о том, что одному занятию может соответствовать до трех статусов, а одному статусу - несколько уроков.

Вторая связь « многие ко многим» выглядит следующим образом:

Рисунок 3.16 - Связь «многие ко многим»

Данная связь говорит о том, что одному клиенту может соответствовать до трех статусов, а одному статусу - множество клиентов.

Осталось рассмотреть две таблицы - аутентификаторы.

Первая из которых имеет название «adminra», ей присвоены следующие поля: номер в списке(cod_a), логин администратора (nik), пароль для входа в раздел администрирования (password). Для примера была создана одна строка, которая позволяет войти в раздел администрирование на сайте.

Рисунок 3.17 - Таблица «adminra»

Второй таблицей аутентификации является «authentication <#"justify">3.2 Реализация интерфейса администрирования

База данных для детского клуба «Юла» успешно создана и теперь необходимо перейти к созданию приложения (интерфейса) администратора. С помощью приложения для администратора должны производиться следующие действия:

занесение нового клиента;

создание нового родителя;

добавление нового занятия;

добавление нового педагога;

расчет зарплаты педагога за месяц;

добавление и редактирование посещаемости;

обзор и возможность редактирования расписания;

осуществляться выход из раздела администрирования.

Блок администрирования будет находиться на сайте сети детских клубов «Юла», реализация которого будет описана в следующей главе.

Главный коневой файл называется index.pxp, он отвечает за отображение первой страницы сайта, входа для администраторов и входа для родителей.

На самом сайте создана специальная кнопка для перехода в окно запроса логина и пароля

Рисунок 3.20 - Кнопка «Администрирование»

При нажатии на кнопку «администрирование» переходим на следующую страницу:

Рисунок 3.21 - Вход в личный кабинет

Здесь программа запрашивает у нас логии и пароль, которые хранятся в ранее созданной базе данных «junior club». Скриншот запроса сделан с адресной строкой для того, чтобы было видно в каком именно файле хранится код данной страницы.

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

Т.е. первый файл, который создан - это login.php, он отвечает за проверку логина и пароля при входе.[см. Приложение]

Когда мы переходим на форму ввода администратором пароля и логина выполняется строка:

$action = $_GET['action'].

Этот параметр пустой, поэтому в конструкции if у нас верно первое условие: if (!isset($action)) - это верно при открытии страницы с формой ввода логина и пароля.

Так как это условие верно,то выполняется функция show_form()/

Далее при нажатии кнопки Login верным становится условие в else:

($action == 'do_login')

В эти двух строках мы получаем значения введенные на форме

·$nik = $_POST['nik'];

·$password = $_POST['password'];

и они оказываются у нас в переменных $nik и $password (При обычном нашем входе $nik= 'admin' и $password = 'admin')

Затем выполняется функция validate, в которую подставляются наши параметры. В этой функции мы соединяемся с базой и узнаем есть ли такой пользователь и пароль. (mysql_query)

После проверки всех запросов мы попадаем на файл index.php в папке admin, иначе(else) видим ошибку.

Перед нами появляется основное меню страницы формы администрирования, которое выглядит следующим образом

Рисунок 3.22 - Меню администрирования

В данном коде часто используется атрибут href, который задает значение адреса документа, на который указывает ссылка. У нас указаны ссылки на 6 файлов:

·client.php (клиенты)

·lessons.php (занятия)

·teachers.php (преподаватели)

·attendance.php (посещаемость)

·shedule.php (расписание)

·logout.php (выход)

Рассмотрим все кнопки меню администрирования более подробно.

1.Ссылка «Клиенты» открывает следующую страницу:

Рисунок 3.23 - Список клиентов

Данный раздел помогает нам найти любого клиента по ФИО, добавить нового клиента или редактировать уже имеющегося.

Поиск клиентов осуществляется следующим образом:

Рисунок 3.24 - Поиск клиента

В файле client.php прописан весь код данного раздела администрирования [см. Приложение].

После нажатия кнопки поиск, происходи перезагрузка формы, за это отвечает функция function get_users.

Сначала мы запоминаем то, что лежит в ячейке поиска в переменную $searchClient.

$searchClient = $params['searchClient']

Затем проверяем, что она не пустая ($searchClient),

если она не пустая, то в формируется следующий запрос, где поле fio должно содержать то, что лежит в переменной $searchClient(upper(fio) like upper('%$searchClient%')), upper - означает что как бы клиент не ввел данныке «СМИРНОВА» или «сМирНова», мы найдем клиента

$result = mysql_query("SELECT id_student, fio, birthday FROM client where upper(fio) like upper('%$searchClient%') ORDER BY fio DESC ");} else {

иначе если в ячейке с поиском пустое значение, то выводим всю таблицу client без условий

$result = mysql_query("SELECT id_student, fio, birthday FROM client ORDER BY fio DESC ").

order by fio desc - это данные в запросе сортируются по фамилии от А до Я

Далее, когда наш запрос лежит в переменной $result необходимо выполнить его в базе данных, за это отвечают строки

while ($row=mysql_fetch_array($result)){

$html.= "<li><a href='/admin/client.php?action =edit&id_student= ".$row['id_student']." '> ".$row['fio'].": ".$row['birthday']. "</a>&nbsp; <a href='/admin/client.php?action=delete&id=".$row['id_student']."'></a></li>";},

причем мы видим, что каждый клиент это отдельная ссылка.

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

Рисунок 3.25 - Добавление клиента

Также в данном разделе доступно редактирование существующих клиентов. Для этого необходимо выбрать нужного ребенка (нажать двойным щелчком) и в учетной записи доступно для изменения ФИО ребенка, родителя, дата рождения. После внесения всех изменений нажать на кнопку «ок» и запись будет сохранена.

Рисунок 3.26 - Редактирование клиента

За функцию редактирования нового клиента отвечает function edit. Код данной функции выглядит следующим образом:

2.Ссылка «Занятия» открывает следующую страницу:

Рисунок 3.27 - Список занятий

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

Поиск клиентов осуществляется следующим образом:

Рисунок 3.28 - Поиск занятий

В файле lessons.php прописан весь код данного раздела администрирования [см. Приложение]

После нажатия кнопки поиск, происходи перезагрузка формы, за это отвечает функция function get_lessons.

Сначала мы запоминаем то, что лежит в ячейке поиска в переменную $searchLesson.

$searchLesson = $params['searchLesson']

Затем проверяем, что она не пустая ($searchLesson),

если она не пустая, то в формируется следующий запрос, где поле name должно содержать то, что лежит в переменной $searchLesson(upper(name) like upper('%$searchLesson%')), upper - означает, что как бы клиент не ввел данные «ШАХМАТЫ» или «шАхмаТЫ», мы найдем занятие.

$result = mysql_query("SELECT id_lesson, name, price, time FROM lessons where upper(name) like upper('%$searchLesson%') ORDER BY name DESC "); else {

иначе если в ячейке с поиском пустое значение, то выводим всю таблицу lessons без условий

$result = mysql_query("SELECT id_lesson, name, price, time FROM lessons ORDER BY name DESC ");} by name desc - это данные в запросе сортируются по названию от А до Я

Далее, когда наш запрос лежит в переменной $result необходимо выполнить его в базе данных, за это отвечают строки

while ($row=mysql_fetch_array($result)){

$html.= "<li><a href= '/admin/lessons.php?action=edit&id_lesson =".$row ['id_lesson']. "'>".$row['name']."</a>&nbsp; <a href ='/admin/ lessons.php ?action =delete&id_lesson=".$row['id_lesson']."'></a></li>";

причем мы видим, что каждое занятие это отдельная ссылка.

Следующей функцией данного раздела является добавление нового кружка. Форма внесения данных о новом занятии выглядит следующим образом:

Рисунок 3.29 -Добавление занятия

Также в данном разделе доступно редактирование существующих занятий.

Рисунок 3.30 - Редактирование занятия

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

.Ссылка «Преподаватели» открывает следующую страницу:

Рисунок 3.31 - Список преподавателей

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

Поиск клиентов осуществляется следующим образом:

Рисунок 3.32 - Поиск преподавателей

В файле teachers.php прописан весь код данного раздела администрирования [см. Приложение]

После нажатия кнопки поиск, происходи перезагрузка формы, за это отвечает функция function get_teachers.

Сначала мы запоминаем то, что лежит в ячейке поиска в переменную $searchTeacher.

$searchTeacher = $params['searchTeacher']

Затем проверяем, что она не пустая ($searchTeacher),

если она не пустая, то в формируется следующий запрос, где поле name должно содержать то, что лежит в переменной $searchTeacher(upper(fio) like upper('%$searchTeacher%')), upper - означает, что как бы клиент не ввел данные «СМИРНОВА» или «СМирнОва», мы найдем преподавателя.

$result = mysql_query("SELECT id_teacher, fio, phone FROM teacher where upper(fio) like upper('%$searchTeacher%') ORDER BY fio DESC ");} else

иначе если в ячейке с поиском пустое значение, то выводим всю таблицу teachers без условий

$result = mysql_query("SELECT id_teacher, fio, phone FROM teacher ORDER BY fio DESC ")} by fio desc - это данные в запросе сортируются по фамилии от А до Я

Далее, когда наш запрос лежит в переменной $result необходимо выполнить его в базе данных, за это отвечают строки

while ($row=mysql_fetch_array($result)){

$html.= "<li><a href='/admin /teachers.php?action=edit&id_teache r=".$row ['id_teacher']."'>". $row['fio']. "</a>&nbsp; <a href= '/admin/ teachers.php?action =delete&id _teacher=".$row['id_teacher']."'></a></li>";}

причем мы видим, что каждый преподаватель это отдельная ссылка.

Следующей функцией данного раздела является добавление нового преподавателя. Форма внесения данных о новом занятии выглядит следующим образом:

Рисунок 3.33 - Добавление преподавателя

Для администратора в данном разделе доступно внесения ФИО педагога и его контактный телефон.

За функцию добавления нового клиента отвечает function add. Код данной функции выглядит следующим образом:

Также в данном разделе доступно редактирование занесенных преподавателей:

Рисунок 3.34 - Редактирование преподавателя

Для этого необходимо выбрать преподавателя и в учетной записи внести изменения (ФИО, телефон). После окончания редактирования нажать на кнопку «ок» и запись будет сохранена.

В учетной записи преподавателя находится еще две кнопки(ссылки):

посмотреть все занятия преподавателя;

добавить новое занятие преподавателю.

При нажатии на первую кнопку, выходит следующее окно:

Рисунок 3.35 - Просмотр занятий педагога

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

При нажатии на вторую кнопку, администратору открывается следующее окно:

Рисунок 3.36 - Добавление нового занятия педагогу

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

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

Рисунок 3.37 - Расчет заработной платы преподавателя

.Ссылка «Посещаемость» открывает следующую страницу:

Рисунок 3.38 - Ссылки в меню посещаемости

В данном разделе две основные функции: редактирование и добавление посещаемости.

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

Рисунок 3.39 - Добавление посещаемости

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

Окно редактирования данных выглядит следующим образом.:

Рисунок 3.40 - Редактирование посещаемости

Также хотелось бы обратить внимание на то, что в обеих функциях присутствует функция поиска учеников.

После нажатия кнопки поиск, происходи перезагрузка формы, за это отвечает функция function get_ attendance.

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

Рисунок 3.41 - Фрагмент таблицы «расписание»

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

После нажатия на «+» в любой графе таблицы, выходит окно добавления нового занятия в расписание:

Рисунок 3.42 - Добавление занятия в расписание

3.3Разработка интерфейса web-сайта

Для разработки данного сайта использовались следующие средства: язык программирования HTML, PHP, JavaScript таблицы стилей CSS.

Файл главной страницы сайта называется index.php. Список файлов, которые необходимы для написания сайта-визитки сети детских клубов «Юла»: birthday.php, news.php, section.php,fotogalery.php,style.css.

Верхняя часть нашего сайта выглядит следующим образом:

Рисунок 3.43 - Верхняя часть сайта

Здесь размещен:

вход для родителей ( с введением логина и пароля);

вход для администраторов (ссылка администрирование);

логотип сети детских клубов «Юла»;

контактные данные;

вкладок с информацией (о клубе, Дни рождения, кружки, фотогалерея, новости).

Программный код всех этих данных размещен во всех пяти файлах, которые отвечают за информационные вкладки (index.php, birthday.php, news.php, section.php,fotogalery.php)

Здесь указаны ссылки на следующие файлы:

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

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

admin/index.php - при входе по ссылке «администрирование» мы попадем в меню администраторов, о котором было описано ранее.

В файле style.css объявлен один класс sidebar по всем данным входа в личные кабинеты:


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



Весь список заключается в теги <ul>...</ul>, а элементы списка это <li>

Меню сайта -это тоже список только горизонтальный, все цвета и рамки которого находятся в файле style.css:


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

Далее по файлу в теге с id=content находится наш текст:

<div id="content">

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

Для списка объявлен класс rounded, расположенный в файле style.css. При просмотре работает стиль rounded, при наведении на каждый элемент -.rounded a:hover. За эффект кручения цифр и затемнения ссылок отвечает «befor».


Также на сайте еще созданы 4 страницы:

Дни Рождения [Приложение];

Кружки[Приложение];

Фотогалерея[Приложение];

Новости[Приложение].

Код данных страниц пишется по аналогии с первой, только здесь еще присутствуют вставки фотографий.

Для добавления фотографий в файле необходимо прописать следующий код:



Все классы описаны в файле style.css:


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

.4 Разработка пользовательской части

Вход в пользовательский раздел размещен в правом верхнем углу сайта (строка ввода логина и пароля родителя). Эти данные все клиенты получают в момент заключения договора с ДК «Юла». Информация по всем родителям хранится в базе данных в таблице «authentication».

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

Рисунок 3.46 - Вход в личный кабинет

В файле index.php прописан код входа в личный кабинет:


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

При нажатии кнопки «Войти»,пользователь перенаправляется на файл login.php, который лежит в корне папки www.

По введенным значениям в поле логин и пароль( они лежат в переменных $login и $password), формируется запрос к базе(select)

"SELECT a.login, p.fio, p.id_parent from authentication a join parents p on a.id_parent = p.id_parent where a.login ='$login' and a.password='$password'";

В файле login.php строка

$is_auth = validate_user($login, $password)

присваивает переменной is_auth значение true(правда) или false(ложь).

Validate_user - это функция проверки логина и пароля. Если такого логина и пароля нет в базе данных, то значению присваивается «false». Для пользователя появляется на экране следующее окно:

Рисунок 3.47 - Окно ошибки авторизации

Если введены правильные учетные данные, то мы переходим к файлу index.php, который расположен в папке user.

header('Location: /user/index.php');}

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

расписание;

посмотреть расходы за предыдущий и текущий месяц;

домашнее задание.

Рисунок 3.48 - Личный кабинет пользователя

В файле /user/index.php прописан код всех вышеперечисленных ссылок:

<div>

<ul>

<li><a href="/user/shedule.php">Расписание</a><br></li>

<li><a href="/user/cost.php">Посмотреть расходы за предыдущий и текущий месяца</a><br></li>

<li><a href="/user/homework.php">Домашнее задание</a></li>

</ul></div>

Каждый пункт меню это отдельный файл, все они лежат в папке user.

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

В файле shedule.php выводим расписание, функция. которая рисует расписание называется get_shedule

Вторая ссылка «посмотреть расходы за текущий и предыдущий месяц», на сайте для родителей открывает следующую страницу[рис.3.50]

В папке user создан файл cost.php, который формирует и выводит запрос родителей об оплате за кружки.

Функция function get_all_cost() формирует запрос нахождения суммы по всем детям родителя, который зашел в личный кабинет.

function get_all_cost()

$result = mysql_query("SELECT sum(l.price) as price FROM attendance a client c on a.id_student = c.id_studentlessons l on l.id_lesson = a.id_lessona.dateDATE_SUB(DATE_FORMAT(sysdate(), '%Y.%m.%d'),INTERVAL DAYOFMONTH(sysdate())-1 DAY) and sysdate()a.id_status in (1, 5) and c.id_parent = ". $_SESSION['id_parent'] );

while ($row=mysql_fetch_array($result)){

$all_cost_now = "".$row['price']."";}

После выполнения данного запроса к базе, значение «price» помещается в переменную $all_cost_now, и выводится на странице следующим образом:

Общая сумма оплаты за текущий месяц = <?=$all_cost_now?>.

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

Также есть функции get_table и get_table_prev, они отвечают за вывод таблиц с детализацией.

Заключение

В ходе дипломной проекта была разработана автоматизированная информационная системы сети Детских Клубов «Юла» на основе базы данных MySQL.

В рамках дипломной работы все поставленные задачи достигнуты:

проанализирована предметная область сети Детских клубов «Юла»;

разработана база данных в исследуемой предметной области;

создан интерфейс базы данных;

разработан информационный сайт-визитка;

- создан пользовательский раздел на сайте для клиентов ДК «Юла».

Для реализации базы данных мною выбрана СУБД MySQL, программная среда Denwer, предназначенная для разработки web-приложений, серверный язык сценариев PHP Hypertext Preprocessor. Выполнено содержательное наполнение базы и показаны примеры работы с базой данных. Для разработки сайта ДК «Юла» использовались следующие средства: язык программирования HTML, PHP, JavaScript таблицы стилей CSS.

В сети детских клубов «Юла» большое количество информации хранится на бумажных носителях, такие как посещаемость, списки групп, данные родителей, контактная информация, частично данные учтены с помощью пакета Microsoft Office (Microsoft Word, Excel, Powerpoint) - все это не только замедляет и затрудняет работу руководства клуба, но и увеличивает вероятность совершения ошибки при переносе данных с одного источника на другой. Все это может негативно сказаться на работе данной организации. Возможна потеря не только потенциальных, но и реальных клиентов. В связи с чем, руководство пришло к решению о незамедлительной автоматизации рабочего места директора и администраторов детского клуба «Юла».

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

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

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

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

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

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

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

1. Будилов В.А. Практические занятия по PHP5. - СПб: Наука и Техника, 2014. - 352 с.

. Боуман Дж., Эмерсон С., Дарновски М. Практическое руководство по SQL. - Пер с англ. - СПб.: БХВ-Петербург, 2015. - 152с.

. Веллинг Л., Томсон Л. MySQL. Учебное пособие.: Пер. с англ. - М.: Издательский дом "Вильямс", 2015. - 304 с.

. Гольцман В.MySQL 5.0. Библиотека программиста: Питер; Санкт Петербург; 2013. - 253 с.

5. Гудман Д. JavaScript и DHTML. Сборник рецептов. Для профессионалов. - СПб.: Питер, 2014. - 523 с.

.Дворжецкий А.В. SQL: Structured Query Language (Структурированный язык запросов). - М.: Познавательная книга плюс, 2014. - 416 с.

. Едомский Ю.Е. Техника web-дизайна для студента / Ю.Е. Едомский. - СПб.: БХВ-Петербург, 2012. - 392 с.

. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2013. - 304 с.:ил.

. Колисниченко Д.Н. Самоучитель PHP5. - СПб.: Наука и Техника, 2014. - 576 с.: ил.

. Конноли Г., Бегг К. Базы данных. Проектирование, реализация, сопровождение. Теория и практика. - 3-е изд.: Пер. с англ. - М.: Издательский дом "Вильямс", 2013. - 345с.

. Кузнецов М.А, Симдянов И.В. MySQL 5: Санкт-Петербург; 2010 1024

. МакДональд М. Создание Wеb-сайтов. Основное руководство. Пер. с англ. - М.: Эксмо, 2015. - 768 с.

. Маклаков С.В. ERWin и BPWin. CASE-средства разработки информационных систем / С.В. Маклаков. - М: ДИАЛОГ МИФИ, 2013. - 338с.

. Петюшкин А.В. HTML. Экспресс-курс. - СПб.: БХВ-Петербург, 2013. - 256 с.: ил.

.Томсон Л., Веллинг Л. Разработка Web-приложений на PHP и MySql. ДиаСофтЮП, 2015. - 672с.

Похожие работы на - Разработка автоматизированного рабочего места директора сети детских клубов Юла

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!