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

Разработка сайта для обработки цветов (Садавод)

Содержание:

  • Введение

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

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

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

    1. Техническое задание выбор средств реализации

    Техническое задание

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

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

    За наполнение сайта необходимой информацией отвечает администратор, в обязанности которого входит:

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

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

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

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

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

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

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

    2. Средства реализации

    HTML5

    HTML5 (англ. HyperText Markup Language, version 5) — язык для структурирования и представления содержимого всемирной паутины. Это пятая версия HTML. [2] Хотя стандарт был завершён (рекомендованная версия к использованию) только в 2014 году (предыдущая, четвёртая, версия опубликована в 1999 году), ещё с 2013 года браузерами оперативно осуществлялась поддержка, а разработчиками — использование рабочего стандарта (англ. HTML Living Standard). Цель разработки HTML5 — улучшение уровня поддержки мультимедиа-технологий с одновременным сохранением обратной совместимости, удобочитаемости кода для человека и простоты анализа для парсеров.

    Во всемирной паутине долгое время использовались стандарты HTML 4.01, XHTML 1.0 и XHTML 1.1. Веб-страницы на практике оказывались свёрстаны с использованием смеси особенностей, представленных различными спецификациями, включая спецификации программных продуктов, например, веб-браузеров, а также сложившихся общеупотребительных приёмов. HTML5 был создан как единый язык разметки, который мог бы сочетать синтаксические нормы HTML и XHTML. Он расширяет, улучшает и рационализирует разметку документов, а также добавляет единый API для сложных веб-приложений.

    CSS

    Спецификация CSS3 – это неоспоримое будущее в области декоративного оформления веб-страниц, и ее разработка еще далека от завершения. Большинство модулей все еще продолжает совершенствоваться и модифицироваться, и ни один браузер не поддерживает все модули. Это означает, что CSS3 испытывает такие же сложности, как и HTML5. Веб-разработчикам нужно решать, какие возможности использовать, а какие игнорировать, а также каким образом заполнить зияющие пробелы в браузерной поддержке.[2]

    Аббревиатура CSS расшифровывается, как «каскадные таблицы стилей» (от англ. Cascading Style Sheets). Таблицы стилей предназначены для визуального оформления элементов веб-страницы. Как правило, CSS используется в связке с HTML, что является весьма эффективным «инструментом» при создании любого сайта. Именно поэтому, наряду с изучением HTML также рекомендуется изучить технологию CSS.

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

    Аббревиатура CSS расшифровывается, как «каскадные таблицы стилей» (от англ. Cascading Style Sheets). Таблицы стилей предназначены для визуального оформления элементов веб-страницы. Как правило, CSS используется в связке с HTML, что является весьма эффективным «инструментом» при создании любого сайта. Именно поэтому, наряду с изучением HTML также рекомендуется изучить технологию CSS.

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

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

    JavaScript

    JavaScript (JS для краткости) является языком программирования, который позволяет веб-страницам отвечать на действия пользователя дальше базового уровня. Он был создан в начале 90-х фирмой Netscape, браузер которой Netscape Navigator в те времена был наиболее популярным средством для просмотра веб-сайтов. Название javascript наводит на мысли о связи с языком java, который также может использоваться в веб-программировании, и, действительно, javascript разрабатывался во многом с опорой на язык Java, но следует всё же помнить, что это совершенно разные языки. Скрипты, написанные на javascript, выполняются на стороне клиента (т. е. на компьютере пользователя), и не просто на стороне клиента, а в самом браузере, поэтому не требуется никаких дополнительных программ, никаких плагинов и т. п., скрипт можно просто вставить в html-код страницы, и он будет выполняться в любом браузере. Javascript - простой и удобный язык, позволяющий легко управлять содержимым веб-страницы, отслеживая самые различные действия пользователя, и реагируя на это. Благодаря этому, javascript практически не имеет конкурентов в своей области применения и является первым языком, изучение которого нужно начинать веб-разработчику.

    Bootstrap

    Бутстрап — это css и js-фреймворк, по сути, по сути, набор файлов с готовым написанным кодом. Цель разработчиков практически любого фреймворка — упростить разработку сайта себе и другим, кому будет доступен инструмент. В случае с Bootstrap он полностью бесплатен, так что вы можете использовать его любым образом, редактировать исходный код и как угодно переделывать фреймворк под себя.

    Классы Bootstrap можно разбить на 3 большие группы:

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

    Кроме классов во фреймворке Bootstrap имеются ещё и компоненты (готовые объекты интерфейса). Это кнопки, хлебные крошки, формы, навигационные меню, выпадающие списки, всплывающие панели и др.

    Применение фреймворка во время создания сайтов позволит решить многие задачи:

    • создание качественных адаптивных сайтов
    • современный дизайн (единый стиль оформления HTML элементов и компонентов).
    • является кроссбраузерным и кроссплатформенным (работает на всех популярных операционных системах и браузерах (Mozilla Firefox, Google Chrome, Safari, Internet Explorer и Opera и пр.).
    • является открытым и бесплатным, что означает, что его можно использовать бесплатно как для личного, так и для коммерческого использования.

    MySQL

    MySQL – это одна из самых популярных и получивших широкое распространенние СУБД (система управления базами данных) для интернета ресурсов. Данная система не предназначена для обеспечения обработки больших объемов информации, но ее использование идеально в сфере интернет-сайтов, как не очень небольших, так и весьма крупных ресурсах.

    MySQL выделяется прекрасной скоростью работы, он надежен и гибок. Работа с ним, в основном, не вызывает каких-либо затруднений. Что немаловажно – автоматическая поддержка сервера MySQL присутствует в поставке PHP.

    PHP

    PHP (рекурсивный акроним словосочетания PHP: Hypertext Preprocessor) – это распространенный язык программирования общего назначения с открытым исходным кодом. PHP специально сконструирован для веб-разработок и его код может внедряться непосредственно в HTML и наоборот, HTML теги легко добавляются к скриптам, написанным на PHP.

    PHP отличается от JavaScript тем, что PHP-скрипты выполняются на сервере и генерируют HTML, который посылается клиенту.

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

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

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

    Рисунок 2.1 – Структурная схема сайта

    Каждый ресурс Интернета содержит несколько тематических рубрик, соединенных между собой гиперсвязями. Как правило, ссылки на все разделы сайта с краткими анонсами их содержимого приводится на первой, так называемой стартовой странице, которой присваивается имя index.htm (.html) или как в нашем случае index.php, так как основой создания сайта служит язык php. Если тематические рубрики содержат собственные подразделы, каждая из них также имеет свою стартовую страницу, называющуюся index.html.

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

    Структурная схема сайта показана на рисунке ().

    Каждая страница ресурса представлена отдельным php модулем.

    Так главная страница – модуль index.php. Страница «О Кинотеатре» - модуль aboutus.php.

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

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

    Так модуль showMenu.php – используется для показа меню системы, модуль header.php – для вывода заголовка сайта, footer.php – для отображения подвала.

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

    Для отслеживания авторизации пользователей и их прав в системе используется механизм сессий. Сессии в PHP представляют из себя механизм сохранения на стороне сервера информации о компьютере клиента.

    Сессии – это группы переменных, которые хранятся на сервере, но относятся к одному уникальному посетителю. Повторю, это ключевой момент: сессии хранятся на сервере.

    Для того, чтобы обеспечить взаимодействие каждого посетителя с его данными из его сессии используется файл cookie, команду создать который PHP даёт сам, вам об это беспокоится не нужно. Этот cookie имеет значение только для сервера и не может быть использован для получения данных о пользователе.

    На сервере данные сессии хранятся в текстовом файле, и они доступны в программе PHP в массиве $_SESSION. Чтобы сохранить переменную в сессии нужно присвоить ей значение в этом массиве.

    Описание структуры базы данных и ее функций

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

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

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

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

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

    Построим описание атрибутов сущностей разрабатываемой системы.

    Описание сущности Жанр (Таблица 3 .1).

    Таблица 3.1 – Атрибуты сущности Жанр

    Атрибут

    Ключ

    Значение

    Домен

    Код жанра

    +

    Идентификатор записи

    Число

    Наименование

    Наименование жанра

    Текст

    Описание сущности Производство (Таблица 3 .2).

    Таблица 3.2 – Атрибуты сущности Производство

    Атрибут

    Ключ

    Значение

    Домен

    Код производства

    +

    Идентификатор записи

    Число

    Наименование

    Наименование производителя фильма

    Текст

    Таблица 3.3 – Атрибуты сущности Пользователь

    Атрибут

    Ключ

    Значение

    Домен

    Код пользователя

    +

    Идентификатор записи

    Число

    E-Mail

    e-mail пользователя

    Текст

    Пароль

    Пароль для входа в систему

    Текст

    Роль

    Роль пользователя

    Число

    Имя

    Имя пользователя

    Текст

    Описание сущности Сеансы (Таблица 3 .4).

    Таблица 3.4 – Атрибуты сущности Сеансы

    Атрибут

    Ключ

    Значение

    Домен

    Код пользователя

    +

    Пользователь, посетивший сеанс

    Число

    Код записи

    Сеанс, на котором присутствовал пользователь

    Число

    Код типа

    Тип выкупленного места

    Число

    Билет

    Номер места

    Число

    Стоимость

    Стоимость билета

    Число

    Описание сущности Типы мест (Error: Reference source not found).

    На основе построенных описаний сущностей и их атрибутов построим инфологическую схему базы данных, представленную далее (Error: Reference source not found).

    Рисунок 3.2 – Физическая схема базы данных

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

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

    Данная процедура используется для получения информации о демонстрации фильмов на определенную дату.

    Описание структуры клиентской части

    Описание интерфейса «Обычный пользователь»

    Начало работы начинается с главной страницы сайта (Рисунок 4 .3). Для

    Рисунок 4.3 – Главная страница сайта

    Для получения доступа к функционалу пользователя, необходимо воспользоваться кнопкой вход, которая направит пользователя на форму запроса данных для входа в систему, после использования которой меню системы примет вид (Рисунок 4 .4).

    Рисунок 4.4 – Меню обычного пользователя

    Появившийся новый пункт меню История служит для просмотра истории посещений кинотеатра пользователем. Для завершения работы необходимо использовать кнопку Выход.

    Описание интерфейса «Администратор»

    Если воспользоваться входом в систему под аккаунтом администратора меню системы кинотеатра примет следующий вид (Рисунок 4 .5).

    Рисунок 4.5 – Меню администратора

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

    Рисунок 4.6 – Меню управления информационной системой

    Данный пункт имеет вид выпадающего списка (Рисунок 4 .6).

    Рисунок 4.7 – Форма отправки сообщение

    Заключение

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

    • дано общее описание автоматизируемого объекта;
    • построена модель базы данных;
    • спроектировано и реализовано приложение для работы и управления созданной базой данных с применением web-технологий.

    В процессе выполнения работы была создана база данных, с применением среды MySQL. Реализация проекта велась с применением языков CSS, HTML, PHP, а также м использованием языка SQL запросов для обращения и изменения информации в связанной базе данных системы.

    Результатом работы явилось достижение целей:

    • закрепление теоретического материала по дисциплинам, связанных с изучением баз данных;
    • практические навыки создания web-ресурса с применением языка программирования PHP.

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

    Литература

    1. Пирогов, В.Ю. Информационные системы и базы данных: организация и проектирование: Учебное пособие / В.Ю. Пирогов. - СПб.: БХВ-Петербург, 2009. - 528 c.
    2. Вадим Дунаев. HTML, скрипты и стили. BHV, Санкт-Петербург, 2015. ISBN 978-5-9775-3317-1.
    3. Н. Закас, Джереми Мак-Пик, Джо Фосетт. Ajax для профессионалов. Перевод: Александр Киселев. Символ, Санкт-Петербург, 2015. ISBN 978 5 93286-081-6.
    4. К. Блессинг, Роб Черни, К. Шмитт. Применение Web-стандартов CSS и Ajax для больших сайтов. Корона-Век, Санкт-Петербург, 2011. ISBN 978 5 7931-0844-7.
    5. Adobe Dreamweaver CS6. Официальный учебный курс. Эксмо, Москва, 2014. ISBN 978-5-699-69655-0.
    6. Чои Вин. Как спроектировать современный сайт. Питер, Санкт-Петербург, 2011. ISBN 978-5-459-00579-0.
    7. А. Годин, К. Джонсон, К. Уоррен, М. Уэбер, Брайан Хоган. Книга веб-программиста: секреты профессиональной разработки веб-сайтов. Питер, Санкт-Петербург, 2013. ISBN 978-5-459-01510-2.
    8. Алан Купер, Дэйв Кронин, Кристофер Носсел, Роберт Рейман. Алан Купер об интерфейсе. Основы проектирования взаимодействия. Символ, Санкт-Петербург, 2015. ISBN 978-5-93286-132-5.
    9. Стив Круг. Как сделать сайт удобным. Юзабилити по методу Стива Круга. Питер, Санкт-Петербург, 2010. ISBN 978-5-49807-515-0.
    10. Кирилл Сухов. HTML 5. Путеводитель по технологии. ДМК, Москва, 2013. ISBN 978-5-94074-910-3.

    Исходные коды

    Index.php

    <!DOCTYPE html>

    <html lang="ru">

    <head>

    <meta charset="utf-8">

    <meta name="viewport" content="width=device=width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <link rel="stylesheet" href="/css/style.css">

    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">

    <title>PHP веб сайт</title>

    </head>

    <body>

    <?php require "blocks/header.php" ?>

    <div class="container mt-5">

    <h3 class="mb-5">Наши работы</h3>

    <div class="d-flex flex-wrap">

    <?php

    for ($i = 0; $i < 5; $i++):

    ?>

    <div class="card mb-4 shadow-sm">

    <div class="card-header">

    <h4 class="my-0 font-weight-normal">Наши работы</h4>

    </div>

    <div class="card-body">

    <img src="img/<?php echo ($i + 1) ?>.jpg" class="img-thumbnail">

    <h1 class="card-title pricing-card-title">20% <small class="text-muted"> Скидки</small></h1>

    <ul class="list-unstyled mt-3 mb-4">

    <li>Низкие цены</li>

    <li>Бесплатное доставка</li>

    <li>Дизанерская команда</li>

    <li>Коробка в подарок</li>

    </ul>

    <button type="button" class="btn btn-lg btn-block btn-outline-primary">Подробнее</button>

    </div>

    </div>

    <?php endfor; ?>

    </div>

    </div>

    <?php require "blocks/footer.php" ?>

    </body>

    </html>

    header.php

    <div class="d-flex flex-column flex-md-row align-items-center p-3 px-md-4 mb-3 bg-white border-bottom shadow-sm">

    <h5 class="my-0 mr-md-auto font-weight-normal">FLOWERS</h5>

    <nav class="my-2 my-md-0 mr-md-3">

    <a class="p-2 text-dark" href="/">ГЛАВНАЯ</a>

    <a class="p-2 text-dark" href="/about.php">КОНТАКТЫ</a>

    <a class="p-2 text-dark" href="#">УСЛУГИ</a>

    <a class="p-2 text-dark" href="#">О НАС</a>

    </nav>

    <?php

    if($_COOKIE['user'] == 'Да'):

    ?>

    <a class="btn btn-outline-primary" href="/auth.php">Кабинет пользователя</a>

    <?php else: ?>

    <a class="btn btn-outline-primary" href="/auth.php">ВОЙТЫ</a>

    <?php endif; ?>

    </div>

    footer.php

    <footer class="container pt-4 my-md-5 pt-md-5 border-top">

    <div class="row">

    <div class="col-12 col-md">

    <img class="mb-2" alt="" width="24" height="24">

    <small class="d-block mb-3 text-muted">© 2002-2020</small>

    </div>

    <div class="col-6 col-md">

    <h5>Наши целы</h5>

    <ul class="list-unstyled text-small">

    <li><a class="text-muted" href="#">Иноформация связаны с цветамы</a></li>

    <li><a class="text-muted" href="#">Иноформация связаны с цветамы</a></li>

    <li><a class="text-muted" href="#">Иноформация связаны с цветамы </a></li>

    <li><a class="text-muted" href="#">Иноформация связаны с цветамы </a></li>

    </ul>

    </div>

    <div class="col-6 col-md">

    <h5>Дизайнерская комонда</h5>

    <ul class="list-unstyled text-small">

    <li><a class="text-muted" href="#">Иноформация связаны с цветамы</a></li>

    <li><a class="text-muted" href="#">Иноформация связаны с цветамы</a></li>

    <li><a class="text-muted" href="#">Иноформация связаны с цветамы</a></li>

    <li><a class="text-muted" href="#">Иноформация связаны с цветамы</a></li>

    </ul>

    </div>

    <div class="col-6 col-md">

    <h5>О нас</h5>

    <ul class="list-unstyled text-small">

    <li><a class="text-muted" href="#">Иноформация связаны с цветамы</a></li>

    <li><a class="text-muted" href="#">Иноформация связаны с цветамы</a></li>

    <li><a class="text-muted" href="#">Иноформация связаны с цветамы</a></li>

    <li><a class="text-muted" href="#">Иноформация связаны с цветамы</a></li>

    </ul>

    </div>

    </div>

    </footer>