Автоматизированная информационная система сбора и анализа статистики посещаемости сайта
Создание автоматизированной системы по сбору и анализу статистических данных сайта. Принципы сбора статистических данных. Исследование информационных потоков. Обзор современных СУБД и языков программирования. Логическая и физическая модель базы данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 08.07.2012 |
Размер файла | 3,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
- Модели поведения пользователей (IP адрес, откуда пришел, посещенные страницы);
- Поисковые роботы (отслеживание активности поисковых роботов);
- Рейтинг страниц (просмотр рейтинга популярности страниц сайта);
- Рейтинг ссылающихся серверов (отчет о том, откуда на сайт приходят посетители);
- Поиск по сайту (рейтинг поисковых запросов на сайте). [6]
3.3 Active Technologies - Статистика посещаемости сайта stat24
Система stat24 - статистика посещаемости сайта в реальном времени, позволяющая анализировать и оптимизировать сайт с точки зрения потребностей его посетителей. При помощи stat24 можно получить ответы на популярные вопросы:
- Сколько человек зашло на сайт?
- Какие страницы их больше всего заинтересовали?
- Сколько времени посетители провели на сайте и его отдельных страницах?
- Каким образом попали на сайт?
- Какие ключевые слова набирали в поисковых системах?
- Из какой страны, региона или города приходят посетители?
Сравнение версий:
Существует три версии статистики: "stat24Хостинг", "stat24Оптимум" и "stat24Бизнес". Первой из них можно воспользоваться сразу же после размещения сайта. Расширенные версии предоставляется на платной основе. Основные возможности и отличия версий приведены в таблице 2.3.1.
Таблица 2.3.1 - Отличия версий статистики stat24
Список отчетов |
stat24 Хостинг |
stat24 Оптимум |
stat24 Бизнес |
|
Отчет "Посетители. Сводная информация" |
+ |
+ |
+ |
|
Отчет "Посетители. Сравнение" |
- |
- |
+ |
|
Отчет "Посетители. Время пребывания" |
- |
- |
+ |
|
Отчет "Посетители. Лояльность" |
- |
- |
+ |
|
Отчет "Сессии. Сводная информация" |
+ |
+ |
+ |
|
Отчет "Сессии. Длина сессий" |
+ |
+ |
+ |
|
Отчет "Сессии. Ширина сессий" |
- |
+ |
+ |
|
Отчет "Сессии. Продолжительность сессий" |
+ |
+ |
+ |
|
Отчет "Сессии. Детали сессий" |
- |
+ |
+ |
|
Отчет "Сессии. Расклад по времени" |
- |
- |
+ |
|
Отчет "Сессии. Расклад по длине" |
- |
- |
+ |
|
Отчет "Сессии. Расклад по ширине" |
- |
- |
+ |
|
Отчет "Просмотры. Сводная информация" |
+ |
+ |
+ |
|
Отчет "Просмотры. Продолжительность просмотров" |
+ |
+ |
+ |
|
Отчет "Ссылки. Сводная информация" |
+ |
+ |
+ |
|
Отчет "Ссылки. Ссылающиеся страницы" |
+ |
+ |
+ |
|
Отчет "Ссылки. Поисковые сайты" |
+ |
+ |
+ |
|
Отчет "Ссылки. Каталоги и рейтинги" |
+ |
+ |
+ |
|
Отчет "Геолокализация. Сводная информация" |
+ |
+ |
+ |
|
Отчет "Геолокализация. Континенты" |
+ |
+ |
+ |
|
Отчет "Геолокализация. Мир" |
+ |
+ |
+ |
|
Отчет "Система. Операционные системы" |
+ |
+ |
+ |
|
Отчет "Система. Браузеры" |
+ |
+ |
+ |
|
Отчет "Система. Языковые версии" |
+ |
+ |
+ |
|
Список отчетов |
stat24 Хостинг |
stat24 Оптимум |
stat24 Бизнес |
|
Отчет "Система. Экранные разрешения" |
+ |
+ |
+ |
|
Отчет "Система. Количество цветов" |
+ |
+ |
+ |
|
Отчет "Показатели. IP-адреса" |
- |
- |
+ |
|
Отчет "Показатели. Ключевые слова" |
- |
- |
+ |
|
Отчет "Показатели. Пути по сайту" |
- |
- |
+ |
|
Отчет "Показатели. Профиль сессии" |
- |
- |
+ |
|
Отчет "Показатели. Профиль сессии" |
- |
- |
+ |
|
Отчет "Конверсия. Посетители" |
- |
- |
+ |
|
Отчет "Конверсия. Сессии" |
- |
- |
+ |
|
Сводный отчет "QuickStats" |
- |
+ |
+ |
Подводя итог обзора нужно сказать, что существует большое количество систем сбора и анализа статистики сайта, которые удовлетворяют разные потребности пользователей. А на сегодняшний день статистика сайта является самым распространенным средством анализа рекламных кампаний, анализа структуры и контента сайта, получения исчерпывающей информации о посетителях и многое другое. Поэтому предлагается создать систему, которая будет включать все плюсы наиболее распространенных аналогов, а также улучшить систему для получения наиболее точной и гибкой системы статистики, позволяющей просмотреть данные о посещаемости сайта во всех возможных плоскостях и удовлетворяющей всем потребностям пользователя. Создание системы направлено на продвижение продукта компании EDGESTILE SiteEdit, и увеличению прибыли компании за счет перехода пользователей на СУС SiteEdit.
4. Обоснование необходимости разработки
4.1 Необходимость ведения статистики посещаемости сайта
Оперативная статистика посещаемости сайта - один из инструментов маркетолога. К сожалению, встречается заблуждение, что для извлечения максимальной прибыли с помощью сайта необходимо лишь разместить несколько рекламных блоков и/или обеспечить высокие позиции сайту в поисковых системах по высокочастотным запросам. Но иногда эти мероприятия выглядят как стрельба из пушки по воробьям.
Для оценки работы по продвижению сайта в поисковых системах, необходимо видеть, когда и куда заходили поисковые роботы, что они делали, и что при этом им отвечал сервер. Даже если все сделать правильно с точки зрения оптимизации сайта, получить внешние ссылки, сайт может не оказаться наверху выдачи, если сервер выдает поисковым роботам ошибки или редирект.
Разберем другой случай. При регистрации в каталогах сайтов, значительная часть специалистов по продвижению пользуются различными автоматическими или полуавтоматическими системами, поэтому для них все каталоги являются как бы обезличенными. Но бывает, что из каталога начинают приходить целевые посетители. На это необходимо обращать внимание, что делает абсолютное меньшинство специалистов по продвижению. Часто каталоги, дающие посетителей, предлагают на их же сайте размещать статьи, пресс-релизы, новости и т.д., что может дать дополнительных мотивированных целевых посетителей. Чтобы найти этот каталог, нужно всего лишь проанализировать статистику своего сайта.
А если проводится рекламная кампания? Здесь уже просто необходимо знать не только количество посетителей, пришедших с того или иного сайта или по тому или иному рекламному блоку, но и то, что эти посетители делали. Ведь большое количество переходов с рекламного блока - еще не успех. Эти посетители могли банально обмануться содержанием рекламного блока, либо рекламная площадка просто не содержит вашей целевой аудитории в нужном количестве, а содержит схожую. Например, сайт, посвященный взлому программ, не подходит для рекламы платных программ, хотя и может привести много пользователей.
Приведенные примеры наглядно демонстрируют необходимость сбора и анализа статистики сайта. Причем статистика нужна разносторонняя. Это и статистика переходов из поисковых систем и других сайтов, и отчеты о поисковых роботах, и подробная статистика, показывающая, откуда и при каком условии пришел пользователь, совершивший то или иное действие.
4.2 Ожидаемый эффект
Проектируемая АИС сбора и анализа статистики посещаемости сайта поможет оценить эффективность сайта, проанализировать посещаемость, структуру и дизайн сайта. Данная аналитическая система предоставляет возможность анализировать онлайновые и офф-лайновые рекламные кампании, оценивать затраты на определенный канал рекламы для того, чтобы расходовать рекламный бюджет наиболее эффективно, анализировать структуру и контент-сайта, получать исчерпывающую информацию о посетителях и многое другое.
Для IT-специалиста (веб-мастера, разработчика): Улучшение структуры и дизайна сайта, самоконтроль качества работ над сайтом, отчетность перед руководством, повышение личной квалификации за счет постоянной проверки эффективности разных приемов улучшения сайта, повышение квалификации за счет освоения методик анализа аудитории, эффект-анализа и т.п.
Для специалистов по Интернет-маркетингу и продвижению сайтов: Средство получения качественной обратной связи маркетинговых акций, детальное исследование результативности, планирование и прогнозирование эффекта на основании опыта проведения прошлых акций, отчетность перед руководством, повышение личной квалификации за счет отработки более эффективных приемов, освоения методик планирования, эффект-анализа и т.п.
Для владельцев сайтов, топ-менеджеров, инвесторов: Средство контроля за эффективностью работы менеджеров по маркетингу (продвижению), IT-специалистов (разработчиков), средство самостоятельной оценки эффективности (результативности) Интернет-проектов.
5. Постановка задачи
5.1 Общая постановка задачи и требования к системе
Необходима точная и гибкая система статистики, позволяющая просмотреть данные о посещаемости сайта во всех возможных плоскостях, которая не только покажет всю информацию о посетителях на сайте, но и сможет помочь в его продвижении и рекламе.
Система сбора и анализа статистики посещаемости сайта должна удовлетворять следующим требованиям:
1 Интеграция с системой SiteEdit
Разрабатываемая система поставляется в комплекте с системой создания и управления сайтом SiteEdit и функционирует на её базе.
2 Точность и надежность
Отражение реального или максимально приближенного к реальному количество посетителей сайта. Корректно учитывать "невидимый трафик" возникающий из-за широко распространенного использования в Интернет прокси-серверов.
3 Высокая скорость обработки данных
Обеспечение высокой скорости генерации отчётов.
4 Статистика сайта в реальном времени
Работа с данными о посещении сайта, которые попадают на момент загрузки страницы. Можно сразу начать работать с этой информацией - отследить действия каждого пользователя в тот момент, когда он еще работает с сайтом.
5 Максимально защищенная
Необходимо обеспечить безопасность данных с помощью разграничения доступа к информационной базе.
6 Дружественность к пользователю
Простота в установке, настройке и использовании.
АИС должна обеспечивать выполнение следующих функций:
- Обслуживание сайта счетчиком и ведение записей с подробной информации о всех посетителях сайта в базе данных;
- Разделение роботов и посетителей;
- Поиск и выбор нужной информации;
- Формирование, печать и экспорт отчетных документов за произвольный период;
- Защита от несанкционированного доступа к отчетам статистики;
АИС должна обеспечивать решение следующих задач:
- Оценка эффективности сайта, анализ посещаемости, структуры и дизайна;
- Маркетинговый анализ и планирование;
- Предоставление заказчику (инвестору, руководству) отчетов о результативности изменений, проведенных с сайтом;
- Печать отчетов и выгрузка в CSV;
- Разграничения полномочий пользователей системы на просмотр и модификацию данных.
5.2 Математическая постановка задачи
Для анализа статистики посещаемости сайта используются следующие формулы:
Сумма всех элементов в группе за определенный период рассчитывается как:
(5.1)
где - сумма всех элементов в группе за период;
- i-ый элемент в группе;
- количество элементов в группе за период.
Среднее значение суммы всех элементов в группе за определенный период рассчитывается как:
(5.2)
где - среднее значение суммы всех элементов в группе за период;
- сумма всех элементов в группе за период;
- максимальное значение периода;
- минимальное значение периода.
Для анализа стоимости рекламы используются следующие формулы:
Суммарная стоимость одного перехода (клика) посетителя рассчитывается как:
(5.3)
где - суммарная стоимость одного перехода (клика);
- стоимость одного перехода (клика);
- количество переходов (кликов);
- цена за переход (клик).
Отношение количества переходов (кликов) к количеству покупок (%) рассчитывается как:
(5.4)
где - отношение количества переходов (кликов) к количеству покупок (%);
- количество покупок;
- количество переходов (кликов);
Суммарная стоимость рекламы для текущей рекламной площадки рассчитывается как:
(5.5)
где - суммарная стоимость рекламы для текущей рекламной площадки;
- цена за переход (клик);
- количество переходов (кликов);
- цена рекламы за период.
Стоимость одного покупателя рассчитывается как:
(5.6)
где - стоимость одного покупателя;
- суммарная стоимость рекламы;
- количество покупок.
6. Проектные решения по АИС сбора и анализа статистики посещаемости сайта
6.1 Обоснование выбора технологии подсчета статистики сайта
На данный момент не существует способа сбора абсолютно точной статистики о посетителях сайта. Для практического использования данных статистики в бизнесе необходим комплексный подход, использующий все возможные способы сбора данных, т.е. по настоящему ценным является совместный анализ данных полученных пассивным и активным подходом, что и будет использоваться в проектируемой системе. Такой анализ позволяет соотносить идентифицированные с помощью Cookie браузеры с результатами заполнения анкет и ответов на опросы. Это открывает путь к определению предпочтений клиентов и групп клиентов, позволяя строить персонализированные сайты.
Для накопления данных будет использоваться локальная база данных, так как это позволит избежать критической нагрузки на нее, поможет оперативно (он-лайн) контролировать посетителей сайта, анализировать деятельность роботов на сайте.
6.2 Описание логической и физической моделей базы данных
В качестве модели данных для проектируемой системы была выбрана реляционная модель. Исходя из выбранной модели данных, была спроектирована с помощью CASE - средства ERwin 4.1 и экспортированных данных из модели DFD (приложение В) схема логической (диаграмма ERD - модель сущность-связь) модели данных, представленная в приложении Г.
На основании спроектированной логической модели данных, был проведен соответствующий анализ, в ходе которого были выявлены следующие сущности (отношения):
- stat_adminsessions - хранит информацию о работе пользователей с системой;
- stat_cities - справочник, содержит данные о городах России;
- stat_config - хранит настройки системы;
- stat_countries - справочник, содержит данные о странах;
- stat_datas - справочник, содержит данные, необходимые для определения роботов, поисковых систем, каталогах, рейтингах, почтовых систем, браузера посетителя и операционной системы посетителя;
- stat_datasuser - справочник, содержит пользовательские данные, необходимые для отслеживания целей и анализа рекламных кампаний;
- stat_ip2city - справочник, содержит данные о диапазоне IP-адресов для определения города посетителя;
- stat_ip2country - справочник, содержит данные о диапазоне IP-адресов для определения страны посетителя;
- stat_languages - справочник, содержит данные о языках;
- stat_log - хранит статистику о посещении сайта пользователем;
- stat_logrobots - хранит статистику о посещении сайта роботами;
- stat_regions - справочник, содержит данные о регионах России;
- stat_sessions - хранит данные о сессиях посетителей;
- stat_total - хранит рассчитанные данные о количестве просмотров, хитов, хостов и пользователей сайта;
- stat_users - хранит данные о пользователях сайта;
Более подробное описание данных сущностей приведено в таблицах 6.1 - 6.15
Таблица 6.1 - Таблица stat_adminsessions
Поле |
Тип |
Ноль |
Комментарий |
|
hash |
varchar (32) |
нет |
Хэш пользователя системы (PK) |
|
login |
varchar (20) |
нет |
Логин пользователя системы (FK) |
|
time_first |
datetime |
нет |
Время захода в систему |
|
time_last |
datetime |
нет |
Время просмотра последнего отчета |
|
ip |
varchar (64) |
нет |
IP-адрес пользователя системы |
|
c |
int (10) |
нет |
Количество просмотренных отчетов |
Таблица 6.2 - Таблица stat_cities
Поле |
Тип |
Ноль |
Комментарий |
|
id |
smallint (5) |
нет |
Идентификатор города (PK) |
|
region |
smallint (5) |
нет |
Идентификатор региона (FK) |
|
name |
varchar (255) |
нет |
Название города |
Таблица 6.3 - Таблица stat_regions
Поле |
Тип |
Ноль |
Комментарий |
|
id |
smallint (5) |
нет |
Идентификатор региона (PK) |
|
name |
varchar (255) |
нет |
Название региона |
Таблица 6.4 - Таблица stat_config
Поле |
Тип |
Ноль |
Комментарий |
|
variable |
varchar (50) |
нет |
Название переменной (PK) |
|
value |
varchar (255) |
нет |
Значение переменной |
Таблица 6.5 - Таблица stat_countries
Поле |
Тип |
Ноль |
Комментарий |
|
id |
smallint (5) |
нет |
Идентификатор страны (PK) |
|
domain |
char (2) |
нет |
Сокращенное обозначение страны |
|
name |
varchar (255) |
нет |
Название страны |
Таблица 6.6 - Таблица stat_datas
Поле |
Тип |
Ноль |
Комментарий |
|
id |
int (10) |
нет |
Идентификатор данных (PK) |
|
type |
enum ('', 'dm', 'br', 'os', 'ct', 'ss', 'rb', 'tp', 'ml') |
нет |
Тип данных |
|
name |
varchar (100) |
нет |
Наименование для отображения в отчете |
|
d1 |
varchar (255) |
нет |
Условие поиска 1 |
|
d2 |
varchar (255) |
нет |
Условие поиска 2 |
|
d3 |
varchar (255) |
нет |
Условие поиска 3 |
Таблица 6.7 - Таблица stat_datasuser
Поле |
Тип |
Ноль |
Комментарий |
|
id |
int (10) |
нет |
Идентификатор пользовательских данных (PK) |
|
type |
enum ('', 'dm', 'pr', 'kn', 'cl', 'rk') |
нет |
Тип пользовательских данных |
|
name |
varchar (100) |
нет |
Наименование для отображения в отчете |
|
d1 |
varchar (255) |
нет |
Условие поиска |
Таблица 6.8 - Таблица stat_ip2city
Поле |
Тип |
Ноль |
Комментарий |
|
id |
int (10) |
нет |
Идентификатор записи (PK) |
|
ip_start |
int (10) |
нет |
Начало диапазона ip-адресов |
|
ip_end |
int (10) |
нет |
Конец диапазона ip-адресов |
|
city |
smallint (5) |
нет |
Идентификатор города (FK) |
Таблица 6.9 - Таблица stat_ip2country
Поле |
Тип |
Ноль |
Комментарий |
|
id |
int (10) |
нет |
Идентификатор записи (PK) |
|
ip_start |
int (10) |
нет |
Начало диапазона ip-адресов |
|
ip_end |
int (10) |
нет |
Конец диапазона ip-адресов |
|
country |
smallint (5) |
нет |
Идентификатор страны (FK) |
Таблица 6.10 - Таблица stat_languages
Поле |
Тип |
Ноль |
Комментарий |
|
code |
char (2) |
нет |
Идентификатор языка (PK) |
|
eng |
varchar (50) |
нет |
Английское наименование языка |
|
rus |
varchar (50) |
нет |
Русское наименование языка |
Таблица 6.11 - Таблица stat_log
Поле |
Тип |
Ноль |
Комментарий |
|
id |
int (10) |
нет |
Идентификатор лога (PK) |
|
id_session |
varchar (32) |
нет |
Идентификатор сессии (FK) |
|
id_user |
int (10) |
нет |
Идентификатор посетителя (FK) |
|
ip |
int (10) |
нет |
IP-адрес посетителя |
|
proxy |
int (10) |
да |
Прокси сервер посетителя |
|
ref_domain |
varchar (50) |
да |
Ссылающийся домен |
|
ref_page |
varchar (255) |
да |
Ссылающаяся страница |
|
ref_pagequery |
varchar (255) |
да |
Ссылающаяся строка запроса |
|
ref_catalog |
int (10) |
да |
Ссылающийся каталог |
|
ref_search_sys |
int (10) |
да |
Ссылающаяся поисковая система |
|
ref_search_query |
varchar (255) |
да |
Ссылающаяся поисковая фраза |
|
ref_mail_sys |
int (10) |
да |
Ссылающаяся почтовая система |
|
ref_rating |
int (10) |
да |
Ссылающийся рейтинг |
|
agent |
varchar (255) |
да |
Поле заголовка User-Agent |
|
browser |
int (10) |
да |
Браузер посетителя (FK) |
|
os |
int (10) |
да |
Операционная система посетителя (FK) |
|
acceptlang |
varchar (100) |
да |
Языковая метка поля Accept-Languages браузера |
|
date |
int (8) |
нет |
Дата посещения |
|
time |
mediumint (6) |
нет |
Время посещения |
|
domain |
varchar (30) |
нет |
Посещенный домен |
|
request_uri |
varchar (255) |
нет |
URI, который был задан для доступа к странице |
|
page |
varchar (20) |
нет |
Посещенная страница |
|
titlepage |
varchar (255) |
нет |
Заголовок посещенной страницы |
|
page_rateload |
float |
нет |
Время загрузки страницы |
|
existspage |
enum ('Y', 'N') |
нет |
Наличие страницы |
|
city |
smallint (5) |
да |
Город посетителя (FK) |
|
country |
smallint (5) |
да |
Страна посетителя (FK) |
Таблица 6.12 - Таблица stat_logrobots
Поле |
Тип |
Ноль |
Комментарий |
|
id |
int (10) |
нет |
Идентификатор лога роботов (PK) |
|
id_robot |
int (10) |
нет |
Идентификатор робота (FK) |
|
ip |
int (10) |
нет |
IP-адрес робота |
|
agent |
varchar (255) |
нет |
Поле заголовка User-Agent |
|
date |
int (8) |
нет |
Дата посещения |
|
time |
mediumint (6) |
нет |
Время посещения |
|
domain |
varchar (30) |
нет |
Посещенный домен |
|
request_uri |
varchar (255) |
нет |
URI, который был задан для доступа к странице |
|
page |
varchar (20) |
нет |
Посещенная страница |
|
titlepage |
varchar (255) |
нет |
Заголовок посещенной страницы |
|
existspage |
enum ('Y', 'N') |
нет |
Наличие страницы |
Таблица 6.13 - Таблица stat_sessions
Поле |
Тип |
Ноль |
Комментарий |
|
id |
varchar (32) |
нет |
Идентификатор сессии (PK) |
|
id_user |
int (10) |
нет |
Идентификатор посетителя (FK) |
|
timestamp |
int (10) |
нет |
Время последнего обновления страницы в UNIX формате |
Таблица 6.14 - Таблица stat_total
Поле |
Тип |
Ноль |
Комментарий |
|
date |
int (8) |
нет |
Дата расчета (PK) |
|
views |
int (10) |
нет |
Количество просмотров |
|
hits |
int (10) |
нет |
Количество хитов |
|
hosts |
int (10) |
нет |
Количество хостов |
|
users |
int (10) |
нет |
Количество пользователей |
Таблица 6.15 - Таблица stat_users
Поле |
Тип |
Ноль |
Комментарий |
|
id |
int (10) |
нет |
Идентификатор посетителя (PK) |
|
id_user_reg |
int (10) |
да |
Идентификатор регистрации посетителя (FK) |
|
ip_first |
int (10) |
нет |
IP-адрес первого посещения |
|
date_first |
int (8) |
нет |
Дата первого посещения |
|
time_first |
mediumint (6) |
нет |
Время первого посещения |
|
domain_first |
varchar (30) |
нет |
Домен первого посещения |
|
request_uri_first |
varchar (255) |
нет |
URI первого посещения, который был задан для доступа к странице |
|
page_first |
varchar (20) |
нет |
Страница первого посещения |
|
ref_domain_first |
varchar (255) |
да |
Ссылающийся домен первого посещения |
|
ref_page_first |
varchar (255) |
да |
Ссылающаяся страница первого посещения |
|
ref_pagequery_first |
varchar (255) |
да |
Ссылающаяся строка запроса первого посещения |
|
ref_catalog_first |
tinyint (3) |
да |
Ссылающийся каталог первого посещения |
|
ref_search_sys_first |
tinyint (3) |
да |
Ссылающаяся поисковая система первого посещения |
|
ref_search_query_first |
varchar (255) |
да |
Ссылающаяся поисковая фраза первого посещения |
|
ref_mail_sys_first |
tinyint (3) |
да |
Ссылающаяся почтовая система первого посещения |
|
ref_rating_first |
tinyint (3) |
да |
Ссылающийся рейтинг первого посещения |
|
screensize |
varchar (10) |
да |
Разрешение экрана посетителя |
|
colorsdepth |
varchar (5) |
да |
Глубина цвета посетителя |
|
cookies |
enum ('Y', 'N') |
нет |
Проверка включения cookies |
|
java |
enum ('Y', 'N') |
нет |
Проверка включения java |
|
javascript |
varchar (5) |
да |
Проверка включения javascript |
|
ip_last |
int (10) |
нет |
IP-адрес последнего посещения |
|
date_last |
int (8) |
нет |
Дата последнего посещения |
|
time_last |
mediumint (6) |
нет |
Время последнего посещения |
|
request_uri_last |
varchar (255) |
нет |
URI последнего посещения, который был задан для доступа к странице |
|
page_last |
varchar (20) |
нет |
Страница последнего посещения |
При проектировании базы данных определены связи между таблицами, первичные (Primary) и внешние (Foreign) ключи. Анализ ключей и связей между сущностями приведён в таблице 6.16
Таблица 6.16 - Анализ ключей и связей между сущностями
Сущности |
Связь |
Добавленное поле |
Таблица |
Primary Key |
Foreign Key |
|
stat_log |
M |
id_user |
stat_log |
id |
id_user |
|
stat_users |
1 |
stat_users |
id |
|||
stat_log |
M |
browser |
stat_log |
id |
browser |
|
stat_datas |
1 |
stat_datas |
id |
|||
stat_log |
M |
os |
stat_log |
id |
||
stat_datas |
1 |
stat_datas |
id |
os |
||
stat_log |
M |
city |
stat_log |
id |
city |
|
stat_cities |
1 |
stat_cities |
id |
|||
stat_log |
M |
country |
stat_log |
id |
country |
|
stat_countries |
1 |
stat_countries |
id |
|||
stat_cities |
M |
region |
stat_ cities |
id |
region |
|
stat_regions |
1 |
stat_ regions |
id |
|||
stat_logrobots |
M |
id_robot |
stat_logrobots |
id |
id_robot |
|
stat_datas |
1 |
stat_datas |
id |
|||
stat_users |
M |
id_user_reg |
stat_users |
id |
id_user_reg |
|
author |
1 |
author |
id |
|||
stat_users |
M |
ref_catalog_first |
stat_users |
id |
ref_catalog_first |
|
stat_datas |
1 |
stat_datas |
id |
|||
stat_users |
M |
ref_search_sys_first |
stat_users |
id |
ref_search_sys_first |
|
stat_datas |
1 |
stat_datas |
id |
|||
stat_users |
M |
ref_mail_sys_first |
stat_users |
id |
ref_mail_sys_first |
|
stat_datas |
1 |
stat_datas |
id |
|||
stat_users |
M |
ref_rating_first |
stat_users |
id |
ref_rating_first |
|
stat_datas |
1 |
stat_datas |
id |
|||
stat_ip2city |
M |
city |
stat_ip2city |
id |
city |
|
stat_cities |
1 |
stat_cities |
id |
|||
stat_ip2country |
M |
country |
stat_ip2country |
id |
country |
|
stat_countries |
1 |
stat_countries |
id |
|||
stat_sessions |
1 |
id_user |
stat_sessions |
id |
id_user |
|
stat_users |
1 |
stat_users |
id |
6.3 Решение по комплексу технических средств
АИС сбора и анализа статистики посещаемости сайта разрабатывается на языке программирования PHP и может эффективно работать на любой Windows платформе.
Для работы с системой, можно использовать любой браузер.
Приведем более подробный перечень минимальных технических средств, необходимых для работы системы.
Минимальные системные требования сервера:
- операционная система - MS Windows 9x\NT\2000\XP\Vista
- Web-сервер - Apache 1.3 и выше или MS IIS 5.0* и выше
- СУБД - MySql 4.0.18 и выше
- компьютер на базе Intel Pentium IV
- оперативная память - 512 Мб
- свободное дисковое пространство - на начальном этапе 50 Мб. В связи с пополнением базы потребуется дополнительное дисковое пространство, зависимое от сроков хранения данных.
Минимальные системные требования клиента:
- операционная система - MS Windows 9x\NT\2000\XP\Vista
- браузер - любой
- компьютер на базе Intel Pentium III
- оперативная память - 256 Мб
- свободное дисковое пространство 10 Мб.
Для создания системы используются следующие программные и технические средства:
- клиент - P-IV/512 Mb RAM/60 Gb HDD/ATI Radeon X700
- сервер - SuperMicro 4U AS-4020A-8RB (Socket940, AMD 8131, SVGA,FDD, Ultra320 SCSI, 8xHotSwap SCSI, Lan 2x1000, 8DDR, 760W)
- операционная система - Windows XP
- языки программирования - PHP 5.0, HTML, JavaScript, SQL
- СУБД - MySql 5
- приложение для разработки и администрирования серверов баз данных MySQL - EMS SQL Manager 2005 for MySQL
- Web-сервер - Apache
- браузер - Opera 9, Internet Explorer 6.0
6.4 Решение по программному обеспечению
Наиболее распространенные средства в Интернете и самые удобные для решения задачи сбора, обработки и вывода статистики на данный момент является использование JavaScript, базы данных MySQL и PHP. Во-первых набор из сервера баз данных MySQL и языка программирования PHP предоставляют 99% провайдеров, ввиду того, что PHP существует не только для платформы Linux, но и для Internet Information Server, а MySQL сервер в случае чего вполне заменит и Microsoft SQL-Server или любой другой поддерживающий язык запросов SQL. JavaScript же поддерживают абсолютно все браузеры.
Выбор СУБД
Наиболее распространённым из доступных серверов баз данных является MySQL, именно он был выбран в качестве СУБД. К основным преимуществам СУБД MySQL можно отнести:
- Производительность (из-за чего Google и Yahoo используют именно MySQL. СУБД MySQL обеспечивает высокую скорость работы базы данных. MySQL создан с учетом специфики работы интернет-приложений - очень высокая скорость выборки SELECT и средняя скорость обновления данных UPDATE, INSERT);
- Масштабируемость (в компании Omniture в реальном масштабе времени используется 7000 серверов MySQL);
- Надежность (MySQL может работать на любой платформе (UNIX, Windows), обеспечивая высокий уровень надежности и сохранности данных. В коде проприетарных продуктов содержится в десять с лишним раз больше уязвимостей);
- В СУБД MySQL есть собственная система защиты, которая позволяет настроить доступ к базе данных и разграничить права доступа, разрешая только те операции, которые необходимы данному пользователю. Кроме этого при разработке приложений web-сервер, сервер MySQL, и скрипты, выступающие в роли клиентов MySQL, находятся на одной машине, что позволяет ограничить возможные соединения с сервером MySQL и дать доступ к базе данных только одному пользователю, от имени которого скрипты будут соединяться с сервером;
- Простота использования, простота внедрения (за 15 минут можно скачать и запустить систему);
- Открытая и модульная разработка;
- Низкие совокупные затраты (MySQL распространяется свободно по правилам "free for distribution and modification no warranty software". Платить нужно только при потребности в поддержке).
Выбор языка программирования
Язык PHP используется примерно на 52% из 14,5 миллионов сайтов, работающих под Apache, который в свою очередь является самым распространенным севером в Интернет (по разным оценкам около 70%), популярность которого быстро растет.
PHP позволяет отделить HTML-текст от выполняемой части, за счет чего можно добиться значительного снижения затрат времени на разработку проекта. Во многих случаях удается отделить программную часть проекта от разработки страниц на HTML, что облегчает жизнь и дизайнеру, и программисту. Почти всегда окажется, что скорость продвижения проектов, создаваемых на PHP будет выше, чем при использовании других языков программирования.
Возможности PHP:
- Поддерживаемые технологии: платформы Win32 (9x/NT/2000/XP), UNIX, OS/2, QNX, MacOS, BeOS, OCX;
- Совместимость с серверами: Apache (Win32, UNIX), phttpd, fhttpd, thttpd, ISAPI (Zeus, IIS), NSAPI, Roxen/Caudium, AOLServer;
- Поддержка технологий COM, XML, Java, CORBA, WDDX, Macromedia Flash;
- Развитая функциональность для работы с сетевыми соединениями;
- Поддерживает свыше 20 БД и имеет развитую функциональность для работы с ними;
- Возможность создания полноценных объектно-ориентированных приложений. [12]
Преимущества PHP:
- Традиционность (Код РНР очень похож на С или Pascal, что заметно способствует изучению РНР. PHP - язык, сочетающий достоинства Perl и Си и специально нацеленный на работу в Интернете, язык с универсальным и ясным синтаксисом);
- Сравнительно простой синтаксис и удобство в практическом использовании (PHP - язык, который может быть встроен непосредственно в html-код страниц, которые, в свою очередь будут корректно обрабатываться PHP-интерпретатором);
- Эффективность ("Движок" PHP является транслирующим интерпретатором, а не компилятором или интерпретатором. Такое устройство "движка" PHP позволяет обрабатывать сценарии с достаточно высокой скоростью);
- Безопасность (РНР предоставляет в распоряжение разработчиков и администраторов гибкие и эффективные средства безопасности, которые условно делятся на две категории: средства системного уровня и средства уровня приложения);
- Гибкость (РНР является встраиваемым (embedded) языком - интегрируется в HTML, JavaScript, WML, XML и другие языки. Кроме того, хорошо структурированные приложения РНР легко расширяются по мере необходимости);
- Открытость кода, благодаря которой можно создавать собственные расширения языка;
- Распространяется бесплатно.
6.5 Решение по защите информации
Основной защитой данных от их потери является резервирование. Резервное копирование необходимо осуществлять через заданные промежутки времени и копии сохранять на различных носителях, чтобы утеря одного носителя не повела за собой утерю всех данных.
Также необходимо обеспечить безопасность данных программными средствами с помощью разграничения доступа к информационной базе. Доступ к системе будет осуществляться на основе учетных записей пользователей. Права на доступ к системе выдает администратор.
Необходимо также обеспечить безопасность локальных сетевых подключений и подключений Internet посредством брандмауэра. Предполагается использование ОС Windows XP SP2 и брандмауэра Outpost FireWall Pro 3.0.
С целью снижения стоимости проекта не планируется применять специальные технические средства для защиты данных (RAID-массивы жестких дисков, аппаратных брандмауэров).
6.6 Описание структуры системы
В АИС для структурной схемы будет использоваться иерархическая структура, рассмотрим ее подробней. Иерархическая структура программной системы (ПС) - основной результат предварительного проектирования. Она определяет состав модулей ПС и управляющие отношения между модулями. В этой структуре модуль более высокого уровня (начальник) управляет модулем нижнего уровня (подчиненным).
Иерархическая структура не отражает процедурные особенности программной системы, то есть последовательность операций, их повторение, ветвления и т.д. Первичными характеристиками являются количество вершин (модулей) и количество ребер (связей между модулями). К ним добавляются две глобальные характеристиками - высота и ширина: высота - количество уровней управления; ширина - максимальное из количеств модулей, размещенных на уровнях управления. [14]
Структурно АИС сбора и анализа статистики посещаемости сайта состоит из следующих подсистем:
1 Подсистема сбора статистических данных;
2 Подсистема формирования и вывода отчетов;
3 Подсистема построения графиков;
4 Подсистема обновления;
5 Подсистема экспорта/импорта базы данных;
6 Подсистема администрирования;
7 Подсистема учета регистраций системы.
Подробное описание подсистем и их состав представлены в таблице 6.16.
Таблица 6.16 - Описание и состав подсистем АИС сбора и анализа статистики посещаемости сайта.
Подсистема |
Описание |
Состав |
|
Подсистема сбора статистических данных |
Подсистема предназначена для сбора подробной информации о посещении сайта и отдельных его страниц. Данные заносятся в таблицы базы данных пользователя. |
Модуль пассивного сбора статистических данных; Модуль активного сбора статистических данных; Модуль сбора данных о роботах. |
|
Подсистема формирования и вывода отчетов |
Подсистема предназначена для обзорного и подробного отображения окончательного варианта отчетных форм АИС и анализа посещений сайта. Пользователь имеет возможность выбирать различные режимы просмотра статистики. |
Модуль формирования исходных данных по запросу для отчета; Модуль генерации отчетов для отображения; Модуль создания фильтров; Модуль печати отчетов; Модуль выгрузки отчетов в CSV; Модуль проверки лицензионного ключа. |
|
Подсистема построения графиков |
Подсистема построения графиков предназначена для наглядного отображения отчетной информации в графическом виде. |
Модуль построения линейных графиков; Модуль построения 3D гистограмм; Модуль построения 2D гистограмм; Модуль построения круговых диаграмм; Модуль построения HTML-графиков. |
|
Подсистема обновления |
Подсистема обновления предназначена просмотра, загрузки и установки выбранных обновлений. После обновления системы выдается отчет об обновлении. |
Модуль обновления системы; Модуль обновления словарей данных; Модуль корректировки БД по словарям данных. |
|
Подсистема экспорта/импорта базы данных |
Подсистема экспорта/импорта позволяет перенести устаревшую информацию о посещениях в архив, тем самым освобождая место в базе данных. SiteEdit Statistics использует свой формат лог-файлов, в котором сохраняется полная информация о посещениях сайта. Кроме того, данная подсистема может экспортировать и импортировать информацию о посещениях из/в лог-файлы в формате Apache. |
Модуль экспорта в SEStat Log; Модуль экспорта в Apache Log; Модуль импорта из SEStat Log; Модуль импорта из Apache Log. |
|
Подсистема администрирования |
Подсистема администрирования представляет собой административный веб-интерфейс, обеспечивающий настройку параметров системы для работы пользователей, от имени которых могут производиться действия. |
Модуль настройки системы; Модуль управления базой данных; Модуль заполнения словарей пользовательских данных; Модуль настройки прав доступа администратора; Модуль управления гостевым доступом; Модуль настройки параметров отправки отчетов по почте; Модуль отправки отчетов по почте; Модуль регистрации системы статистики. |
|
Подсистема учета регистраций системы |
Подсистема предназначена для контроля регистраций и оплаты системы статистики сайта, создания лицензионного ключа для определенного домена на оплаченный период. |
Модуль учета оплаты системы; Модуль генерации лицензионного ключа. |
На основании описанных выше данных была сформирована структурная схема информационной системы, которая представлена в Приложении Д. Взаимодействие подсистем и отдельных модулей, входящих в систему сбора и анализа статистики посещаемости сайта отображает функциональная схема, представленная в Приложении Е.
6.7 Взаимодействие между подсистемами и модулями системы
Рассмотрим функционирование системы SiteEdit Statistics. На начальном этапе работы с SiteEdit Statistics, вызывается главная форма системы. На данном этапе предлагается авторизоваться в системе с помощью диалога авторизации (см. рисунок 6.1). Для входа в систему следует ввести логин и пароль, указанные при установке системы. В случае неверного ввода пароля будет произведен возврат к форме ввода.
Рисунок 6.1 - Диалог авторизации в системе SiteEdit Statistics
Далее, с помощью диалога авторизации, главный модуль проверяет правильность введенных данных и, в случае успешной авторизации, предоставляет вход в систему. На следующем этапе происходит проверка правильности и актуальности лицензионного ключа. Для регистрации SiteEdit Statistics используется регистрационный ключ, который можно получить двумя способами:
- Купить платный регистрационный ключ;
- Получить бесплатный пробный регистрационный ключ (отличается от платного лишь сроком действия).
Проверку лицензионного ключа производит Модуль проверки лицензионного ключа. Модуль проверяет домен, на котором используется система и дату окончания действия ключа.
Если ключ ошибочный (см. рисунок 6.2) или срок его действия истек (см. рисунок 6.3), то для доступа открыта только страница регистрации системы, на которую система автоматически перенаправляется.
Рисунок 6.2 - Сообщение при ошибочном лицензионном ключе
Рисунок 6.3 - Сообщение при окончании срока действия лицензионного ключа
При наличии корректного лицензионного ключа предоставляется возможность работы с системой. Далее рассмотрим работу с системой для просмотра статистики.
Окно статистики разделено на три части:
- Меню - перечень отчетов, распределенных по категориям;
- Информационное поле - содержание отчета;
- Панель дополнительных опций (правая колонка) - содержит дополнительные данные по отчетам. Данные подразделяются на постоянные (для всех типов отчетов - выбор даты, временного периода, руководство, экспорт, время генерации отчета) и переменные (в зависимости от вида отчета - настройки отображения адресов и пр.).
Из меню предоставляется возможность выбора нужного отчета. В зависимости от выбора происходит формирование фильтра, который передается в главный модуль. При этом вызывается Модуль формирования данных по запросу, который делает запрос к БД посещений для получения необходимых статистических данных. Далее посылает эти данные Подсистеме построения графиков. Формирует данные для отчета, включает сгенерированный график и посылает их Главному модулю, который выводит готовый отчет на экран (см. рисунок 6.4).
Рисунок 6.4 - Отчет "Посещаемость сайта (Сводная статистика)"
Для печати отчета вызывается Модуль печати отчетов, который формирует печатный вид статистики и посылает его на принтер. Для экспорта отчета в CSV файл вызывается Модуль выгрузки отчетов в CSV, который формирует отчет для его дальнейшего сохранения в файл.
На отчеты можно накладывать фильтры-условия (см. рисунок 6.5) для более точного анализа статистики сайта. Фильтры позволяют получать срезы статистики сайта по конкретному адресу страницы, по шаблону адреса, по свойствам посетителя и т.д.
Рисунок 6.5 - Наложение фильтра на отчет "Ссылающиеся страницы"
Подсистема администрирования обеспечивает настройку параметров системы для ее работы. Модуль настройки системы (см. рисунок 6.6) вызывается главным модулем в разделе "Конфигурация" и отвечает за оформление отчетов SitEdit Statistics.
Рисунок 6.6 - Редактирование настроек системы
Модуль настройки прав доступа администратора позволяет изменить административные данные, такие как логин, пароль и e-mail. Модуль управления гостевым доступом позволяет определить доступность различных отчетов для пользователей с гостевыми правами (гостей). Данные настройки действительны лишь в том случае, если гостевой доступ задан с помощью параметра guestaccess в БД конфигурации системы. В системе возможна автоматическая генерация и отправка отчетов по электронной почте. За осуществление данной опции отвечают Модуль настройки параметров для отправки отчетов статистики по почте (см. рисунок 6.7) и Модуль отправки отчетов по почте. С помощью модуля настройки параметров для отправки отчетов статистики по почте настраиваются нужные параметры отправки, которые хранятся в БД конфигурации системы:
- Периодичность отправки отчета - ежедневно, раз в неделю;
- Формат писем - HTML, текстовый;
- Электронный адрес для доставки отчета, тема письма;
- Содержимое отчета - Просмотры, Хосты, Пользователи; 20 самых популярных ссылающихся страниц,20 самых популярных страниц.
Модуль отправки отчетов по почте формирует отчет в полночь по времени сервера и отсылает по указанному электронному адресу.
Рисунок 6.7 - Настройка параметров для отправки отчетов статистики по почте
Для управления БД статистики посещаемости сайта вызывается Модуль управления БД. Операции управления базой данных могут занять достаточное количество времени. Этот модуль позволяет выполнить следующие операции:
Починить базу данных. Данная операция служит для восстановления работоспособности базы данных посещаемости при возникновении ошибок вследствие некорректной работы файловой системы или MySql. Как правило, такие ошибки возникают при нехватке места на дисках либо при аварийном выключении сервера.
Оптимизировать базу данных. Оптимизацию базы данных следует выполнять для повышения производительности MySql и для физического освобождения места от удаленных записей. (В MySql при удалении записи не всегда освобождается место). Эту операцию следует выполнять после удаления старых дней из статистики.
Удалить из статистики старые дни. Эта операция производится автоматически Модулем сбора статистических данных. Данная операция выполняется вручную после изменения опции savelog (отвечает за время хранения статистики в БД) при необходимости освобождения места в БД. Для физического освобождения места после этой операции необходимо выполнить операцию оптимизации базы данных.
Модуль редактирования словарей данных позволяет настраивать словари данных (см. рисунок 6.8). Словари данных делятся два типа: пользовательские и системные. Системные словари данных не редактируются в отличие от пользовательских, их можно только обновит с сайта разработчика. Системные словари данных используют следующие отчеты: "переходы с поисковых систем", "переходы с каталогов", "переходы с рейтингов", "переходы с почтовых систем", "поисковые фразы", "найденные страницы", "операционные системы", "браузеры", "роботы". Для обновления системных словарей данных используется Модуль обновления словарей данных вызываемый Модулем обновления системы, который в свою очередь проверяет наличие обновлений на сайте разработчика. После обновления словарей предоставляется возможность корректировки БД в соответствии с новыми словарями данных, которую выполняет Модуль корректировки БД по словарям данных. Пользовательские словари данных используют следующие отчеты: "партнеры", "источники, приведшие к цели", "фразы, приведшие к цели", "список достижений целей", "стоимость рекламы".
Рисунок 6.8 - Настройка пользовательских словарей данных
Для осуществления экспорта/импорта БД посещаемости из Главного модуля в разделе "Конфигурация" вызывается Модуль экспорта/импорта.
Модули экспорта позволяют экспортировать лог-таблицу БД посещений сайта в один из двух форматов:
- SEStat Log (Вызывается модуль экспорта БД в SEStat Log, который обращается к БД посещаемости, получает данные статистики и экспортирует лог-таблицу посещаемости полностью);
- Apache Log (Вызывается модуль экспорта БД в Apache Log, который обращается к БД посещаемости, получает данные статистики, формирует строки лога apache содержащие дату обращения, IP адрес, страницу, ссылающуюся страницу, User-Agent и экспортирует только эту информацию. Остальная информация в данном формате не сохраняется).
Экспортируемую информацию можно скачать либо сохранить в файл на сервере. При скачивании экспортируемой информации действует ограничение на размер лог-файла. Максимальный размер зависит от настроек PHP и MySql. При сохранении экспортируемой информации в файл на сервере ограничений по размеру файла нет, так как экспортирование производится по шагам.
Модули импорта позволяют импортировать информацию в лог-таблицу БД посещений сайта. Импорт может производиться из файлов следующих форматов: SEStat Log и Apache Log.
При импорте информации посредством загрузки файла на сервер действует ограничение на размер импортируемого файла. Максимальный размер загружаемого файла зависит от максимального времени выполнения PHP скрипта и от опций PHP - post_max_size и upload_max_filesize. При импорте информации из файла на сервере данные ограничения не влияют на размер импортируемого файла, так как импортирование производится по шагам.
После импортирования файлов в лог-таблицу необходимо заново построить сводную информацию о посещаемости сайта. Сделать это можно в разделе с помощью Модуля управления базой данных.
6.8 Файловый состав и размещение системы SiteEdit Statistics
Представление системы SiteEdit Statistics на уровне файлов отображено в таблице 6.17
Таблица 6.17 - Файловый состав системы SiteEdit Statistics
Подсистема |
Файл |
Описание файла |
|
Подсистема сбора статистических данных |
mod_stat. php |
Модуль сбора данных посещаемости сайта |
|
count. php |
Файл генерации картинки для счетчика |
||
Подсистема формирования и вывода отчетов |
index. php |
Основной исполняемый файл |
|
license |
Файл лицензионного ключа |
||
functions. php |
Библиотека функций |
||
js. php |
Библиотека JavaScript'ов |
||
calendar. php |
Файл генерации календаря |
||
filters. php |
Модуль создания фильтров |
||
exp_print. php |
Модуль вывода отчетов на печать |
||
exp_csv. php |
Модуль экспорта отчетов в CSV формат |
||
группа файлов генерации отчетов |
Файлы находятся в каталоге reports и отвечают за генерацию конкретных отчетов |
||
Подсистема построения графиков |
lines. php |
Модуль генерации линейного графика |
|
3d. php |
Модуль генерации 3D гистограммы |
||
bar. php |
Модуль генерации 2D гистограммы |
||
pie. php |
Модуль генерации круговой диаграммы |
||
html. php |
Модуль генерации html графика |
||
shared. php |
Файл конфигурации графиков |
||
Подсистема обновления |
updatesys. php |
Модуль обновления файлов системы |
|
updatedatas. php |
Модуль обновления словарей данных |
||
updatedb. php |
Модуль корректировки БД в соответствии с новыми словарями данных |
||
Подсистема экспорта/импорта базы данных |
export_sestat. php |
Модуль экспорта БД в SiteEdit Statistics Log |
|
export_apach. php |
Модуль экспорта БД в Apache Log |
||
import_sestat. php |
Модуль импорта БД из SiteEdit Statistics Log |
||
import_apach. php |
Модуль импорта БД из Apache Log |
||
Подсистема администрирования |
config. php |
Модуль изменения конфигурации системы |
|
dbcontrol. php |
Модуль управления БД |
||
datas. php |
Модуль заполнения словарей пользовательских данных |
||
accessdelimit. php |
Модуль настройки прав доступа администратора |
||
accessguest. php |
Модуль настройки прав доступа гостя |
||
confmail. php |
Модуль настройки параметров для отправки отчетов по почте |
||
mailreportsend. php |
Модуль отправки отчетов по почте |
||
checklicense. php |
Модуль проверки лицензионного ключа |
||
regstat. php |
Модуль регистрации системы статистики |
||
update. php |
Модуль обновления системы |
||
Подсистема учета регистраций системы |
accountpay. php |
Модуль учета оплаты системы |
|
genkey. php |
Модуль генерации лицензионного ключа для определенного домена |
||
Инсталляция системы |
install. php |
Модуль инсталляции системы |
|
stat_config. sql. php |
Дамп данных конфигурации системы |
||
stat_cities. sql. php |
Дамп данных о городах |
||
stat_countries. sql. php |
Дамп данных о странах |
||
stat_ip2city. sql. php |
Дамп данных о соответствии ip-адресов конкретному городу |
||
stat_ip2country. sql. php |
Дамп данных о соответствии ip-адресов конкретной стране |
||
stat_languages. sql. php |
Дамп данных о языках |
||
stat_datas. sql. php |
Дамп словарей данных |
7. Экономическое обоснование
Автоматизированная система сбора и анализа статистики посещаемости сайта разрабатывается для ООО "Эджестайл" как один из продуктов компании.
Создание нового программного продукта предусматривает выполнение определенной совокупности работ, которые производятся на каждой стадии разработки программ и программных документов. Состав работ определяется условиями и организацией разработки программной документации и количеством проектируемых программных модулей.
7.1 Оценка размеров программного продукта
Для оценки размера программы используется наиболее распространенная метрика Function Point (FP) - количество функциональных точек, которые содержит программа.
Достоинства метрики:
- Независимость от языка программирования.
- Лёгкость вычисления на любой стадии проекта.
Для оценки размера программы используется модель потоков данных (Приложение В) и логическая модель БД (Приложение Г).
Исходные данные для расчета FP-метрик приведены в таблице 7.1.
Таблица 7.1 - Исходные данные для расчета FP - метрик
Имя характеристики |
Ранг, сложность, количество |
|||||||
Низкий |
Средний |
Высокий |
Итого |
|||||
коэф. |
значение |
коэф. |
значение |
коэф. |
значение |
|||
Внешние вводы |
3 |
6 |
4 |
1 |
6 |
1 |
28 |
|
Внешние выводы |
4 |
5 |
7 |
5 |
35 |
|||
Внешние запросы |
3 |
4 |
6 |
5 |
30 |
|||
Внутренние логические файлы |
7 |
13 |
10 |
2 |
15 |
111 |
||
Внешние интерфейсные файлы |
5 |
7 |
2 |
10 |
14 |
|||
Общее количество (N): |
218 |
После сбора всей необходимой информации необходимо рассчитать метрики FP. Общее количество было вычислено исходя из уровня сложности и количества по каждой характеристике.
Количество функциональных указателей вычисляется по формуле (7.1):
, (7.1)
где Fi - коэффициенты регулировки сложности
N - общее количество FP
Определение факторов среды. Значения выбираются эмпирически в результате ответов на 14 вопросов, которые характеризуют системные параметры приложения, приведенные в таблице 7.2.
Таблица 7.2 -
Системные параметры приложения
Системный параметр |
Описание |
Коэффициент |
|
1. Передачи данных |
Сколько средств связи требуется для передачи или обмена информацией с приложением или системой? |
3 |
|
2. Распределенная обработка данных |
Как выполняются распределенная обработка данных и функции обработки? |
4 |
|
3. Производительность |
Нуждается ли пользователь в фиксации времени ответа или улучшении производительности? |
5 |
|
4. Распространенность используемой конфигурации |
Насколько распространена текущая аппаратная платформа, на которой будет выполнятся приложение? |
5 |
|
5. Скорость транзакций |
Как часто выполняются транзакции? |
5 |
|
6. Оперативный ввод данных |
Какой процент информации надо вводить в режиме online? |
1 |
|
7. Эффективность работы конечного пользователя |
Приложение проектировалось для обеспечения эффективной работы конечного пользователя? |
5 |
|
8. Оперативное обновление |
Как много внутренних файлов обновляется в онлайновой транзакции? |
4 |
|
9. Сложность обработки |
Выполняет ли приложение интенсивную логическую или математическую обработку? |
4 |
|
10. Повторная используемость |
Приложение разрабатывалось для удовлетворения требований одного или многих пользователей? |
5 |
|
11. Легкость инсталляции |
Насколько трудны преобразования и инсталляция приложения? |
4 |
|
Системный параметр |
Описание |
Коэффициент |
|
12. Легкость эксплуатации |
Насколько эффективны и/или автоматизированы процедуры запуска, резервирования и восстановления? |
4 |
|
13. Разнообразные условия размещения |
Была ли спроектирована, разработана и поддержана возможность инсталляции приложения в разных местах для различных организаций? |
4 |
|
14. Простота изменений |
Была ли спроектирована, разработана и поддержана в приложении простота изменений? |
3 |
|
Итого |
56 |
Таким образом, сумма коэффициентов , а количество функциональных точек, исходя из формулы (7.1):
FP = 218 * (0, 65 + 0, 01 * 56) = 263,78.
FP - оценки пересчитываются в LOC - оценки.
Для реализации ПО выбран язык программирования PHP.
Количество LOC-строк = 30 * 263,78 = 7913
7.2 Оценка трудозатрат и времени
Трудозатраты разработки определяются с помощью модели COCOMO 2 (Constructive cost model): трудозатраты для базовой модели рассчитываются по формуле (7.2):
, (7.2)
где А и В коэффициенты.
Для определения коэффициентов необходимо определить режим системы (уровень сложности) или тип проекта:
Подобные документы
Создание web-сайта для сбора статистических данных, прогнозирования возможностей системы общего образования и анализа демографического состояния региона в динамике. Проектирование базы данных, разработка компонентов, алгоритмов и программного обеспечения.
дипломная работа [3,1 M], добавлен 15.04.2013Этапы проектирования сайта. Реализация двухкомпонентной системы голосования - клиент и датацентр. Создание безопасной системы передачи данных с использованием языков разметки HTML, программирования PHP, скриптов JavaScript, базы данных MySQL и Web-службы.
дипломная работа [2,9 M], добавлен 12.12.2013Порядок сбора данных с помощью программного обеспечения "ПРОЛОГ". Языки программирования VBA и HTML, их характерные особенности. Web-сервера Apache, принцип работы серверной системы. Реализация сбора данных и разработка сайта с показаниями приборов.
дипломная работа [4,4 M], добавлен 24.09.2014Информационные и автоматизированные системы управления технологическими процессами на промышленных предприятиях. Базы данных в автоматизированных системах управления. Системы планирования ресурсов предприятия, сбора и аналитической обработки данных.
контрольная работа [486,7 K], добавлен 29.10.2013Анализ данных предметной области. Информационно-логическая модель базы данных. Физическое проектирование и мероприятия по защите и обеспечению целостности базы данных. Приложение интерфейса для SQL-сервера базы данных на языке программирования Delphi.
курсовая работа [2,2 M], добавлен 30.05.2013Задачи и стадии разработки автоматизированной информационной системы художественной школы. Описание предметной области с помощью бизнес-моделирования, использование диаграмм потоков данных DFD. Спецификация системы, логическая структура базы данных.
курсовая работа [281,9 K], добавлен 12.07.2011Разработка Web-сайта с подключенной к нему базой данных для управления пользователями, их авторизацией и регистрацией. Подключение базы данных к сайту. Использование технологии AJAX. Виды SQL инъекций и способы защиты базы данных от попыток взлома.
дипломная работа [2,9 M], добавлен 13.02.2016Требования к составу и параметрам технических средств. Инфологическая (концептуальная) модель предметной области. Физическая и логическая модель базы данных. Создание структуры БД в СУБД MS ACCESS. Программирование приложения. Описание работы с системой.
курсовая работа [572,2 K], добавлен 17.11.2014Создание системы сбора пространственных и атрибутивных данных как один из важнейших этапов ведения кадастрового учета. Требования к информационной системе, исходная информация по кадастровому учету объектов недвижимости. Необходимые программные средства.
курсовая работа [4,5 M], добавлен 17.07.2013Особенности систем управления базами данных (СУБД): основные понятия, реляционные базы, основные этапы их проектирования. Концептуальная (логическая) модель БД "Экспресс поставки", её физическая модель, создание в Access и SQL запроса к БД при её работе.
курсовая работа [1,2 M], добавлен 19.11.2012