- •1. Описание предметной области автоматизации расписания для спорткомплекса
- •1.1 Документы предметной области
- •1.2 Описание предметной области
- •2. Постановка задачи
- •2.1 Организационно-экономическая сущность задачи
- •2.2 Входная информация
- •2.3 Выходная информация
- •3. Информационное обеспечение задачи
- •3.1 Информационный анализ предметной области и выделение информационных объектов задачи
- •3.2 Определение логической структуры реляционной базы данных (erd-модель)
- •4. Алгоритмы решения задачи
- •4.1 Обобщенный алгоритм решения задачи и его декомпозиция на модули
- •4.2 Классификация и реализация используемых запросов
- •5. Технология решения задачи
- •5.1 Описание дерева диалога (форм ввода-вывода)
- •5.2 Технология ввода и накопления входной информации, обеспечивающей решение задачи
- •5.3 Технология осуществления запросов
- •5.4 Технология получения отчетов
- •6. Тестирование программы
- •6.1 Тестовые наборы
- •6.2 Результаты тестирования
- •7. Руководство администратора
- •7.1 Установка системы
- •8. Руководство пользователя
- •8.1 Добавление данных
- •8.2 Поиск данных
- •8.3 Редактирование данных
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`));