Разработка веб-сайта компании 'ГИК'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    44,19 Кб
  • Опубликовано:
    2017-01-19
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка веб-сайта компании 'ГИК'

Содержание

Введение

. Анализ существующих программных решений

.1 Написание собственного ядра сайта

.2 Использование готовой системы управления сайтом

.3 Система управлением контентом Joomla!

.4 Система управлением контентом Drupal

.5 Система управлением контентом Typo3

.6 Система управлением контентом 1С-Битрикс

.7 Система управлением контентом MODx

. Разработка архитектуры сайта

.1 Структура главной станицы

.2 Структура страницы "Услуги"

.3 Структура страницы "Компания"

.4 Структура страницы "Портфолио"

.5 Структура страницы "События"

.6 Структура страницы "Контакты"

.7 Адаптивный веб-дизайн

. Разработка структур данных

.1 Работа с таблицами в CMS MODx

.2 Описание основных таблиц

. Разработка и реализация программных модулей

. Экспериментальное тестирование и отладка

. Руководство администратора

.1 Основные элементы CMS MODx

.2 Создание раздела

.3 Создание подраздела

.4 Управление фотогалереей

. Оценка качества продукта

.1 Определение состава работ

.2 Определение трудоёмкости разработки

.3 Оценка качества проекта

Заключение

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

Введение

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

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

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

Разработка сайта - это комплекс работ, состоящий из дизайна, оптимизации, программирования, создания контента, наполнения, тестирования, запуска и продвижения.

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

Цель дипломной работы - разработка сайта компании "ГИК".

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

.Проанализировать существующие программные решения;

2.Разработать архитектуру сайта;

.Разработать структуру данных и необходимые программные модули;

.Провести экспериментальное тестирование и отладку;

.Внедрить административное редактирование сайта;

.Дать конечную оценку качества продукта

Объект дипломной работы - сайт.

Предмет курсовой работы -разработка сайта для компании "ГИК".

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

Компания "ГИК" взяла на себя миссию - рассказать людям о современных способах ведения бизнеса и с 2011 года успешно ведет работу по ее выполнению. Тогда она представляла собой небольшую веб-студию, которая занималась разработкой сайтов. Со временем увеличилось число клиентов, и расширился спектр предлагаемых услуг. Штаб сотрудников стал больше, изменилась и рабочая площадь. Сегодня "Гик" - это серьезная компания, одна из лидирующих по Вологодской области, партнер крупных интернет-порталов, предоставляющих услуги комплексного интернет-маркетинга.

Основа любой компании - это ее коллектив. Сотрудники компании "ГИК" - это молодые специалисты, посвятившие себя сложной сфере IT-технологий. Вы можете видеть лишь результаты их кропотливой работы - отличные сайты, прекрасно оформленные, полноценно работающие, с богатым функционалом. Однако за каждым таким продуктом стоит большой коллектив работников студии, которые потратили уйму рабочего и нерабочего времени, чтобы сайт стал таким, каким все его видят сегодня. В настоящий момент в компании трудятся 18 человек - представители разных направлений: отдела продаж, отдела разработки, отдела по работе с клиентами. Все они, по отдельным частям, собирают одну большую картину - Ваш сайт.

1. Анализ существующих программных решений

При создании сайта возникает проблема выбора способа его программирования.

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

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

Написание собственного ядра сайта

Использование готовой системы управления сайтом (CMS)

.1 Написание собственного ядра сайта

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

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

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

Создание собственного ядра сайта включает в себя несколько важных этапов:

1.Вёрстка основных страниц сайта.

На этом этапе не обязательно создавать готовый дизайн - это можно сделать потом. Здесь нужно сформировать структуру внешнего вида: где будет логотип, где меню, сколько колонок у сайта будет, что будет в подвале, шапке и так далее. Со временем это всё придётся поменять, но начальном этапе нужно отлаживать движок, поэтому самый элементарный внешний вид всё равно потребуется.

2.Создание всех таблицы для базы данных.

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

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

Например, класс по работе с базой данных, класс по управлению пользователями, класс по управлению статьями, класс для создания журнала действий пользователей и так далее. Нужно обратить внимание на то, что один класс не должен реализовывать задачи, которые по смыслу относятся к другим. Например, не надо соединяться с базой данных в классе пользователя. А надо создать объект базы данных в классе пользователя и им манипулировать. В каждом классе нужно должны написать все методы, которые в дальнейшем потребуются. Например, метод получения логина пользователя по его id или метод изменения e-mail пользователя и так далее. Также потребуется создать глобальный абстрактный класс, в котором будут содержаться методы, общие для всех других. Например, очень полезный метод - это получения значения некоего поля, по известному имени и значению другого поля. Например, по известному e-mail пользователя нужно узнать его логин. Такой метод легко данную задачу решит.

4.Создание шаблонной страницы сайта.

Следует разбить шаблон на составные логические части - подходящая часть готового шаблона (например, форма авторизации, часть, где выводятся статьи, меню, шапка, подвал и другие) вырезается и из этих частей создаются отдельные блоки или шаблоны с соответствующими вырезанными частями. В результате, появится большое количество отдельных блоков шаблонов, которые могут представлять собой отдельные файлы или же записи в базе данных. В этих блоках-шаблонах помечаются места, в которые следует встроить нужное модули или элементы шаблона. Например, там, где должно быть имя пользователя используется {username}. Там, где должен быть заголовок статьи, используется {article_title}. Аналогичным образом помечаются все нужные элементы в получившихся блоках.

5.Создание класса шаблонизатора.

В задачу этого класса будет входить работа с основными другими классами (например, классом пользователей), а также подстановка соответствующих данных в файлы-шаблоны вместо помеченных элементов. Например, вместо {username} этот класс должен будет подставить имя пользователя. Разумеется, здесь будет очень много методов, каждый из которых выполняет свою функцию.

6.Вывод html кода получившегося на основе получившихся шаблонов.

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

7.Финальное оформление сайта - создание уникального дизайна.

Требуется исправить получившиеся модули-шаблоны для соответствия требованиям, добавить CSS-файлы и JavaScript. Функциональность сайта, которая была создана на предыдущих шагах, трогать не требуется [1].

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

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

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

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

.2 Использование готовой системы управления сайтом

Система управления содержимым (контентом) (англ. Content management system, CMS) - информационная система или компьютерная программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления контентом (то есть содержимым).

Основные функции CMS:

.Предоставление инструментов для создания содержимого, организация совместной работы над содержимым.

2.Управление содержимым: хранение, контроль версий, соблюдение режима доступа, управление потоком документов и т. п.

.Публикация содержимого.

.Представление информации в виде, удобном для навигации, поиска.

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

В общем случае системы управления содержимым делятся на:

Систему управления содержимым масштаба предприятия (англ. Enterprise Content Management System).

- Система управления веб-содержимым (англ. Web Content Management System).

В силу того, что ECMS имеют глубокую внутреннюю классификацию по предметным областям (HRM, DMS, CRM, ERP и т. д.), термин CMS заместил собой WCMS, превратившись в синоним системы управления сайтами. Подобные CMS позволяют управлять текстовым и графическим наполнением вебсайта, предоставляя пользователю интерфейс для работы с содержимым сайта, удобные инструменты хранения и публикации информации, автоматизируя процессы размещения информации в базах данных и её выдачи в HTML.

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

1.Генерация страниц по запросу.

Системы такого типа работают на основе связки "Модуль редактирования → База данных → Модуль представления". Модуль представления генерирует страницу с содержанием при запросе на него, на основе информации из базы данных. Информация в базе данных изменяется с помощью модуля редактирования. Страницы заново создаются сервером при каждом запросе, что в свою очередь создаёт дополнительную нагрузку на системные ресурсы. Нагрузка может быть многократно снижена при использовании средств кэширования, которые имеются в современных веб-серверах.

2.Генерация страниц при редактировании.

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

3.Смешанный тип.

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

Система управления - программа, предоставляющая инструменты для добавления, редактирования, удаления информации на сайте.

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

Сайты, организованные посредством системы управления контентом, основаны на следующих технологиях: веб-сервер, хранилище данных (зачастую СУБД, например, такие как MySQL или PostgreSQL, однако существуют и noSQL CMS), веб-приложение для обеспечения работы самой системы, визуальный (WYSIWYG) редактор страниц, файловый менеджер с веб-интерфейсом для управления файлами сайта, система управления правами пользователей и редакторов сайта.

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

Наиболее распространены следующие технологические платформы, используемые в качестве основы веб-приложения, реализующего работу CMS: PHP, Perl, .NET.

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

Большая часть современных систем управления содержимым реализуется в виде визуального (WYSIWYG) редактора - программы, которая создаёт HTML-код из специальной упрощённой разметки, позволяющей пользователю проще форматировать текст [1].

Можно выделить несколько преимуществ готовых систем управления контентом:

в работе используется наиболее эффективный инструмент для решения конкретной задачи (в зависимости от вида сайта и требований к его функционалу подбирают оптимальную CMS);

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

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

временные затраты на разработку сайта существенно снижаются, так как разработчику не надо фиксировать своё внимание на чисто технических задачах: "как сделать ленту с новостями" или "как научить CMS искать товары в каталоге", а можно сосредоточиться на информационной и визуальной составляющих будущего сайта;

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

В данной области можно выделить несколько лидеров:

Joomla! - яркая, современная, постоянно обновляющаяся, достаточно простая в разработке и использовании, предоставляется совершенно бесплатно;

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

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

1C-Битрикс - очень большая по объёму разработка от компании 1С, в которой можно найти различные редакции от простой, до портальной, при этом стоимость её значительно отличается от версии к версии.

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

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

.3 Система управлением контентом Joomla!

! (произносится джумла) - система управления содержимым, написанная на языках PHP и JavaScript, использующая в качестве хранилища базы данных СУБД MySQL или другие индустриально-стандартные реляционные СУБД. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL [2].Joomla! включает в себя минимальный набор инструментов при начальной установке, который дополняется по мере необходимости. Это снижает загромождение административной панели ненужными элементами, а также снижает нагрузку на сервер и экономит место на хостинге.! позволяет отображать интерфейс фронтальной и административной части на любом языке. Каталог расширений содержит множество языковых пакетов, которые устанавливаются штатными средствами администрирования.

Основные возможности CMS Joomla!:

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

2.Имеется модуль безопасности для многоуровневой аутентификации пользователей и администраторов (используется собственный алгоритм аутентификации и "ведения" сессий).

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

.Предусмотрены настраиваемые схемы расположения модулей, включая левый, правый, центральный и любое другое произвольное положения блока. При желании содержимое модуля можно включить в содержимое материала. Например, выражение {loadposition mod_fpslideshow}, введенное (вместе с фигурными скобками) в произвольное место в статье, выведет содержимое модуля, которому задана позиция вывода как "mod_fpslideshow".

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

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

.Многоязычность.

Начиная с версии 2.5 расширена поддержка баз данных. Реализована поддержка Microsoft SQL Server, в версии 3.0 - PostgreSQL. В настоящее время действует версия 3.5.! имеет простую для понимания панель администрирования, которая включает следующие возможности:

·Для каждой динамической страницы можно создать своё описание и ключевые слова в целях повышения рейтинга в поисковых системах;

·Начало и окончание публикации любых материалов можно запрограммировать по календарю;

·Возможность ограничить доступ к определённым разделам сайта только для зарегистрированных пользователей;

·Настраиваемые схемы расположения элементов по областям шаблона;

·Различные модули (последние новости, счётчик посещений, подробная статистика посещений, гостевая книга, форум и другие);

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

·Публикация содержимого на нескольких языках;

·Возможность определить время начала и завершения публикации модулей;

·Возможность создания не одной, а нескольких форм обратной связи для каждого контакта;

·Модуль приёма от удалённых авторов новостей, статей и ссылок;

·Иерархия объектов;

·Менеджер рассылки новостей. Поддержка более чем 360 служб рассылки новостей по всему миру;

·Встроенный визуальный редактор TinyMCE;

·Человекопонятный URL

Структурно система представляет из себя ядро, к которому подсоединяются компоненты. Компоненты могут состоять по функциональному назначению из модуля, плагина и (или) шаблона:

§модули − элементы, отображаемые на странице пользователей в виде отдельных блоков.

§плагины − элементы, отображаемые на административной панели инструментов и придающие дополнительную функциональность.

§шаблоны − элемент, отвечающий за унифицированное оформление всего сайта.

В ядро Joomla! входит:

·блок (функционал определяется HTML-кодом внутри него) и его разновидности с расширенными возможностями управления с административной панели: баннеры (модули для размещения рекламы), контакты (блок для размещения контактной информации и формы обратной связи), лента новостей (RSS подписка);

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

Создание собственного расширения осуществляется посредством написания модуля на языке PHP с использованием для взаимодействия API Joomla [3].

Можно выделить сильные стороны CMS Joomla!:

§бесплатность;

§открытый системный код, который позволяет при необходимости и наличии определенных навыков изменять в том числе и сам движок;

§качественное управление шаблонами, модулями и прочими расширениями, и компонентами. Это разрешает в достаточно короткие сроки и при минимуме усилий создавать крупные корпоративные сайты, интернет-магазины и информационные порталы;

§гибкость. При помощи одного и того же шаблона всегда можно сменить вид целого модуля или его компонента без исправления кода движка. Все такие изменения затем сохраняются в готовом шаблоне, однако их создание и применение требует знания PHP, CSS и JS; - большое количество разнообразных модулей, дополнений и шаблонов.

К отрицательной стороне относится:

§необходимость создания лишнего кода в большом количестве;

§довольно долгая загрузка страниц сайта, созданного на данной CMS именно вследствие наличия лишнего кода;

§недостаточно понятная панель администрирования, создающая сложности начинающим веб-мастерам.

.4 Система управлением контентом Drupal

- система управления содержимым, используемая также как каркас для веб-приложений (CMF), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются MySQL, PostgreSQL и другие). Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира [4].

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

Наиболее важные функции, предоставляемые Drupal из поставки по умолчанию:

.Единая категоризация всех видов содержимого (таксономия) - от форумных сообщений до блогов и новостных статей;

2.Широкий набор свойств при построении рубрикаторов: плоские списки, иерархии, иерархии с общими предками, синонимы, родственные категории;

.Вложенность категорий любой глубины;

.Поиск по содержимому сайта, в том числе поиск по таксономии и пользователям;

.Разграничение доступа пользователей к материалам (ролевая модель);

.Динамическое построение меню;

Поддержка XML-форматов:

·вывод документов в RDF/RSS;

·агрегация материалов с других сайтов;

·BlogAPI для публикации материалов с помощью внешних приложений;

·авторизация через OpenID;

·символьные осмысленные URL (иначе "человеко-понятные" - ЧПУ);

·переводы интерфейса сайта на разные языки, а также поддержка ведения разноязычного контента;

·возможность создания сайтов с пересекающимся содержимым (например общей базой пользователей или общими настройками);

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

·уведомления о выходящих обновлениях модулей.

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

Другая парадигма появилась с созданием в Drupal расширения Content Construction Kit (CCK). CCK позволяет дополнять документы новыми полями различных типов - от полей ввода URL и email, до полей хранения и отображения мультимедийных файлов. Также посредством дополнительных модулей к CCK (например, Node reference) можно организовать связи между документами, не используя механизм таксономии.имеет модульную архитектуру с компактным ядром, предоставляющим API, к которому могут обращаться модули. Стандартный набор модулей включает такие функции, как новостная лента, блог, форум, загрузка файлов, сборщик новостей, голосования, поиск и другие.

К достоинствам Drupal можно отнести следующие пункты:

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

§Drupal предлагает модули, которые могут использоваться как строительные блоки веб-сайта, позволяя быстро создавать контент и правила работы сайта. Благодаря встроенным темам и шаблонам Drupal не придется начинать создание сайта с нуля;

§создавать контент в Drupal очень просто. Система позволяет создавать пользовательские списки, организовывать контент через URL, создавать ассоциированный контент и контент по умолчанию. Это значительно облегчает организацию, поиск и повторное использование контента.

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

К недостаткам относятся:

§Drupal весьма мощная и функциональная система, но из-за своей сложности и, следовательно, высокой кривой обучаемости она не такая дружественная к пользователю, как некоторые другие CMS. Такие системы, как WordPress и Joomla могут оказаться более удобными для конечного пользователя, но они значительно проигрывают в мощности Drupal.

§в случае эксплуатационных качеств Drupal уступает WordPress по двум аспектам - масштабируемость и скорость загрузки страниц. Также у Drupal отсутствует обратная совместимость между версиями.

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

1.5 Система управлением контентом Typo3

- система управления сайтами (CMS/CMF) с открытым исходным кодом и свободной лицензией. Написана на PHP, для хранения данных использует любую реляционную базу данных, поддерживаемую TYPO3 DBAL, включая MySQL, Oracle Database, PostgreSQL и другие.

Работает на таких серверах, как Apache или IIS, и на большинстве операционных систем, таких как Linux, Microsoft Windows, FreeBSD, Mac OS X и OS/2.

Распространяется бесплатно под лицензией GNU GPL. TYPO3 - гибкая и расширяемая система, с удобным интерфейсом, большим количеством модулей и функций. Она является прямым конкурентом коммерческих систем [5].имеет два режима работы: frontend и backend. Frontend - это "лицо" сайта, то, каким он виден посетителям. Backend - это интерфейс для администраторов и редакторов сайта. Кроме того, хуи, поддерживается режим frontend-редактирования, позволяющий редакторам вносить правки непосредственно при просмотре "лица" сайта.

Структура сайта в TYPO3 представлена деревом страниц. На каждой странице могут быть размещены элементы содержимого - небольшие блоки информации: текст, текст + изображение, изображение, таблица, чистый html, плагин и др. TYPO3 основана на шаблонах. Существуют готовые шаблоны для TYPO3, однако в основном шаблоны строятся заново на специальном конфигурационном языке TypoScript. Несмотря на использование script в названии, TypoScript не является процедурным языком. Он используется для конфигурирования и отображения сайта. TypoScript является альтернативой другим конфигурационным языкам, таким как ini или conf-файлы, XML или JSON.

Основные возможности системы:

.Редактор текста с форматированием (RTE) и проверка орфографии;

2.Отмена изменений и история изменений;

.Предпросмотр перед публикацией;

.Буфер обмена;

.Редактирование содержимого из frontend и backend;

.Внутренние ссылки (возможны ссылки на уровне элементов содержимого);

.Внутренний поисковый механизм;

.Одна установка системы для многих сайтов (с единым деревом страниц);

.Одна установка системы для многих доменов;

.Гибкая система разграничения прав для редакторов сайта;

.Динамическое построение меню - текстовых и графических;

.Возможность авторизации пользователей через LDAP;

.Версионирование;

.Рабочие области (workspaces);

.Поддержка WML, XML, RSS;

.Экспорт в PDF;

.Экспорт в статический HTML;

.Кэширование страниц

Достоинства системы:

§гибкая настройка прав пользователя дает возможность разработчику менять визуальное оформление при создании проекта на данной CMS;

§без особых проблем можно создать динамическое меню, которое будет эффективно и ярко смотреться;

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

§при редактировании или наполнения сайта контентом, происходит автоматическое обновления дизайна страницы и контент помещается уже на принятый дизайн страницы;

§автоматическая навигация по сайту. Навигация автоматически формируется при создании новой страницы.

Минусы системы:

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

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

.6 Система управлением контентом 1С-Битрикс

1С-Битрикс - это автоматизированная система управления контентом, разработанная компанией 1С-Битрикс. Продукт предназначен для создания и развития корпоративных проектов предприятий и организаций, информационных, новостных и справочных порталов, социальных сетей, интернет-магазинов и других видов сайтов [6].

Система разработана в 2001 году и в настоящее время доступна в 12 различных редакциях. На сегодняшний день на базе платформы от 1С-Битрикс уверенно работает более 50 тысяч проектов. Партнерская сеть российской компании является крупнейшей в мире и включает в состав более 6 тысяч веб-студий. Продукт регулярно совершенствуется, ежегодно производится около 300 обновлений, которые обеспечивают сайту новые полезные функции.

Преимущества системы 1С-Битрикс

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

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

§Еще одной особенностью и одновременно достоинством CMS 1С-Битрикс выступают периферийные модули - программные компоненты, позволяющие продуктивно управлять веб-контентом, структурой страниц, разделом "Форум", рекламой и прочими элементами сайта. Набор модулей, а значит, и функциональность системы зависит от версии.

§Заключительный плюс CMS 1С-Битрикс - превосходная степень надежности, обусловленная наличием системы проактивной защиты, гарантирующей отсутствие взломов и вирусов. Высокий уровень безопасности обеспечивается также с помощью личных прав доступа, которые позволяют удачно работать с системой сразу нескольким людям.

Минусы системы 1С-Битрикс:

§Дополнительные компоненты и сторонние модули реализуются через внутренний магазин (marketplace) и в основном платные;

§Система 1С-Битрикс тяжеловата для простых хостингов и вряд ли выдержит большую нагрузку (например, если Вы планируете привлечь до 10000 посетителей в сутки, необходимо выбрать более дорогой тариф и мощный хостинг);

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

§Услуги специалистов, работающих с Битрикс, стоят дорого, поскольку программистов, разбирающихся в этой системе, очень мало;

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

Особенности CMS 1С-Битрикс:

.Многосайтовость

Разработчики CMS 1С-Битрикс считают, что продукт может эффективно решать задачи 95% проектов. Исключение составляют только те сайты, которые имеют очень индивидуальный характер и созданы на основе специфической логики;

.Полноценный визуальный редактор

Визуальный редактор снабжен функцией проверки орфографии и позволят удачно осуществлять вставку объектов и текста из MS Word. Посредством редактора очень легко изменять текст на страницах, у ссылок, в таблицах и работать с динамичными элементами сайта;

.Интеграция с программой 1C: Предприятие1С-Битрикс - это система, созданная в результате взаимодействия компаний Битрикс и 1С. Поэтому его пользователю обеспечена уверенная интеграция с продуктом 1C: Предприятие, что весьма удобно, допустим для фирм, которые занимаются реализацией различных товаров и услуг в Интернете;

.Инструменты для разработки индивидуальных решений

При условии соответствующих знаний платформа Frame Work позволяет внести значительные изменения в оболочке CMS 1С-Битрикс и в результате создать собственную систему управления веб-проектами.

.Магазин MarketPlace

На сайте магазина MarketPlace для пользователей 1С-Битрикс: Управление сайтом партнерами фирмы предлагаются всевозможные бесплатные и платные модули, позволяющие существенно расширить функциональность проекта;

.Обратная связь от разработчиков.

На сайте компании 1С-Битрикс действует раздел "Идей", где пользователи могут оставить предложения и пожелания по работе CMS, которые учитываются при разработке последующих обновлений продукта.

В настоящее время CMS "1C-Битрикс занимает ведущую строчку в рейтинге платных тиражных систем управления сайтом в России и четвертую позицию в общем рейтинге CMS, разработанным компанией iTrack.

.7 Система управлением контентом MODx

При выборе системы управления контентом для сайта компании "ГИК", основными критериями является быстродействие, нетребовательность к ресурсам сервера и простота администрирования. Под эти требования полностью подходит MODx и в дальнейшем эта CMS будет использована для создания сайта.- система управления содержимым с открытым исходным кодом и открытой лицензией [7]. Написана на языке программирования PHP, использует для хранения данных СУБД MySQL или MS SQL. Интерфейс системы MODx представлен на рисунке 1.1.

Рисунок 1.1 - Интерфейс MODx

Возможности MODx:

§графический веб-установщик;

§полный контроль над выводом HTML-кода, разделение логики работы CMS и дизайна;

§легкая расширяемость, возможность создавать программный код в сниппетах, модулях и плагинах, а также подключать параметры Template Variable (TV) для создания дополнительных полей;

§поддержка AJAX, MooTools, prototype, jQuery, ExtJS;

§поддержка PHP 5.1.2 и выше (за исключением 5.1.6 и 5.2.0);

§кросс-браузерность и кроссплатформенность работы;

§возможна установка на IIS, Apache, Nginx, Lighttpd и Zeus веб-сервера;

§возможно размещение в "облаке" через Amazon Elastic Compute Cloud

§(EC2) и в собственном облаке MODx Cloud;

§рекурсивный парсер для вложенной функциональности;

§полный контроль над всеми метаданными и структурой URL для поисковой оптимизации;

§совместимость с MVC (Model-View-Controller);

§контроль доступа и назначение прав для доступа к менеджеру сайта ACL;

§возможность настройки менеджера под нужды заказчика;

§репозиторий готовых расширений.

В настоящее время существует две редакции MODx. MODx Evolution - поддерживается сообществом, а не разработчиком. MODx Revolution - поддерживается и разрабатывается разработчиком. Все новые и основные дополнения разрабатываются и поддерживают в основном только Revolution. Таким образом. актуальной на данный момент является редакция MODx Revolution [8].

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

1.Универсальность

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

2.Производительность

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

3.Безопасность

Используется легковесная ORM xPDO, которая реализует очень простой, но эффективный паттерн Active Record, где все манипуляции с данными выполняются с помощью специализированных методов для доступа к данным благодаря чему практически исключаются SQL-инъекции.

4.SEO ориентированность

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

5.Гибкость

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

6.Юзабилити

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

7.Масштабируемость

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

8.Доступность

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

9.Популярность

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

10.Актуальность

Система написана в духе WEB 2.0 - объектно-ориентированный паттерн программирования, в полной мере используется AJAX.

2. Разработка архитектуры сайта

Разработка архитектуры сайта - важный этап в процессе создания сайта, он продумывается еще на этапе проектирования будущего ресурса.

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

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

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

В процессе разработки архитектуры сайта компании "ГИК" учитывалась следующие моменты:

контекст сайта

целевая аудитория

контент

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

Целевая аудитория - это основные пользователи сайта. Под пользователей прописывается сценарий - основные действия, которые они будут выполнять, заходя на сайт. Нужно представить их цели и пути достижения этих целей.

Потенциальные пользователи сайта компании "ГИК" - это бизнесмены, предприниматели, люди, которые хотят развить свой бизнес, привлечь больше клиентов, повысить доходы от своего дела, люди, которые хотят заявить о себе и о своем деле.

Контент на сайте должен быть интересен и полезен его целевой аудитории.

Источник контента должен быть уникальным (тексты, фото, видео и т.д.).

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

Сайт компании "ГИК" состоит из 6 основных страниц [9]:

главная страница

услуги

компания

портфолио

события

контакты

Логическая структура сайта представлена на рисунке 2.1

Рисунок 2.1 - логическая структура сайта

.1 Структура главной станицы

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

1.Шапка сайта

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

В правом углу находится номер, по которому можно связаться с компанией, и кнопка "Заказать звонок", при нажатии на которую выводится форма обратной связи. Форма обратной связи состоит из полей, необходимых для заполнения: имя, телефон, электронная почта, "Я не робот". Вид шапки сайта представлен на рисунке 2.2.

Рисунок 2.2 - шапка сайта

2.Главная форма

Ниже расположена главная форма, которая призывает пользователя к действию. Например, кнопка "Подробнее" направляет заинтересовавшегося человека сразу на страницу с услугами, а кнопка "Портфолио" на страницу с последними работами, чтобы пользователь ознакомился, что умеет и предлагает компания. Форма обратной связи предлагает пользователю сразу заполнить необходимые поля (имя, электронная почта, телефон, бюджет) чтобы специалист компании связался с ним и проконсультировал по необходимым вопросам. Вид главной формы представлен на рисунке 2.3.

Рисунок 2.3 - главная форма

3.Преимущества

Блок преимущества объясняет главные достоинства компании и почему пользователь, который зашел на сайт, должен выбрать именно компанию "ГИК". Блок преимущества представлен на рисунке 2.4.

Рисунок 2.4 - блок преимущества

4.Последняя работа

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

Рисунок 2.5 - блок с последней работой

5.Как организована работа

Блок "Как организована работа" показывает в виде схемы все этапы разработки сайта и предлагает сразу заказать работу. Блок представлен на рисунке 2.6.

Рисунок 2.6 - блок "Как организована работа"

6.Примеры работ

Блок "Примеры работ" показывает последние работы, при нажатии на которые происходит переход на страницу с подробным описанием этих работ. Кнопка "Все работы" осуществляет переход на страницу "Портфолио". Блок "Примеры работ" представлен на рисунке 2.7.

Рисунок 2.7 - блок "Примеры работ"

1.7.Внедрение amoCRM

Блок "Внедрение amoCRM" рассказывает о программе, которая ведет учет сделок и работы сотрудников в режиме онлайн. Блок представлен на рисунке 2.8.

Рисунок 2.8 - Блок "Внедрение amoCRM"

8.Отзывы

Блок "Отзывы" показывает последние комментарии и рекомендации клиентов, которые сотрудничали с компанией "ГИК". Блок представлен на рисунке 2.9.

Рисунок 2.9 - блок с отзывами

1.9.Форма обратной связи

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

Рисунок 2.10 - форма обратной связи

10.Подвал



Рисунок 2.11 - подвал сайта

2.2 Структура страницы "Услуги"

Страница "Услуги" состоит из 4 блоков, каждый блок - это название услуги: разработка сайта, поддержка, продвижение сайта и дизайн.

Блоки интерактивные, при наведении на них происходит анимация, и блок меняет вид, картинка становиться меньше, происходит затемнение и появляется кнопка "Подробнее". При нажатии происходит переход на внутреннюю страницу услуги.

Вверху страницы расположен заголовок страницы и "хлебные крошки", так называемые ссылки на предыдущие страницы на которых был пользователь до посещения этой страницы для быстрого перехода. Так же рядом с заголовком расположена кнопка "Заказать консультацию", которая позволяет пользователю оставить интересующий его вопрос, и чтобы с ним связались и проконсультировали. Страница "Услуги" изображена на рисунке 2.12.

Рисунок 2.12 - страница "Услуги"

Структура внутренних страниц "Услуги":

1.Разработка сайта

- базовые вопросы

срок разработки

этапы создания сайта

форма заказа разработки сайта

блок другие услуги

2.Поддержка

- тарифы технической поддержки

форма заказа технической поддержки

блок другие услуги

3.Продвижение сайта

- CEO оптимизация

способы продвижения сайта

форма заказа продвижения сайта

блок другие услуги

4.Дизайн

- создание дизайна сайта

фирменный стиль

современный дизайн сайта - этапы

форма заказа дизайна сайта

блок другие услуги

.3 Структура страницы "Компания"

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

Вверху страницы расположен заголовок страницы и "хлебные крошки", так называемые ссылки на предыдущие страницы на которых был пользователь до посещения этой страницы для быстрого перехода. Так же рядом с заголовком расположены ссылки на внутренние страницы: о компании, вакансии, партнеры и отзывы. Страница "Компания" изображена на рисунке 2.13.

Рисунок 2.13 - страница "Компания"

Структура внутренних страниц "Компания":

1.О компании

- Информация о компании

Наша команда

Обращение директора

2.Вакансии

- Менеджер по продажам

Web-дизайнер

Web-программист

SEO-специалист

3.Партнеры

- Список партнеров и ссылки на них.

4.Отзывы

- Отзывы клиентов компании "ГИК" и их рекомендации.

.4 Структура страницы "Портфолио"

Страница "Портфолио" содержит в себе список всех работ, которые сделала компания "ГИК". Работы представлены в виде блоков с картинкой при наведении, на которые видно краткое описание, а при нажатии осуществляется переход на внутреннюю страницу с работой.

Вверху страницы расположен заголовок страницы и "хлебные крошки", так называемые ссылки на предыдущие страницы на которых был пользователь до посещения этой страницы для быстрого перехода. Так же рядом с заголовком расположены ссылки на внутренние страницы: сайт компании, интернет каталог, лендинг, сложные проекты, мобильные (адаптивные) сайты и лого. Страница "Портфолио" изображена на рисунке 2.14.

Рисунок 2.14 - страница "Портфолио"

Структура внутренних страниц "Портфолио":

1.Сайт компании

Большие и объемные сайты для компаний.

2.Интернет каталог

Сайты, содержащие продукцию, позволяющие просматривать товар и заказывать его.

3.Лендинг

Одностраничные сайты, промо-сайты, которые настраивают посетителя на совершение определенного действия.

4.Сложные проекты

Сложные сервисы, направленные на достижение и облегчение разных сторон бизнеса.

5.Мобильные (адаптивные) сайты

Сайты, разработанные не только под компьютер, но и под мобильные устройства (Iphone, Android и т.д.).

6.Лого

Логотипы и фирменный стиль проектов.

.5 Структура страницы "События"

сайт дизайн интерфейс редактирование

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

Вверху страницы расположен заголовок страницы и "хлебные крошки", так называемые ссылки на предыдущие страницы на которых был пользователь до посещения этой страницы для быстрого перехода. Так же рядом с заголовком расположены ссылки на внутренние страницы: все, акции, новости и блог. Страница "События" изображена на рисунке 2.15.

Рисунок 2.15 - страница "События"

Структура внутренних страниц "События":

1.Все

Все новости и акции.

2.Акции

Скидки, специальные предложения.

3.Новости

Новости, связанные с web-приложениями, разработкой и IT-сферой.

4.Блог

Публикации компании "ГИК", советы и ответы на вопросы.

.6 Структура страницы "Контакты"

Страница "Контакты" содержит контактные данные компании "ГИК": телефоны, электронную почту, режим работы и местоположение офиса.

Контактные данные представлены для двух городов: Вологды и Череповца.

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

Внизу страницы расположена форма обратной связи, которая предлагает пользователю сразу заполнить необходимые поля (имя, электронная почта, телефон, бюджет) чтобы специалист компании связался с ним и проконсультировал по необходимым вопросам. Страница "Контакты" изображена на рисунке 2.16.

Рисунок 2.16 - страница "Контакты"

.7 Адаптивный веб-дизайн

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

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

В оформлении сайта компании "ГИК" используется фреймворк Twitter Bootstrap. Twitter Bootstrap - свободный набор инструментов для создания сайтов и веб-приложений. Включает в себя HTML и CSS шаблоны оформления для типографики, вебформ, кнопок, меток, блоков навигации и прочих компонентов веб-интерфейсов, включая JavaScript расширения. Bootstrap использует самые современные наработки в области CSS и HTML.

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

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

высокая скорость - динамичные макеты Bootstrap масштабируются на разные устройства и разрешения экрана без каких-либо изменений в разметке;

гармоничный дизайн - все компоненты платформы Bootstrap используют единый стиль и шаблоны с помощью центральной библиотеки. Дизайн и макеты веб-страниц согласуются друг с другом;

простота в использовании - платформа проста в использовании, пользователь с базовыми знаниями HTML и CSS может начать разработку с Twitter Bootstrap;

совместимость с браузерами - Twitter Bootstrap совместим с Mozilla Firefox, Google Chrome, Safari, Internet Explorer и Opera;

открытое программное обеспечение - особенность Twitter Bootstrap, которая предполагает удобство использования, посредством открытости исходных кодов и бесплатной загрузки [10].

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

Вид сайта на экране монитора изображен на рисунке 2.17.

Рисунок 2.17 - вид сайта на экране монитора

Вид сайта на мобильном устройстве изображен на рисунке 2.18.

Рисунок 2.18 - вид сайта на мобильном устройстве

3. Разработка структур данных

Так как сайт создан при помощи системы управления контентом MODx, база данных которой представлена в виде MySQL, база данных сайта будет поддерживать ту же структуру, внося в неё свои изменения.без установленных дополнительных модулей содержит 63 таблицы. Многие из таблиц содержат вспомогательную информацию и нет смысла описывать каждую из них.

.1 Работа с таблицами в CMS MODx

Работа с базой данных в MODx построена поверх библиотеки xPDO.(open eXtensions to PDO) - это легковесная ORB (object-relational bridge, объектно-реляционный мост) библиотека, работающая на PHP 5, которая помогает пользоваться преимуществами последних стандартов работы с базами данных в PHP, расширением PDO (PHP Data Objects). xPDO реализует очень простой, но эффективный паттерн для доступа к данным Active Record, а также гибкую модель предметной области, позволяющую отделить логику области от логики, специфичной для той или иной базы данных.

Но xPDO - это немного больше, чем простая реализация паттерна. Это еще и способ абстрагирования бизнес-логики приложения от фактически используемых для доступа к данным в БД SQL-запросов и связанных переменных (prepared statements), а также легко описать и обеспечить реализации объектной модели для нескольких целевых платформ баз данных.

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

3.2 Описание основных таблиц

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

Основные таблицы CMS MODx:

site_htmlsnippets - содержит информацию о чанках пользователя;

site_snippets - содержит информацию о снипетах пользователя;

- site_content - содержит информацию о ресурсах, добавленную пользователем;

- users - список пользователей;

user_attributes - профили пользователей.

Таблица описывает представление чанка в базе данных. Чанки содержат в себе статический HTML код.

Таблица 1 - структура таблицы site_htmlsnippets

ПолеТипКомментарийIdint(10)Первичный ключsourceint(10)Источникproperty_preprocesstinyint(1)Обработка свойствnamevarchar(50)Название чанкаdescriptionvarchar(255)Описание чанкаeditor_typeint(11)Внутренний текстовый редакторcategoryint(11)Категорияcache_typetinyint(1)Вид кэшированияsnippetmediumtextСодержаниеlockedtinyint(1)БлокировкаpropertiestextСвойстваstatictinyint(1)Является ли статичным файломstatic_filevarchar(255)Путь к статичному файлу

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

Таблица 2 - структура таблицы users

ПолеТипКомментарийidint(10)Первичный ключusernamevarchar(100)Имя пользователяpasswordvarchar(100)Хэш пароляcachepwdvarchar(100)Кэшированный парольclass_keyvarchar(100)Тип пользователяactivetinyint(1)Активен ли пользовательremote_keyvarchar(255)Внешний ключremote_datatextВнешние данныеhash_classvarchar(100)Тип хэширования пароляsaltvarchar(100)Символы, добавляемые к паролюprimary_groupint(10)Главная группаsession_staletextСтатус сесииsudotinyint(1)Является ли суперпользователем

Таблица 2 - users содержит базовую структуру для описания пользователя. Многие дополнительные таблицы использую информацию из этой таблицы, например, расширенные настройки прав содержатся в таблице access_permissions.

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

В таблице site_content содержится информация о всех ресурсах сайта, а также служебная информация с этим связанная. Данная таблица в общей сложности содержит 43 поля.

4. Разработка и реализация программных модулей

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

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

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

При использовании AJAX:

.Пользователь заходит на веб-страницу и нажимает на какой-нибудь её элемент;

2.Скрипт определяет, какая информация необходима для обновления страницы;

.Браузер отправляет соответствующий запрос на сервер;

.Сервер возвращает только ту часть документа, на которую пришёл запрос;

.Скрипт вносит изменения с учётом полученной информации (без полной перезагрузки страницы).

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

§Экономия трафика

Использование AJAX позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что вместо загрузки всей страницы достаточно загрузить только изменившуюся часть, или вообще только получить/передать набор данных в формате JSON или XML, а затем изменить содержимое страницы с помощью JavaScript.

§Уменьшение нагрузки на сервер

При правильной реализации AJAX позволяет снизить нагрузку на сервер в несколько раз.

В частности, все страницы сайта чаще всего генерируются по одному шаблону, включая неизменные элементы ("шапка", "навигационная панель", "подвал" и т.д.), для генерации которых требуются обращения к разным файлам, время на обработку скриптов (а иногда и запросы к БД) - всё это можно опустить, если заменить полную загрузку страницы генерацией и передачей лишь содержательной части. Дизайн страницы также обычно содержит множество файлов, связанных с оформлением (картинки, стили), на повторную обработку которых не надо тратить время, используя AJAX (экономия на количестве HTTP-соединений значительно выгоднее, чем на сокращении трафика каждого из них).

§Ускорение реакции интерфейса

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

§Почти безграничные возможности для интерактивной обработки

Например, при вводе поискового запроса в Google выводится подсказка с возможными вариантами запроса. На многих сайтах при регистрации пользователь вводит имя, и сразу же видит, доступно это имя или нет. AJAX удобен для программирования чатов, административных панелей и других инструментов, которые выводят меняющиеся со временем данные [11].

Все сайты находятся в одном месте, в определенной категории.

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

Имеется шаблон, в нем запускается snippet, в который передается список сайтов, относящихся к данной категории с параметрами вывода сайтов в категории. Пример сайта в портфолио представлен на рисунке 4.1.

Рисунок 4.1 - сайт в портфолио: 1 - название сайта; 2 - ссылка на сайт; 3 - изображение сайта; 4 - категории сайта

Для вывода всех категорий сайта, к которым данный сайт в портфолио относиться, используется ApiModex. Вначале определяется пять TV-параметров, каждый из которых соответствует категории в портфолио. Далее мы получаем список id-ресурсов каждой категории портфолио (массив). Id-страницы ищутся в каждом из пяти массивов и если в каком-то из массивов этот id находиться, выводится ссылка на портфолио, которая соответствует этому массиву.

Переход между проектами осуществляется при создании переменной, которая заполняет snippet, который генерирует id-ресурсы. Берется id текущего ресурса, на котором мы находимся и поэтому id находиться индекс этого элемента в массиве со всеми сайтами. Дальше берется следующий индекс массива и предыдущий. У этих индексов берется значение, которое соответсвует id-ресурсам. Средствами Modex из id-ресурса генерируется ссылка на следующий и предыдущий ресурс.

5. Экспериментальное тестирование и отладка

В ходе тестирования был использован очень полезный инструмент для разработчиков сайтов на MODX - DebugParser от Василия Наумкина. Он сильно выручает на стадии окончания разработки сайта и может пригодится не только начинающим, но и уже вполне состоявшимся разработчикам. DebugParser позволяет найти и оптимизировать узкие места сайта. Включается он добавлением к адресной строке параметра debug=1.

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

Теперь вы можете точно определить и оптимизировать медленные вызовы на каждой странице. Пример использования DebugParser изображен на рисунке 5.1.

Рисунок 5.1 - использование DebugParser

В таблице показывается вызов тега MODX, количество запросов в БД при его работе, время запросов и общее время, затраченное на обработку.

Если на странице какой-то тег вызывается несколько раз, то эти вызовы суммируются.

Внизу таблицы вы видите сумму по статистике и общие данные: версия PHP, БД и т.д.

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

Все параметры он принимает через $_GET.

§debug - Включает режим отладки и вывод таблицы.

§cache - Разрешает использовать кэширование страницы. По умолчанию - нет.

§top - Количество тегов для вывода. По умолчанию - не ограничено.

§add - Добавить таблицу в конец страницы, а не заменять её целиком. По умолчанию - нет.

Для вывода работы тегов шаблонизатора Fenom вам нужно использовать:

§pdoTools 2.1.8-pl

§debugParser 1.1.0-pl

§Вызовы через {$_modx}, отключенный по умолчанию {$modx} отловить невозможно.

Примеры:

1.Обычный вывод

#"justify">Таблица с отчетом заменит содержимое страницы, так что вы увидите только таблицу.

2.Вывод с использованием кэша

#"justify">Если страница загружается из кэша, будут обработаны и показаны только некэшируемые теги.

3.Вывод первых 10 самых медленных тегов

#"justify">Все обработанные теги сортируются по времени выполнения, поэтому можно показывать только несколько самых трудоёмких.

4.Вывод с присоединением таблицы к содержимому страницы

#"justify">За время тестирования программы были обнаружены некоторые отказы и ошибки, вызванные ошибками при разработке системы. Обнаруженные ошибки были исправлены. В программе проверяются на корректность все данные, поступающие от пользователя, а также предусмотрена обработка исключений при возникновении ошибок в работе сервера или других исключительных ситуаций.

6. Руководство администратора

.1 Основные элементы CMS MODx

Ресурс - в понятии MODx ресурс представляет собой страницу сайта. Кроме того, существуют другие типы ресурсов, такие как, ссылки, сами файлы, и т.д. По умолчанию тип нового ресурса - документ, точнее представление одной страницы сайта.

Существует 4 вида ресурсов:

Документ - самый распространённый ресурс, по сути веб-страница сайта. В основной массе состоит из заголовка, аннотации, подробного текста, различных дат, мета-тегов и дополнительных полей (TV-параметров).

Web-ссылка - ссылка на внешний ресурс или веб-страницу.

Символическая ссылка - внутренняя ссылка на другой ресурс.

Статический ресурс - файл.

Каждый ресурс также имеет уникальный идентификатор, или "Resource Identifier". Если требуется связать два ресурса, то для этого следует использовать ID. Таким образом, MODx сгенерирует ссылку, и не придется беспокоиться об изменении адреса страницы или типы адресации.

Так же каждому ресурсу можно назначить шаблон, шаблон может определять дополнительные поля этого ресурса.

Ресурсы могут выступать в роли контейнеров и содержать в себе другие ресурсы. Так образуется структура сайта.

Шаблон - это базовая сущность определяющая отображение страницы в MODx. Шаблоны обычно содержат HTML-теги разметки, которые определяют расположение и внешний вид вашего сайта. Когда страница сайта запрошена, MODx загружает документ или ресурс и его шаблон, затем MODx находит все дополнительные поля в шаблоне и заменяет их соответствующими значениями из документа перед отправкой страницы в браузер пользователя. Шаблон может быть назначен любому ресурсу и определяет по сути веб-страницу в которой будет выведено содержимое этого ресурса. Шаблон не может быть включён в другой шаблон как часть.

Параметры - используются для вывода значений полей ресурса. Вызов осуществляется так: [[*field]].параметры - это дополнительное поле или переменная шаблона (TV):

это настраиваемое поле, или, точнее это настраиваемое поле для ресурсов MODx. TV-параметры используются для расширения стандартных полей ресурса. Каждый ресурс в MODx имеет определенное количество полей по умолчанию.

Если встаёт задача добавить некоторые дополнительные поля на страницу, например, выпадающий список названий месяцев или дополнительное изображение, или любой другой тип пользовательских данных, это можно сделать, добавив TV-параметр соответствующего типа. MODx позволяет иметь практически неограниченное количество TV-параметров.тег заменяется соответствующим значением заполненным пользователем при обработке ресурса. Так же каждый такой параметр привязан к какому-либо шаблону и может использоваться лишь в совокупности с ним. Вызов осуществляется так: [[*TV]].

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

Чанк не может содержать какой-либо исполняемый код, но в нём можно вызывать сниппеты для вывода динамического контента. Вызов чанка осуществляется так: [[$chunk]].

Сниппет - PHP код который исполняется во время обработки шаблона MODx. Результат работы его может быть расположен либо на месте его вывода, либо в плейсхолдерах, специальных тегах определяющими куда поместить те или иные результаты. Вызов сниппета осуществляется так: [[snippet]].

.2 Создание раздела

Раздел - это главный объект в основе иерархии структуры содержимого. Все доступные разделы сайта отображаются в главном верхнем меню.

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

Для добавления раздела на сайт необходимо создать ресурс в корне иерархии сайта (WEB). Для этого следует выделить корень иерархии - WEB и нажать правую клавишу мыши. В появившемся меню выбрать пункт "Создать → Дочерний документ". В поле заголовок ввести название нового раздела, а в поле содержимое ресурса информацию, которую необходимо отразить на главной странице нового раздела.

После добавления ресурса, в главном меню сайта появится новый требуемый раздел. Меню создания раздела представлено на рисунке 6.1.

Рисунок 6.1 - создание нового раздела

.3 Создание подраздела

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

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

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

6.4 Управление фотогалереей

Управление фотогалереей происходит из панели управления сайтом. Для доступа к галерее в панели управления следует перейти на страницу "Компоненты → Gallery". На странице управления галерей доступны такие действия как создание альбома, удаление альбома, редактирование альбома.

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

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

7. Оценка качества продукта

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

.1 Определение состава работ

Работы по разработке программного обеспечения можно разбить на следующие этапы:

§подготовительный этап;

§проектирование;

§программирование;

§этап отладки и тестирования системы;

§заполнение информацией;

§составление документации;

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

.2 Определение трудоёмкости разработки

Под трудоёмкостью понимаются затраты рабочего времени на разработку проекта. Все применяемые методы оценки трудоёмкости сводятся к трем группам: экспертные, опытно-статистические, аналитические.

Расчёт трудоёмкости разработки дипломного проекта целесообразно проводить методом экспертной оценки.

На решение поставленной задачи заданы ограничения следующие ограничения:

Время выполнение поставленной задачи - 4 месяца.

Расчёт трудоёмкости разработки производится по формуле (1).

(1)

где ti - трудоемкость работ по стадиям проектирования, n - количество стадий проектирования.

Пользуясь собственным опытом и знаниями, определим максимальное и минимальное время необходимое для разработки каждого пункта, а исходя из них ожидаемое время. Ожидаемое время определяется по формуле (2).

(2)

Затраты времени на каждую стадию разработки проекта представлены в таблице 3.

Таблица 3 - Затраты времени по стадиям разработки проекта

Стадия разработкиtmin, чел. дниtmax, чел. дниОжидаемые затраты времени, чел. дниПодготовительный этап576Проектирование 103020Программирование305540Этап отладки и тестирования 253027Заполнение информацией304035Составление документации7129Итого:107174137

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

Таблица 4 - Распределение объёмов работы

Этапы разработкиТрудоёмкость чел-дн.ИсполнителиДоля участия,%Фонд времени, дн.Подготовительный этап6Руководитель503Программист503Проектирование20Руководитель306Программист7014Программирование40Программист10040Отладка и тестирование27Руководитель4011Программист6016Заполнение информацией30Руководитель4012Программист6018Составление документации9Руководитель252Программист757Итого132

Таким образом, суммарный объем всех выполняемых работ составляет 132 чел. дня.

.3 Оценка качества проекта

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

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

В качестве метода оценки будем применять метод начисления баллов по каждой характеристике, после чего по среднему баллу можно будет судить о качестве разрабатываемого программного продукта. Для определения уровня ранжирования воспользуемся 10-балльной системой. Всё это определяет ГОСТ РИСО/МЭК 9126-93 "Информационная технология. Оценка программного продукта. Характеристики качества и руководство по их применению".

Программное обеспечение может быть оценено следующими характеристиками:

1.Функциональные возможности

Для оценки функциональных возможностей применяются следующие параметры:

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

Правильность - атрибут программного обеспечения, показывающий обеспечение правильности соответствия результатов или эффектов. Правильность - 10 баллов.

Согласованность - атрибут программного обеспечения, который заставляет программу придерживаться соответствующих стандартов или соглашений, положений, законов или подобных рекомендаций. Общий вид, интерфейс соответствуют принятым стандартам для интернет-приложений (Консорциум Всемирной паутины (World Wide Web Consortium, W3C)). Согласованность - 10 баллов.

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

Способность к взаимодействию - атрибут ПО, относящийся к способности его взаимодействовать с конкретными системами. Система взаимодействует с необходимыми для ее работы системами через соответствующий клиент (браузер). Способность к взаимодействию - 10 баллов.

2.Надёжность

Оценим надёжность программы с помощью следующих критериев.

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

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

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

3.Практичность

Оценим практичность программы с помощью следующих критериев.

Понятность - атрибут программного обеспечения, относящийся к усилиям пользователя по пониманию общей логической концепции и ее применяемости. Оценка понятности - 10 баллов.

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

Простота в использовании - атрибут программного обеспечения, относящийся к усилиям пользователя по эксплуатации и оперативному управлению. Оценка простоты в использовании - 10 баллов.

4.Эффективность

Для оценки эффективности применяются следующие параметры:

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

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

5.Сопровождаемость

Оценим сопровождаемость программы с помощью следующих критериев.

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

Устойчивость - атрибут программного обеспечения, относящийся к риску от непредвиденных эффектов модификации. Оценка устойчивости - 7 баллов.

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

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

6.Мобильность

Оценку мобильности проведём по следующим показателям.

Адаптируемость - атрибут программного обеспечения, относящийся к удобству его адаптации к различным конкретным условиям эксплуатации, без применения других действий или способов, кроме тех, что предназначены для этого в рассматриваемом программном обеспечении. Оценка адаптируемости - 9.

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

Взаимозаменяемость - атрибут программного обеспечения, относящийся к простоте и трудоёмкости его применения вместо другого конкретного программного средства в среде этого средства. Переход на применение разрабатываемого продукта вместо ранее использовавшихся программ не является проблематичным. Оценка - 10 баллов.

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

Результаты экспертной оценки занесены в таблицу 5.

Таблица 5 - Оценка качества программного обеспечения

АтрибутБалл12Пригодность10Правильность10Согласованность10Защищенность9Способность к взаимодействию10Стабильность8Устойчивость к ошибке8Восстанавливаемость9Понятность10Обучаемость10Простота в использовании10Характер изменения во времени9Характер изменения ресурсов10Изменяемость9Устойчивость7Анализируемость10Тестируемость10Адаптируемость9Простота внедрения10Взаимозаменяемость10Соответствие10Средний балл9,43

В результате проделанной работы сайт компании "ГИК" позволяет эффективно добавлять новые разделы, публиковать новости и акции, добавлять новые работы в портфолио, отправлять информацию или запрос пользователей администратору сайта (форма обратной связи) и размещать отзывы заказчиков.

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

По экспертной оценке, сайт компании "ГИК" получил средний бал 9,4, что говорит о его функциональности, удобности в использовании и соответствует всем современным стандартам.

Заключение

Таким образом поставленные нами задачи были выполнены, а именно:

.Проанализированы существующие программные решения

§Разработка собственного ядра сайта;

§Использование готовой системы управления сайтом;

2.Разработана архитектура сайта

Сайт компании "ГИК" состоит из 6 основных страниц:

§главная страница

§услуги

§компания

§портфолио

§события

§контакты

3.Разработана структура данных и необходимые программные модули;

4.Проведены экспериментальное тестирование и отладка;

.Внедрено административное редактирование сайта;

.Дана конечная оценка качества продукта

В ходе дипломного проекта был спроектирован и введён, в эксплуатацию сайт компании "ГИК". На начальном этапе был проведён анализ доступных способов решения проблемы создания сайта и выбран оптимальный.

При разработке проекта особое внимание уделялось актуальности используемых WEB-технологий, привлекательности интерфейсов, надёжности, понятности и поддержке на разных видах устройств.

Разработанный программный продукт соответствует требуемым стандартам.

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

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

1.Как создать движок для сайта [Электронный ресурс] MyRusakov.ru [Офиц. сайт] URL: https://myrusakov.ru/php-create-engine.html (дата обращения 11.06.2016)

2.Joomla! [Офиц. сайт] URL: https://www.joomla.org/ (дата обращения 11.06.2016)

.Joomla.ru [Офиц. сайт] URL: http://joomla.ru/ (дата обращения 11.06.2016)

.Drupal [Офиц. сайт] URL: https://www.drupal.org/ (дата обращения 12.06.2016)

.TYPO3 [Офиц. сайт] URL: https://typo3.org/ (дата обращения 13.06.2016)

.1С-Битрикс [Офиц. сайт] URL: http://www.1c-bitrix.ru/ (дата обращения 13.06.2016)

.MODX [Офиц. сайт] URL: http://modx.com/ (дата обращения 14.06.2016)

.MODX [Электронный ресурс] Википедия - свободная энциклопедия [Офиц. сайт] URL: https://ru.wikipedia.org/wiki/MODX (дата обращения 14.06.2016)

.ГИК [Офиц. сайт] URL: https://gik35.ru/ (дата обращения 14.06.2016)

.Bootstrap [Офиц. сайт] URL: http://getbootstrap.com/ (дата обращения 14.06.2016)

.Ingate [Офиц. сайт] URL: http://promo.ingate.ru/ (дата обращения 14.06.2016)

Похожие работы на - Разработка веб-сайта компании 'ГИК'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!