Автор работы: Пользователь скрыл имя, 29 Апреля 2014 в 17:16, дипломная работа
Web-приложение – клиент-серверное приложение, в котором сервером выступает web-сервер, клиентом программа или устройство, способное получить доступ к web-серверу. Логика web-приложения распределена между сервером и клиентом, хранение данных осуществляется преимущественно на сервере, обмен информацией происходит по сети.
Web - сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.
CMS (Content management system) – компьютерная система или программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления текстовыми и мультимедиа документами.
Обозначения и сокращения 6
Определения 7
Введение 9
1. Описание основных используемых технологий и языков программирования 10
1.1. Общие сведения 10
1.2. Язык программирования PHP 10
1.3. Web-сервер Apache 11
1.4. СУБД MySQL 12
1.5. Язык программирования JavaScript 12
1.6. Технология AJAX 13
1.7. Таблица стилей CSS 14
1.8. Общая схема работы web-приложения 14
2. Описание системы «1С – Битрикс: Управление сайтом» 16
2.1. Общие сведения 16
2.2. Преимущества и недостатки системы 16
2.3. Целесообразность использования системы 18
2.4. Сравнение с другими системами 19
3. Описание API системы «1С – Битрикс: Управление сайтом» 21
3.1. Общие сведения 21
3.2. API модуля «Главный модуль» 21
3.3. API модуля «Информационные блоки» 23
4. Формирование требований к сценариям работы web-приложения 26
4.1. Общие сведения 26
4.2. Список требований 26
5. Диаграмма информационных блоков 29
5.1. Общие сведения 29
5.2. ER – диаграмма данных web-приложения 29
5.3. Определение информационных блоков 31
6. Описание программных компонентов 34
6.1. Создание общей структуры страниц web-приложения 34
6.2. Реализация структуры страниц web-приложения, физическая структура 36
6.3. Список программных компонентов 39
6.3.1. Компонент «Список всех игр» 39
6.3.2. Компонент «Список новых и выходящих игр» 40
6.3.3. Компонент «Список лучших игр» 42
6.3.4. Компонент «Список 100 лучших игр» 43
6.3.5. Компонент «Фильтр по играм» 44
6.3.6. Компонент «Поиск по играм» 45
6.3.7. Компонент «Автоподсказки в поиске» 46
6.3.8. Компонент «Список обзоров к игре» 47
6.3.9. Компонент «Детальная страница игры» 48
6.3.10. Компонент «Форма поиска» 48
6.3.11. Компонент «Страница разработчика игры» 49
6.3.12. Компонент «Список лучших игр за год» 50
6.4. Диаграмма связей между страницами web-приложения и компонентами 51
6.5. Особенности реализации сценариев работы web-приложения. 51
6.5.1. Общие сведения 51
6.5.2. Сохранение состояния страниц при использовании AJAX – запросов 52
6.5.3. Обработка событий панели управления. 55
7. Резервное копирование данных web-приложения. Система управления версиями 59
7.1. Общие сведения 59
7.2. Реализация резервного копирования 59
7.3. Система управления версиями 62
7.3.1. Описание системы Subversion 62
7.3.2. Настройка Subversion для работы с web-приложением 64
8. Нагрузочное тестирование 69
8.1. Общие сведения 69
8.2. Техника проведения нагрузочного тестирования 69
8.3. Оценка результатов тестирования 71
Заключение 76
Список использованных источников 77
Приложение A. Принцип работы системы «1С – Битрикс: Управление сайтом» 78
А.1. Общие сведения 78
А.2. Модульная структура системы 78
А.2.1. Главный модуль 79
А.2.2. Модуль «Управление структурой» 79
А.2.3. Модуль «Информационные блоки» 80
А.3. Компоненты 81
А.3.1. Общие сведения 81
А.3.2. Файловая структура компонента 81
А.3.3. Схема обмена данными между файлами компонента 85
А.3.4. Публичный раздел системы 87
А.3.4.1. Порядок загрузки страницы web-приложения 87
А.3.4.2. Подключение модулей системы 87
А.3.4.3. Подключение шаблонов web-приложения 88
А.3.4.4. Подключение компонентов web-приложения 88
Приложение Б. Требования заказчика к работе web-приложения и дизайн-концепция 90
Приложение В. Исходные коды программных компонентов 95
В.1. Компонент games.calendar 95
В.2. Компонент games.raiting 99
В.3. Компонент games.filter 102
В.4. Компонент games.search 113
В.5. Компонент games.detail 117
В.6. Компонент search_autocomplete 121
В.7. Компонент reviews.list 126
Шаблоны:
Идентификатор |
Описание |
main_page |
Вспомогательный шаблон. Используется на главной странице web-приложения |
Short |
Вспомогательный шаблон, предназначен для вывода списка всех новых или выходящих игр |
.default |
Основной шаблон, предназначен для вывода списка игр для текущего или выбранного месяца |
Имя компонента |
games.raiting |
Реализация требований |
9 |
Логика работы:
Компонент выводит список элементов из указанного информационного блока, отсортированных по значениям свойства с кодом MAIN_METAMARK по убыванию (сортировку можно изменить). Если указан код раздела инфоблока, выводится список элементов, принадлежащий данному разделу. Если в настройках компонента задан дополнительный фильтр, выводится список элементов, удовлетворяющий параметрам фильтра.
Параметры компонента:
Идентификатор |
Множ. |
Тип |
Описание |
IBLOCK_TYPE |
Нет |
Список |
Тип информационного блока |
IBLOCK_ID |
Нет |
Список |
ID информационного блока |
IBLOCK_SECTION_CODE |
Нет |
Список |
Код раздела (платформы) |
COUNT |
Нет |
Число |
Количество игр на странице |
FILTER |
Нет |
Строка |
Переменная фильтра |
DETAIL_URL |
Нет |
Строка |
Ссылка на детальное описание элемента |
SORT_BY1 |
Нет |
Список |
Поле первой сортировки |
SORT_ORDER1 |
Нет |
Список |
Направление первой сортировки |
SORT_BY2 |
Нет |
Список |
Поле второй сортировки |
SORT_ORDER2 |
Нет |
Список |
Направление второй сортировки |
Шаблоны:
Идентификатор |
Описание |
Short |
Вспомогательный шаблон, предназначен для вывода всех лучших игр |
main_page |
Вспомогательный шаблон, предназначен для вывода списка лучших игр на главной странице |
.default |
Основной шаблон, предназначен для вывода ограниченного количества лучших игр |
Имя компонента |
games.top100 |
Реализация требований |
10 |
Логика работы:
Компонент выводит список 100 элементов из указанного информационного блока, отсортированных по значениям свойства с кодом MAIN_METAMARK по убыванию. Если указан код раздела инфоблока, выводится список элементов, принадлежащих данному разделу.
Параметры компонента:
Идентификатор |
Множ. |
Тип |
Описание |
IBLOCK_TYPE |
Нет |
Список |
Тип информационного блока |
IBLOCK_ID |
Нет |
Список |
ID информационного блока |
IBLOCK_SECTION_CODE |
Нет |
Список |
Код раздела (платформы) |
Шаблоны:
Идентификатор |
Описание |
.default |
Основной шаблон, предназначен для вывода 100 лучших игр |
Имя компонента |
games.filter |
Реализация требований |
3, 4, 5, 8 |
Логика работы:
Компонент выводит форму, которая необходима для фильтрации списков элементов, размещенных на одной странице с компонентом и настроенных на связь с данным компонентом. В форме выводится по умолчанию три поля: жанр, дата выхода, метаоценка. Эти поля можно убрать или показать в зависимости от настроек компонента. Также можно указать, выводить или нет алфавит. Значениями списков полей могут быть как точные значения, так и специальные текстовые значения, которые указываются в настройках компонента по специальному шаблону. Также в настройках можно указать список основных жанров, выводимых в поле «жанр». Результатом работы компонента является сформированный массив, который будет передан далее одному из компонентов, отображающих список элементов. Передача параметров фильтра должна происходить без перезагрузки страницы, с помощью технологии AJAX; перезагружаться должна только область компонента, выводящего список игр.
Параметры компонента:
Идентификатор |
Множ. |
Тип |
Описание |
IBLOCK_TYPE |
Нет |
Список |
Тип информационного блока платформ |
IBLOCK_ID |
Нет |
Список |
ID информационного блока платформ |
FILTER_VARIABLE_NAME |
Нет |
Строка |
Имя ключа массива фильтра |
PERIOD_LIST |
Да |
Список |
Список интервалов времени (формат: <название_варианта> [количество_дней]) |
MARKS_LIST |
Да |
Список |
Список оценок (формат: <название_варианта> [минимальная_соответсвущая_ [цвет_надписи]) |
DETAIL_DATE_MAX |
Нет |
Строка |
Максимальная дата в блоке «Уточнить дату» |
DETAIL_DATE_MIN |
Нет |
Строка |
Минимальная дата в блоке «Уточнить дату» |
MAIN_GENRE |
Да |
Список |
Список основных жанров |
USE_ALPHA |
Нет |
Флаг |
Использовать алфавит |
OUT_PLATFORM |
Нет |
Флаг |
Выводить платформы |
SHOW_METAMARK_FILTER |
Нет |
Флаг |
Выводить фильтр по метаоценке |
SHOW_DATE_FILTER |
Нет |
Флаг |
Выводить фильтр по дате выхода |
Шаблоны:
Идентификатор |
Описание |
month_switcher |
Вспомогательный шаблон, предназначен для вывода переключателей по месяцам |
main_page |
Вспомогательный шаблон, предназначен для вывода на главной странице |
.default |
Основной шаблон |
Имя компонента |
games.search |
Реализация требований |
11, 12 |
Логика работы:
Компонент выводит форму для поиска элементов указанного информационного блока и, также, список найденных элементов, если поиск осуществлен.
Параметры компонента:
Идентификатор |
Множ. |
Тип |
Описание |
IBLOCK_TYPE |
Нет |
Список |
Тип информационного блока |
IBLOCK_ID |
Нет |
Список |
ID информационного блока |
IBLOCK_SECTION_CODE |
Нет |
Список |
Код раздела (платформы) |
COUNT |
Нет |
Число |
Количество игр на странице |
DETAIL_URL |
Нет |
Строка |
Ссылка на детальное описание элемента |
SORT_BY1 |
Нет |
Список |
Поле первой сортировки |
SORT_ORDER1 |
Нет |
Список |
Направление первой сортировки |
SORT_BY2 |
Нет |
Список |
Поле второй сортировки |
SORT_ORDER2 |
Нет |
Список |
Направление второй сортировки |
Шаблоны:
Идентификатор |
Описание |
.default |
Основной шаблон, выводит список найденных игр |
Имя компонента |
search.autocomplete |
Реализация требований |
13 |
Логика работы:
Компонент выводит список элементов информационных блоков, реагируя на ввод данных в поле формы компонента search.form. Игры выбираются по части введенной фразы, поиск по списку элементов осуществляется по названию (полю NAME) и по значениям свойства с кодом MAIN_ENG_NAME.
Шаблоны:
Идентификатор |
Описание |
search_page |
Вспомогательный шаблон, выводится на странице поиска |
.default |
Основной шаблон, выводит список найденных игр |
Имя компонента |
reviews.list |
Реализация требований |
16, 17 |
Логика работы:
Компонент выводит список обзоров к игре из определенного информационного блока. Обзоры делятся на русские и английские согласно изданиям (значениям свойства с ID=35), список английских обзоров можно задать в настройках компонента. Обзоры сортируются по полю MARK и по индексу сортировки значения свойства с ID=35 по возрастанию.
Параметры компонента:
Идентификатор |
Множ. |
Тип |
Описание |
IBLOCK_TYPE |
Нет |
Список |
Тип информационного блока |
IBLOCK_ID |
Нет |
Список |
ID информационного блока |
GAME_ID |
Нет |
Число |
ID игры |
TRUNCATE_LEN |
Нет |
Число |
Длина поля DETAIL_TEXT обзора |
ENG_REVIEWS |
Да |
Список |
Список английских изданий обзоров |