Файл: Разработка сайта кинотеатра Русь-кино.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 56

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Ruby on Rails является связкой которая облегчает разработку, развертывание и обслуживание веб-приложений. По сравнению с популярными средами разработки Java, PHP или .NET, – Rails работа избавляет от излишней трудоемкости. Rails-приложения выполняются с использованием архитектуры Модель-Представление-Контроллер (Model-View-Controller, MVC). Привычная Java-разработчикам среда выполнения, к примеру Tapestry или Struts, тоже основана на MVC. Время проведения разработки в Rails начинаеся уже с работающего приложения, в котором есть место для каждой части кода, и все части приложения стандартным образом взаимодействуют друг с другом. Все Rails-приложения имеют встроенное тестирование.

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

Python - это динамически типизированный и объектно-ориентированный язык программирования высокого уровня. Высокоуровневое программирование подразумевает, что весь код, написанный на нем, может быть понят человеком, и согласно кодовой конвенции. Как и Java и C ++, Python также поддерживает объектно-ориентированное программирование.

Python создан Гвидо Ваном из Centrum Wiskunde & Informatica в Нидерландах и выпущен в 1991 году, несмотря на то что проект python был запущен 10 лет назад с момента его первого выпуска. Python был разработан как интерпретатор и преемник языка программирования ABC, который может обрабатывать исключения и взаимодействовать с операционной системой Amoeba.

Основные преимущества Python:

– Python очень легко выучить из-за его простого синтаксиса

– Python включает в себя меньшее количеств написанного кода

– Python имеет поддержку более тысячи библиотек

– Python язык программирования с открытым исходным кодом

– Используются отступы вместо скобок

Python поставляется с 2 версиями - Python версии 2.x (первая версия была выпущена в 2000 году) и Python версии 3.x(первая версия была выпущена в 2008 году), обе с открытым исходным кодом и оба бесплатны для использования. [7].

Python так же является масштабируемым языком и позволяет унаследовать огромное количество функций и типов данных, созданных на ruby, java C, C#, или C ++.

К недостаткам Python следует отнести высокую стоимость IDE разработки приложений, так как такие инструменты как PyDev на основе Eclipse, и PyCharm IDE на основе intellij idea в ознакомительном и ограниченном режиме имеют функционал чуть выше чем обычный текстовый редактор с подсветкой кода.

Язык программирования Java - разработана компанией Sun Microsystems, которую со временем купила компания Oracle. Этот язык написания программ принадлежит к объектно-ориентированным языкам программирования. Приложения, созданные на языке Java, в последствии преобразовываются в объектные байт-коды, что дает им возможность иметь универсальную совместимость, и применяться на компьютерах лю-бой архитектуры, благодаря поддержке виртуальной Java-машины.


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

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

- использование технологий, которые позволяют транслировать байт-код параллельно с работой программы, с сохранением версии класса в машинном коде;

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

- аппаратные средства, которые обеспечивают более быстрое обрабатывание байт-кодов (к примеру Jazelle, при поддержке некоторых процессоров компании ARM).

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

– PHP поддерживает такие БД как MySQL, Oracle, Sybase и т.д.

– PHP совместим с серверами, такими как Apache, IIS и т.д.

– PHP работает на платформах, Windows, Linux и т.д.

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

– PHP также поддерживает систему управления базами данных и другие базы данных с открытым исходным кодом

– Помимо этого, PHP был совместим с программным обеспечением с открытым исходным кодом, таким как Drupal, Joomla, Typo3, Wordpress osCommerce и т. д.

Помимо традиционного PHP, здесь можно пользоваться Python с фреймворком Django, Java и Node.js, Ruby и так далее.


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

Проанализировав ряд систем управления кинотеатра, определим следующие сущности, которые должна в себя включать Web-приложение:

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

- функции подбора наиболее популярных фильмов по жанрам;

- функцию подбора фильмов к уже выбранным;

- механизм покупки билетов и бронирования мест;

- механизм возврата диска, списания испорченных дисков;

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

Рассмотрим подробнее сущности, касающиеся справочной информации.

Репертуар кинотеатра – основной продукт. Грамотно составленный репертуар повышает выгоду от заказа билета на фильмы на 20-40%. Очень важно учитывать все параметры фильма:

- Жанр (триллер, детектив, драма, комедия, мультфильм);

- Целевая аудитория

1) дети

2) подростки

3) взрослые

4) женщины

5) мужчины

- Возрастные ограничения

- Длительность фильма;

- Длительность проката;

- Оценка фильма (посещаемости кинотеатра);

- Предварительная оценка качества фильма в своём жанре (выставляется рейтинговыми организациями).

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

Таблица 3.1

Таблицы БД системы кинотеатра

Таблица

Описание

AGE_RESTICTION

Таблица возрастных ограничений

DOLGNOST

Таблица должностей

FILM

Таблица фильмов

FILM_AUDIENCE

Таблица целевых аудиторий

FILM_GANR

Связующая таблица жанров и фильмов

GANR

Таблица жанров

DISK

Таблица дисков

DISK_F

Таблица дисков и фильмов

RENT

Таблица брони и продажи билетов

SOTRUDNIK

Таблица сотрудников

Структура каждой отдельной таблицы и функциональное назначение полей представлены в таблице 3.2.

Таблица 3.2

Структура таблиц.

Таблица

Поле

Описание

AGE_RESTRICTION

ID_AGE_RESTRICTION

Идентификатор возрастных ограничений

NAME_OF_AGE

Название возрастных ограничений

TIME_FROM

Рекомендуемое время показа от

TIME_TO

Рекомендуемое время показа до

DOLGNOST

ID_DOLGNOST

Идентификатор должности

NAME

Название должности

FILM

ID_FILM

Идентификатор фильма

NAME

Название фильма

DURATION

Длительность фильма

RATING_WORLD

Рейтинг

ID_AGE_RESTRICTION

Идентификатор возрастных ограничений для фильма

ID_FILM_AUDIENCE

Идентификатор целевой аудитории для фильма

DATE_ADD

Дата добавления фильма

IN_USE

Указатель на то, что фильм в не снят с показов

FILM_AUDIENCE

ID_FILM_AUDIENCE

Идентификатор целевой аудитории

NAME_OF_AUDIENCE

Название целевой аудитории

TIME_FROM

Рекомендуемое время показа от

TIME_TO

Рекомендуемое время показа до

FILM_GANR

ID_FILM_GANR

Идентификатор жанра фильма

ID_FILM

Идентификатор фильма

ID_GANR

Идентификатор жанра

GANR

ID_GANR

Идентификатор жанра

NAME_OF_GANR

Название жанра

TIME_FROM

Рекомендуемое время показа от

TIME_TO

Рекомендуемое время показа до

ZAL

ID_ZAL

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

ROW_COUNT

Количество рядов

PLACE_COUNT

Количество мест

TYPE_ZAL

Идентификатор фильмов на диске

RENT

ID_DISK

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

ID_FILM

Идентификатор фильма

ID_RENT

Идентификатор билета

ID_DISK_F

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

ID_SOTRUDNIK

Идентификатор сотрудника, продавшего билет или бронь

DATE_S

Дата/время начала сеанса

DATE_E

Дата/время конца сеанса

SEANS

Указатель на сам сеанс

SOTRUDNIK

ID_SOTRUDNIK

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

ID_DOLGNOST

Идентификатор должности

PASSWORD

Пароль

FIO

ФИО

LOGIN

Логин


MySQL – это полностью свободная связанная система контроля над базами данных. Над созданием, а также дальнейшим улучшением MySQL ведет работу корпорация под названием Oracle. Именно она получила право на ТМ с Sun Microsystems, довольно давно купившей MySQL AB (Швеция). Система обнародована не только под личной торговой лицензией, но и под лицензией GNU General Public. Создатели продолжают расширять количество функций, в соответствии с требованиями клиентов. Таким образом, практически изначально удалось запустить механизм синтеза[13].

Пластичность системы управления базами данных MySQL (или СУБД) обеспечена благодаря поддержке множественного числа различных таблиц: у клиентов есть возможность избрать как таблицы вариации MyISAM, которые поддерживают полнотекстовый поиск, так и вариант InnoDB, которые способны поддерживать переводы на базе конкретных отметок. Помимо этого, СУБД

MySQL поставляют с определенной разновидностью таблиц EXAMPLE. А те демонстрируют положения производства новеньких видов таблиц. Вследствие свободной проектировки и GPL-лицензированию в MySQL новенькие виды таблиц возникают на стабильной основе.

Общество создателей MySQL создало самые разные разделы кода, к примеру, Drizzle, MariaDB, и так далее. Разделы эти имели место к моменту слияния Sun Microsystems и Orade.

MySQL 5.1 двигается к образцу SQL:2003. MySQL 5.1 может предложить пользователям такие новшества:

Сегментация – разделение одной крупной таблицы на отдельные сегменты, расположенные в различных системах, базируясь на вычисленном клиентом функционале. Сегментация существенно увеличит отдачу; Изменения действий нескольких операторов, чтобы обеспечить рост соединимости с образцом SQL:2003; Каждострочное копирование, при нем в двоичный лог будут занесены лишь сведения о действительно переделанных строчках таблицы вместо настоящего запроса. Такое копирование стоит применять лишь для конкретных разновидностей sql-запросов; Вмонтированный планировщик регулярно производимых процессов. Согласно правилам, вписывание очередной задачи становится похоже на добавление триггера в таблицу; Вспомогательная подборка функционала для проработки XML, выполнение поддержки XPath; Новейшие инструменты диагностирования проблематики и программы для проверки эффективности. Расширение возможностей касательно контроля содержания лог-файлов, отныне их можно будет сохранять и в таблицах. Таких, как general_log или slow_log. Программа Mysqlslap разрешает выполнить специальное тестирование базы данных с фиксированием времени реагирования на любой из запросов; Чтобы сделать проще процесс модернизации, теперь есть специальная программа Mysql_upgrade. Она создана для проверки имеющихся таблиц на совместимость с последней версией. В случае необходимости, она проведет все требуемые исправления[14];


MySQL Cluster теперь производится, как отдельная программа, которая основывается на MySQL 5.1, дополнительно библиотека NDBCLUSTER;

Существенные перемены в работе MySQL Cluster. К примеру – сбережение табличной информации на диске; Возвращение к применению вмонтированной библиотеки Libmysqld, которой ранее не было в MySQL 5;

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

Сервер баз данных MYSQL доступен для скачивания на официальной странице сайта oracle.com. Существуют установочные файлы под любую платформу. Некоторые дистрибутивы Linux содержат в себе данный сервер баз данных.

Сервер баз данных MYSQL доступен для скачивания на официальной странице сайта oracle.com. Существуют установочные файлы под любую платформу. Некоторые дистрибутивы Linux содержат в себе данный сервер баз данных.

Рис 3.1 – скачка MySQL с сайта Oracle

Во время установки возникает необходимость:

- настройки порта рисунок 3.2 (а),

- выбора кодировки рисунок 3.2 (б),

- установки логина и пароля доступа к базе данных и ключевого пользователя «root» рисунок 3.2 (в).

Результат успешной установки показан на рисунке 3.2 (г). После этого становится доступным консольное приложение создания и редактирования базы данных MySQL. В данном приложении осуществляется создание и редактирование баз данных, сложных структурированных запросов, а также различных процедур и триггеров.

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

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

Во время установки дистрибутива необходимо указать важные параметры, показанные на рисунке 3.3

а) б)

в) г)

Рис 3.2 – Установка дистрибутива СУБД MySQL

Существуют так же сборки для Web-разработчиков, которые автоматически устанавливают и конфигурируют веб-сервера.

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