Разработка встраиваемого модуля анализатора log-файлов

Выбор цели синтеза интернет-статистики. Исследование понятия веб-аналитики и log-файла. Изучение инструментов анализа посещаемости. Характеристика процесса создания встроенного программного обеспечения. Выбор инструментария для разработки модуля.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.08.2018
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Федеральное агентство связи

Федеральное государственное бюджетное образовательное учреждение высшего образования
«Поволжский государственный университет телекоммуникаций и информатики»
Факультет Информационных систем и технологий
Направление (специальность) Информационные системы и технологии
Кафедра Информационных систем и технологий
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
Разработка встраиваемого модуля анализатора log-файлов
Студента
Расеевой Екатерины Викторовны
Самара 2017
Содержание
Введение
1. Веб-аналитика: выбор инструментов статистики
1.1 Цель анализа интернет-статистики
1.2 Инструменты анализа посещаемости
1.3 Анализаторы логов
2. Анализ и интерпретация log-файлов
2.1 Анализ log-файлов сайта
3. Обзор процесса разработки программного обеспечения
3.1 Процесс разработки встроенного программного обеспечения
4. Инструментарий разработки модуля
4.1 Sublime Text 3 для web-разработки
5. Разработка встраиваемого модуля анализатора log-файлов
5.1 Практическая часть
5.2 Компоненты системы
5.3 Работа с системой
5.4 Исходный код модуля
Заключение
Введение
В настоящее время на многих сайтах установлены системы веб-аналитики. Сегодня это единственный способ найти ответы на все основные вопросы об эффективности рекламных кампаний и поведении посетителей сайта. Это помогает делать проекты максимально успешными. Как известно, услуги контекстной рекламы или продвижения сайтов в Интернете стоят достаточно дорого. Однако бывают случаи, когда и они не приносят желаемого результата - приходящие на сайт пользователи так и не совершают нужных его владельцу целевых действий.
Основная причина низкой конверсии - привлечение на сайт незаинтересованных посетителей. Если такая ситуация сложилась «благодаря» неправильно настроенной рекламной кампании - это вдвойне печально, так как приходится платить за каждый клик, в том числе и нецелевой. Избежать никому не нужных трат можно, используя веб-аналитику. Именно ее инструменты помогают провести тщательный анализ поведения посетителей, составить подробный портрет целевого пользователя и настроить рекламную кампанию так, чтобы она привлекала только заинтересованных людей[6].
Актуальность бакалаврской работы состоит в том, что веб-аналитика поможет для решения следующих проблем:

- развитие функциональности и функционала сайта по результатам мониторинга поведения посетителей;

- организация эффективной рекламной кампании в интернет;

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

Лог сайта - это текстовый файл, поэтому можно работать с ним, открыв вручную в текстовом редакторе. Однако просматривать логи вручную - весьма утомительно, так как log-файлы очень объемные: например, если сайт посещают около 6 тыс. посетителей ежедневно, которые просматривают около 10 тыс. страниц, то объем log-файла за день составляет св. 9МБ!

Для работы с log-файлами предназначены специальные программы - анализаторы log-файлов.

Цель бакалаврской работы - разработка встраиваемого модуля

анализатора log-файлов.

Для достижения цели нужно решить следующие задачи:

- рассмотреть понятия веб-аналитики и log-файла;

- рассмотреть инструменты анализа посещаемости;

- проанализировать примеры записей в log-файлах;

- Рассмотреть процесс разработки встроенного программного обеспечения;

- выбрать инструментарий для разработки модуля;

- описать процесс разработки встраиваемого модуля;

- показать принцип работы с системой.

Объект исследования - log-файлы.

Предмет исследования - встраиваемый модуля анализатора log-файлов.

В ходе написания бакалаврской работы были использованы труды таких авторов как: М.Киркмайера, П.Лавдея, Б.Леонтьева, Б.Мориса, В.В.Мержевича, а так же использовались различные интернет-источники.

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

Во введении отражена актуальность темы, цели и задачи ВКР, объект и предмет исследования.

В первой главе рассмотрено понятие веб-аналитики.

Вторая глава рассматривает анализ и интерпретацию log-файлов.

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

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

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

В заключение сказано о преимуществах разработанного модуля.

1. Веб-аналитика: выбор инструментов статистики

1.1 Цель анализа интернет-статистики

Цель анализа интернет-статистики - оценка эффективности маркетинговых действий компании, проводимых как в Интернете, так и в оффлайн-среде (печатная реклама, публикации в журналах, наружная реклама и др.). Анализ интернет-статистики позволяет не только отслеживать результаты маркетинговых действий, но и оперативно корректировать план продвижения, тем самым оптимизируя затраты на рекламу, оптимизацию, PR, BTL, внедрение дополнительных сервисов на сайте.

Качественным результатом анализа интернет-статистики является выявление стоимости совершения уникальным посетителем целевого действия. Целевым действием может являться заход на определенную страницу или совершение определенного количества просмотров на сайте, заполнение регистрационных данных или добавление товара в корзину. Решение о целесообразности конкретного рекламного действия принимается в процессе сопоставления стоимости привлечения посетителей с общими затратами на размещение по этому направлению[1].

В процессе анализа интернет-статистики исследуются следующие показатели:

- количественные отчеты (данные о посещаемости);

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

- временные параметры: средняя длительности сессии, среднее количество посетителей онлайн и распределение посещений по времени;

- разделы сайта: сколько раз были просмотрены те или иные страницы/разделы сайта;

- прирост количественных показателей за различные периоды;

- качественные отчеты (характеристика и сегментация аудитории);

- источники: с каких сайтов (в том числе поисковиков) и страниц перешли пользователи, пришли ли они по рекламному объявлению, на какие страницы был сделан переход;

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

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

- целевая аудитория: процент аудитории, совершившей целевые действия на сайте (посетили заданные страницы, заполнили формы, положили товар в корзину). Как вывод - источники целевой аудитории;

- технические показатели (оценка работы сайта);

- технические показатели (оценка работы сайта): визиты роботов поисковых систем - SearchEnginesReport;

- технические возможности компьютеров: используемые браузеры, разрешения мониторов, возможности загрузки Flash, выполнения Java-скриптов, операционные системы и языковые настройки;

- поисковые системы: визиты роботов поисковых систем;

- технические проблемы работы сайта: ссылки на несуществующие страницы, перегрузки страниц, попытки хакерских атак.

1.2 Инструменты анализа посещаемости

Все средства сбора и анализа статистики можно условно разделить на следующие категории:

- внешние счетчики статистики;

- программы анализаторы логов (локальные и серверные);

- интегрированные решения, сочетающие свойства как счетчиков, так и анализаторов логов (например, «Статистика Сайта» от компании NetPromoter).

- внутренние системы статистики (Bitrix);

- специализированные решения (анализ рекламных интернет-кампаний AdTracker и PixelAudit, AdsControl, «Метрика» Яндекса);

- аналитические сервисы (Google Analytics, Microsoft AdCenter).

В процессе выбора средства веб-аналитики, как правило, руководствуются следующими критериями:

- плата за пользование системы;

- степень сложности системы;

- время на установку;

- удобство пользования

- скорость получения данных;

- степень достоверности (погрешность) тех или иных отчетов;

- время хранения данных;

- место хранения данных;

- наглядность отчетов;

- гибкость системы;

- возможность сравнения данных;

- возможность получение специфических отчетов;

- влияние на стабильность и скорость работы сайта;

- риск потери данных.

1.3 Анализаторы логов

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

Лог-файлы содержат следующие данные:

- ip-адрес пользователя,

- url запрашиваемой страницы,

- дата и время запроса (обязательные данные), а также дополнительные параметры, такие как url страницы, на которой пользователь находился перед переходом на ваш сайт,

- вес отдаваемой страницы,

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

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

Преимущества анализаторов логов:

- высокая точность и достоверность: данные не теряются, как вследствие погрешностей и перегрузок внешнего сервера статистики;

- гибкая подстройка под нужды «хозяев» сайта (степень подстройки зависит от конкретной системы);

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

- данные статистики сайта принадлежат владельцу сайта и хранятся у него любое количество времени (однако существуют ограничения по месту, так как логи сайта с 10 000 уникальных посетителей в сутки - это около гигабайта данных);

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

Недостатки анализаторов логов:

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

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

- существенные временные затраты на стадии внедрения;

- необходимость регулярных усилий по получению и обработке данных;

- вероятность безвозвратной потери данных вследствие человеческого фактора;

- отсутствие возможности сравнивать аудиторию вашего сайта с аудиторией других сайтов;

- меньшая точность данных по географии (для этого нужно использовать постоянно обновляемую базу ip-адресов);

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

- отсутствие возможности определить разрешение экрана у пользователя, а также выполнение Java-скриптов.

Популярные анализаторы логов:

Weblog Expert

NetTracker (скачать с надежных серверов softonic.com или The Tucows.com Author Resource)

Анализатор логов из пакета Semonitor (semonitor.ru - локальный анализатор).

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

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

2. Анализ и интерпретация log-файлов

Log-файл (или просто лог) - это главный источник информации о поведении посетителя на вашем Web-сайте. Каждое обращение к сайту фиксируется сервером и о нем остается запись в log-файле. По этим записям можно узнать огромное количество информации о посетителях. Log-файл сервера представляет собой текстовый файл, в котором в особом формате записаны все данные об обращениях к сайту.

Формат log-файлов. Log-файлы серверов Apache имеют формат Common Log Format (CLF). При этом каждая строка является записью отдельного запроса, состоящего из нескольких полей, разделенных пробелами.

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

Событие 1. Запрос страницы.

Браузер посетителя передает на сервер (на котором находится сайт) запрос на выдачу страницы. При этом на сервере становится известной следующая информация:

- IP-адрес посетителя;

- запрашиваемый URL;

- дата и время запроса;

- географическое положение клиента;

- используемый пользователем браузер;

- адрес страницы, с которой зашел посетитель и т.д.;

- используемая операционная система и проч.

Событие 2. Выдача страницы.

Сервер возвращает клиенту запрошенный документ (страницу, картинку, файл и пр.).

Событие 3. Запись в лог.

Сервер записывает данные о произошедшей транзакции в журнал событий (log-файл).

Пример записей в log-файле.

213.180.195.231 - - [29/Jan/2007:00:07:17 +0000] "GET /excel/lsn015.html HTTP/1.1" 200 18918 "-" "YaDirectBot/1.0"

74.6.71.37 - - [29/Jan/2007:00:13:03 +0000] "GET /eralash HTTP/1.0" 301 317 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"

74.6.71.37 - - [29/Jan/2007:00:13:06 +0000] "GET /eralash/ HTTP/1.0" 200 12234 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"

213.186.116.166 - - [29/Jan/2007:00:26:51 +0000] "GET /eralash/soft/speed.zip HTTP/1.0" 200 217872 "-" "Wget/1.10.2 (Red Hat modified)"

213.180.207.25 - - [29/Jan/2007:00:27:14 +0000] "GET /robots.txt HTTP/1.1" 200 54 "-" "Yandex/1.01.001 (compatible; Win16; I)"

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

Следует иметь ввиду, что абсолютно "реальную" статистику получить практически невозможно, в силу ряда технических причин. Не существует каких-то корректных способов оценить величину отклонения "реальности" от измеренных характеристик, однако принято считать, что эти отклонения в среднем не превышают 5-10%. Если сайт живет "размеренной жизнью" (не проводятся активные рекламные кампании и проч.), то можно считать ошибку измерения постоянной и успешно сравнивать между собой данные по соседним дням, неделям и месяцам.

Существуют специализированные программы для работы с log-файлами - это, так называемые, анализаторы log-файлов. Наиболее известные - Analog, Webalizer, Webtrends, NetPromoter, WebAnalizer (о них сказано в предыдущей главе)

Как прочесть и интерпретировать записи log-файла веб сайта.

Например, запись в log-файле:

78.123.67.3 - - [21/Jul/2009:01:01:34 +0400] "GET http://<адрес_ресурса>/news.xml" 304 0 "http://<адрес_ресурса>" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.2; .NET CLR 3.5.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; .NET CLR 3.0.30729)" 127.0.0.1,

означает, что 21 июля 2009 г. в 01:01:34 (по местному времени хостинг-провайдера) с ip-адреса 78.123.67.3 к RSS-ленте news.xml сайта http://<адрес_ресурса> обращался встроенный RSS-ридер браузера Internet Explorer 8 (при этом, операционная система - Windows Vista). Код 304 означает, что записей о новых веб-страницах сайта http://<адрес_ресурса> в RSS-ленте не появилось, поэтому браузер не загружал файл news.xml (о чем красноречиво свидетельствует 0).

Число уникальных ip адресов - количество уникальных обращений к серверу.

Число посетителей - людей, запросивших какую-либо информацию с сайта. К информационным файлам относятся все html страницы (с различными расширениями htm, html, asp и т.д.), а также файлы с данными (exe, zip и т.д.). Картинки и элементы оформления к таким ресурсам не относятся.

Просмотры страниц (Impressum Page)- суммарное число загрузок html страниц сайта.

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

Статистика рефереров. Реферер, или ссылающийся ресурс, показывает откуда посетитель пришел на ваш сайт.

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

Точки входа.

Точки выхода.

Наиболее частые пути по сайту.

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

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

Большинство хостинг-провайдеров (хостеров) платного хостинга предоставляют своим клиентам возможность использовать уже установленные средства анализа. Например, для серверов Apache часто используется программа Webalizer, которая устанавливается в качестве дополнительного модуля веб-сервера.

2.1 Анализ log-файлов сайта

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

- посещаемость. Конечно, этот показатель отражает и простой счетчик, устанавливаемый на каждой странице, но log-файлы позволяют анализировать посещаемость более детально, например, по месяцам (Monthly Statistics), по дням (Daily Statistics), по часам (Hourly Statistics). Этот показатель позволяет выявлять часы всплеска посещаемости (пики посещаемости) и часы затишья, что очень важно знать при обслуживании сайта;

- трафик - суммарный и отдельно по страницам;

- уровень конверсии. Показывает, как посетители перемещаются по сайту, то есть смотрят ли они одну страницу или несколько. Уровень конверсии позволяет косвенно оценивать качество сайта;

- точки входа (Entry, Entry Pages) - это веб-страницы, с которых пользователи начинают работу с сайтом. Это очень ценная информация! Например, если 80% посетителей не «видят» главную страницу вашего сайта, есть ли смысл тратить время и средства для ее украшения и улучшения? Кроме того, точки входа показывают наиболее значимые страницы вашего сайта. Точки входа, как правило, соответствуют наиболее популярным страницам сайта;

- точки выхода (Exit, Exit Pages) - это веб-страницы, с которых пользователи покидают ваш сайт. Позволяют анализировать ситуацию: хорошо, если пользователь нашел то, что искал и потому уходит (довольный!), а если нет? Есть повод задуматься!;

- «3аброшенные» страницы - это веб-страницы, посещаемые очень-очень редко. Требуется тщательный анализ ситуации: может быть, страницы неинтересны или их трудно отыскать на вашем сайте (например, они не указаны на карте сайта или не связаны ссылками с другими страницами сайта);

- популярные страницы (URLs) - это веб-страницы, посещаемые наиболее часто. Можно использовать их как образец при создании других страниц сайта. Можно также направлять пользователей с этих страниц к другим, менее популярным или «заброшенным» страницам;

- поисковики (Searches). Показывает, с каких поисковиков пришло больше всего посетителей;

- поисковые запросы, приводящие на сайт (Search String). Этот показатель демонстрирует эффективность используемых вами названий веб-страниц, метатегов, ключевых слов;

- рефереры (Referrers) - ссылающиеся на сайт ресурсы;

- география посетителей. Показывает из каких стран приходят посетители на сайт;

- информация о посетителях: IP-адрес посетителя, используемые браузер и операционная система и т.д.

Как же можно посмотреть log-файлы? Чаще всего хостинг-провайдеры позволяют скачать эти файлы по FTP. Где именно они находятся, зависит только от хостера, поэтому ищите это в FAQ или обращайтесь в поддержку. Также доступ к лог-файлам можно получить из панели управления хостингом[6,10]. интернет посещаемость программный обеспечение

3. Обзор процесса разработки программного обеспечения

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

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

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

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

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

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

3.1 Процесс разработки встроенного программного обеспечения

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

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

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

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

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

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

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

Процесс разработки встроенного ПО показан на рис. 3.1.

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

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

Рис.3.1 - Процесс разработки встроенного программного обеспечения

4. Инструментарий разработки модуля

4.1 Sublime Text 3 для web-разработки

Sublime Text 3 - это "продвинутый" блокнот для написания кода. Sublime Text имеет много плюсов, которые выделяют его среди других "продвинутых" блокнотов (например Notepad++). Он прост в использовании, выглядит очень стильно, имеет минималистичный интерфейс (минимум визуального шума) и кучу плагинов, расширяющих его функционал.

В этой бакалаврской работе будет использована подборка плагинов для Sublime Text 3(рис.4.1), которые помогают нам в работе. Так же будут представлены некоторые настройки самого редактора и плагинов. Для начала скачиваем редактор с официального сайта. Желательно скачивать портабельную версию.

Для начала нужно настроить данный редактор под себя. В данном случае все очень просто, настройки sublime хранит в обычных текстовых файлах в меню "Preferences". Обычно файл "Settings - Default" хранит настройки по умолчанию, а "Settings - User" содержит пользовательские настройки. Механизм очень простой, просто настройки "User" перебивают настройки "Default", вот и все. Сам же файл "Default" даже не пробуйте править, все равно редактор этого не позволит. За то он позволит скопировать какие-либо настройки, для того чтобы не заниматься рутинным перепечатыванием из одного файла в другой[2].

PHP -- это язык программирования, специально разработанный для написания web-приложений (сценариев) и вот что о нём написано в Википедии: «PHP (англ. PHP: Hypertext Preprocessor -- «Инструменты для создания персональных веб-страниц»; произносится пи-эйч-пи) -- скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время является одним из лидеров среди языков программирования, применяющихся для создания сайтов».

Рис.4.1 - Значок Sublime Text 3

4.2 Язык программирования РНР

На PHP написаны движки для сайтов, темы, плагины, различные формы связи (комментарии, почтовые программы) и много чего ещё. Написано-то написано, но есть и некоторые нюансы которые нужно знать, прежде чем приступать к изучению этого языка. PHP -- это серверный язык. Как это понимать?

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

Клиентскими называются языки, которые обрабатываются непосредственно в браузере вашего компьютера. Это html, css и javascript.

Если документ, можно сказать даже программа написана с использованием только этих языков, то её можно сразу открыть в браузере. Т.е. написал код в редакторе (Notepad++), и можно сразу посмотреть что из этого получилось, т.е. открыть его в браузере.

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

И увидеть код РНР на мониторе невозможно. Допустим, если Вы щёлкните правой клавишей мыши и откроете Просмотр кода страницы, то код первых трёх языков Вы увидите, а вот РНР нет.

Смысл в том, что клиентские языки относительно статичны. HTML так вообще на 100% статичен, и если программа, допустим сайт, имеет множество страниц, то придётся прописывать полностью каждую, хотя на них всё кроме текста одинаковое, или почти одинаковое. PHP позволяет создавать динамические сайты[9].

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

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

5. Разработка встраиваемого модуля анализатора log-файлов

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

Модуль анализа лог-файлов веб-сервера разрабатывался на языке программирования PHP в Sublime Text 3. Он может быть внедрён в любое веб-приложение и веб-сайт с поддержкой технологий PHP и MySQL.

Sublime Text 3 -- кроссплатформенный проприетарный текстовый редактор. Поддерживает плагины на языке программирования Python. Программа часто используется как редактор исходного кода или HTML.

5.1 Практическая часть

Первое, с чего я начну разработку - создам файл server.php и опишу в нём класс Analysis (рис.5.1).

Рис.5.1 - Файл server.php

Объявим в нём константы $logRegExp и $botsRegExp (рис.5.2).

Рис.5.2 - Константы $logRegExp и $botsRegExp

Опишем метод make, производящий анализ загруженного файла (рис.5.3).

Рис.5.3 - Метод make

Создадим файл ajax.php и опишем в нём класс Ajax (рис.5.4).

Рис.5.4 - Файл ajax.php и описание в нём класса Ajax

Опишем метод __construct (рис.5.5).

Рис.5.5 - Метод __construct

Опишем метод get (рис.5.6).

Рис.5.6 - Метод get

Опишем метод result_get (рис.5.7).

Рис.5.7 - Метод result_get

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

Рис.5.8 - обработка входных параметров, создание экземпляра класса, вызов функции get с этими параметрами и выведение результата.

Сверстаем форму в файле index.html, подключим внутренние файлы стилей и скриптов /css/main.css и /js/main.js и внешнюю библиотеку jQuery (рис.5.9).

Рис.5.9 - Сверстка формы в файле index.html

Создадим файл main.css, напишем стили для формы в этот файл и поместим его в папку /css/ (рис.5.10).

Рис.5.10 - Создание файла main.css

Создадим файл main.js и поместим его в папку /js/

Опишем в нём класс Logger (рис.5.11).

Рис.5.11 - Описание класса Logger

Опишем объект jValidation (рис.5.12).

Рис.5.13 - Описание объекта jValidation

Опишем метод sendData (рис.5.14).

Рис.5.14 - Описание метода sendData

Определим событие клика на кнопку отправить (рис.5.15).

Рис.5.15 - Определение события клика

Создадим экземпляр класс для его дальнейшего использования (рис.5.16).

Рис.5.16 - Создание экземпляра класса

Клиент-серверная архитектура приложения

Веб-приложение состоит из клиентской и серверной частей, тем самым реализуя технологию «клиент-сервер»[4].

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

Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует ответ и отправляет его клиенту по сети с использованием протокола HTTP.

5.2 Компоненты системы

Фронт-энд (Клиентская часть). Клиентская часть состоит из:

- главной страницы index.html,

- таблицы стилей main.css,

- библиотеки функций main.js

Главная страница index.html состоит из формы ввода данных и блока для вывода результатов[7,8].

Форма ввода данных абитуриента содержит поле для прикрепления файла с расширением .log.

Таблица стилей main.css содержит стили отображения html-представления формы и блока результатов.

Библиотека функций main.js

- function sendData() - получение данные из формы, сериализация их и отправка на сервер

- object jValidation - содержит функции валидации для каждого поля формы, проверяющие соответствующие им поля на ошибки заполнения и возвращающие true/false, а также функцию submit, которая проверяет поля на ошибки, поочередно вызывая функции проверки полей, и в случае отсутствия ошибок вызывает функцию sendData.

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

Бек-энд (Серверная часть). Серверная часть состоит из:

- server.php, содержащего основной класс Analysis, который реализует системные поля и метод make(), который проводит анализ входных данных;

- ajax.php, содержащего класс Ajax, который реализует получение и обработку данных, поступивших с клиентской формы;

- config.php, содержащего системные настройки модуля

1.server.php - class Analysis

a) Поле $logRegExp - хранит регулярное выражение разбора строчки в лог-файлах.

b) Поле $botsRegExp - хранит регулярное выражение определения ботов.

function make($data) - функция проведения анализа входных данных. Сначала происходит валидация входного файла (допустимы только файлы с разрешением .log), и если файл не проходит валидацию, возвращается предупреждение об ошибке, а скрипт приостанавливает свою работу. Если валидация прошла успешно, происходит построчное чтение данных из файла в массив, разбор с помощью регулярных выражений, а также сортировка и группировка их по дате. Далее происходит подсчёт хитов, хостов и ботов в каждый из дней, формируется таблица статистики.

2.ajax.php - class Ajax

a) function __construct() - конструктор класса, подключающий файл конфигурации модуля

b) function get($type, $what, $data) - функция парсинга входных данных, полученных с клиентской формы

c) function result_get($params) - функция, вызывающая метод make класса Analysis с полученными из метода get входными параметрами.

5.3 Работа с системой

Заходим на страницу модуля. Видим форму, в которой необходимо прикрепить файл (рис.5.17).

Рис.5.17 - Форма для прикрепления файла

Прикрепляем файл с расширением .log и нажимаем кнопку отправить (рис.5.18).

Рис.5.18 - Прикрепление файла

Получаем статистику в виде таблицы (рис.5.19), либо сообщение об ошибке (рис.5.20).

Рис.5.19 - Статистика в виде таблицы

Рис.5.20 - Сообщение об ошибке

5.4 Исходный код модуля

Файл index.html

Файл main.css

Файл main.js

Файл ajax.php

Файл server.php

Встраивание модуля на сайт с CMS Bitrix

Заходим на хостинг по FTP и создаём новый раздел на сайте (рис. 5.21).

Рис.5.21 - Создание нового раздела

Загружаем файлы модуля в этот раздел (рис.).

Рис.5.22 -Заливка файлов

Проверяем работоспособность модуля в созданном разделе (рис.5.23).

Рис.5.23 - Проверка работоспособности встроенного модуля

Заключение

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

- бесплатность. Большинство программ аналогов являются коммерческим ПО;

- кроссплатформеность. Большинство программ аналогов являются десктопными Windows-приложениями;

- простой и понятный интерфейс без лишних элементов.

Так же разработанная программа имеет следующие функции:

- приведение логов веб-сервера в читаемый и понятный вид для обычного пользователя;

- анализ статистики посещаемости сайта за конкретные промежутки;

- предоставление информации о возможных атаках и угрозах безопасности.

Размещено на Allbest.ru


Подобные документы

  • Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.

    отчет по практике [296,1 K], добавлен 19.04.2015

  • Функционально-модульная структура программного обеспечения контроллера домофона. Электронная схема электронного замка, модуля микрофона и динамика. Выбор комбинированного источника питания. Разработка программного модуля. Программа управления домофоном.

    курсовая работа [484,7 K], добавлен 29.03.2017

  • Структурная диаграмма программного модуля. Разработка схемы программного модуля и пользовательского интерфейса. Реализация программного модуля: код программы; описание использованных операторов и функций. Вид пользовательской формы с заполненной матрицей.

    курсовая работа [215,3 K], добавлен 01.09.2010

  • Цели разработки сайта интернет–магазина для реализации продуктов питания, выбор инструментария для реализации. Разработка базы данных главного модуля и клиентского интерфейса. Модульность и расширяемость, язык команд и сценариев, административный модуль.

    дипломная работа [1,1 M], добавлен 09.04.2012

  • Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.

    курсовая работа [81,7 K], добавлен 18.08.2014

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

    дипломная работа [101,2 K], добавлен 17.06.2011

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

    курсовая работа [1,1 M], добавлен 11.12.2010

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

    курсовая работа [648,4 K], добавлен 27.05.2015

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

    дипломная работа [3,4 M], добавлен 19.07.2015

  • Характеристика сетевой и информационной инфраструктуры предприятия. Выбор средств разработки Web–сайта. Выбор программного средства для обеспечения коллективного доступа в Интернет. Расчет надежности Web-сервера. Разработка ftp-клиента для Web–публикаций.

    дипломная работа [3,0 M], добавлен 24.04.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.