Курсовая работа: «Разработка сайта кинотеатра» . .

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Недостатки MySQL:

  • Известные ограничения - по задумке в MySQL заложены некоторые ограничения функционала, которые иногда необходимы в особо требовательных приложениях, но для большинства сайтов и web-приложений это не критично.
  • Проблемы с надежностью - из-за некоторых способов обработки данных MySQL (связи, транзакции, аудиты) иногда уступает другим СУБД по надежности.
  • Медленная разработка - хотя MySQL технически открытое ПО, существуют жалобы на процесс разработки. Стоит заметить, что существуют другие довольно успешные СУБД созданные на базе MySQL, например MariaDB.

PostgreSQL. Является самый функциональной и стабильной из бесплатных СУБД. Она свободно распространяется и максимально соответствует стандартам SQL. В СУБД PostgreSQL стараются полностью применять ANSI/ISO SQL стандарты своевременно с выходом новых версий.

От других СУБД PostgreSQL отличается поддержкой востребованного объектно-ориентированного и/или реляционного подхода к базам данных. Например, полная поддержка надежных транзакций и принципов Atomicity, Consistency, Isolation, Durability (ACID). Благодаря мощным технологиям PostgreSQL очень производительна. Параллельность достигнута не за счет блокировки операций чтения, а благодаря реализации управления многовариантным параллелизмом (MVCC), что также обеспечивает соответствие ACID. PostgreSQL очень легко расширять с помощью хранимых процедур, они упрощают использование постоянно повторяемых операций.

Хотя PostgreSQL и не может похвастаться большой популярностью в отличии от MySQL, существует довольно большое число приложений облегчающих работу с PostgreSQL. Сейчас довольно легко установить эту СУБД используя стандартные менеджеры пакетов операционных систем.

Достоинства PostreSQL:

  • Открытое ПО соответствующее стандарту SQL - PostgreSQL - бесплатное ПО с открытым исходным кодом. Эта СУБД является очень мощной системой.
  • Большое сообщество - существует довольно большое сообщество в котором вы запросто найдёте ответы на свои вопросы
  • Большое количество дополнений - несмотря на огромное количество встроенных функций, существует очень много дополнений, позволяющих разрабатывать данные для этой СУБД и управлять ими.
  • Расширения - существует возможность расширения функционала за счет сохранения своих процедур.
  • Объектность - PostrgreSQL это не только реляционная СУБД, но также и объектно-ориентированная с поддержкой наследования и много другого

Недостатки PostgreSQL:

  • Производительность - при простых операциях чтения PostgreSQL может значительно замедлить сервер и быть медленнее своих конкурентов, таких как MySQL
  • Популярность – будучи довольно сложной в освоении и настройке, популярностью эта СУБД похвастаться не может, хотя и присутствует довольно большое сообщество.
  • Хостинг - в силу выше перечисленных факторов иногда довольно сложно найти хостинг с поддержкой этой СУБД.

После анализа возможностей различных СУБД, в качестве принято решение для сайта кинокомплекса «Родина» использовать СУБД MariaDB, являющуюся ответвлением от MySQL. MariaDB появилась как ответ на проблемы возникшие с лицензированием и процессом разработки СУБД MySQL у корпорации Oracle. В настоящее время MariaDB набирает популярность и рекомендуется как полная замена MySQL практически всеми web-разработчиками и создателями дистрибутивов Linux.

1.3.3.4. Обоснование выбора программных продуктов для создания программного кода.

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

PHP (Hypertext PreProcessor, препроцессор гипертекста) – язык программирования, исполняемый на стороне веб-сервера, спроектированный Расмусом Лердорфом в качестве инструмента создания динамических и интерактивных веб-сайтов.

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

Преимущества PHP:

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

Недостатки PHP:

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

Ruby – динамический императивный объектно-ориентированный язык программирования, разработанный Юкихиро Матсумото. Ruby был создан под влиянием таких языков, как Perl, Eiffel и Smalltalk.

Он характеризуется динамической типизацией и автоматическим управлением памятью. Язык Ruby используется в веб-разработке в составе открытого веб-фреймворка Rails, чаще называемого Ruby on Rails (RoR):

Преимущества Ruby:

  • открытая разработка;
  • работает на многих платформах;
  • может внедряться в HTML-разметку;
  • относится к языкам программирования сверхвысокого уровня (VHLL), то есть обладает высоким уровнем абстракции и предметным подходом в реализации алгоритмов;
  • реализует концептуально чистую объектно-ориентированную парадигму;
  • предоставляет продвинутые методы манипуляции строками и текстом;
  • легко интегрирует в свои программы высокопроизводительные серверы баз данных (DB2, MySQL, Oracle и Sybase);
  • благодаря принципам VHLL программы на Ruby хорошо масштабируются и легко сопровождаются;
  • простой и чистый синтаксис значительно облегчает программистам первые шаги в обучении этому языку;
  • имеется простой программный интерфейс для создания многопоточных приложений;
  • имеет продвинутые средства для работы с массивами;
  • возможности языка можно расширить при помощи библиотек, написанных на C или Ruby;
  • зарезервированные слова могут являться идентификаторами, если это не создаёт неоднозначности для парсера;
  • дополнительные возможности для обеспечения безопасности;
  • встроенный отладчик.

Недостатки Ruby:

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

Python широко применяется как интерпретируемый язык для скриптов различного назначения (хотя существуют и трансляторы языка Python).

Как и Ruby, Python имеет целью приблизить синтаксис реальной программы, написанной на нём, к описывающему задачу псевдокоду, что позволяет программисту уменьшить объём программы. Идея создания данного языка возникла в конце 1980-х и была реализована Гвидо ван Россумом.

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

Преимущества Python:

  • открытая разработка;
  • довольно прост в изучении, особенно на начальном этапе;
  • особенности синтаксиса стимулируют программиста писать хорошо читаемый код;
  • предоставляет средства быстрого прототипирования и динамической семантики;
  • имеет большое сообщество, позитивно настроенное по отношению к новичкам;
  • множество полезных библиотек и расширений языка можно легко использовать в своих проектах благодаря предельно унифицированному механизму импорта и программным интерфейсам;
  • механизмы модульности хорошо продуманы и могут быть легко использованы;
  • абсолютно всё в Python является объектами в смысле ООП, но при этом объектный подход не навязывается программисту.

Недостатки Python:

  • не слишком удачная поддержка многопоточности, ;
  • на Python создано не так уж много качественных программных проектов по сравнению с другими универсальными языками программирования, например, с Java;
  • тесты производительности показывают меньшую скорость Python по сравнению с основными Java VM, что создаёт этому языку репутацию медленного.

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

В качестве инструмента для написания php-программ и html-верстки шаблонов используется бесплатный текстовой редактор Atom, созданный компанией GitHub и сообществом независимых разработчиков.

1.4. Обоснование выбора способа размещения Web-ресурса в Интернет.

Размещение сайтов и web-приложений в сети Интернет в настоящее время не является проблемой. Приведем самые популярные варианты размещения сайтов:

  • Размещение на собственном компьютере. Этот вариант несет скорее образовательное значение, поскольку на собственном компьютере размещаются либо сайты находящиеся в разработке и отладке, либо очень небольшие личные проекты, поскольку перебои в электропитании, проблемы с оборудованием или Интернет-подключением мгновенно приводят к отключению ресурса.
  • Размещение на сервере в организации. Этот вариант более приемлем, поскольку мы можем самостоятельно следить за параметрами сервера, питания, нагрузкой на сетевое соединение и так далее. Основной проблемой в данном случае является качество и ширина канала до провайдера. Тем не менее, в Норильске этот вариант достаточно популярен, поскольку организации размещают сайт не только для доступа через Интернет, но и через городскую сеть провайдера, где скорости передачи данных намного выше.
  • Размещение на бесплатном хостинге. Вариант удобен отсутствием затрат и короткими сроками получения места для размещения сайта, это происходит зачастую в автоматическом режиме. Доступен широкий выбор доменных имен, но чаще всего третьего или четвертого уровня. В большинстве случаев бесплатные хостинги предлагают или готовые CMS (системы управления контентом) такие как Wordpress, или не дают возможности использовать серверные приложения вовсе.
  • Размещение на платном виртуальном хостинге. Используется вид хостинга, при котором множество веб-сайтов расположено на одном веб-сервере и все они используют общие ресурсы. Это самый экономичный вид хостинга, подходящий для большинства проектов. В случае виртуального хостинга сайту выделяется определенный объем жесткого диска и ставится условие не превышать заранее определенный процент ресурсов производительности (оперативной памяти и процессорного времени). Клиенту доступна только панель управления площадкой индивидуальная по возможностям для каждого хостера. Это наиболее популярные вид хостинговых услуг и для подавляющего большинства сайтов его будет достаточно.
  • Размещение на платном виртуальном сервере (так называемом VPS — Virtual Private Server, или иногда VDS — Virtual Dedicated Server). В рамках этой услуги пользователю предоставляется так называемый виртуальный выделенный сервер. По возможностям управления программной средой (операционной системой и подключаемыми модулями) она практически соответствует физическому выделенному серверу. Хостер, как правило, предоставляет выбор операционной системы, на которой должен работать ваш виртуальный выделенный сервер. В отличие от размещения собственного или арендуемого оборудования в случае виртуального сервера вы получаете ограничения по  предоставляемым ресурсам (оперативная память, процессорное время, память на жестких дисках).
  • Размещение сайта на собственном или арендованном физическом сервере с постоянным подключением к высокоскоростному каналу интернет и техническим контролем оборудования. В рамках такой услуги клиенту, как правило, предоставляется место в стойке, энергопитание, постоянное высокоскоростное  подключение к Интернет и физическая защита сервера. Выбор сервера и его программной среды, а также обслуживание программной среды — задача клиента или предмет дополнительных соглашений. Этот вариант размещения наиболее затратный.

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

2. ПРОЕКТНАЯ ЧАСТЬ

2.1. Структура и содержание сайта.

2.1.1.Разделы сайта и система навигации.

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

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

С точке зрения юзабилити (удобства использования) навигация по сайту должна отвечать на три вопроса:

  1. На какой странице находится пользователь сейчас?
  2. Какие страницы ему доступны?
  3. И, в случае, если страниц много, какие страницы он уже посетил?

Структура сайта кинокомплекса «Родина» очень простая. Ознакомиться с ней можно на рисунке 1:

Рис. 1. Структура сайта кинокомплекса «Родина».

Как показано на рисунке, структура является фактически одноуровневой, вложенные разделы пока не предусмотрены.

На главной странице размещаются последние новости и анонсы фильмов и мероприятий.

На странице «расписание сеансов» выкладывается расписание сеансов кинокомплекса на ближайшие 1-2 недели.

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

Страница «Информация» содержит общую информацию об учреждении и официальные данные.

На странице «Акции» публикуется актуальная информация по доступным акциям, сезонным скидкам и размещаются интерактивные элементы, например голосование и опросы.

Источник: https://files.student-it.ru/previewfile/108618