Загрузил Тянь Шань

Филонова КУРСР Интернет разработка

Реклама
Министерство образования и науки Российской федерации
Государственное образовательное учреждение высшего образования
«ЮЖНО-РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
(НОВОЧЕРКАССКИЙ ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ)» имени М.И.ПЛАТОВА
ФАКУЛЬТЕТ
КАФЕДРА
НАПРАВЛЕНИЕ
Информационных технологий и управления
Информационные и измерительные системы и технологии
09.03.03 - "Прикладная информатика"
УТВЕРЖДАЮ:
Заведующий кафедрой ИИСТ
______________ Горбатенко Н.И.
(подпись)
«___ » __________ 2020 г.
ЗАДАНИЕ
на курсовую работу по дисциплине
«РАЗРАБОТКА ПРИЛОЖЕНИЙ ДЛЯ ИНТЕРНЕТ»
Студенту ФИЛОНОВА
(Фамилия, имя, отчество)
1.Тема курсовой работы: Web- сайт администрации города
Выполнение курсовой работы включает следующие этапы:
Этап первый Проектирование сайта:
1. Сформулировать целевую аудиторию сайта, дать описание, определить ключевые слова
тематического ядра. Оценить объем сайта (сколько страниц). Отразить в отчете.
2. Разработать структуру сайта. Отобразить в виде схемы в отчете.
3. Разработать систему связей между страницами сайта. Отобразить в виде схемы в отчете.
4. Разработать структуру страницы (отразить в отчете).
5. Определить используемую технологию (отразить в отчете).
Этап второй. Создание базовой структуры:
1. Создать структуру сайта в корневом каталоге.
2. Разработать и создать базовый шаблон страницы с учетом требований спецификации языка
HTML.
3. Разработать систему навигации.
4. Доработать шаблон с учетом панелей навигации.
5. Создать индексные страницы сайта и разделов.
6. Создать дополнительные страницы.
Этап третий. Создание базового наполнения:
1. Создать базовое наполнение индексных страниц.
2. Создать базовое наполнение разделов.
3. Создать расширенное наполнение.
Этап четвертый. Подготовка документации:
1. Подготовить краткую информацию по сайту: содержание, ключевые слова, используемая
технология и др.
2. Исчислить показатели эффективности сайта
3. Подготовить отчет по курсовой работе
Срок сдачи работы
Руководитель _Панфилов А.Н.
« 25 » декабря 2020 г.
____________________
(Подпись)
Задание принял к исполнению
« 04 » сентября 2020 г.
______________________
(Подпись)
Дата выдачи задания
« 04 » сентября 2020 г.
Оглавление
Постановка задачи................................................................................................ 3
1. Описание предметной области Интернет- приложения ................................. 4
1.1. Описание информационных и бизнес процессов в рамках предметной
области Интернет- приложения .................................................................... 4
1.2 Построение модели Интернет- приложения ......................................... 10
1.3 Техническое здание на разработку Web- сайта Интернет – проекта. .... 15
2. Проектирование Web- сайта .......................................................................... 24
2.1 Функциональная структура и модули сайта .......................................... 24
2.2 Дизайн сайта ............................................................................................. 28
3. Информационное обеспечение сайта ............................................................ 43
4. Программная реализация сайта ..................................................................... 54
5. Оценка эффективности и тестирование сайта .............................................. 68
Заключение ......................................................................................................... 73
Библиографический список ............................................................................... 74
Приложения ........................................................................................................ 75
Введение
Курсовая работа содержит следующие разделы:
1. Описание предметной области Интернет- приложения
В данном разделе описана предметная область сайта, а именно
администрация
города
N.
В
нем
предоставлены
описания
информационных потоков данных, модели приложения. Также данный
раздел включает в себя техническое задание по разработке сайта.
2. Проектирование Web- сайта
Рассмотрены функциональная структура сайта и его модули. Выделены
основные субъекты и объекты разрабатываемой системы и взаимосвязи
между ними. Также описан дизайн сайта: его стилевое оформление,
интерфейс и навигация.
3. Информационное обеспечение сайта
Приведено описание логической модели базы данных сайта, а также
описание запросов, используемых в системе.
4. Программная реализация сайта
В разделе даны описания программных модулей сайта.
5. Оценка эффективности и тестирование сайт
Приведен анализ работы системы.
Постановка задачи
Цель курсовой работы – развитие практических навыков самостоятельной
творческой работы, связанной с разработкой приложений для Интернет, Webсайтов, представительств, порталов.
Основные задачи курсовой работы: закрепление и углубление теоретических
знаний, элементов и методов функционирования Web-сайтов и Webпредставительств; ознакомить студента с процессом разработки, системами
конструирования и информационным наполнением Web-сайтов и Webпредставительств;
средствами
освоить
методы
автоматизации
управления
разработки
и
Интернет-
проектами,
проектирования
Интернет
приложений и баз данных для Web.
Заданием
данной
курсовой
работы
является
разработка
администрации города N.
Общими требованиями для всех работ являются следующие:
а) формат представления Web-документов – HTML вер.5.0 и выше;
б) технология обработки сценариев и событий – CGI;
в) язык разработки серверных приложений – PHP вер. 7.0 и выше;
г) операционная система Windows 7 ,8, 10;
д) Web-сервер –Apache;
д) Сервер БД –MySQL.
web-сайта
1. Описание предметной области Интернет- приложения
Основным источником информации в сети являются сайты и web-страницы.
Сайт – это система электронных документов организации или частного лица в
компьютерной сети имеющая общий адрес. В интернете доступна практически
любая информация и найти необходимый сайт довольно просто. Именно
поэтому использование сайта в качестве средства массовой информации
администрации города для оповещения жителей города очень удобно. Перед
созданием сайта необходимо определить его функционал и цели создания. Эта
работа начинается с выделения и описания и анализа соответствующей
предметной области.
Предметная область – это сфера человеческой деятельности, выделенная и
описанная в соответствие с установленными критериями. В описании
предметной области должны входить сведения об её элементах, отношениях и
процессах, отражающих различные аспекты этой деятельности. Анализ
предметной
области
будущей
интеллектуальной
системы
оказывает
решающее влияние на эффективность её работы. Он позволяет выделить
основные сущности, определить начальные требования к системе и её
функциональности, а также задать границы проекта.
1.1. Описание информационных и бизнес процессов в рамках предметной
области Интернет- приложения
Предметной областью Интернет-приложения является администрация города
N.
Общая площадь города N составляет k тыс. кв. м. На его территории
проживает m тыс. человек. В городе работают несколько крупных
предприятий: станкостроительный завод, стекольная фабрика, текстильный
цех,
молочный
комбинат.
Город
имеет
четыре
детских сада,
три
общеобразовательные школы, один лицей, два колледжа и один институт.
Также работают 2 поликлиники, одна больница и две государственных аптеки.
Администрацией города руководит глава города на принципах единоначалия.
Администрация
города
выполняет
функции
распорядительного
и
исполнительного органа местного самоуправления. Администрация города
обладает следующими полномочиями:
1. Составление и рассмотрения бюджета;
2. Владение, пользование и распоряжение имуществом, находящимся в
муниципальной собственности
3. Дорожная деятельность в отношении автомобильных дорог местного
значения вне границ населенных пунктов в границах муниципального
района
4. Создание условий для предоставления транспортных услуг населению и
организация транспортного обслуживания
5. Организация
предоставления
общедоступного
и
бесплатного
дошкольного, начального общего, основного общего, среднего общего
образования по основным общеобразовательным программам в
муниципальных образовательных организациях
6. Создание условий для оказания медицинской помощи населению на
территории муниципального района
7. Утверждение схем территориального планирования муниципального
района, утверждение подготовленной на основе схемы территориального
планирования муниципального района документации по планировке
территории,
ведение
градостроительной
информационной
деятельности,
системы
осуществляемой
обеспечения
на
территории
муниципального района, резервирование и изъятие, в том числе путем
выкупа, земельных участков в границах муниципального района для
муниципальных нужд;
8. Организация выполнения планов и программ комплексного социальноэкономического развития муниципального района, а также организация
сбора
статистических
показателей,
характеризующих
состояние
экономики и социальной сферы муниципального района
9. Учреждение печатного, а также электронного средства массовой
информации для опубликования муниципальных правовых актов,
обсуждения проектов муниципальных правовых актов по вопросам
местного значения, доведения до сведения жителей муниципального
образования официальной информации о социально-экономическом и
культурном развитии муниципального образования, о развитии его
общественной инфраструктуры и иной официальной информации;
Администрация города состоит из общий отдел, организационный отдел,
контрольный
отдел,
юридический
отдел,
межведомственный
архив,
управление записи актов гражданского состояния (ЗАГС).
Структура администрации города представлена на рис. 1.1
Рис. 1.1
Документооборот в администрации города имеет следующие особенности:
Контроль за организацией исполнения поручений осуществляет головной
исполнитель документа.
Контроль за сроками исполнения поручений главы городского округа, анализ
и обобщение данных о ходе их выполнения осуществляет контрольноаналитическое управление.
Контроль за надлежащим оформлением документов за подписью главы
городского округа осуществляет руководитель структурного подразделения
администрации, подготовивший проект данного документа.
Контроль за надлежащим оформлением иных документов и сроками их
исполнения осуществляет управление по работе с обращениями граждан и
документооборота в пределах своей компетенции.
Служебные документы считаются исполненными и подшиваются в дело на
основании
ответа,
завизированного
исполнителем
и
подписанного
соответствующим руководителем. Если ответа не требуется, руководитель
делает на основном документе отметку «В дело».
Документы после исполнения и списания их в дело подлежат хранению в
приемных главы городского округа, первых заместителей, заместителей главы
администрации, руководителей структурных подразделений администрации в
папках согласно номенклатуре дел.
Население выражает свое отношение к деятельности муниципальной власти
путем выборов, референдумов, опросов, правотворческих инициатив,
обращений к органам и должностным лицам, мирных массовых акций. Особое
значение имеют личные встречи руководителей муниципального образования
с жителями, прием избирателей депутатами представительных органов. На
этих встречах должна быть создана атмосфера откровенного диалога,
позволяющего обеспечить доступ к информации, которую нельзя получить
никаким другим способом. Муниципальная власть учитывает мнение
населения в своей работе.
Информация, поступающая в органы местного самоуправления по разным
каналам, к разным должностным лицам, в разной форме и в разное время,
требует создания продуманной системы ее приема, хранения, обработки и
использования.
Вся поступающая в органы местного самоуправления информация фиксируется на определенном носителе в виде документа. Особенностью систем документированной информации является наличие операций по составлению,
приему, передаче, регистрации, визированию, подписанию, копированию,
хранению,
уничтожению
документов.
Совокупность
всех
операций,
выполняемых с документами, называется делопроизводством. Движение
документов с момента их создания или получения до завершения исполнения
или
отправления
Рациональная
адресату
организация
представляет
собой
документооборота
в
документооборот.
органах
местного
самоуправления обеспечивает оперативное прохождение документов.
Пользователи будущей системы должны иметь возможность написать
обращение в тот или иной отдел администрации города. Так сайт решит
проблему связи населения и органов местного самоуправления.
Бизнес-процессы
Эффективность функционирования системы сильно зависит от процессов
исполнения управления.
Существует две методики описания бизнес-процессов:
1. Методики организации проекта по описанию бизнес-процессов. Они
задают последовательность этапов проекта, состав этапов, правила
взаимодействия участников проекта.
2. Методики графического описания бизнес-процессов. Они содержат
набор графических объектов и правил их использования при
разработке диаграмм бизнес-процессов.
Несовершенная
модель бизнес-процессов администрации
приводит к
снижению эффективности её работы.
Муниципальное управление обладает рядом особенностей:
 Некоммерческий характер
 Особая роль населения: цель, объект и субъект управления
 Привязка человека к месту проживания, опора на ресурсы, цели и
задачи, связанные с местом проживания
 Главенствующая роль человеческого ресурса
В настоящее время для оценки и совершенствования бизнес-процессов
государственного
управления
известно
применение
процессно-
статистического подхода и визуального и имитационного моделирования
(выходные параметры модели представлены набором статистических
характеристик
и
законом
распределения),
позволяющего
оценить
эффективность функционирования государственной системы и исследовать
способы ее совершенствования, в том числе, за счет применения
информационных систем и интернет-технологий.
Таким образом, основной целью создаваемого приложения является
информирование населения о событиях, происходящих в городе, и решениях
администрации.
1.2 Построение модели Интернет- приложения
В данном разделе описана модель прототипа сайта администрации
города N. Потребность в подобной модели возникла после изучения
предметной области и бизнес процессов администрации города. Она
позволяет устранить все неточности, связанные с проектированием интернет
приложения.
Проектируемый сайт должен собирать и хранить достаточно большой
объем
информации,
связанной
с
текстовыми
документами,
мультимедийными файлами, данными о руководителях департаментов и
подразделений, добавляющихся и изменяющихся новостях и объявлениях.
Информационная система должна иметь возможность сбора, хранения и
обновления данных, а также предоставлять различным категориям
пользователей быстрый доступ к требующейся информации
Создаваемое Интернет приложение должно отражать особенности
описанной предметной области и бизнес процессов. Сайт дает доступ к
информации о процессах в администрации города, например, о назначении
и снятии с должности управляющих тех или иных департаментов,
изменениях в управляющих структурах, ликвидации или создании нового
подразделения. В приложении должен присутствовать поиск по документам
и сайту для упрощения работы пользователя с необходимыми файлами.
Сайт должен решать следующие задачи:
Предоставлять информацию об актуальных событиях жизни города и
деятельности администрации.
Публиковать важные объявления, например, об отключении воды,
ремонтных работах и прочем.
Давать простой доступ к нормативно-правовой документации города
и исполнительных актах.
Давать возможность зарегистрированному пользователю отправлять
обращения в администрацию через специальную форму на сайте.
Предоставлять актуальную информацию о работе отделов и их
руководителей (в том числе их расписание и время приема).
Публикация новостей на сайте администрации города
Разделение новостей по категориям
Информационную систему можно разделить на следующие подсистемы:
 регистрационная подсистема – позволяющая регистрировать обращения
от идентифицированных пользователей
 новостная подсистема – предоставляет свежие новости и объявления в
городе
 подсистема, отвечающая за публикацию документов
 поисковая система – организует поиск по сайту и его разделам
 информационная подсистема – организует предоставление верной
информации о работе отделов
 подсистема управления сайтом – реализует простое управление
содержимым сайта.
Регистрационная подсистема включает в себя систему контроля доступа к
данным. Контроль доступа – это функция, которая обеспечивает безопасность
сайта. Она разрешает или запрещает доступ к определенным типам данных. В
основании этой технологии лежит идентификация субъекта, для которого
определяются права доступа, и объекта данных, который является целью
доступа.
Основными механизмами контроля доступа являются идентификация и
аутентификация. Идентификация - процесс распознавания пользователя
автоматизированной системой, для чего он сообщает ей свое уникальное имя,
к примеру логин. Это имя называют идентификатором. Идентификация
позволяет системе отличить одного пользователя от другого, у двух разных
лиц такое имя не может быть одинаковое [4]. Аутентификация - средство
защиты, устанавливающее подлинность лица, получающего доступ к
автоматизированной
системе,
идентификатора
предъявленного
и
путем
сопоставления
сообщенного
подтверждающего
фактора.
им
Для
аутентификации пользователя обычно используются логин и пароль [4]. После
успешной идентификации и аутентификации, пользователь или система
получает в своё распоряжение именно те ресурсы, к которым система или
пользователь имеет право доступа, а также какие действия будут допущены к
выполнению (запуск, просмотр, создание, удаление или изменение). Это
называется разрешение или авторизация. [3].
Большинство сайтов (гостевые книги, форумы и прочее) используют
регистрацию и последующую авторизацию пользователей. На странице сайта
доступна ссылка на регистрацию и вход в систему. При нажатии на неё
выводится форма для ввода данных, необходимых для регистрации. Если же
пользователь уже зарегистрирован и авторизирован на системе, происходит
перенаправление его на страницу для входа на сайт. При регистрации в базе
данных записываются все данные пользователя и пароль (в md5 шифровании).
Для каждого из полей есть правила валидации. Если пользователь введёт
некорректные данные или не введёт их вовсе, с помощью средств JavaScript
будет выведено сообщение об ошибке. При регистрации проверяется логин на
уникальность и обязательно фиксируется дата регистрации и ее удаление. [3]
После регистрации пользователю назначается роль. В разрабатываемой
системе два вида ролей:
 Пользователь – любой пользователь, прошедший процедуру аутентификации.
ему после регистрации доступна подача обращения в администрацию;
 Администратор – может изменять содержимое страниц сайта, ему
доступны данные о пользователях, управляет всеми данными сайта.
Данные в базе данных сайта должны быть структурированы и организованы
на основании некоторой модели, которая будет верно отражать все возможные
объекты, субъекты и связи между ними. Для описания модели данных
необходимо выделить субъекты, объекты и роли в системе. Так в качестве
субъектов будут выступать пользователи системы (администратор и
пользователь). В роли объектов: новости, документы, отделы, расписание,
обращения.
Таблица 1.1. Субъекты системы
Субъект системы
Описание
Пользователь
Работает с информацией, доступной на сайте. В
зависимости от роли может изменять содержимое
сайта по своему усмотрению.
Таблица 1.2. Объекты системы
Объект
Описание
Отдел
Содержит информацию об отделах
администрации города
Документы
Любые документы, порожденные
внутри информационной системы.
Любая информация о событиях
происходящих в городе
Новости
Расписание
График работы
Сотрудники
Информация о сотрудниках отделов
Руководители
Информация
отделов
Обращения
Хранит
все
обращения
зарегистрированных пользователей
о
руководителях
Права пользователей в информационной системе по доступу к данным
должны определяться назначенными ролями и связями типа «субъектобъект».
Таблица 1.3. Роли системы
Роль
Описание
Пользователь
Любой пользователь, прошедший
процедуру аутентификации. Может
писать обращения в администрацию
Пользователь,
который
может
Администратор системы
управлять всем.
Роли пользователей определяют доступ к объектам модели. В MySQL была
создана реляционная база данных, состоящая из нескольких таблиц. В
таблицах хранится информация о структуре администрации, работе отделов,
новостях, документах, мультимедийных файлах, связанных с сайтом. Доступ
к хранящейся информации возможен через web-интерфейс в соответствии с
правами пользователя.
Одной из задач описываемого прототипа системы является предоставление
оперативного доступа к информации любому пользователю с учетом прав
доступа. Права доступа – совокупность правил, регламентирующих порядок и
условия доступа субъекта к объектам информационной системы, информации,
носителям, процессам и другим ресурсам, установленных правовыми
документами или собственником, владельцем информации. Права доступа
определяют набор действий (например, просмотр, хранение, измерение),
разрешенных для выполнения субъектам, пользователям системы над
объектами данных.
Таблица 1.4. Права доступа
Роль
Право доступа
Пользователь
Никаких прав, кроме доступа к
отправке обращений, не имеет.
Может просматривать все объекты.
Администратор
системы
1.3 Техническое здание на разработку Web- сайта Интернет – проекта
1 ОБЩИЕ ПОЛОЖЕНИЯ
1.1 Полное наименование системы и ее условное обозначение:
Официальный сайт администрации муниципального образования
«Город N».
Краткое наименование системы:
CityN.
Имя сайта (название домена):
www.cityn.ru
1.2
Наименования
организации-заказчика
и
организаций-
участников работ
Заказчиком системы является администрация города N в лице
Степанова Ильи Павловича, начальника информационного отдела.
1.3 Перечень документов, на основании которых создается система
Основанием для разработки является типовой договор на разработку
Web- проекта.
1.4 Плановые сроки начала и окончания работы по созданию
системы
Плановый срок начала работ по созданию – 4 сентября 2020 года.
Плановый срок окончания работ - 25 декабря 2020 года.
1.5 Порядок оформления и предъявления заказчику результатов
работ по созданию сайта
Сайт передается в виде функционирующего комплекса на базе средств
вычислительной техники Заказчика и Исполнителя в сроки, установленные
Договором.
Приемка
сайта
осуществляется
комиссией
в
составе
уполномоченных представителей Заказчика и Исполнителя.
1.6 Перечень нормативно-технических документов, методических
материалов, использованных при разработке ТЗ
При
разработке
документации
сайта
Исполнитель
и
создании
должен
проектно-эксплуатационной
руководствоваться
требованиями
следующих нормативных документов:
– ГОСТ 34.601-90. Комплекс стандартов на автоматизированные
системы. Автоматизированные системы. Стадии создания;
– ГОСТ 34.201-89. Информационная технология. Комплекс стандартов
на автоматизированные системы. Виды, комплексность и обозначение
документов при создании автоматизированных систем;
–
РД
технология.
50-34.698-90.
Комплекс
Методические
стандартов
на
указания.
Информационная
автоматизированные
системы.
Автоматизированные системы. Требования к содержанию документов.
2 НАЗНАЧЕНИЕ И ЦЕЛИ СОЗДАНИЯ САЙТА
2.1 Назначение сайта
Представление в Интернете: администрации города N, главы
администрации, структуры администрации, структурных подразделений,
муниципальных учреждений. Доступ к телефонному справочнику, записи на
прием, графику приема, юридическому адресу, почтовому адресу, контактной
информации. Предоставление справочной информации и нормативнораспорядительных
документов.
Информирование
населения
города;
публикация объявлений и новостей.
2.2 Цели создания сайта
Сайт должен реализовать быстрое взаимодействие администрации
города и населения, т.е. сайт должен способствовать быстрому доступу
посетителей к справочной и нормативно-распорядительной информации,
информации
о
распространению
работе
новостей
муниципальных
города
и
служб
объявлений
и
подразделений,
о
планируемых
мероприятиях и работах, проводимых на территории города. Также сайт
должен позволять дистанционно записываться на прием к представителям
подразделений администрации города.
3 ХАРАКТЕРИСТИКА ОБЪЕКТА АВТОМАТИЗАЦИИ
Объектом
автоматизации
является
информационный
отдел
администрации города N. Основной деятельностью администрации города
является: социально-экономическое развитие города, правоохранительная
деятельность, образование и культура, планирование, учет и отчетность,
управление, владение и распоряжение муниципальной собственностью.
Соответственно
деятельность
информационного
отдела
связана
с
публикацией актуальной информации о деятельности властей города, о
проводимых мероприятиях и работах. Сайт должен использоваться:
сотрудниками информационного отдела для добавления новой информации,
удалении старой и поддержания работоспособности системы; посетителями
для поиска нормативно-правовых актов, новостей, объявлений, связанных с
деятельностью администрации и с событиями, происходящими в жизни
города.
4 ТРЕБОВАНИЯ К СИСТЕМЕ
4.1 Язык сайта
Русский и английский.
4.2 Объем и состав текстовой информации
Согласно Приложению 1.
4.3 Основные ключевые слова, по которым сайт должны находить
по запросам в поисковых системах и Интернет – каталогах
1. официальный сайт города N,
2. город N,
3. прием главы города N,
4. адрес администрации N,
5. глава финансового отдела,
6. муниципальные службы города N,
7. график работы администрации N,
8. новости города N,
9. устав города N,
10. бухгалтерия города N,
11. :ЖКХ N,
12. регламент администрации N,
13. муниципальные программы города N,
14. правила землепользования N,
15. юридическая служба N,
16. кадровый отдел N,
17. департамент образования N,
18. департамент культуры N,
19. департамент здравоохранения N,
20. нормативно-правовые документы N,
Примечание:
Перечень ключевых слов для веб-дизайнера носит справочный
характер и не входит в число обязательных параметров, подлежащих
проверке при приемке сайта. Занимаемые сайтом позиции в рейтингах,
каталогах и поисковых системах не оговариваются.
4.4 Объём и состав графической информаци
Cite.jpg - Герб города
Mer.jpg - фотография действующего мэра города
BuildAdmin.jpg - фотография здания администрации
Фотографии руководителей отделов в формате JPG(12 шт.)
Новость1.jpg
Новость2.jpg
4.5 Общий объём и состав текстовой и графической информации,
переданный Заказчиком в электронном виде
9 файлов, содержащих текстовую информацию, загружаемую на сайт:
Глава администрации.docx
Структурные подразделения.docx
Муниципальные службы.docx
Расписание приема.docx
Устав города.docx
Регламент.docx
Правила землепользования.docx
Муниципальные программы города.docx
Новости города.docx
17 файлов, содержащих графическую информацию, загружаемую на
сайт:
Cite.jpg - Герб города
Mer.jpg - фотография действующего мэра города
BuildAdmin.jpg - фотография здания администрации
Фотографии руководителей отделов в формате JPG(12 шт.)
Новость1.jpg
Новость2.jpg
Всё файлы включены в Приложение 3.
4.6 Предполагаемая возрастная аудитория сайта
От 14 лет и старше.
4.6.1. Предполагаемое возрастное ядро аудитории от 18 до 65 лет.
4.6.2. Данная информация носит рекомендательный характер.
Цифровые показатели контролю и проверке при приёмке сайта не подлежат.
4.7 Количество страниц сайта
Сайт должен обязательно содержать следующие отдельные html
страницы: 1 – Главная (домашняя) страница; 2 – Администрация города; 3 –
Новости; 4 – Приемная; 5 – Документы; 6 – Поиск; 7 – Глава администрации;
8 – Структурные подразделения администрации; 9 – Социальная сфера; 10 –
Городская сфера; 11 – Расписание приема; 12 – Запись на прием; 13 – Устав
города; 14 – Регламент администрации; 15 – Правила землепользования и
застройки города; 16 – Поиск по документам; 17 – Поиск по новостям; 18 –
Карта сайта.
Количество
html
страниц
сайта
определяется
веб-дизайнером
самостоятельно, исходя из объёма представленных материалов согласно
Приложению 3.
4.8 Кнопки управления (навигация сайта)
С каждой страницы сайта должен быть обеспечен переход (установлена
гиперссылка) на головную (начальную) страницу сайта. На каждой странице
сайта должно быть навигационное меню с ссылками на основные разделы
сайта: «Администрация», «Новости», «Приемная», «Документы», «Поиск». В
подвале сайта должна быть ссылка на карту сайта указана контактная
информация.
4.9 Схема сайта
Головная (начальная) страница сайта должна содержать гиперссылки,
обеспечивающие переход с нее на не менее чем 95% страниц сайта, но не более
чем 50 гиперссылок. Графическая схема навигации на рис.1.
Рис. 1 Графическая схема сайта
4.10 Общий объём сайта, Мб.
Не оговаривается.
4.11 Оформление рисунков.
Все рисунки объемом более 1 Кб должны быть выполнены с
замещающим текстом. Рисунки размером более 15 Кб должны быть
выполнены с предпросмотром (предпросмотр – уменьшенное изображение
рисунка, при нажатии мышкой на которое открывается полное или более
крупное изображение того же рисунка). Формат всех рисунков gif, png, jpg
(jpeg).
4.12 Пропускная способность линии связи.
Среднее время загрузки страниц не должно превышать 3 секунд при
скорости соединения 56 Кбит/сек. Допускается увеличение времени загрузки
отдельных страниц до 5 секунд, но не более чем на 30% общего числа страниц
сайта. Головная (начальная) страница должна иметь время загрузки не более 7
секунд.
Примечание:
Во всех случаях не учитывается время загрузки подгружаемых
элементов (счетчики, баннеры, информеры и т.д.).
4.13 Основной диапазон разрешения мониторов, на которых будет
просматриваться сайт
от 1240х1024 пикселей (17" LCD).
Примечание: Основное разрешение, на которое оптимизируется сайт:
1024х768 пикселей (15" LCD).
4.14 Минимальное разрешение монитора, на котором будет
просматриваться сайт
от 1240х1024 пикселей (17" LCD).
4.15 Основной браузер, которым будет просматриваться сайт, и его
минимальная версия
Yandex 17.6.1 и выше;
Google Chrome 50.0 и выше;
IE 10.0 и выше.
4.16 Цветовая палитра
Основной режим мониторов, на которых будет просматриваться сайт:
15 разрядов цветов и выше (число цветов 65536 и выше).
Список цветов для использования на сайте:
teal (цвет тега заголовка h2 и h3, цвет ссылок в левом и правом тегах
nav, цвет фона footer, цвет шрифта p на странице about, цвет шрифта ссылок
карты сайта на странице about)
gray (тени заголовка h2)
white (тени заголовка h2, цвет фона main, цвет фона таблицы table, фон
блока article p и article div, цвет шрифта в footer, цвет ссылок в footer)
black (шрифт блока main)
#d1fffac2 (цвет фона ячеек таблицы td, tr)
midnightblue (цвет ссылок a)
lightblue (цвет фона тега p, выровненных по центру, фон блока article,
фон пунктов верхнего навигационного меню ul li)
#556B2F (цвет шрифта тега p, выровненных по центру, цвет ссылок в
левом и правом тегах nav при наведении на них курсора)
#8FBC8F (цвет активного пункта меню ul li)
pink, powderblue цвет градиента для header)
При разработке сайта должен быть обеспечена возможность его
просмотра при использовании безопасной цветовой палитры (разрядность
цветов 8). Изменения оттенков цветов, при просмотре сайта с использованием
безопасной цветовой палитры, не оговариваются.
4.17 Общий фон сайта
Общий фон сайта белый (white). Допускается использование светлого
фонового рисунка.
4.18 Размер и вид шрифта сайта
Размер шрифта сайта должен быть в пределах 10-14 для оформления
текста. Размер шрифта для оформления заголовков, названия страниц и т.д. не
более 24. Вид (название) шрифта Bookman, Times, serif для заголовков, Times
для основного текста.
4.19 Срок разработки сайта
16 недель со дня зачисления 100 % предоплаты на расчётный счёт
Исполнителя.
4.20 Порядок передачи сайта
Исполнитель передает сайт Заказчику на флеш-накопителе, а также
логин, пароль и название (код передачи данных) по протоколу ftp.
Заказчик
обязан
проверить
орфографических ошибок на сайте
наличие
грамматических
и
в течение трех рабочих дней.
Обнаруженные ошибки Исполнитель обязан устранить в течение трех рабочих
дней.
4.21 Дополнительные условия
Каждая страница сайта должна содержать название города и его
символ. Внизу на каждой странице сайта должна быть указана контактная
информация (телефон и электронная почта приемной администрации),
юридический и физический адрес, а также ссылка на карту сайта.
На сайте должны быть реализованы: контекстный поиск по всей
содержательной информации (по разделам, по документам, по новостям);
создание форм для заполнения обращений в администрацию города;
возможность администрирования сайта.
Приложение к ТЗ:
1. Текстовая информация на 20л.
2. Графическая информация на 10л.
3. Текстовая (формат Word) и графическая информация (формат jpeg и
gif), представленные в Приложениях 1 и 2, на флеш-накопителе.
2. Проектирование Web- сайта
2.1 Функциональная структура и модули сайта
В процессе разработки web-сайта возникает потребность в описании
логических отношений между взаимодействиями функций. Для организации
эффективной работы приложения важно понимать, как работают функции
сайта и как они связаны между собой. В противном случае, невозможно будет
решить все существующие проблемы и выбрать оптимальный метод решения
поставленной
задачи.
Именно
поэтому
необходимо
составить
функциональную модель.
Функциональная модель – описывает совокупность выполняемых системой
функций, характеризует состав функциональных подсистем и их взаимосвязи.
Одной из конструкций функциональной модели является бизнес-модель
процессов (иерархия функций системы). Она предназначена для описания
процессов и функций системы в предметной области базы данных. Бизнесмодель чаще всего документируется в соответствии с методологией IDEF0 и
представляется в виде совокупности иерархически упорядоченных диаграмм.
Контекстная диаграмма – это вершина иерархической структуры диаграмм.
Она дает самое общее описание системы и её взаимодействия с внешней
средой.
Контекстная диаграмма состоит из главного функционального блока «Создать
сайт города N». Слева от блока отображены входные данные. К ним относятся:
 Исходный код;
 Логин и пароль пользователя;
 Логин и пароль администратора;
 Таблицы базы данных;
 Текстовый материал.
Справа от блока отображены выходные данные:
 Информация об отделах;
 Новости и документы;
 Обращение;
 Расписание приема.
Вверху блока отображены данные для управления. Данные управления
включают в себя: техническое задание.
Внизу блока отображены механизмы, с помощью которых происходит
преобразование входных данных в выходные данные. К механизмам
относятся: пользователь и администратор сайта.
Рис. 2.1 Контекстная диаграмма
Дальнейшее описание системы строится на основе последовательного
разбиения функциональности системы на более детальные фрагменты.
Диаграммы, которые описывают каждый из функциональных фрагментов
системы, называются диаграммами декомпозиции.
Диаграмма первого уровня IDEF0 является декомпозицией контекстной
диаграммы и состоит из 6 блоков: «Войти в систему», «Получить информацию
об отделах», «Просмотреть новости и документы», «Добавить обращение»,
«Найти информацию», «Управлять сайтом».
Подсистема «Войти в систему» служит для авторизации пользователей. После
входа в систему пользователь получает доступ к информации об отделах,
новостям, документам, поиску по сайту и добавлению обращений.
Администратор же получает доступ к управлению сайтом.
Подсистема «Получить информацию об отделах» получает данные для
управления из базы данных сайта и текстовых материалов. В качестве
выходных данных функция выдает информацию об отделах, руководителях и
расписании работы.
Подсистема «Просмотреть новости и документы» получает данные для
управления из базы данных сайта. В качестве выходных данных функция
выдает новости и документы города и администрации.
Подсистема «Добавить обращение» находится под управлением формы
обращения и исходного кода, на выходе их функции данные отправляются в
соответствующую таблицу базы данных.
Подсистема «Найти информацию» находится под управлением исходного
кода. В качестве входящих данных служат поисковые запросы, в качестве
выходящих - результаты запроса.
Подсистема «Управлять сайтом» в качестве входных данных получает новые
документы, новости, текстовые материалы. Находится под управление базы
данных и исходного кода. В результате дает изменение данных о новостях,
документах, отделах.
Рис. 2.2 Диаграмма декомпозиции
2.2 Дизайн сайта
В соответствии с определенными требованиями к сайту были
разработаны макеты и схемы страниц сайта. Карта сайта представлена на рис.
2.3. Макеты страниц представлены в Приложении.
Рис. 2.3 Карта сайта
Все страницы сайта имеют одинаковый заголовок, навигационное
меню и подвал. Они оформлены в одинаковом стиле и отображаются на
каждой странице сайта.
Заголовок сайта содержит название сайта. Подвал сайта содержит
контактные данные администрации, адрес и ссылку на карту сайта.
Навигационное меню сайта должно обязательно содержать следующие
отдельные пункты: 1 – Главная (домашняя) страница; 2 – Администрация
города; 3 – Новости; 4 – Приемная; 5 – Документы; 6 – Поиск; 7 – Глава
администрации; 8 – Структурные подразделения администрации; 9
–
Социальная сфера; 10 – Городская сфера; 11 – Расписание приема; 12 – Подать
обращение; 13 – Устав города; 14 – Регламент администрации; 15 – Правила
землепользования и застройки города; 16 – Поиск по документам; 17 – Поиск
по новостям; 18 - Карта сайта; 19 – Авторизация; 20 – Регистрация; 21 –
Страница администрирования сайта.
Если пользователь прошел авторизацию с ролью «Пользователь», то он
получает доступ к пункту меню «Подать обращение». У администратора
открыт доступ ко всем страницам сайта.
Навигационная схема представлена на рис. 2.4
Рис. 2.4 Навигационная схема
Были реализованы следующие страницы сайта:
1 – Главная (домашняя) страница. Она содержит главное меню, блок
структурных подразделений администрации, новостной блок и блок
объявлений. Основное назначение страницы - информирование посетителей о
последних новостях и важных событиях города. При нажатии на название
подразделения в левом блоке происходит переход на страницу «Структурные
подразделения администрации». При нажатии на название объявления в
правом блоке происходит вывод объявления. Закрыть текст объявления можно
с помощью кнопки «Вернуться». Дизайн страниц на рис. 2.5-2.6.
Рис. 2.5
Рис. 2.6
2 – Администрация города. На странице администрации представлена
информация об администрации города. Пример на рис. 2.7
Рис. 2.7
3 – Новости. На странице новостей выводятся новости из базы данных.
Новости выводятся постранично (5 новостей на одной странице). При нажатии
на название новости открывается новость целиком. Пример на рис. 2.8-2.10.
Рис. 2.8
Рис 2.9
Рис. 2.10
5 – Документы. На странице документы выводится информация о
документах администрации. Данные берутся из таблицы в БД и выводятся
постранично (3 документа на странице). После нажатия на заголовок
документа открывается окно для его полного просмотра. Пример на рис. 2.112.13.
Рис. 2.11
Рис. 2.12
Рис. 2.13
6 – Поиск. Страница поиска содержит форму поиска по сайту и выводит
результаты запроса. Пример на рис. 2.14-2.15.
Рис. 2.14
Рис. 2.15
7 – Глава администрации. Содержит информацию о главе города.
Пример на рис. 2.16.
Рис. 2.16.
8 – Структурные подразделения администрации. На странице
выводится информация о подразделениях и их руководителях из таблиц базы
данных. Пример на рис. 2.17.
Рис. 2.17
9 – Социальная сфера. Содержит новости с направлением «Социальная
сфера». Вывод постраничный. Пример на рис. 2.18.
Рис. 2.18
10 – Городская сфера. Содержит новости с направлением «Городская
сфера». Вывод постраничный. Пример на рис. 2.19.
Рис. 2.19
11 – Расписание приема. Содержит таблицу с расписанием приема в
отделах. Пример на рис. 2.20-2.21.
Рис. 2.20
Рис. 2.21
12 – Подать обращение. Страница доступна только авторизированным
пользователям. Позволяет отправить обращение в администрацию города.
Содержит форму отправки: ФИО, e-mail, телефон подразделения, текст
обращения. Рис. 2.22.
Рис. 2.22
13 – Устав города. На странице выведены все документы с
направлением «Устав города».
14 – Регламент администрации. На странице выведены все документы
с направлением «Регламент администрации».
15 – Правила землепользования и застройки города. На странице
выведены все документы с направлением «Правила землепользования и
застройки города».
16 – Муниципальные программы города. На странице выведены все
документы с направлением «Муниципальные программы города».
16 – Поиск по документам. Страница содержит форму поиска для
документов: можно искать по названию, теме, направлению, содержанию и
датах утверждения и принятия. Пример на рис. 2.23
Рис. 2.23
17 – Поиск по новостям. Страница содержит форму поиска для
новостей: можно искать по названию, теме, направлению, содержанию и дате
публикации. Пример на рис. 2.24.
Рис. 2.24
19 - Карта сайта. Содержит все ссылки сайта. Пример на рис. 2.25.
Рис. 2.25
20
– Авторизация.
авторизированный
Содержит форму для
пользователь
имеет
роль
авторизации.
«Пользователь»,
Если
то
он
перенаправляется на главную страницу. Если роль «Администратор», то на
страницу администрирования сайта. Пример на рис. 2.26.
Рис. 2.26
21 – Регистрация. Содержит форму для регистрации на сайте. После
регистрации происходит перенаправление на страницу с авторизацией
пользователя. Пример на рис. 2.27.
Рис. 2.27
22 – Страница администрирования сайта. Страница содержит
несколько таблиц для редактирования и управления информацией в базе
данных и на сайте. К этим таблицам относятся: новости, документы,
обращения, объявления и пользователи. При нажатии ячейку, содержащую
имя объекта, происходит открытие окна редактирования информации, при
нажатии
на
ячейку
с
надписью
«Удалить»
происходит
удаление
соответствующей записи, при нажатии на кнопку «Добавить» открывается
окно для добавления новой записи в таблицу базы данных. Пример на рис.
2.28-2.31.
Рис. 2.28
Рис. 2.29
Рис. 2.30
Рис. 2.31
Стилевое оформление сайта выполнено с помощью CSS.
Список цветов для использования на сайте:
teal (цвет тега заголовка h2 и h3, цвет ссылок в левом и правом тегах
nav, цвет фона footer, цвет шрифта p на странице about, цвет шрифта ссылок
карты сайта на странице about)
gray (тени заголовка h2)
white (тени заголовка h2, цвет фона main, цвет фона таблицы table, фон
блока article p и article div, цвет шрифта в footer, цвет ссылок в footer)
black (шрифт блока main)
#d1fffac2 (цвет фона ячеек таблицы td, tr)
midnightblue (цвет ссылок a)
lightblue (цвет фона тега p, выровненных по центру, фон блока article,
фон пунктов верхнего навигационного меню ul li)
#556B2F (цвет шрифта тега p, выровненных по центру, цвет ссылок в
левом и правом тегах nav при наведении на них курсора)
#8FBC8F (цвет активного пункта меню ul li)
pink, powderblue цвет градиента для header)
Общий фон сайта белый (white). Допускается использование светлого
фонового рисунка.
Размер шрифта сайта установлен в пределах 10-14 для оформления
текста. Размер шрифта для оформления заголовков, названия страниц и т.д. не
более 24. Вид (название) шрифта Bookman, Times, serif для заголовков, Times
для основного текста.
Выполнили стилизацию группы элементов на боковой панели
Установили одинаковый цвет для нажатых и не нажатых ссылок в левом блоке
навигации. Для ссылки, на которую наведен курсор, изменили цвет и добавили
подчеркивание.
Рис. 2.32 Боковая панель после добавления стилей
Выполнили стилизацию подвала сайта. Разбили данные находящиеся в нем на
две колонки с помощью тега <div>.
Рис. 2.33 Подвал сайта
Выполнили стилизацию панели навигации.
Добавили изменение цвета в выбранном пункте меню, выделение активной
страницы сайта, установили цвет и начертание ссылок меню.
Рис. 2.33 Панель навигации с добавленными стилями
Стилизовали заголовок страницы. Изменили размер шрифта, установили
стили шрифта заголовка (Bookman), добавили тени в заголовок.
Рис. 2.34 Градиент на фоне заголовка страницы
На страницу «About» добавлены карта сайта и условия использования
материалов сайта. Все ссылки сайта приведены к одному цвету. Ссылки,
совпадающие с главными пунктами навигационного меню выделены
начертанием
bolder,
размером
14pt
и
подчеркиванием.
Ссылки
из
выпадающего меню при наведении на них указателя мыши меняют начертание
на bolder.
3. Информационное обеспечение сайта
Выделено 12 сущностей: Муниципальное
образование,
Структура,
Подразделения,
Документы,
Объявления,
Руководители,
Новости,
Обращения, Пользователи, Роли, Расписание, День недели.
Сущность Муниципальное образование имеет атрибуты: Наименование,
Структура, Руководитель.
Сущность
Структура
имеет
атрибуты:
Наименование
и
Номер_Подразделения.
Сущность Подразделение имеет атрибуты: Наименование, Назначение,
Функция.
Сущность Руководитель имеет атрибуты: Номер_Подразделения, ФИО,
Телефон.
Сущность Новости имеет атрибуты: Название, Тема, ключевые слова,
Содержание, Дата публикации.
Сущность Документы имеет атрибуты: Наименование, Тема, Ключевые слова,
Дата ввода, Номер, Дата утверждения, Содержание.
Сущность Объявления имеет атрибуты: Дата публикации и Содержание.
Сущность Обращения имеет атрибуты: Имя, Текст, Номер Пользователя И
Номер Отдела.
Сущность Роли имеет атрибуты: Наименование.
Сущность Пользователи имеет атрибуты: Логин, Роль, Имя, Пароль.
Сущность Расписание имеет атрибуты: Номер отдела, День недели, Время
окончания, Время начала.
Сущность День недели имеет атрибуты: название.
Описание связей между таблицами;
Между сущностью Муниципальное образование и Структура установлена
связь 1:1, т.е одна структура может быть у одного муниципального
образования.
Между сущностью Структура и Подразделение установлена связь 1:N, т.е. в
одной структуре может быть несколько подразделений.
Между сущностью Подразделение и Руководитель установлена связь 1:1, т.е.
в одном подразделении может быть один руководитель.
Между сущностью Расписание и День недели установлена связь N:1, т.е.
несколько записей расписания принадлежит одному дню недели.
Между сущностью Роль и сущностью Пользователи установлена связь 1:N,
т.е. одной роли принадлежит несколько пользователей, но у одного
пользователя может быть одна роль.
Между сущностью Пользователи и Обращения установлена связь 1:N, т.е. у
одного пользователя может быть несколько обращений, но одно обращение
принадлежит одному пользователю.
Между сущностью Подразделение и Обращения установлена связь 1:N, т.е.
одно обращение может быть отправлено в одно подразделение, но в одном
подразделении может быть несколько обращений.
Построили диаграмму сущность-связь в нотации Чена (рис. 3.1).
Рис. 3.1
Подключились к MySQL-серверу. На главном экране (рис. 3.2) ввели имя
новой базы данных и выбрали кодировку (рис. 3.3).
Рис. 3.2 Главный экран phpMyAdmin
Рис. 3.3 Создание новой базы данных
Последовательно создали таблицы municip_obr, struct, units, sotr, documents,
news, advertising, appointments, day_week, role, timetable, users.
Добавили внешние ключи в таблицы. В struct добавили внешний ключ id из
municip_obr и id из units. В appointments, timetable, director из units пришел
внешний ключ id. В appointments из users пришел id. Из day_week в timetable
пришел ключ id. Из role в users пришел ключ id.
Физическая модель данных разработанная с помощью MySQL изображена на
рис. 3.4.
Рис. 3.4
Описание полей таблиц базы данных.
Таблица 3.1. Описание полей таблицы municip_obr
Имя поля
Описание
Id
Уникальный
номер
муницпального
образования
Название
Varchar(250)
муниципального
образования
Имя
главы Varchar(250)
муниципального
образования
Name
Director
Тип данных
размер
Tinyint (4)
и Тип ключа
PK
Таблица 3.2. Описание полей таблицы struct
Имя поля
Описание
Id_municip_obr
Номер
муниципального
образования,
которое
имеет
данную структуру
Номер
Int(11)
подразделения,
которое входит в
данную структуру
Id_unit
Тип данных
размер
Tinyint(4)
и Тип ключа
FK
FK
Name
Название данной Varchar(250)
структуры.
Таблица 3.3. Описание полей таблицы units
Имя поля
Описание
Id
Уникальный
номер
подразделения
Название
подразделения
Назначение
Функции
Name
Purpose
Function
Тип данных
размер
Int(11)
и Тип ключа
PK
Varchar(250)
Text
Text
Таблица 3.4. Описание полей таблицы documents
Имя поля
Описание
Id
Уникальный
номер документа
в базе данных
Name
Название
документа
Ключевые слова
Тема документа
Направление
документа
(раздел сайта)
Дата
введения
документа
Varchar(250)
Дата
утверждения
документа
Date
Key_words
Theme
Direct
Date_of_entry
Date_of_approved
Numb_of_approved Номер
утверждения
Content
Содержание
документа
Тип данных
размер
Int(11)
и Тип ключа
PK
Text
Varchar(250)
Varchar(250)
Date
Int(11)
Text
Таблица 3.5. Описание полей таблицы news
Имя поля
Описание
Тип данных
размер
и Тип ключа
Id
Name
Theme
Direct
Key_words
Content
Date_public
Уникальный
номер новости
Название новости
Тема новости
Направление
новости (раздел
сайта)
Ключевые слова
Содержание
новости
Дата публикации
Int(11)
PK
Varchar(250)
Varchar(250)
Varchar(250)
Text
Text
Date
Таблица 3.6. Описание полей таблицы director
Имя поля
Описание
Id
Уникальный
номер новости
Уникальный
Int(11)
номер
отдела
сотрудника
Фио
Varchar(250)
руководителя
Телефон
Varchar(11)
сотрудника
Id_unit
Full_name
Pnone
Тип данных
размер
Int(11)
и Тип ключа
PK
FK
Таблица 3.7. Описание полей таблицы appointments
Имя поля
Описание
Id
Уникальный
номер новости
Уникальный
номер
пользователя
Фио отправителя
Номер отдела
Текст обращения
Электронная
почта
Id_user
Fio
Units
Text
E-mail
Тип данных
размер
Int(11)
Int(10)
(unsigned)
Varchar(250)
Varchar(11)
Text
Varchar(200)
и Тип ключа
PK
FK
FK
Таблица 3.8. Описание полей таблицы advertising
Имя поля
Описание
Тип данных
размер
и Тип ключа
Id
Name
Content
Date_public
Уникальный
номер
объявления
Название
объявления
Содержание
новости
Дата публикации
Int(10)
PK
Varchar(250)
Text
Date
Таблица 3.9. Описание полей таблицы role
Имя поля
Описание
Id
Уникальный
номер роли
Название роли
Name
Тип данных и Тип ключа
размер
Int(1)
PK
(AUTO_INCREMENT)
Varchar(250)
Таблица 3.10. Описание полей таблицы appointments
Имя поля
Описание
Id
Уникальный
номер
пользователя
Электронная
почта
Пароль
Имя пользователя
Роль
пользователя
Email
Pass
Name
Role
Тип данных
размер
Int(10)
(unsigned)
и Тип ключа
PK
Varchar(250)
Varchar(250)
Name
Int(1)
FK
По умолчанию (2)
Таблица 3.11. Описание полей таблицы timetable
Имя поля
Описание
Id
Уникальный
PK
номер
пользователя
Уникальный
Int(11)
FK
номер отдела
Номер дня недели Int(1)
FK
Имя пользователя Time
По
умолчанию
(null)
Роль
Time
пользователя
По
умолчанию
(null)
Id_units
Id_day_week
Time_begin
Time_end
Тип данных
размер
Int(11)
и Тип ключа
Таблица 3.12. Описание полей таблицы day_week
Имя поля
Описание
Id
Уникальный
номер
пользователя
Уникальный
номер отдела
Name
Тип данных
размер
Int(11)
Name
Описание запросов, отражающих функции сайта.
Название запроса
Текст запроса
1. Функциональные запросы для пользователя
1.1. «Отправить обращение»
1.2. «Зарегистрироваться на сайте»
1.3. «Получить расписание отделов»
2. Функциональные запросы для администрации
2.1. «Добавить новость»
2.2. «Изменить новость»
2.3. «Удалить новость»
2.4. «Добавить документ»
2.5. «Изменить документ»
2.6. «Удалить документ»
2.7. «Добавить обращение»
2.8. «Изменить обращение»
2.9. «Удалить обращение»
2.10.
«Добавить пользователя»
2.11.
«Изменить пользователя»
2.12.
«Удалить пользователя»
2.13.
«Добавить объявление»
2.14.
«Изменить объявление»
2.15.
«Удалить объявление»
3. Информационно-поисковые запросы организации
3.1. «Поиск объекта по дате»
3.2. «Поиск новости по дате»
3.3. «Поиск новости по названию и дате»
3.4. «Поиск новости по теме и дате»
3.5. «Поиск новости по направлению и дате»
3.6. «Поиск новости по содержанию и дате»
3.7. «Поиск документа по дате»
3.8. «Поиск документа по названию и дате»
3.9. «Поиск документа по теме и дате»
3.10.
«Поиск документа по направлению и дате»
3.11.
«Поиск документа по содержанию и дате»
3.12.
«Поиск среди документов и новостей»
4. Информационно-агрегативные запросы
и Тип ключа
PK
4.1. «Вывести две последние новости»
4.2. «Вывести пять последних объявлений»
4.3. «Вывести пользователей с названиями их ролей»
4.4. «Найти количество документов по определенной теме»
4.5. «Найти количество новостей по определенной теме»
Тексты запросов:
1. Функциональные запросы для пользователя
1.1. INSERT INTO `appointments` (`id`, `id_user`, `fio`, `units`, `text`, `e-mail`)
VALUES (NULL, @user, @fio, @units, @text, @email)
1.2. INSERT INTO `users` (`email`, `pass`, `name`) VALUES (@email,
@password, @name."')
1.3. SELECT
units.Name,
day_week.name,
timetable.time_begin,
timetable.time_end FROM units, day_week, timetable WHERE units.ID =
timetable.id_units AND day_week.id = timetable.id_day_week AND units.id
= @id
2. Функциональные запросы для администрации
2.1. INSERT INTO `news` (`Name`, `Theme`, `Direct`, `Key_words`, `Content`,
`date_public`) VALUES (@name, @theme, @direct, @key_words,
@content, @date)
2.2. UPDATE news SET name=@name, content=@content, direct=@ direct
WHERE id=@ id
2.3. DELETE FROM ` news ` WHERE id=@id
2.4. INSERT INTO `documents` (`Name`, `Key_words`, `Theme`, `Direct`,
`Content`) VALUES (@name, @key_words, @theme, @direct, @content)
2.5. UPDATE documents SET name=@name, content=@content, direct=@
direct WHERE id=@ id
2.6. DELETE FROM `documents` WHERE id=@id
2.7. INSERT INTO `appointments` (`id`, `id_user`, `fio`, `units`, `text`, `e-mail`)
VALUES (NULL, @user, @fio, @units, @text, @email)
2.8. UPDATE appointments SET fio=@fio, units=@units, text_=@text, `e-mail`
= @email WHERE id=@id
2.9. DELETE FROM appointments WHERE id=@id
2.10.
INSERT INTO `users` (`email`, `pass`, `name`, `role`) VALUES
(@email, @password, @name, @role)
2.11.
UPDATE users SET name=@name, pass=@pass, email=@email,
role=@role WHERE id=@id
2.12.
DELETE FROM `users` WHERE id=@id
2.13.
INSERT INTO `advertising` (`name`, `date_public`, `content`)
VALUES (@name, @date_public, @content)
2.14.
UPDATE advertising SET name=@name, content=@content,
date_public=@date_public WHERE id=@id
2.15.
DELETE FROM advertising WHERE id=@id
3. Информационно-поисковые запросы организации
3.1. select `id`,`name`, `theme`, `direct`, `content` from news WHERE `name`
like @query_str AND `date_public` = @date UNION select `id`,`name`,
`theme`, `direct`, `content` from documents WHERE `name` like @query_str
AND `date_of_entry` = @date
3.2. SELECT `id`,`name`, `theme`, `direct`, `content` from news where (`name`
like @query_str_main OR `theme` like @query_str_main OR `direct` like
@query_str_main 'OR `content` like @query_str_main) AND `date_public`
= @date Order by `date_public`
3.3. select `id`,`name`, `theme`, `direct`, `content` from news where `name` like
@query_str_main AND `date_of_entry` = @date
3.4. select `id`,`name`, `theme`, `direct`, `content` from news WHERE `theme`
like @query_str_main AND `date_public` = @date
3.5. select `id`,`name`, `theme`, `direct`, `content` from news WHERE `direct`
like @query_str_main AND `date_public` = @date
3.6. select `id`,`name`, `theme`, `direct`, `content` from news WHERE `content`
like @query_str_main AND `date_public` = @date
3.7. SELECT `id`,`name`, `theme`, `direct`, `content` from documents where
(`name` like @query_str_main OR `theme` like @query_str_main OR
`direct` like @query_str_main 'OR `content` like @query_str_main) AND
`date_public` = @date Order by `date_public`
3.8. select `id`,`name`, `theme`, `direct`, `content` from documents where `name`
like @query_str_main AND `date_of_entry` = @date
3.9. select `id`,`name`, `theme`, `direct`, `content` from documents WHERE
`theme` like @query_str_main AND `date_public` = @date
3.10.
select `id`,`name`, `theme`, `direct`, `content` from documents
WHERE `direct` like @query_str_main AND `date_public` = @date
3.11.
select `id`,`name`, `theme`, `direct`, `content` from documents
WHERE `content` like @query_str_main AND `date_public` = @date
3.12.
select `id`,`name`, `theme`, `direct`, `content` from news where (`name`
like @query_str_main OR `theme` like @query_str_main OR `direct` like
@query_str_main OR `content` like @query_str_main UNION select
`id`,`name`, `theme`, `direct`, `content` from documents where (`name` like
@query_str_main OR `theme` like @query_str_main OR `direct` like
@query_str_main OR `content` like @query_str_main)
4. Информационно-агрегативные запросы
4.1. SELECT name, content FROM `news` ORDER BY date_public DESC
LIMIT 2
4.2. SELECT * FROM advertising ORDER BY date_public DESC LIMIT 5
4.3. SELECT users.id, users.email, users.pass, users.name, role.name FROM
users LEFT OUTER JOIN role ON role.id = users.role
4.4. SELECT COUNT (*) FROM news
4.5. SELECT COUNT (*) FROM documents
В приложении 2 приведен сценарий генерации БД.
4. Программная реализация сайта
Для создания исполняемых модулей сайта использованы средства языка
программирования PHP. PHP (рекурсивный акроним словосочетания PHP:
Hypertext Preprocessor) - это распространенный язык программирования
общего назначения с открытым исходным кодом. PHP специально
сконструирован
для
веб-разработок
и
его
код
может
внедряться
непосредственно в HTML.[ https://www.php.net/manual/ru/intro-whatis.php]
Сайт содержит несколько программных модулей.
 Форма регистрации и Форма авторизации
Модуль предназначен для регистрации новых пользователей и последующей
авторизации для входа на закрытую часть сайта. По уникальному логину и
паролю происходит идентификация пользователя.
В исходном файле form_register.php содержатся блок вывода ошибок и форма
регистрации, состоящая из текстовых полей: name, email, password и кнопки
btn_submit_register. Обработка данных из формы происходит в файле
register.php. В этом файле происходит запуск сессии с помощью функции
session_start(), подключение к файлу с вызовом базы данных с помощью
require_once(). Далее объявляются переменные для хранения сообщений об
ошибках и успехах операции. После проверки нажатия кнопки отправки
происходит обработка данных полученных с формы: удаляются лишние
пробелы, специальные символы, шифруется пароль. Если какое-либо из полей
не было заполнено, то выводится сообщение об ошибке и открывается форма
регистрации. Происходит проверка на наличие пользователя с таким email в
базе данных. Новый пользователь добавляется в базу данных и происходит
перенаправление на страницу авторизации.
В исходном файле form_auth.php содержит окно для вывода ошибок и форма
авторизации, состоящая из текстовых строк email и password и кнопки
btn_submit_auth. Данные с формы отправляются на обработку в файл auth.php.
В этом файле происходит запуск сессии с помощью функции session_start(),
подключение к файлу с вызовом базы данных с помощью require_once(). Далее
объявляются переменные для хранения сообщений об ошибках и успехах
операции. После проверки нажатия кнопки отправки происходит обработка
данных полученных с формы: удаляются лишние пробелы, специальные
символы, шифруется пароль. Если какое-либо из полей не было заполнено, то
выводится сообщение об ошибке и открывается форма авторизации. Данные с
формы проходят проверку на валидность, в случае неправильно заполненных
или незаполненных строк на странице авторизации появляется сообщение об
ошибке. Выполняется запрос к таблице пользователей в базе данных, если
результат запроса содержит одну запись, т.е. пользователь с такими данными
существует, то в массив сессий сохраняется логин и пароль. Далее проверяется
роль пользователя. Если это администратор, то происходит переход на панель
администрации сайта, если обычный пользователь, то на главную страницу.
Во время этой проверки в массив сессий указываются роль пользователя и
идентификатор пользователя в базе данных.
На рис. 4.1 и 4. 2 представлены алгоритмы работы модуля авторизации и
регистрации
Рис. 4.1
Рис. 4.2
 Форма подачи обращения
Форма
предназначена
для
подачи
обращений
авторизированных
пользователей сайта в администрацию города. Пользователь может указать
подразделение, в которое должно быть направлено обращение. Данные с
формы обрабатываются в appointment.php. В нём происходит проверка на
заполнение всех полей формы, обработка данных, создание запроса на вставку
в таблицу переменных, содержащих данные с формы. На рис. 4.3 представлен
алгоритм работы модуля обращений.
Рис. 4.3
 Расписание
Модуль формирует и выводит на страницу сайта расписание отдела.
В исходном файле timetable.php подключается база данных. В зависимости от
значения переменной act, устанавливаемой методом GET, определяется
содержимое страницы. Если act установлено в home, то на странице выводится
список подразделений города. В названия отделов и структур включены
ссылки, открывающие расписание работы, а значение act устанавливается в
view. Расписание выводится в виде таблицы. Также выводится ссылка
возврата на страницу со списком расписаний, которая возвращает act значение
home. На рис. 4.4 представлен алгоритм работы модуля расписания.
Рис. 4.4
 Новостной блок на главной странице
Выводит анонсы новостей на главную страницу. В файле index.php
происходит подключение к базе данных с помощью require_once(), затем
выполняется запрос на получение двух новостей из базы данных, которые и
выводятся в новостном блоке.
 Блок объявлений на главной странице
Публикация объявлений о событиях и плановых ремонтных работах в городе.
Выполняется запрос к таблице объявлений в базе данных на вывод пяти
последних объявлений.
 Блок подразделений на главной странице
Вывод названий подразделений города с возможностью перехода на страницу
подразделений. Выполняется запрос к таблице подразделений на вывод
названий отделов из базы данных.
 Новостной раздел
Модуль предназначен для публикации новостей на сайте. Позволяет разделить
новости по направлениям. Новость можно просмотреть в виде анонса, а можно
перейти по ссылке в заголовке новости, прочитать новость целиком.
В исходном файле news.php происходит подключение к базе данных. После
этого проверяется значение act, устанавливаемого с помощью метода GET,
если установлено значение home, то на странице выводятся новости и панель
переключения страниц. Для этого происходит запрос в базу данных и
результаты выводятся на экран. При нажатии на название новости переменной
act присваивается значение read_news и на экран выводится подробная
информация о новости, а также ссылка «Вернуться». При нажатии на нее
переменной act передается значение home, и происходит возврат на страницу
со всеми новостями. Номера страниц выводятся с помощью функции link_bar.
На рис. 4.5 представлен алгоритм работы модуля новостей.
Рис. 4.5
 Раздел документов
Модуль предназначен для публикации документов. Позволяет разделить
документы по направлениям. Возможен как краткий просмотр документа, так
его полный текст при переходе по ссылке в заголовке документа.
В исходном файле documents.php происходит подключение к базе данных.
После этого проверяется значение act, устанавливаемого с помощью метода
GET, если установлено значение home, то на странице выводятся документы
и панель переключения страниц. Для этого происходит запрос в базу данных
и результаты выводятся на экран. При нажатии на название документа
переменной act присваивается значение read_documents и на экран выводится
подробная информация о документе, а также ссылка «Вернуться». При
нажатии на нее переменной act передается значение home, и происходит
возврат на страницу со всеми документами. Номера страниц выводятся с
помощью функции link_bar. На рис. 4.6 представлен алгоритм работы модуля
документов.
Рис. 4.6
 Панель администрирования сайта
Предназначена для управления содержимым сайта. Позволяет управлять
данными в таблицах новостей, документов, обращений, объявлений,
пользователей.
В начале исполняемого файла adminpanel.php происходит проверка роли
пользователя (если не администратор, то перенаправляется на страницу
авторизации). Происходит подключение к базе данных. Далее устанавливается
значение переменной act с помощью метода GET. Эта переменная определяет
содержимое страницы.
Если значение act установлено в home, то странице отображаются пять таблиц
из базы данных и две строки с количеством документов и новостей в базе
данных. Таблицы с данными формируются следующим образом: делается
запрос на выбор всех данных из одной таблицы базы данных, если запрос
успешный, результат формируется в массив, который в цикле выводится на
экран. В том же цикле к полю названия добавляется ссылка на переход в окно
редактирования (значение act устанавливается в edit_@название_таблицы),
ссылка на удаление записи из таблицы (значение act устанавливается в
delete_@название_таблицы), внзу таблицы выводится ссылка на добавление
новой записи (значение act устанавливается в add_@название_таблицы).
Если значение act установлено в edit_@название_таблицы, то в переменную id
с помощью метода GET записывается id обрабатываемой записи. Далее
выполняется запрос на чтение данных из таблицы, если он успешен, то
результат записывается в массив и данные выводятся на форму. Если данные
на форме изменились, то формируется запрос на обновление данных, если он
успешен, то в формы записываются новые значения полей. Также на экран
выводится ссылка на возврат на главную страницу админпанели, по ней в act
устанавливается значение home.
Если значение act установлено в add_@название_таблицы, то на экран
выводится форма отправки данных. С помощью метода данные отправляются
из формы и записываются в соответствующие переменные. Формируется
запрос на вставку данных в таблицу, если он успешен, то выводится
сообщение об этом. Также на экран выводится ссылка на возврат на главную
страницу админпанели, по ней в act устанавливается значение home.
Если значение act установлено в delete_@название_таблицы, то в переменную
id с помощью метода GET записывается id обрабатываемой записи. Далее
формируется запрос на удаление записи с соответствующим id из таблицы
базы данных, в случае успеха выводится сообщение об этом. Также на экран
выводится ссылка на возврат на главную страницу админпанели, по ней в act
устанавливается значение home. На рис. 4.7 представлен алгоритм работы
панели администрации.
Рис. 4.7
 Карта сайта
Без вмешательства администратора сайта, формирует информационное дерево
сайта, и выводит его в нужном месте в виде раскрытого вплоть до последнего
уровня дерева ссылок. Карта сайта предназначена для упрощения навигации
по сайту и для наиболее полного индексирования сайта роботами поисковых
машин.
 Форма поиска
Предназначена для быстрого поиска текстовых материалов, касаемых
новостей и документов. Поиск осуществляется по документам, новостям.
Также доступен поиск по названию, теме, направлению, дате и содержанию.
В исходном файле search.php подключается база данных, формируется форма
поиска, и исполняемый блок. В php-блоке если поисковый запрос был
выполнен из строки поиска в навигационном меню, то формируется запрос на
поиск по двум таблицам. Если запрос не дал результатов выводится
соответствующее сообщение. Если запрос был отправлен их формы поиска на
странице, то в соответствии с отправленными данными формируется запрос и
его результаты выводятся на экран. В противном случае, выводится
сообщение об отсутствии данных. Алгоритм модуля на рис. 4.8.
Рис. 4.8
 Валидация данных.
Модуль проверяет правильность заполнения форм на некоторых страницах
сайта.
На странице подачи обращений form_appointment.php при незаполненных
полях Фамилия, Имя, Отчество, Телефон и e-mail средствами HTML
появляется сообщение о неверном формате введенных данных. При
отсутствии введенных данных о Подразделении, способе отправки и
подтверждении на отправку данных с помощью java-script функции
validate_form() выводятся сообщения с предупреждениями, а значению
события onsubmit присваивается false. Если поля формы заполнены верно, то
данные отправляются на обработку в файл appointment.php.
На странице регистрации и авторизации (form_register.php и form_auth.php)
валидация выполняется с помощью кода java-script в заголовке страницы. Для
проверки электронной почты составлено регулярное выражение. Если
введенный в поле формы адрес соответствует регулярному выражению, то
кнопка «Отправить» становится рабочей, в противном случае блокируется.
Поле пароля проверяется на длину, если меньше 6, то кнопка «Отправить»
блокируется и то выводится сообщение об ошибке, если введена пустая
строка, то выводится сообщение «Введите пароль».
5. Оценка эффективности и тестирование сайта
Для тестирования сайта были использованы средства Lighthouse от Google.
Google Lighthouse - это автоматизированный инструмент с открытым
исходным кодом для измерения качества веб-страниц. Его можно запускать на
любой веб-странице, публичной или требующей аутентификации. Google
Lighthouse осуществляет проверку производительности, доступности и
поисковой оптимизации на веб-страницах.
Данный инструмент генерирует отчет со всесторонним анализом следующих
факторов:
 Performance (Производительность). Насколько быстро работает сайт
(например, как быстро загружаются страницы и т.д.)?
 Progressive Web App (Прогрессивные веб-приложения). Похож ли сайт
на приложение, считают ли пользователи его современным.
 Accessibility (Доступность). Определяет насколько доступны вебстраницы и их уязвимые стороны
 Best Practices (Рекомендации). соответствует ли сайт рекомендациям
Google.
 SEO. Необходимо ли пересмотреть или улучшить SEO, чтобы помочь
сайту лучше ранжироваться.
Раздел Performance включается в себя несколько параметров:
First ContentFul Paint измеряет время, за которое первый текст или
изображение отображается на экране.
Total Blocking Time сумма всех периодов времени между FCP и временем до
Interactive,
когда
длина
задачи
превышала
50
мс,
выраженная
в
миллисекундах.
Speed
Index:
показывает,
насколько
быстро
содержимое
страницы
отображается визуально.
Time to Interactive показывает время, когда страница стала полностью
интерактивной.
Cumulative Layout Shift измеряет перемещение видимых элементов в видовом
окне.
Largest Contentful Paint отмечает время, в которое появляется самый большой
текст или изображение.
Результаты проверки Производительности представлены на Таблице 5.1 – 5.9
Таблица 5.1 Результаты для Главной страницы
Метрика
First ContentFul Paint
Total Blocking Time
Speed Index
Largest Contentful Paint
Time to Interactive
Cumulative Layout Shift
Результат
0.6 s
0.6 s
0.6 s
0.6 s
0 ms
0
Таблица 5.2 Результаты для Главы города
Метрика
First ContentFul Paint
Total Blocking Time
Speed Index
Largest Contentful Paint
Time to Interactive
Cumulative Layout Shift
Результат
0.6 s
0.6 s
0.6 s
0.6 s
0 ms
0
Таблица 5.3 Результаты для Администрация
Метрика
First ContentFul Paint
Total Blocking Time
Speed Index
Largest Contentful Paint
Time to Interactive
Cumulative Layout Shift
Результат
0.5 s
0s
0.5 s
0.5 s
0.5 ms
0
Таблица 5.4 Результаты для Структуры города
Метрика
First ContentFul Paint
Total Blocking Time
Speed Index
Largest Contentful Paint
Time to Interactive
Cumulative Layout Shift
Результат
0.5 s
0s
0.5 s
0.5 s
0.5 ms
0
Таблица 5.5 Результаты для Новости
Метрика
First ContentFul Paint
Total Blocking Time
Speed Index
Largest Contentful Paint
Time to Interactive
Cumulative Layout Shift
Результат
0.5 s
0s
0.5 s
0.5 s
0.5 ms
0
Таблица 5.6 Результаты для Документы
Метрика
First ContentFul Paint
Total Blocking Time
Speed Index
Largest Contentful Paint
Time to Interactive
Cumulative Layout Shift
Результат
0.5 s
0s
0.5 s
0.5 s
0.5 ms
0
Таблица 5.7 Результаты для Регистрация/Авторизация
Метрика
First ContentFul Paint
Total Blocking Time
Speed Index
Largest Contentful Paint
Time to Interactive
Cumulative Layout Shift
Результат
0.5 s
0s
0.5 s
0.5 s
0.5 ms
0
Таблица 5.8 Результаты для Админпанель
Метрика
First ContentFul Paint
Total Blocking Time
Speed Index
Largest Contentful Paint
Time to Interactive
Cumulative Layout Shift
Результат
0.5 s
0s
0.5 s
0.5 s
0.5 ms
0
Таблица 5.9 Результаты для Обращения
Метрика
First ContentFul Paint
Total Blocking Time
Speed Index
Largest Contentful Paint
Time to Interactive
Результат
0.3 s
0s
0.3 s
0.3 s
0.3 ms
Cumulative Layout Shift
0
Объем загружаемой страницы «Главная» составляет 142KB (рис. 5.1).
Рис. 5.1
Объем загружаемой страницы «Администрация» составляет 138KB (рис. 5.2).
Рис. 5.2
Объем загружаемой страницы «Структура» составляет 144KB (рис. 5.3).
Рис. 5.3
Объем загружаемой страницы «Новости» составляет 146KB (рис. 5.4).
Рис. 5.4
Объем загружаемой страницы «Расписание» составляет 144KB (рис. 5.5).
Рис. 5.5
Объем загружаемой страницы «Документы» составляет 139KB (рис. 5.6).
Рис. 5. 6
Объем загружаемой страницы «Админпанель» составляет 144KB (рис. 5.3).
Рис. 5.7
Заключение
В ходе выполнения курсовой работы был проведен анализ предметной области
разрабатываемого сайта. Изучены особенности работы администрации города,
её функции и структура. Была разработана модель системы в виде прототипа
сайта. Выделены основные объекты, сущности, роли и их взаимосвязи. В
соответствии с задачами работы, была создана структура сайта и построена
база данных для него. Для реализации функций сайта были определены
основные модули системы, которые в дальнейшем были реализованы
средствами языка PHP и Javascript. Также были исследованы основные
показатели работоспособности сайта.
В
результате
выполнения
администрации города N.
курсовой
работы
был
разработан
сайт
Библиографический список
Список содержит используемые источники литературы и электронных
документов.
1. Панфилов А.Н. Разработка приложений для Интернет: Методические
указания по выполнению курсовой работы/Панфилов Юж.-Рос. гос.
политехн. ун-т (НПИ) имени М.И. Платова.- Новочеркасск: ЮРГПУ (НПИ)
имени М.И. Платова, 2016.- 28с.
2. Шигина А.А. АНАЛИЗ ПОДХОДОВ К МОДЕЛИРОВАНИЮ БИЗНЕСПРОЦЕССОВ МУНИЦИПАЛЬНОГО УПРАВЛЕНИЯ // ФГАОУ ВПО
«Сибирский федеральный университет», Красноярск, Россия, С. 1-8.
3. А. Адалбек, Создание модели и прототипа информационной системы для
медицинских данных / О. Жижимов // Новосибирский государственный
университет Институт вычислительных технологий СО РАН Новосибирск,
Россия, С. 164-174.
4. Словаря банковских терминов и экономических понятий [Электронный
ресурс] – URL: https://www.banki.ru/wikibank/
5. Щербаков
С.М.
Процессно-статистический
подход
в
сфере
государственного управления // Вопросы современной науки и практики. –
№ 6 (20). 2009. С. 204-214.
Приложения
Приводятся листинги программного кода с комментариями, экранные формы
и результаты тестирования системы.
ПРИЛОЖЕНИЕ 1. Макеты страниц.
Рис. П.1 Главная
Рис. П.2 Администрация
Рис. П.3 Директор
Рис. П.4 Структура
Рис. П.5 Новости
Рис. П.6 Документы
Рис. П. 7 Регистрация
Рис. П.8 Админпанель
Рис. П.9 Изменить запись
Рис. П.10 Карта сайта
ПРИЛОЖЕНИЕ 2. Скрипт по созданию БД.
-- phpMyAdmin SQL Dump
-- version 5.0.2
-- https://www.phpmyadmin.net/
--- Хост: 127.0.0.1:3306
-- Время создания: Дек 26 2020 г., 21:57
-- Версия сервера: 5.7.29-log
-- Версия PHP: 7.1.33
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--- База данных: `db_site`
--- ---------------------------------------------------------- Структура таблицы `advertising`
-CREATE TABLE `advertising` (
`id` int(10) NOT NULL,
`name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL,
`date_public` date NOT NULL,
`content` text COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ---------------------------------------------------------- Структура таблицы `appointments`
-CREATE TABLE `appointments` (
`id` int(11) NOT NULL,
`id_user` int(10) UNSIGNED DEFAULT NULL,
`fio` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL,
`units` int(11) NOT NULL,
`text` text COLLATE utf8mb4_unicode_ci NOT NULL,
`e-mail` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ---------------------------------------------------------- Структура таблицы `day_week`
-CREATE TABLE `day_week` (
`id` int(1) NOT NULL,
`name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ---------------------------------------------------------- Структура таблицы `director`
-CREATE TABLE `director` (
`ID` int(11) NOT NULL,
`id_unit` int(11) NOT NULL,
`full_name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL,
`phone` varchar(11) COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ---------------------------------------------------------- Структура таблицы `documents`
-CREATE TABLE `documents` (
`ID` int(11) NOT NULL,
`Name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL,
`Key_words` text COLLATE utf8mb4_unicode_ci NOT NULL,
`Theme` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL,
`Direct` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL,
`Date_of_entry` date DEFAULT NULL,
`Date_of_approved` date DEFAULT NULL,
`Numb_of_approved` int(11) DEFAULT NULL,
`Content` text COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ---------------------------------------------------------- Структура таблицы `municip_obr`
-CREATE TABLE `municip_obr` (
`ID` tinyint(4) NOT NULL,
`Name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL,
`director` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ---------------------------------------------------------- Структура таблицы `news`
-CREATE TABLE `news` (
`ID` int(11) NOT NULL,
`Name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL,
`Theme` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL,
`Direct` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL,
`Key_words` text COLLATE utf8mb4_unicode_ci NOT NULL,
`Content` text COLLATE utf8mb4_unicode_ci NOT NULL,
`date_public` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ---------------------------------------------------------- Структура таблицы `role`
-CREATE TABLE `role` (
`id` int(11) NOT NULL,
`name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ---------------------------------------------------------- Структура таблицы `struct`
-CREATE TABLE `struct` (
`id_municip_obr` tinyint(4) NOT NULL,
`id_unit` int(11) NOT NULL,
`name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ---------------------------------------------------------- Структура таблицы `timetable`
-CREATE TABLE `timetable` (
`id` int(11) NOT NULL,
`id_units` int(11) NOT NULL,
`id_day_week` int(1) NOT NULL,
`time_begin` time DEFAULT NULL,
`time_end` time DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ---------------------------------------------------------- Структура таблицы `units`
-CREATE TABLE `units` (
`ID` int(11) NOT NULL,
`Name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL,
`Purpose` text COLLATE utf8mb4_unicode_ci NOT NULL,
`Function` text COLLATE utf8mb4_unicode_ci NOT NULL,
`Discript` text COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ---------------------------------------------------------- Структура таблицы `users`
-CREATE TABLE `users` (
`id` int(10) UNSIGNED NOT NULL,
`email` varchar(250) NOT NULL,
`pass` varchar(250) NOT NULL,
`name` varchar(250) NOT NULL,
`role` int(1) NOT NULL DEFAULT '2'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--- Индексы сохранённых таблиц
--
--- Индексы таблицы `advertising`
-ALTER TABLE `advertising`
ADD PRIMARY KEY (`id`);
--- Индексы таблицы `appointments`
-ALTER TABLE `appointments`
ADD PRIMARY KEY (`id`),
ADD KEY `unit_id` (`units`),
ADD KEY `id_user` (`id_user`);
--- Индексы таблицы `day_week`
-ALTER TABLE `day_week`
ADD PRIMARY KEY (`id`);
--- Индексы таблицы `director`
-ALTER TABLE `director`
ADD PRIMARY KEY (`ID`),
ADD KEY `sotr_ibfk_1` (`id_unit`);
--- Индексы таблицы `documents`
-ALTER TABLE `documents`
ADD PRIMARY KEY (`ID`);
--- Индексы таблицы `municip_obr`
-ALTER TABLE `municip_obr`
ADD PRIMARY KEY (`ID`);
--- Индексы таблицы `news`
-ALTER TABLE `news`
ADD PRIMARY KEY (`ID`);
--- Индексы таблицы `role`
-ALTER TABLE `role`
ADD PRIMARY KEY (`id`);
--- Индексы таблицы `struct`
-ALTER TABLE `struct`
ADD KEY `numb_struct` (`id_municip_obr`),
ADD KEY `struct_ibfk_1` (`id_unit`);
--- Индексы таблицы `timetable`
-ALTER TABLE `timetable`
ADD PRIMARY KEY (`id`),
ADD KEY `id_day_week` (`id_day_week`),
ADD KEY `timetable_ibfk_2` (`id_units`);
--- Индексы таблицы `units`
-ALTER TABLE `units`
ADD PRIMARY KEY (`ID`);
--- Индексы таблицы `users`
-ALTER TABLE `users`
ADD PRIMARY KEY (`id`),
ADD KEY `id_role` (`role`) USING BTREE;
--- AUTO_INCREMENT для сохранённых таблиц
---- AUTO_INCREMENT для таблицы `advertising`
-ALTER TABLE `advertising`
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--- AUTO_INCREMENT для таблицы `appointments`
-ALTER TABLE `appointments`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;
--- AUTO_INCREMENT для таблицы `day_week`
-ALTER TABLE `day_week`
MODIFY `id` int(1) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
--- AUTO_INCREMENT для таблицы `director`
-ALTER TABLE `director`
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
--- AUTO_INCREMENT для таблицы `documents`
-ALTER TABLE `documents`
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
--- AUTO_INCREMENT для таблицы `municip_obr`
-ALTER TABLE `municip_obr`
MODIFY `ID` tinyint(4) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--- AUTO_INCREMENT для таблицы `news`
-ALTER TABLE `news`
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
--- AUTO_INCREMENT для таблицы `role`
-ALTER TABLE `role`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--- AUTO_INCREMENT для таблицы `timetable`
-ALTER TABLE `timetable`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=50;
--- AUTO_INCREMENT для таблицы `units`
-ALTER TABLE `units`
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
--- AUTO_INCREMENT для таблицы `users`
-ALTER TABLE `users`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
--- Ограничения внешнего ключа сохраненных таблиц
---- Ограничения внешнего ключа таблицы `appointments`
-ALTER TABLE `appointments`
ADD CONSTRAINT `appointments_ibfk_1` FOREIGN KEY (`units`) REFERENCES `units`
(`ID`),
ADD CONSTRAINT `appointments_ibfk_2` FOREIGN KEY (`id_user`) REFERENCES
`users` (`id`);
--- Ограничения внешнего ключа таблицы `director`
-ALTER TABLE `director`
ADD CONSTRAINT `director_ibfk_1` FOREIGN KEY (`id_unit`) REFERENCES `units`
(`ID`) ON DELETE CASCADE;
--- Ограничения внешнего ключа таблицы `struct`
-ALTER TABLE `struct`
ADD CONSTRAINT `struct_ibfk_1` FOREIGN KEY (`id_unit`) REFERENCES `units`
(`ID`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `struct_ibfk_2` FOREIGN KEY (`id_municip_obr`) REFERENCES
`municip_obr` (`ID`);
--- Ограничения внешнего ключа таблицы `timetable`
-ALTER TABLE `timetable`
ADD CONSTRAINT `timetable_ibfk_1` FOREIGN KEY (`id_day_week`) REFERENCES
`day_week` (`id`),
ADD CONSTRAINT `timetable_ibfk_2` FOREIGN KEY (`id_units`) REFERENCES `units`
(`ID`);
--- Ограничения внешнего ключа таблицы `users`
-ALTER TABLE `users`
ADD CONSTRAINT `users_ibfk_1` FOREIGN KEY (`role`) REFERENCES `role` (`id`);
COMMIT;
Скачать