Разработка автоматизированного рабочего места для спорткомплекса
1. Описание предметной области автоматизации расписания для спорткомплекса
1.1 Документы предметной области
В своей деятельности спорткомплекс опирается на следующие документы и данные: таблицы расписания, услуги, данные о помещениях, тренерах, посетителях и группах на которые подразделяются посетители. Таблица расписания выводит индивидуальную информацию для каждого элемента подразделения. Для помещений расписание содержит информацию о том, в какой день недели и в какое время будет проходить занятие, а также, какой тренер, и какая группа будут заниматься в помещении. Для групп расписание содержит информацию о дне недели, времени, виде занятий, номере помещения и тренере. Аналогично выводится расписание, для тренеров включающее в себя номер помещения и название группы.
Каталог помещений содержит информацию о названии помещения, виде занятия и месторасположении данного помещения. Данные о тренерах содержат информацию, о Ф.И.О. тренера, адресе проживания, телефоне и возрасте тренера. Данные о группах содержат информацию, о названии группы, специализации и посетителях которые относятся к определенной группе.
1.2 Описание предметной области
Главным звеном в данной информационной системе является расписание, на основе которого формируется система учета свободного времени и учет занятости для помещений и тренеров. Так же важной частью системы, является возможность добавления новой информации для подразделений, на основе которой строиться само расписание.
Функционирование автоматизированной системы спорткомплекса можно разделить на три части. Первая часть это возможность добавления новой и редактирования старой информации о тренерах, помещениях, группах и посетителях. Вторая часть это формирование и вывод расписания. Третья часть строиться на основе первой и второй, в ней выводится информация о свободном времени тренеров и помещений, отчеты по загрузкам тренеров и помещений, количестве человек в группе, виде занятий. Система предназначена для добавления и работы только со штатными тренерами. Нет возможности формирования расписания для тренеров с почасовым режимом работы.
2. Постановка задачи
2.1 Организационно-экономическая сущность задачи
Администрация спорткомплекса заказала разработку информационной системы для организации своей работы. Система предназначена для обработки данных о времени проведения занятий, о дне недели, кол-во человек в группе, вид занятий, учет помещений, фамилии тренеров.
Система должна выдавать отчеты по запросу менеджера спорткомплекса: расписание, учет свободного времени, отчеты по загрузкам тренера и помещений.
Менеджер рассматривает списки всех имеющихся групп, тренеров, и помещений. Имеются списки, отображающие свободное время для помещений и тренеров. Эта информация необходима для формирования расписания. Расписание для помещений содержит информацию о дне недели, времени начала и окончания занятия, виде занятий, группе, у которой будет проводиться занятие и тренере, который будет проводить занятие. Аналогично формируется расписание для групп и тренеров. Расписание для групп содержит информацию о номере помещения и Ф.И.О. тренера. В расписание тренеров входит информация о номере помещения и названии группы.
Менеджер имеет возможность добавлять тренера, группу, помещение, а также регистрировать посетителей и определять к какой группе они относятся.
2.2 Входная информация
Описание входной информации:
Данные о тренере (номер тренера, Ф.И.О., адрес, телефон, возраст);
Данные о помещении (номер помещения, название помещения, вид проводимых занятий, этаж);
Данные о группе (номер группы, название группы, специализация);
Данные о посетителях (номер посетителя, Ф.И.О., название группы);
Расписание (номер времени, номер тренера, номер помещения, номер группы).
2.3 Выходная информация
Описание выходной информации:
Таблица расписания для помещений (день недели, время, тренер, вид спортивного занятия, группа);
Таблица расписания для групп (день недели, время, название помещения, тренер);
Таблица расписания тренеров (день недели, время, номер помещения, группа);
Таблица учета свободного времени для помещений и тренеров (день недели, время);
Отчет по помещениям (название помещения, количество пар за неделю, вид занятия);
Отчет по группам (название группы, количество человек в группе);
Отчет по тренерам (Ф.И.О., количество пар за неделю, время работы за неделю);
Информационная таблица обо всех помещениях (название помещения, вид занятия, этаж);
Информационная таблица обо всех группа (название группы, специализация);
Информационная таблица обо всех тренерах (Ф.И.О., адрес, телефон, возраст);
Информационная таблица обо всех посетителях (Ф.И.О., группа).
3. Информационное обеспечение задачи
3.1 Информационный анализ предметной области и выделение информационных объектов задачи
При анализе предметной области были выделены следующие наиболее важные объекты и их свойства.
Помещение (код помещения, название, вид занятий, этаж). Объект содержит информацию о помещениях, в которых проводятся занятия.
Тренер (код тренера, Ф.И.О., адрес, телефон, возраст). Объект содержит информацию о тренерах, работающих в спорткомплексе.
Группа (код группы, название, специализация). Объект содержит информацию обо всех группах, которые занимаются в спорткомплексе.
Посетитель (код посетителя, код группы, Ф.И.О.). Объект содержит информацию обо всех посетителях, которые подразделены на группы.
День недели (код дня, день недели). Объект хранит все дни недели, в которые работает спорткомплекс.
Время (код времени, время). Объект хранит информацию о времени начала и окончания занятий.
3.2 Определение логической структуры реляционной базы данных (ERD-модель)
Для системы спорткомплекса были выделены следующие сущности: «Помещение», «Тренер», «Группа», «Посетитель», «Расписание», «День и время», «День проведения занятий» и «Время проведения занятий». Рассмотрим наглядно взаимодействие этих сущностей. Для этого построим ERD-модель данных (Рисунок 1).
Рисунок 1 – ERD-модель
Связи между сущностями:
Сущность «группа» связана (М:М) с «посетителями», один посетитель может находиться в нескольких группах.
Сущность «группа» связана (1:М) с «расписанием» значит для определенной группы может быть сформировано расписание с разными тренерами, помещениями и в разные дни недели и время.
Сущность «тренер» связана (1:М) с «расписанием» значит для определенного тренера может быть сформировано расписание с разными группами, помещениями, днями недели и временем.
Сущность «помещение» связана (1:М) с «расписанием» значит, в определенном помещении могут заниматься множество групп с различными тренерами, и в разные дни недели и время.
Сущности «день проведения занятий» и «время проведения занятий» связаны (1:M) c сущностью «день и время», каждый рабочий день недели содержит все промежутки времени начала и окончания занятий.
Сущность «день и время» связано (1:М) с «расписанием», расписание содержит разные дни недели и разное время занятий проводимых в спорткомплексе для всех подразделений.
Сущность «группа» связана (1:М) с сущностью «вид спортивного занятия», группа занимается определенным видом спорта.
Анализируя каждую сущность и связи между ними, создадим необходимые таблицы базы данных (Таблица 1).
Таблица 1 – Таблицы базы данных
Таблица |
Описание |
Имя поля |
Тип и длина |
Описание |
Auditorium |
Помещения |
Id_auditorium |
Autoincrement |
Ключевое поле |
Name |
Varchar (10) |
Название |
||
type_occupation |
Varchar (15) |
Вид занятий |
||
Floor |
Int (5) |
Этаж |
||
Capacity |
Int(5) |
Вместимость |
||
Group_off_student |
Группы |
Id_group |
Autoincrement |
Ключевое поле |
Name |
Varchar (10) |
Название |
||
Id_sports |
Int(11) |
Код вида |
||
Мax_kol |
Int(5) |
Количество |
||
Teacher |
Тренеры |
Id_teacher |
Autoincrement |
Ключевое поле |
Name |
Varchar (15) |
Имя |
||
Surname |
Varchar (15) |
Фамилия |
||
Patronymic_name |
Varchar (15) |
Отчество |
||
Address |
Varchar (30) |
Адрес |
||
Telephone |
Int (15) |
Телефон |
||
Age |
Varchar (10) |
Возраст |
||
Vid sporta |
Varchar (15) |
Вид занятий |
||
Student |
Посетители |
Id_student |
Autoincrement |
Ключевое поле |
Id_group |
Int (11) |
Id группы |
||
Name |
Varchar (15) |
Имя |
||
Surname |
Varchar (15) |
Фамилия |
||
Patronymic_name |
Varchar (15) |
Отчество |
||
Raspisanie |
Расписание |
Id_raspisanie |
Autoincrement |
Ключевое поле |
Id_timeweekday |
Int (11) |
Id дата и время |
||
Id_auditorium |
Int (11) |
Id помещения |
||
Id_teacher |
Int (11) |
Id тренера |
||
Id_group |
Int (11) |
Id группы |
||
Weekday |
Дни недели |
Id_weekday |
Autoincrement |
Ключевое поле |
Weekday |
Varchar (11) |
День недели |
||
Time |
Время |
Id_time |
Autoincrement |
Ключевое поле |
time |
Varchar (20) |
Время |
||
Time_off_weekday |
Время дня недели |
Id_timeweekday |
Autoincrement |
Ключевое поле |
Id_weekday |
Int (11) |
Id дня недели |
||
Id_time |
Int (11) |
Id времени |
||
Sports |
Виды спора |
Id_sports |
Autoincrement |
Ключевое поле |
Sports |
Varchar (20) |
Вид занятия |
4. Алгоритмы решения задачи
4.1 Обобщенный алгоритм решения задачи и его декомпозиция на модули
Connect.php – модуль соединения с БД.
Find.php – модуль осуществляющий поиск данных.
Index.php – модуль включающий в себя основной интерфейс и вызов остальных модулей и функций.
Function.php – модуль содержащий следующие функции:
Данные о тренере (номер тренера, Ф.И.О., адрес, телефон, возраст);
Function rasp_trener – выводит расписание для тренера;
Function rasp_group – выводит расписание для группы;
Function add_raspisanie – добавляет расписание для любого из подразделений, в зависимости от параметров;
Function edit – редактирует расписание для любого из подразделений;
Function sw_time – выводит таблицу учета свободного времени;
Function spisok – формирует поле со списком для каждого подразделения.
View_info.php – модуль формирующий отчеты и формы для необходимого подразделения.
4.2 Классификация и реализация используемых запросов
При написании курсовой работы были использованы следующие классы SQL запросов:
запросы на создание таблиц БД;
запросы на выборку данных со всевозможными условиями;
запросы на редактирования записей в таблицах;
запросы на удаление записей из таблиц;
запросы на добавление записей в таблицы.
Все запросы, написанные для реализации данной информационной системы, не имеют общего места расположения, а используются повсеместно в разных частях исходного кода (во всех модулях) по мере необходимости.
Запросы на создание таблиц БД.
SQL запрос на создание таблицы time (Время).
CREATE TABLE `time` (`id_time` INT(11) NOT NULL AUTO_INCREMENT,`time` VARCHAR(20) NOT NULL, PRIMARY KEY (`id_time`));
SQL запрос на создание таблицы weekday (День недели).
CREATE TABLE `weekday` (`id_weekday` INT(11) NOT NULL AUTO_INCREMENT,`weekday` VARCHAR(11) NOT NULL, PRIMARY KEY (`id_weekday`));
SQL запрос на создание таблицы time_off_weekday (Время дня недели).
CREATE TABLE `time_off_weekday` (`id_timeweekday` INT(11) NOT NULL AUTO_INCREMENT,`id_time` INT(11) NOT NULL,`id_weekday` INT(11) NOT NULL, PRIMARY KEY (`id_timeweekday`));
SQL запрос на создание таблицы auditorium (Помещения).
CREATE TABLE `auditorium` (`id_auditorium` INT(11) NOT NULL AUTO_INCREMENT,`number_auditorium` VARCHAR(10) NOT NULL,`type_occupation` VARCHAR(15) NOT NULL,`floor` VARCHAR(5) NOT NULL, PRIMARY KEY (`id_auditorium`));
SQL запрос на создание таблицы group_off_student (Группы).
CREATE TABLE `group_off_student` (`id_group` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(10) NOT NULL,`decryption` VARCHAR(30) NOT NULL, PRIMARY KEY (`id_group`));
SQL запрос на создание таблицы peoples (Посетители).
CREATE TABLE ` peoples ` (`id_peoples ` INT(11) NOT NULL AUTO_INCREMENT,`id_group` INT(11) NOT NULL,`name` VARCHAR(15) NOT NULL,`surname` VARCHAR(15) NOT NULL,`patronymic_name` VARCHAR(15) NOT NULL, PRIMARY KEY (`id_student`));
SQL запрос на создание таблицы teacher (Тренеры).
CREATE TABLE `teacher` (`id_teacher` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(15) NOT NULL,`surname` VARCHAR(15) NOT NULL,`patronymic_name` VARCHAR(15) NOT NULL,`vid_zanyatiy` VARCHAR(15) NOT NULL,`Address` VARCHAR(30) NOT NULL,`Telephone` VARCHAR(15) NOT NULL,`Age` VARCHAR(10) NOT NULL, PRIMARY KEY (`id_teacher`));
SQL запрос на создание таблицы raspisanie (Расписание).
CREATE TABLE `raspisanie` (`id_raspisanie` INT(11) NOT NULL AUTO_INCREMENT,`id_timeweekday` INT(11) NOT NULL,`id_auditorium` INT(11) NOT NULL,`id_teacher` INT(11) NOT NULL,`id_group` INT(11) NOT NULL, PRIMARY KEY (`id_raspisanie`));
5. Технология решения задачи
5.1 Описание дерева диалога (форм ввода-вывода)
Как правило, для удобства пользователей создаются экранные формы, которые позволяют рационально расположить данные на экране, использовать разнообразные элементы оформления, обеспечивать возможности специфических проверок при вводе данных.
Экранные формы уже давно применяются в практике создания баз данных. Роль форм сильно возросла и изменилась в последнее время. Сейчас экранные формы используются не только для ввода данных в базу, корректировки данных, а также позаписного ввода данных, но и для реализации просмотров базы данных по определенным условиям, и даже для создания заставок и меню.
Если первоначально формы определялись только как способ отображения одной записи в БД, то сейчас в формах допускается наличие табличной (многострочной) части; более того, допускается наличие множества динамических частей, возможно, из разных баз данных.
Экранные формы можно классифицировать по ряду признаков:
по характеру связи с таблицами;
по распределению данных по экранам (страницам);
по способу реализации;
по форме представления информации;
по выполняемым функциям различают формы ввода, вывода, управляющие, смешанные.
Назначение каждого вида этих форм ясно из их названия. Следует обратить внимание на то, что даже в случае, если формы ввода и вывода полностью совпадают по своему внешнему виду, иногда целесообразно их выполнить как самостоятельные формы в целях обеспечения безопасности данных.
При проектировании данной базы данных также использовалось большое количество форм ввода-вывода.
Например, формами ввода и просмотра информации являются такие формы как «просмотр информации о подразделениях», позволяющая вносить и выводить данные, «просмотр расписания» и «просмотр свободного времени», дающие возможность вносить и просматривать данные.
5.2 Технология ввода и накопления входной информации, обеспечивающей решение задачи
Организуя ввод данных, в базу данных, необходимо помнить, что человек, использующий какую либо форму для ввода информации в базу может допустить всевозможные ошибки.
При организации ведения баз данных нужно стремиться к реализации принципа однократного ввода информации.
Необходимо стараться до минимума сократить количество ручных операций.
Надо обеспечивать контроль правильности введенных данных.
Необходимо осуществлять фильтрацию данных, проверку на запрещенные символы, заполнение всех полей формы, длину строк и др.
Введенные данные проходят тщательную обработку (фильтрацию), для предотвращения записи не корректно сформированных данных или ошибочной информации. После фильтрации данные записываются в базу данных, и хранятся там столько сколько потребуется.
5.3 Технология осуществления запросов
Если пользователю необходимо получить какую-либо информацию, касающуюся данной предметной области, то он может воспользоваться запросами, существующими в базе данных. Все SQL запросы прописаны в исходном коде программы. Обрабатывая, какую либо форму, выполняется тот запрос, который принадлежит данной форме. Если это форма добавления нового тренера, то обрабатывается запрос добавления в базу данных записи с информацией обо всех необходимых атрибутах таблицы. Если хотя бы один из атрибутов не будет передан, то есть, какое либо из полей формы не будет заполнено или будет не соответствовать требованиям, запрос не будет выполнен, и появится сообщение об ошибке. В противном случае информация со всех полей формы передастся в поле таблицы. Таким образом, выполняются все остальные запросы, принадлежащие различным формам, таким как форма редактирования, удаления и вывода информации. Если пользователь попытается осуществить свой запрос, ему необходимо будет использовать исходный код системы и в нем сформировать все необходимы формы для данного запроса. Примеры некоторых запросов используемых в системе приведены ниже.
Запрос на выборку посетителей из определенной группы.
SELECT name, surname, patronymic_name FROM student WHERE id_group = ‘ВМ-06–01’;
Запрос, подсчитывающий количество человек в группе.
SELECT COUNT (id_group) FROM student WHERE id_group = ‘ВМ-06–01’;
Запрос, выводящий таблицу учета свободного времени у тренеров.
SELECT id_weekday, id_time FROM time_off_weekday WHERE id_timeweekday NOT IN (SELECT id_timeweekday FROM raspisanie WHERE id_teacher = 1;
5.4 Технология получения отчетов
Есть несколько способов получения отчетов. На панели главного меню расположены две формы, одна из них служит для получения отчетов методом выбора нужного элемента из поля со списком. Таких поля три, каждое поле соответствует определенному подразделению, такому как помещения, группы и тренеры. При выборе элемента из списка выводится отчет (о расписании, учете свободного времени и информация о выбранном элементе) в виде таблицы, но кроме отчета предоставлены еще несколько форм для работы с отчетов, благодаря этим формам можно производить изменения данных прямо в отчете и смотреть, как формируется отчет на основе этих изменений. Это удобно и позволяет нам не тратить время на переходы от формы вывода информации (отчета) к форме редактирования, все происходит в одном месте. Кроме всего этого существует форма позволяющая вывести всю информацию об определенном подразделении и др.
Все отчеты представлены в табличном виде, созданном при помощи html тэгов, например для создания таблицы расписание, необходимо написать следующее.
…
<table border=1 width=100% height=18><tr>
<td width=300 height=12><p>Время</tt></p></td>
<td width=350 height=12><p>Помещение</tt></p></td>
<td width=150 height=12><p>Тренер</tt></p></td>
</tr>
</table>
…
При заполнении таблицы данными из базы данных, таблицу необходимо поместить в цикл, для вывода необходимого числа записей.
6. Тестирование программы
6.1 Тестовые наборы
Перед тем как поместить данные из заполненной формы в БД, необходимо провести обработку данных (фильтрацию). В данной системе предусмотрена проверка вводимых данных. Запись в базу будет производиться в том случае, когда будет выполнен ряд условий, таких как:
– проверка на заполнение всех полей формы;
– проверка да длину строки;
– проверка на соответствие типов;
– проверка на запрещенные символы.
Если введенные данные соответствуют всем требованиях, перед отправкой их обрабатывает функция htmlspecialchars, которая служит для защиты БД MySQL.
Если данные не проходят всех уровней фильтрации, выводятся различные ошибки, в зависимости от определенного условия. Например, не выполнили заполнение полей формы, выводится ошибка (Рисунок 5).
Рисунок 5 – Ошибка
В таблицы 2, 3 и 4 не вносятся новые записи, они служат для вывода и обработки существующих в них записей. Тестовую информацию в них вносить не обязательно.
Таблица 2 – День проведения занятия
Код дня |
День недели |
1 |
Понедельник |
2 |
Вторник |
Таблица 3 – Время проведения занятий
Код времени |
Время |
1 |
08: 30 – 10: 00 |
2 |
10: 10 – 11: 40 |
Таблица (Таблица 4) хранит все возможные комбинации для всех дней и всего времени. Тестовые наборы с некорректными данными также не обязательны, так как в системе нет возможности форматирования данных в данной таблице.
Таблица 4 – Время дня
Код дня и времени |
Код дня |
Код времени |
1 |
1 |
1 |
2 |
1 |
2 |
3 |
2 |
1 |
4 |
2 |
2 |
При добавлении нового помещения (Рисунок 6) значение поля этаж (floor) выбирается при помощи поля со списком, сюда ввод ложных данных невозможен. При добавлении не числовых значений в поле название (name), полю присваивается нуль. Если длина вводимых символов превышает заданной, лишние символы обрезаются.
Рисунок 6 – Помещения
В поля name, surname, patronymic_name, sports (Рисунок 7) разрешается вводить только символы русского и английского алфавита, все остальные блокируются. В поля address и age можно вводить только символы двух алфавитов и цифры от нуля до девяти. В поле telephone разрешается вводить только цифры. При неверном внесении информации, данные не будут записываться.
Рисунок 7 – Тренеры
При добавлении группы отдельно проверяется каждое поле записи. В поле name можно вводить только символы русского и английского алфавита и цифры. В поле max_kol только цифры от нуля до девяти (Рисунок 8).
Рисунок 8 – Группы
Код группы записывается через вспомогательный запрос, который осуществляется при выборе необходимого названия группы из поля со списком в форме добавления новой группы, некорректных значений не может быть записано, так как полного ввода значений пользователю не предоставляется. В поле Ф.И.О. (Таблица 5) можно вводить только символы русского и английского алфавита, при введении слишком длинных значений значение поля будет обрезаться.
Таблица 5 – Посетители (студенты)
Код посетителя |
Код группы |
Ф.И.О. |
1 |
1 |
Чебан Олег Сергеевич |
1 |
2 |
Разуков Сергей Владимирович |
Таблица 6 – Расписание
Код расписания |
Код дня и времени |
Код помещения |
Код тренера |
Код группы |
1 |
1 |
2 |
1 |
1 |
2 |
4 |
1 |
1 |
2 |
3 |
2 |
1 |
2 |
1 |
4 |
3 |
2 |
2 |
2 |
5 |
1 |
1 |
1 |
1 |
6 |
2 |
2 |
2 |
2 |
Из таблицы 6 можно узнать расписание для каждого из подразделений. Например, возьмем первую запись, код дня и время равняется единице, а единица исходя из таблицы №4 это понедельник 08: 30 – 10: 00, код помещения равняется двойке, из таблицы изображенной на рисунке №6 видно, что название помещения 102, код тренера равняется единице, из таблицы изображенной на рисунке №7 единица указывает на тренера Иванов Андрей Петрович, а группа по коду из таблицы изображенной на рисунке №8 является ВМ-06–01.
Таким образом, данные в таблицу расписание напрямую не вводятся, а заполняются на основе кодов имеющихся подразделений (Таблица 7). Это очень удобно и безопасно.
Исходя из всего этого при помощи SQL запросов можно вывести следующее расписание.
Таблица 7 – расписание для аудитории с название 102
День недели |
Время |
Тренер |
Группа |
Понедельник |
08: 30 – 10: 00 |
Иванов Андрей Петрович |
ВМ-06–01 |
Понедельник |
10: 10 – 11: 40 |
Петров Сергей Максимович |
ИТ-06–01 |
Вторник |
08: 30 – 10: 00 |
Петров Сергей Максимович |
ИТ-06–01 |
Пример запросов c небольшим кодом php для получения данного расписания;
Выбираем необходимые записи для помещения с кодом 1, в данном случае это помещение 102.
$sql = «SELECT id_timeweekday, id_teacher, id_group FROM raspisanie WHERE id_auditorium = 1»;
$result = mysql_query($sql);
Записей с кодом помещения буден много, поэтому потребуется цикл.
While ($line = mysql_fetch_array($result))
{
Выбираем тренера по его уникальному коду.
$sql = «SELECT name FROM teacher WHERE id_teacher = «.$line [‘id_teacher’];
Выбираем группу по ее уникальному коду.
$sql = «SELECT name FROM group_off_student WHERE id_group = «.$line [‘id_group’];
Узнаем код комбинации дня недели и времени
$sql1 = «SELECT id_weekday, id_time FROM time_off_weekday WHERE id_timeweekday = «.$line [‘id_timeweekday’];
$result2 = mysql_query($sql1);
$line2 = mysql_fetch_array($result2)
Выбираем день недели по его уникальному коду.
$sql = «SELECT weeday FROM weekday WHERE id_weekday = «.$line2 [‘id_weekday’];
Выбираем время по его уникальному коду.
$sql = «SELECT time FROM time WHERE id_time = «.$line2 [‘id_time’];
Таким образом, посредством несложных запросов выводится расписание для каждого подразделения.
6.2 Результаты тестирования
В результате при введении неверных данных выводиться ошибка о несоответствии данных и новая запись не добавляется. Если одно из полей или полей со списком формы не заполнено, выводится сообщение об ошибке и данные не добавляются. Если в поля формы вводятся запретные символы, выводится сообщение об ошибке.
При добавлении новой записи в расписание, данные сверяются с существующими и если результат подтверждается, то есть запись на конкретный день недели и время существует, новая запись в расписание не добавляется.
Система успешно справляется с малыми и средними объемами данных. Тестирование программы при работе с данными большого объема не проводилось.
Таким образом, неверные данные, введенные в базу, не способны повлиять на работоспособность системы, так как они не будут добавлены.
7. Руководство администратора
7.1 Установка системы
При разработке информационной системы использовался программный продукт Denwer включающий в себя связку таких компонентов как Apache, Php, MySQL. Для успешной работоспособности приложения необходимо установить данный продукт.
После установки у пользователя на компьютере, создается виртуальный диск и три ярлыка на рабочем столе. Первый ярлык – это запуск, второй – перезапуск, третий – остановка. После установки остановите Denwer, для установки нашей системы.
Что бы система заработала необходимо выполнить ряд мероприятий: В папке Sportkompleks находится БД, после установки Denwer на созданный вами образ локального диска скопировать эту папку в директорию «Локальный диск:\usr\local\mysql5\data».
В папке localhost находятся все необходимые модули для функционирования системы ее необходимо скопировать в директорию «Локальный диск:\home».
Необходимо перезапустить Denwer. Адрес системы http://localhost/index.php, если не запустится, используйте прямое подключение с интернет в параметрах соединения.
Так как это web приложение необходимо использовать браузер для его запуска. Рекомендуемы браузер Mozilla Firefox или Opera. При запуске системы в других браузера возможно нестандартное размещение всех форм и объектов.
Логин и пароль доступа к базе, прописаны в модуле connect.php, необходимо, что бы они совпадали с логином и паролем которые присвоены базе изначально после установки Denewra.
8. Руководство пользователя
8.1 Добавление данных
В системе есть возможность добавлять новые помещения, группы, новых тренеров, посетителей, а также добавлять расписание. Панель выбора подразделений для их добавления расположена на главном меню, (Рисунок 11) обозначена рамкой.
Рисунок 11 – Панель добавления
Добавление помещений и групп
При добавлении нового помещения необходимо заполнить три поля и выбрать значение из поля со списком. В первое поле необходимо ввести название помещения, во второе вид занятий проводимых в аудитории, в третье поле вводится число максимальной вместительности помещения, в поле со списком указывается этаж, на котором расположено помещение (Рисунок 12).
Рисунок 12 – Добавление и просмотр помещений
При добавлении группы необходимо заполнить два поля и выбрать значение поля со списком. В первое из полей вводится название группы, во второе поле вводится число максимального количества человек в группе Рисунок (13). В поле со списком выбирается вид занятий. Форма добавления обозначена красной рамкой. Ниже расположен список всех групп и информация о них.
Рисунок 13 – Добавление и просмотр групп
Добавление тренеров и посетителей
При добавлении тренера необходимо заполнить семь полей. Первые три поля предназначены для введения Ф.И.О.. В четвертое поле вводится специализация тренера (что преподает тренер). В последние (нижние) три поля вводится информация о месте проживания тренера, телефоне и возрасте (Рисунок 14), форма добавления обозначена рамкой.
Рисунок 14 – Добавление и просмотр тренеров
При добавлении посетителя необходимо заполнить три поля и выбрать значение одного поля со списком. Первые три поля это Ф.И.О. посетителя, в поле со списком выбирается название группы. Следует учитывать вместительность групп, если количество посетителей в группе полностью набрано, то есть равняется максимальной вместительности, то в данную группу добавление не будет выполнено (Рисунок 15).
Рисунок 15 – Добавление и просмотр посетителей
Добавление расписания
Ниже общей формы добавления данных расположена форма отображения, добавления и редактирования расписания. При выборе расписаний необходимо выбрать в поле со списком подразделение, для которого осуществляется запрос расписания (Рисунок 16).
Рисунок 16 – Выбор расписания для аудитории
После того как мы выбрали нужную нам аудиторию или группу и тренера, нажимаем кнопку «Просмотреть» и нам выводится расписание для выбранного элемента (Рисунок 17).
Рисунок 17 – Расписание для аудитории 103
Панель добавления нового расписания расположена тут же, под расписанием. Для добавления нового расписания, необходимо заполнить все поля. Если расписание на определенный день недели и время уже существует, появится отчет об ошибке.
Учет свободного времени для тренеров и помещений расположен ниже под расписанием (Рисунок 18). При помощи него можно смотреть по каким дням недели и в какое время аудитории или тренеры свободны, и на основе этого можно позвонить тренеру и договориться о замене, либо предоставить пустую аудиторию для дополнительных занятий.
Рисунок 18 – Таблица учета свободного времени
8.2 Поиск данных
Снизу (Рисунок 9) изображено главное меню системы, рамкой выделена форма поиска тренеров и посетителей по фамилиям. Что бы воспользоваться поиском необходимо заполнить одно единственное поле формы, а затем нажать кнопку «Искать». При неверном занесении данных или не заполнении поля, поисковая система не будет работать.
Рисунок 9 – Поиск данных
При занесении правильной информации, осуществляется поиск и выводятся результаты поиска (Рисунок 10), если же в результате выводятся пустые таблицы, значит, в базе данных не существует записи по вашему запросу.
Рисунок 10 – Результаты поиска
8.3 Редактирование данных
Меню редактирования записей в расписании (Рисунок 19). Благодаря нему можно редактировать существующее расписание. Необходимо обязательно выбрать значения из четырех полей со списком. После чего нажимаем кнопку «Изменить» и запись редактируется.
Рисунок 19 – Раздел редактирования
Заключение
В результате работы была создана информационная система АРМ Расписание для спорткомплекса. Как показало тестирование, система надежна и легко справляется с малыми и средними объемами данных.
Результатом работы приложения являются следующие отчеты: расписание для помещений, расписание для групп, расписание для тренеров, учет свободного времени помещений и тренеров, персональная информация по подразделениям, общая информация подразделений.
Список использованных источников
Назарова С.В. Компьютерные технологии обработки информации / С.В. Назарова – М.: Финансы и статистика, 1995.
Липаев В.В. Выбор и оценивание характеристик качества программных средств. Методы и стандарты. / В.В. Липаев – М.: СИНТЕГ, 2001.
Черемных C.В. Структурный анализ ситем: IDEF-технология. / C.В. Черемных, И.О. Семенова, В.C. Ручин – М.: Финансы и статистика, 2001.
Когаловский М.Р. Энциклопедия технологий баз данных. / М.Р. Когаловский – М.: Финансы и статистика, 2002.
Дейт К. Введение в системы баз данных. / Дейт К. – М.: «Вильямс», 2000.
Хомоненко А.Д. Базы данных: Учебник для высших учебных заведений / А.Д. Хомоненко. – СПб.: КОРОНА принт, 2002.
Хансен Г. Базы данных. Разработка и управление. / Г. Хансен, Д. Хансен – М.: Бином, 2000.
Ульман Дж. Введение в системы баз данных. / Дж. Ульман, Дж. Видом – М.: Лори. – 2000.
Прамодкумар Дж. Рефакторинг баз данных: эволюционное проектирование. / Дж. Прамодкумар – М.: «Вильямс», 2007.
Дейт К.Дж. Введение в системы баз данных. / К.Дж. Дейт – М.: «Вильямс», 2006.
Коннолли Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. / Т. Коннолли, К. Бегг – М.: «Вильямс», 2003.
Кузнецов С.Д. Основы баз данных. / С.Д. Кузнецов – М.: «Интернет-университет информационных технологий – ИНТУИТ.ру», 2005.
Боуман Д. Практическое руководство по SQL. / Д. Боуман, С. Эмерсон, М. Дарновски – Киев: Диалектика, 1997.
Титоренко Г.А. Автоматизированные информационные технологии в экономике. / Г.А. Титоренко – М.: Компьютер, ЮНИТИ, 1998.
Автоматизированные информационные технологии в экономике. / И.Т. Трубилин, М.И. Семенов, В.И. Лойко, Т.П. Барановская – М.: Финансы и статистика, 1999