Добавлен: 30.06.2023
Просмотров: 1201
Скачиваний: 24
СОДЕРЖАНИЕ
1.1 Цели и концепция Web-ресурса
1.1.2. Обоснование необходимости создания нового Web-ресурса.
1.1.3. Описание свойств Web-ресурса, требуемых для решения выбранной задачи.
1.1.4. Характеристика целевой аудитории.
1.1.5. Характеристика и анализ Web-ресурсов по аналогичной тематике.
1.2. Параметры и внешний вид Web-ресурса.
1.2.1. Обоснование выбора имени и названия Web-ресурса.
1.2.2. Обоснование лингвистического обеспечения Web-ресурса
1.2.3. Обоснование выбора графического режима Web-ресурса.
1.2.4. Обоснование принятых решений по цветовой схеме Web-ресурса.
1.2.5. Обоснование принятых решений по размеру и виду шрифта.
1.2.6. Обоснование принятых решений по формированию фирменного стиля.
1.3. Обоснование выбора инструментария для создания Web-ресурса.
1.3.1. Обоснование технологии получения и размещения информационного наполнения Web-ресурса.
1.3.3. Обоснование выбора программного обеспечения для создания Web-ресурса.
1.3.3.1. Обоснование выбора программных продуктов для создания графики.
1.3.3.2. Обоснование выбора программных продуктов для создания анимации.
1.3.3.3. Обоснование выбора СУБД.
1.3.3.4. Обоснование выбора программных продуктов для создания программного кода.
1.4. Обоснование выбора способа размещения Web-ресурса в Интернет.
2.1. Структура и содержание сайта.
2.1.1.Разделы сайта и система навигации.
2.1.2.Функциональные и технические требования.
2.1.4. Описание программных модулей.
2.1.5. Описание процедуры тестирования созданного Web-ресурса.
2.2. Разработка рекламной кампании по продвижению Web-ресурса в Интернет.
2.2.1. Формирование массива ключевых слов для поиска Web-ресурса в поисковых системах.
2.2.2. Описание технологии продвижения созданного Web-ресурса в среде Интернет.
Недостатки 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:
Рис. 1. Структура сайта кинокомплекса «Родина».
Как показано на рисунке, структура является фактически одноуровневой, вложенные разделы пока не предусмотрены.
На главной странице размещаются последние новости и анонсы фильмов и мероприятий.
На странице «расписание сеансов» выкладывается расписание сеансов кинокомплекса на ближайшие 1-2 недели.
На странице «Фильмы» можно найти описание фильмов, как уже прошедших, так и только готовящихся к показу.
Страница «Информация» содержит общую информацию об учреждении и официальные данные.
На странице «Акции» публикуется актуальная информация по доступным акциям, сезонным скидкам и размещаются интерактивные элементы, например голосование и опросы.