Основной целью выполненной мной дипломной работы

advertisement
Основной целью выполненной мной дипломной работы являлось создание
информационного web-приложения согласно требованиям заказчика. В процессе
разработки необходимо было составить структуру данных и структуру страниц webприложения, определить и реализовать логику сценариев работы web-приложения, при
выполнении работы следовать стандартам разработки web-приложений, используя самые
современные инструментальные средства и технологии. Одним из основных требований
заказчика, оказавшим большое влияние на ход выполнения работы, было использование
при разработке web-приложения одной из систем управления сайтом, при этом сделать
выбор наиболее подходящей для разрабатываемого web-приложения системы среди
множества популярных систем управления сайтами полагалось мне. В качестве
дополнительных целей были обозначены обеспечение автоматического резервного
копирования данных web-приложения, настройка системы управления версиями и
проведение нагрузочного тестирования web-приложения с последующей корректировкой
сценариев работы web-приложения согласно полученным результатам тестирования.
Таким образом, создавалось качественное web-приложение, адаптированное к высоким
нагрузкам и устойчивое к возможности потери данных.
Весь процесс работы был разделен мной на несколько этапов, важнейшими из
которых являлись выбор системы управления сайтом для web-приложения, составление
диаграмм информационных блоков и страниц web-приложения, проведение и оценка
результатов нагрузочного тестирования. Список этапов указан на демонстрируемом в
данный момент слайде (слайд 2). Далее будет подробно описан каждый из указанных
этапов.
На первом этапе необходимо было выбрать инструментальные средства для
разработки web-приложения. В качестве средств были выбраны web-сервер Apache, язык
программирования PHP, JavaScript, AJAX, SubVersion. Слайд 3.
На втором этапе был произведен выбор системы управления сайтом для webприложения. Рассматривались три самых популярных системы управления сайтом:
UMI.CMS, NetCat и «1С – Битрикс: Управление сайтом». После анализа возможностей
каждой из систем была выбрана система, разработанная компанией 1С – система «1С –
Битрикс: Управление сайтом». На слайде (слайд 4) представлены основные достоинства
системы, которые стали ключевыми для принятия мной решения выбора данной системы
и выгодно отличают данную систему от указанных выше систем. Перед завершением
данного этапа заказчик был оповещен о том, какая система была выбрана мной, и
согласился с выбором, после чего было принято решение перехода к следующему этапу.
На третьем этапе был проведен анализ требований, предоставленных заказчиком,
оценена дизайн-концепция. В результате был составлен список функциональных
требований, определяющих будущую функциональность web-приложения. На основе
данных требований далее на следующих этапах была составлена структура данных webприложения, определена структура страниц и логика сценариев работы web-приложения.
Список требований представлен на демонстрируемом слайде (слайд 5).
На четвертом этапе была составлена и реализована структура хранения данных
web-приложения. В результате анализа требований заказчика, составленных на третьем
этапе, функциональных требований и дизайн - концепции были выделены основные
сущности, связи между ними и составлена ER-диаграмма (диаграмма «Сущность - связь»).
Диаграмма представлена на слайде 6. Особенностью реализации диаграммы «сущность связь» в случае разработанного web-приложения является создание и настройка связей
между информационными блоками системы «1С – Битрикс: Управление сайтом». В
частности, экземпляры сущностей «Игра» и «Платформа» были представлены в системе,
соответственно, элементами и разделами информационного блока «Игры», для сущностей
«Обзор» и «Разработчик» были созданы, соответственно, информационные блоки
«Обзоры» и «Разработчики». Диаграмма информационных блоков представлена на слайде
7.
На шестом этапе были еще раз проанализированы составленные на третьем этапе
функциональные требования и составлена вначале общая, а затем детализированная
физическая структура web-приложения. Как видно из слайдов, в соответствие элементам
общей структуры web-приложения была поставлены файлы файловой структуры webприложения, что обеспечило логичный и запоминающийся вид адресов страниц webприложения. После составления структуры был определен список программных
компонентов, их логика работы, набор шаблонов и входных параметров. В конце данного
этапа была составлена диаграмма связей между страницами и компонентами, что
позволило однозначно определить функциональность web-приложения. Диаграмма
представлена на слайде 10.
На шестом этапе была установлена и настроена система управления версиями
Subversion. Данная система необходима для сохранения истории разработки webприложения в виде версий и обеспечения возможности командной разработки. В
дальнейшем все разработка проводилась с использованием данной системы.
В процессе реализации логики работы программных компонентов на седьмом этапе
возникла необходимость в решении проблемы, которая заключалась в сохранении
состояния страниц при выполнении пользователем AJAX-запросов. Данная проблема
была выявлена в компоненте «Фильтр по играм». Для устранения данной проблемы были
разработаны и описаны в пояснительной записке к дипломной работе две функции на
языке JavaScript, которые учитывают особенности браузеров и обеспечивают как
сохранение состояния страниц web-приложения в адресной строке браузера, так и
восстановление состояния страницы из адресной строки при ее последующей загрузке.
Таким образом, проблема была решена.
На восьмом этапе было настроено автоматическое резервное копирование данных
web-приложения. Так, как компьютер, на котором расположено web-приложение,
управляется операционной системой GNU / Linux CentOS 5, для настройки резервного
копирования были использованы средства, предоставляемые данной операционной
системой. На слайде 12 представлены программные средства, которые были использованы
в процессе автоматизации резервного копирования. Такая периодичность создания
резервных копий была выбрана потому, что данные web-приложения, хранящиеся в базе
данных, изменяются достаточно часто, в то же время файл, получаемый в результате
выполнения резервного копирования, долго не будет превышать размер более 10 Мб.
Файловая структура web-приложения меняется достаточно редко, в то же время размер
архива, полученного в результате выполнения резервного копирования, превышает 30 Мб.
Поэтому было принято решение делать копию базы данных раз в день, копию файловой
системы – раз в неделю. Результатом выполнения данного этапа является периодическое
создание резервных копий базы данных и файловой структуры web-приложения. Стоит
отметить, что созданные резервные копии были проверены на стороннем компьютере и
оказались работоспособными.
На последнем, девятом этапе для разработанного web-приложения было проведено
нагрузочное тестирование, необходимое для определения «узких мест» в работе webприложения, т.е. ошибок разработки или неоптимальных настроек системы управления
сайтом и определения возможностей web-приложения по обслуживанию большого потока
клиентов. Техника проведения нагрузочного тестирования заключалась в имитации
нагрузки на компьютер web-приложения со стороннего компьютера и снятия показателей
нагрузок с помощью модуля «Производительность» системы «1С – Битрикс: Управление
сайтом». Было проведено три нагрузочных теста. Результаты приведены на слайде 13. Как
видно из таблицы 1, первый тест выявил ряд ошибок разработки, т.к. время генерации
страниц намного превышало при относительно небольшой нагрузке значение в 1-2
секунды, которое является оптимальным для генерации страниц web-приложений. После
устранения ошибок был проведен второй тест, результаты которого указаны в таблице 2.
Результаты данного теста оказались более хорошими, но выявили еще несколько
недостатков, касающихся настроек компонентов системы «1С – Битрикс: Управление
сайтом». После устранения данных недостатков был проведен, последний, третий тест,
результаты которого оказались наиболее хорошими и позволили сделать вывод о том, что
разработанное web-приложение обладает достаточными ресурсами для обслуживания
большого количества посетителей. Но главным результатом данного этапа стало
устранение ошибок разработки и неточностей при настройке системы.
После завершения всех этапов заказчику было представлено готовое webприложение, сценарии работы которого были протестированы, отлажены, адаптированы
под высокие нагрузки. После принятия заказчиком работ web-приложение было открыто
для доступа всем пользователям сети Internet и доступно в данный момент.
Download