Разработка плагина, формирующего рейтинг интернет-сайтов

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

Разработка плагина, формирующего рейтинг интернет-сайтов

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

. АНАЛИЗ МЕТОДОВ ФОРМИРОВАНИЯ РЕЙТИНГА САЙТОВ

.1 Рассмотрение показателей оценивания веб-сайтов

.2 Критерии оценки сайтов при проведении Интернет-конкурса

.3 Примеры популярных ресурсов с возможностью оценивания

.РАЗРАБОТКА ТЕХНИЧЕСКИХ ТРЕБОВАНИЙ И АРХИТЕКТУРЫ

.1 Выбор браузера

.2 Разработка архитектуры плагина

. ОПИСАНИЕ ПЛАГИНА СРЕДСТВАМИ ЯЗЫКА UML

.1 Диаграмма вариантов использования

.2 Диаграмма деятельности

.3 Диаграмма классов

.4 Диаграмма последовательности

. РАЗРАБОТКА МОДЕЛИ БАЗ ДАННЫХ

.1 Рассмотрение типов СУБД

.2 Разработка базы данных для плагина

.3 Разработка модернизированной базы данных

. РАЗРАБОТКА И РЕАЛИЗАЦИЯ ПРОГРАММНЫХ МОДУЛЕЙ

. ЭКСПЕРИМЕНТАЛЬНОЕ ТЕСТИРОВАНИЕ И ОТЛАДКА

.1 Тестирование

.2 Руководство пользователя

. ОЦЕНКА КАЧЕСТВА РАЗРАБОТАННОГО ПРОДУКТА

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

Основными языками для разработки плагинов являются:- язык разметки гипертекста [4];- язык описания внешнего вида документа;- сценарный язык программирования.

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

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

1. АНАЛИЗ МЕТОДОВ И СРЕДСТВ ФОРМИРОВАНИЯ РЕЙТИНГА ИНТЕРНЕТ-САЙТОВ

.1 Рассмотрение показателей оценивания веб-сайтов

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

Рисунок 1.1 - Показатели оценивания веб-сайта

Далее рассмотрим каждый показатель в отдельности для более полного понимания критериев оценки [14]. Рассмотрение будем вести с точки зрения реализации целей, поставленных перед разработчиком при создании веб-сайта.

дизайн - основной показатель качества веб-сайта, в задачи веб-дизайна входит формирование интерфейса, направленного на удобство пользователя при работе с сайтом. Состоит из следующих критериев: «Простота», «Понятность», «Содержание», «Тщательность», «Расположение пользователя»;

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

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

навигация - заключается в том, что веб-сайт прорабатывается на структурные компоненты. Состоит из следующих критериев: «Логическая структура компонентов и содержания», «Корректная работа все гиперссылок», «Отсутствие тупиковых страниц», «Наличие гиперссылок обратной связи», «Простой переход по уровням веб-сайта», «Отсутствие проблем с использованием навигации», «Одинаковое расположение навигации на всех страницах»;

время загрузки - данный показатель зависит от оптимизации всех скриптов, которые использованы на веб-сайте. Состоит из следующих критериев: «Оправданное время загрузки страницы», «Функция пропуска заставки (если она есть)», «Поддержка версией HTML Flash-вставок»;

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

.2 Критерии оценки веб-сайтов при проведении Интернет-конкурса

В данном разделе рассматривается оценивание сайта по некоторым критериям в рамках проведения Интернет-конкурса [6]. Данная информация необходима для анализа методов, применяемых профессиональными экспертами по оцениванию веб-сайтов.

Балловый метод - методика оценки веб-сайта, при которой по определенному набору критериев веб-сайту начисляют баллы, а в дальнейшем эти баллы суммируются для получения оценки.

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

Ниже приведена упрощённая формула данного метода:


где - суммарный балл значимости сайта;

- поправочные коэффициенты;

- значимость определенного критерия.

Далее рассмотрим типовые критерии оценивания в рамках Интернет-конкурса:

объем текстовой информации;

число фотографий;

число видеороликов;

число Flash-вставок;

число посетителей сайта;

индекс цитирования;

срок существования сайта (количество лет);

время между обновлениями.

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

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

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

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

.3 Примеры популярных ресурсов с возможностью оценивания

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

При проектировании плагина необходимо отталкиваться от существующих реализаций идеи оценивания. В качестве примера были взяты такие популярные , как «Google Play», «Booking.com», «Яндекс.Советник». Рассмотрим каждый из данных ресурсов подробнее.Play - интернет-магазин приложений, книг, игр, музыки и других электронных ресурсов [3]. Доступен пользователям операционной системы Android. Данный магазин является самым популярным источником различных приложений для мобильных устройств. Одной из его отличительных особенностей является проработанная система отзывов и оценок. Рассмотрим данную систему подробнее. Оценки и отзывы об одном из приложений магазина в ПК-версии представлены на рисунке 1.2.

Рисунок 1.2 - Оценки и отзывы версии для ПК

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

Мобильная версия данного магазина отличается от ПК-версии, так как «Google Play» - магазин Android-приложений. Оценки в мобильной версии магазина представлены на рисунке 1.3.

Рисунок 1.3 - Оценки в мобильной версии магазина

На рисунке видно, что интерфейс похож на ПК-версию, правда здесь не указывается сколько пользователей поставило ту или иную оценку.

Преимуществом данной версии является оценка функции. В данном примере рассмотрены оценки для мобильной игры «Injustice 2». Для игр доступны оценки таких функций, как «Управление», «Геймплей» и «Графика»..com - веб-сайт для бронирования отелей и покупки авиабилетов. Данный ресурс является одним из самых популярных в данной категории, так как предоставляет исчерпывающую и достоверную информацию о ценах и условиях проживания в отелях и гостиницах [5]. Данный сервис имеет систему оценивания с возможностью оставить свой отзыв, которая может похвастаться своей достоверностью, так как оставить отзыв и оценку может только реальный пользователь который проживал в отеле. Рассмотрим подробнее систему оценок данного сайта. Главная страница сайта представлена на рисунке 1.4.

Рисунок 1.4 - Главная страница Booking.com

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

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

Рисунок 1.5 - Вкладка специальные предложения

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

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

Рисунок 1.6 - Изображение выбранного отеля

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

Рисунок 1.7 - Оценки показателей отеля

Как видно по рисунку, у пользователей есть возможность оценить по десятибалльной шкале такие показатели, как «Чистота», «Комфорт», «Месторасположение», «Удобства», «Персонал», «Соотношение цена/качество», «Бесплатный Wi-Fi».

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

Рисунок 1.8 - Окно отзывов

Яндекс.Советник - данное приложения является расширением для магазина Яндекс.Маркет. Оно позволяет получать все доступные предложения о покупке определенных товаров с указанием магазинов, оценок и отзывов покупателей [7].

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

Рисунок 1.9 - Пример товара в Яндекс.Маркет

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

Рисунок 1.10 - Список магазинов по товару

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

Далее для того, чтобы посмотреть список отзывов необходимо нажать на слово «Отзывы» рядом с оценкой под названием магазина. Страница отзывов по магазин «Just.ru» изображена на рисунке 1.11.

Рисунок 1.11 - Страница отзывов магазина

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

2. РАЗРАБОТКА ТЕХНИЧЕСКИХ ТРЕБОВАНИЙ И АРХИТЕКТУРЫ ПЛАГИНА

.1 Выбор браузера

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

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

На данный момент существует множество мощных, производительных и функциональных браузеров. Ниже рассмотрим браузеры, которые составляют основу рынка в настоящее время.Chrome - данный браузер разработан на основе браузера Chromium компанией Google [12]. Сейчас Google Chrome является лидером по количеству пользователей среди браузеров. По этому показателю он оставил далеко позади своих конкурентов Mozilla Firefox, Opera, Internet Explorer, хотя и появился позже всех в 2008 году. Это обусловлено рядом преимуществ данного браузера над другими. Рассмотрим некоторые из них:

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

интерфейс. В браузере Google Chrome есть всё необходимое для работы пользователя и нет ничего лишнего, даже неопытный пользователь с лёгкостью разберется с работой данного браузера. Хром является первым браузером, в котором появились такие возможности, как панель быстрого доступа, облегчающая доступ пользователя на часто посещаемые ресурсы и совместная работа адресной строки и поисковой системы;

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

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

режим «Инкогнито». Данный режим позволяет использовать браузер, не оставляя следов, то есть не сохраняется история посещений различных сайтов, загрузки и файлы cookies;

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

диспетчер задач. Немногие пользователи знают об этой возможности. Она находится во вкладке «Дополнительные инструменты» и позволяет контролировать работу каждой вкладки отдельно, отключать вкладки, требующие больших ресурсов памяти;

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

«Ок, Google». Наверное, трудно найти человека пользующегося всемирной сетью, который не слышал эту фразу. Она служит для активации голосового поиска в браузере;Firefox - браузер на движке Gencko, который находится в свободном доступе. Mozilla Firefox, известный как «Лиса» является самым популярным зарубежным браузером для операционной системы Windows. Но в России он начал сдавать позиции с появление Google Chrome и на данный момент занимает лишь третье место после вышеупомянутого Google Chrome и Яндекс.Браузер. Популярность «Лисы» падает с каждым годом, что обусловлено нестабильной работой и нагрузкой при использовании расширений. График сокращения популярности браузера Mozilla Firefox среди пользователей на территории России представлен на рисунке 2.1.

Рисунок 2.1 - Сокращение аудитории пользователей Mozilla Firefox

Данные графика представлены за период с 14 августа 2016 года по 17 февраля 2017 года. Исследование проведено открытым статистическим ресурсом «LiveInternet» [13].

Рассмотрим преимущества, которыми обладает Mozilla Firefox:

широкие возможности настройки. У пользователя «Лисы» есть возможность сделать свой браузер абсолютно уникальным, настроить его под себя для удобной работы;

расширения. Как и Google Chrome Mozilla Firefox поддерживает более ста тысяч различных расширений и тем, но это преимущество может стать и недостатком, так как при достаточно небольшом количестве встроенных расширений у браузера сильно снижается скорость работы;

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

Среди недостатков браузера Mozilla Firefox можно выделить:

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

скорость. У рассматриваемого браузера если функция Opera Turbo. Она позволяет повысить скорость загрузки контента веб-страницы. Так же Opera оптимизирован для устройств с низкой скоростью интернет соединения и слабыми техническими характеристиками;

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

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

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

Яндекс.Браузер - cамый молодой браузер из данного списка от российской компании Яндекс. Рассматриваемый браузер один из самых популярных на территории России. Интерфейс Яндекс.Браузер выполнен на движке Chromium, что сразу бросается в глаза из-за сходства с Google Chrome. Рассмотрим преимущества этого молодого браузера:

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

турбо-режим. Данный режим разработчики Яндекс.Браузер позаимствовали у коллег из Opera. Принцип действия режима полностью совпадает со своим аналогом;

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

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

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

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

2.2 Разработка архитектуры плагина

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

авторизация пользователя;

просмотр отзывов и оценок;

просмотр инфографики оценок;

оставление отзыва;

выставление оценки.

Функциональная структура представлена на рисунке 2.2.

Рисунок 2.2 - Функциональная структура

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

авторизация;

проверка наличия сайта в БД;

добавление отзыва;

добавление оценки;

расчет оценки для сайта.

Рассмотрим подробнее представленные выше функции, описание которых представлено в таблице 2.1.

Таблица 2.1 - Описание функций API

ФункцияОписаниеАвторизацияДля того, чтобы оставить отзыв и оценку пользователю необходимо авторизоваться в системе плагина. Авторизация осуществляется через социальную сеть с помощью специальной кнопки.Проверка наличия сайта в БДПеред тем, как отобразить отзывы и оценки по сайту необходимо проверить его наличие в базе данных, если сайта нет в БД, то пользователь увидит сообщение «У сайта нет ни одной оценки», если же сайт присутствует в БД, то пользователь увидит отзывы и оценки.Добавление отзываДобавление отзыва осуществляется через специальную форму, в текстовом поле которой пользователю необходимо написать свой отзыв.Добавление оценкиС помощью той же самой формы пользователь может поставить оценку, выбрав нужное количество звёзд.Расчет оценки для сайтаДля каждого сайта оценка рассчитывается с учётом всех оценок пользователей, как среднее арифметическое этих оценок.Архитектура, представленная выше используется при работе плагина на данный момент. Ниже рассмотрим возможную модернизацию разработанного плагина путём добавления некоторых новых функций:

авторизация пользователя;

просмотр отзывов и оценок;

просмотр инфографики оценок;

выбор категории;

оценка каждого показателя;

оставление отзыва.

Функциональная структура модернизированной версии представлена на рисунке 2.3.

Рисунок 2.3 - Функциональная структура модернизированной версии

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

В API так же будут реализованы новые функции:

авторизация;

проверка наличия сайта в БД;

добавление отзыва;

добавление оценки по показателю;

расчет оценки для сайта;

выбор категории.

Рассмотрим подробнее представленные выше функции, описание которых представлено в таблице 2.2.

Таблица 2.2 - Описание функций API

ФункцияОписаниеАвторизацияДля того, чтобы оставить отзыв и оценку пользователю необходимо авторизоваться в системе плагина. Авторизация осуществляется через социальную сеть с помощью специальной кнопки.Проверка наличия сайта в БДПеред тем, как отобразить отзывы и оценки по сайту необходимо проверить его наличие в базе данных, если сайта нет в БД, то пользователь увидит сообщение «У сайта нет ни одной оценки», если же сайт присутствует в БД, то пользователь увидит отзывы и оценки.Добавление отзываДобавление отзыва осуществляется через специальную форму, в текстовом поле которой пользователю необходимо написать свой отзыв.Добавление оценки по показателюС помощью той же самой формы пользователь может поставить оценку, выбрав категорию, которой принадлежит сайт.Расчет оценки для сайтаРасчет будет иметь более сложный алгоритм, чем в предыдущей версии. Оценка по сайту всё так же будет рассчитываться путём нахождения среднего арифметическогоВыбор категорииПеред тем, как оценить сайт и оставить отзыв пользователю будет необходимо выбрать категорию.

3. ОПИСАНИЕ ПЛАГИНА СРЕДСТВАМИ ЯЗЫКА UML

В данном разделе представлены UML-диаграммы, которые разработаны согласно специфике разработанного плагина. Данные диаграммы описывают различные стороны функционирования плагина, его взаимодействие с пользователями и администратором [9]. Данные диаграммы помогут понять, как работает плагин.

.1 Диаграмма вариантов использования

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

Диаграмма вариантов использования разработанного плагина представлена на рисунке 3.1.

Рисунок 3.1 - Диаграмма вариантов использования

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

Рассмотрим варианты использования, доступные пользователю. Согласно диаграмме пользователю доступны такой вариант взаимодействия с системой, как «Просмотр отзывов». Это самое простое действие, которое пользователь совершает, открыв окно расширения в своём браузере. Следующий вариант похож на предыдущий, но при данном действии пользователю будет доступен более широкий спектр отзывов и инфографика оценок других пользователей. Вариант использования «Авторизация» требует от пользователя авторизоваться в данной системе через какую-либо из социальных сетей. Это необходимо для того, чтобы у пользователя была возможность воспользоваться следующими двумя вариантами «Оценивание» и «Оставление отзыва». Данные действия подразумевают непосредственное участие пользователя в оценивании работы ресурса, на котором от находится путём выставления оценки от 1 до 5 и оставления отзыва, в котором пользователь отражает своё мнение о работе веб-сайта.

.2 Диаграмма деятельности

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

При построении данной диаграммы используются последовательно расположенные фигуры, соединенные стрелками. Действия изображаются в виде прямоугольников с закруглениями, в виде ромбов решения, у которых может быть только 2 исхода: «Yes» или «No» (Да или Нет). Начало процесса изображается в виде черного круга, а конец в виде черного круга с обводкой. Стрелки идут от начала к концу действия.

Диаграмма деятельности для разработанного плагина представлена на рисунке 3.2.

Рисунок 3.2 - Диаграмма деятельности для просмотра оценок

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

Диаграмма деятельности для выставления оценки и оставления отзыва представлена на рисунке 3.3.

Рисунок 3.3 - Диаграмма деятельности для оставления отзыва и оценки

На данной диаграмме изображено, каким образом пользователь выставляет оценку и оставляет отзыв. Как видно по рисунку, действия «Оставление отзыва» и «Выставление оценки» выполняются параллельно, то есть одновременно.

3.3 Диаграмма классов

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

Диаграмма классов для плагина представлена на рисунке 3.4.

Рисунок 3.4 - Диаграмма классов

На данной диаграмме изображено 3 класса, которые взаимодействуют через графический интерфейс. Рассмотрим каждый класс в отдельности.

Класс «Отзывы» содержит в себе такие атрибуты как: «Номер», «Текст», «Автор», «Дата», «Оценка», а также два метода «Добавление» и «Удаление». Данный класс используется вывода списка отзывов и оценок с указанием их автора и даты.

Класс «Пользователь» содержит в себе следующие атрибуты: «Номер», «Идентификатор», «ТипСистемы» и такие методы как «Оценивание», «ОставлениеОтзыва», «Авторизация». Данный класс отвечает за авторизацию пользователей в системе и за возможность пользователя оставлять отзыв и выставлять оценку.

Класс «Адрес сайта» имеет такие атрибуты как: «Номер», «ЭлекронныйАдрес» и методы «ДобавлениеВбазуДанных» и «УдалениеИзБазыДанных». Этот класс отвечает за отображение электронного адреса веб-сайта (URL) и за присваивание этому сайту оценок и отзывов.

.4 Диаграмма последовательности

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

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

Диаграмма последовательности для разработанного плагина представлена на рисунке 3.5.

Рисунок 4 - Диаграмма последовательности

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

Графический интерфейс в свою очередь отвечает на запросы пользователя, путем получения ответных сообщений от объектов: «Отзывы», «Адреса сайтов», «Авторизация».

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

4. РАЗРАБОТКА МОДЕЛИ БАЗ ДАННЫХ

.1 Рассмотрение типов СУБД

Рассмотрим тип системы управления базой данный (СУБД) для разработанного плагина. При разработке использовалась система управления базами данных MySQL. Ниже рассмотрим специфику данной системы и сравним её с другими популярными средствами разработки, такими как SQLite.- это одна из самых популярных систем управления БД, является полноценной серверной СУБД [8]. Данная система имеет большой функционал и работает с огромным количеством веб-сайтов и приложений. Обучится работе с данной системой достаточно просто, ведь в сети Интернет доступно множество материалов по её изучению. Несмотря на то, что в данной СУБД не реализованы все возможности SQL, MySQL позволяет пользоваться множеством средств для разработки сайтов, плагинов и приложений.

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

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

Следующей СУБД достойной внимания является PostgreSQL. Данная система является свободной объектно-реляционной СУБД. Она поддерживает такие платформы, как Microsoft Windows, Unix-подобные платформы, macOS и многие другие. К сильным сторонам данной системы можно отнести легкую расширяемость, высокую производительность, множество встраиваемых языков программирования, наследование. К недостаткам относится невысокая производительность при операциях чтения. Данная СУБД очень мощная, но не настолько популярна, как MySQL из-за небольшого числа хостов, поддерживающих данный продукт.

Нельзя оставить без внимания такую системы управления базами данных, как Oracle. Данная система уже многие годы находится на ведущих ролях в сфере управления базами данных. Продукты компании Oracle давно зарекомендовали себя, как безопасные, надежные и высокопроизводительные. СУБД Oracle поддерживает работу с множеством платформ, к самым распространенным из них относятся: Windows, macOS, LINUX. Так же данная система поддерживает самоуправление, что позволяет самостоятельно распределять нагрузку на систему, корректировать SQL-запросы, прогнозировать ошибки. Ещё одним преимуществом СУБД Oracle является большой размер базы данных, он может достигать восьми экзабайт.

В результате рассмотрения самых популярных СУБД для работы с базой данных на сервере было принято решение использовать систему управления базами данных MySQL. Такое решение оправдано простотой использования данной системы и большим объемом данных, которые данная система способна обрабатывать.

.2 Разработка базы данных для плагина

В данном разделе представлен процесс разработки базы данных, использованной при проектировании плагина. Для более полного, точного и понятного описания данной базы данных здесь рассмотрены такие вопросы как «Состав информационного обеспечения», «Функциональные зависимости реквизитов», «Соответствие описательных и ключевых реквизитов», «Связи информационных объектов», «Логическая модель данных», «Описание таблиц базы данных».

Состав информационного обеспечения представлен в таблице 4.1.

Таблица 4.1 - Состав информационного обеспечения

Название информационного объекта (ИО)Обозначение ИОСемантика ИОРейтингratingСодержит информацию об отзывах пользователей и оценках, также включает в себя дату отзыва, номер пользователя и номер адреса сайтаПользователиusersСодержит информацию об идентификаторе пользователя и о типе использованной им системы (Социальной сети)Адреса сайтовurlСодержит информацию об электронном адресе сайта (URL)

В данной таблице представлены все информационные объекты (таблицы) с описанием хранимых в них данных.

Функциональные зависимости реквизитов представлены в таблице 4.2.

Таблица 4.2 - Состав информационного обеспечения

Информационный объектНазвание реквизитовИмя реквизитаФункциональные зависимостиРейтингКод отзыва Код адреса Код пользователя Текст отзыва Дата отзыва Оценкаid_rev id_url id_user text date ratingПользователиКод пользователя Идентификатор Тип системыid_user external_id type_systemАдреса сайтовКод адреса Адресid_url urlВ данной таблице представлены функциональные зависимости реквизитов. Это такая зависимость, при которой в экземпляру информационного объекта значению ключевого реквизита соответствует только одно значение описательного реквизита.

Соответствие описательных и ключевых реквизитов представлено в таблице 4.3.

Таблица 4.3 - Соответствие описательных и ключевых реквизитов

Описательные реквизитыКлючевые реквизитыВид ключаИмя ИО, включающего реквизитДокумент «Рейтинг»id_rev id_url id_user text date ratingid_rev id_url id_user id_rev id_rev id_revП., У. П., У. П., У. П., У. П., У. П., У.Рейтинг Документ «Пользователи»id_user external_id type_systemid_user external_id type_systemid_user external_id type_systemid_user external_id type_systemДокумент «Адрес сайта»id_url urlid_url urlid_url urlid_url url

Связи информационных объектов представлены в таблице 4.4.

Таблица 4.4 - Состав информационного обеспечения

№ связиГлавный ИОПодчиненный ИОТип реального отношения1ПользовательРейтинг1:М2Адрес сайтаРейтинг1:М

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

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

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

Модель данных сущность-связь представлена на рисунке 4.1.

Рисунок 4.1 - Модель данных сущность-связь

Полная атрибутивная модель представлена на рисунке 4.2.

Рисунок 4.2 - Полная атрибутивная модель

Описание таблиц реляционной базы данных представлено в таблице 4.5.

Таблица 4.5 - Описание таблиц реляционной базы данных

АтрибутПКФормат поляОбозначениеНаименованиеТипДлинаТочностьИО «Рейтинг»id_rev id_url id_user text date ratingКод отзыва Код адреса Код пользователя Текст отзыва Дата отзыва ОценкаП. У.Счетчик Числовой Числовой Текст Дата Числовой Длинное целое ИО «Пользователь»id_user external_id type_systemКод пользователя Идентификатор Тип системыП. У.Счетчик Числовой ТекстИО «Адрес сайта»id_url urlКод адреса АдресП.У.Счетчик Строковый 300

.3 Разработка модернизированной базы данных

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

В данной базе данных будут следующие изменения: добавляются два новых объекта «Категории» и «Показатели». Они необходимы для реализации комплексных оценок, т.е. для выбора категории и оценки по каждому показателю, при чем каждая категория имеет свои показатели. Так же для связи информационных объектов в таблицу «Адреса сайтов» необходимо внести дополнительное поле «id_cat» (Код категории).

Все произведенные изменения в исходной базе данных представлены ниже.

Состав информационного обеспечения для модернизированной базы данных представлен в таблице 4.6.

Таблица 4.6 - Состав информационного обеспечения

Название информационного объекта (ИО)Обозначение ИОСемантика ИОРейтингratingСодержит информацию об отзывах пользователей и оценках, также включает в себя дату отзыва и номерПользователиusersСодержит информацию об идентификаторе пользователя и о типе СоцСетиАдреса сайтовurlСодержит информацию об электронном адресе сайта (URL)КатегорииcategoriesСодержит информацию о номере категории и её названииПоказателиindicatorsСодержит информацию о номере показателя, категории, в которую он входит

В данной таблице представлены все информационные объекты (таблицы) с описанием хранимых в них данных.

Функциональные зависимости реквизитов представлены в таблице 4.7.

Таблица 4.7 - Состав информационного обеспечения

Информационный объектНазвание реквизитовИмя реквизитаФункциональные зависимостиРейтингКод отзыва Код адреса Код пользователя Текст отзыва Дата отзыва Оценкаid_rev id_url id_user text date ratingПользователиКод пользователя Идентификатор Тип системыid_user external_id type_systemАдреса сайтовКод адреса Адресid_url url

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

Соответствие описательных и ключевых реквизитов представлено в таблице 4.8.

Таблица 4.8 -Соответствие описательных и ключевых реквизитов

Описательные реквизитыКлючевые реквизитыВид ключаИмя ИО, включающего реквизитДокумент «Рейтинг»id_rev id_url id_user text date ratingid_rev id_url id_user id_rev id_rev id_revП., У. П., У. П., У. П., У. П., У. П., У.Рейтинг Документ «Пользователи»id_user external_id type_systemid_user id_user id_userП., У. П., У. П., У.ПользователиДокумент «Адрес сайта»id_url url id_catid_url id_url id_catП., У. П., У. П., У.Адрес сайтаДокумент «Категории»id_cat name_catid_cat id_catП., У. П., У.КатегорииДокумент «Показатели»id_ind id_cat name_indid_ind id_cat id_indП., У. П., У. П., У.Показатели

Связи информационных объектов представлены в таблице 4.9.

Таблица 4.9 - Состав информационного обеспечения

№ связиГлавный ИОПодчиненный ИОТип реального отношения1ПользовательРейтинг1:М2Адрес сайтаРейтинг1:М3КатегорииАдрес сайта1:М4КатегорииПоказатели1:М

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

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

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

Модель данных сущность-связь представлена на рисунке 4.3.

Рисунок 4.3 - Модель данных сущность-связь

Полная атрибутивная модель представлена на рисунке 4.4.

Рисунок 4.4 - Полная атрибутивная модель

Описание таблиц реляционной базы данных представлено в таблице 4.10.

Таблица 4.10 - Описание таблиц реляционной базы данных

АтрибутПКФормат поляОбозначениеНаименованиеТипДлинаТочностьИО «Рейтинг»id_rev id_url id_user text date ratingКод отзыва Код адреса Код пользователя Текст отзыва Дата отзыва ОценкаП. У.Счетчик Числовой Числовой Текст Дата Числовой Длинное целоеИО «Пользователь»id_user external_id type_systemКод пользователя Идентификатор Тип системыП. У.Счетчик Числовой ТекстИО «Адрес сайта»id_url url id_catКод адреса Адрес Код категорииП.У.Счетчик Строковый Числовой 300ИО «Категории»id_cat name_catКод категории Имя категорииП. У.Счетчик Строковый 300ИО «Показатели»id_ind id_cat name_indКод показателя Код категории Имя показателяП. У.Счетчик Числовой Строковый 300

5. РАЗРАБОТКА И РЕАЛИЗАЦИЯ ПРОГРАММНЫХ МОДУЛЕЙ

Разработанный плагин состоит из трёх модулей:

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

модуль добавления отзыва и оценки;

модуль авторизации.

Каждый из данных модулей имеет Frontend и Backend-часть. часть - отвечает за отображение элементов плагина в браузере. В данной части создаётся пользовательский графический интерфейс плагина. За разработку Frontend-части отвечают такие средства, как HTML, CSS, JavaScript [2]. часть - отвечает за функционал плагина, его взаимодействие с сервером и базой данных. В данной части реализованы все основные функции и запросы на языке PHP [11].

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

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

Рассмотрим Frontend-часть данного модуля.

Ниже представлен код реализации модуля на языке JavaScript [1].

success: function(data) {(data['rating'] != 0) {

$('#avgRating').text(data['rating']);text = "";(var i = 0; i <= 2; i++){tmp = $('#itemRevTemp').clone();

$(tmp).find('.userName').text(data.reviews[i].id_user);

$(tmp).find('.date').text(data.reviews[i].date);

$(tmp).find('.userRat').text(data.reviews[i].rating);

$(tmp).find('.revText').text(data.reviews[i].text);+= $(tmp).html();

}

/* old version create GIU reviews

$.each(data['reviews'], function(key, value) {tmp = $('#itemRevTemp').clone();

$(tmp).find('.userName').text(value['id_user']);

$(tmp).find('.date').text(value['date']);

$(tmp).find('.userRat').text(value['rating']);

$(tmp).find('.revText').text(value['text']);+= $(tmp).html();

});

*/

$('.reviews').html(text);

} else {

$('.errBox').text('У сайта нет ни одной оценки');

$('.errBox').addClass('errShow');

}

}

});

});

$('#addRev').on('click', function(){

$('#listForm').toggleClass('listFormNone');

$('#listRev').toggleClass('listRevNone');

});

$('#backBtn').on('click', function(){

$('#listForm').toggleClass('listFormNone');

$('#listRev').toggleClass('listRevNone');

});

Данный код процедуры получения списка отзывов и оценок состоит из основной части, которая и отвечает за получение отзывов и части, которая работает, если данного веб-сайта ещё нет в нашей БД. Ниже представлен код данной процедуры.

$('.reviews').html(text);

} else {

$('.errBox').text('У сайта нет ни одной оценки');

$('.errBox').addClass('errShow');

}

}

});

Далее рассмотрим Backend-часть данного модуля. Код на языке php представлен ниже:

$(document).ready(function(){url;.tabs.getSelected(function(tab) {= tab.url;

$.ajax({: '#"justify">}provRating($db, $domen) {

$query_string = "SELECT * FROM rating INNER JOIN url ON url.id = rating.id_url WHERE url.url = '".$db->real_escape_string($domen)."'";

$result = mysqli_query($db, $query_string);

$rating = 0;

$reviews = [];

$count_rating = 0;($rating1 = $result->fetch_assoc()) {

$count_rating += 1;

$rating = $rating + (int)$rating1['rating'];

$reviews[] = $rating1;

}($rating != 0)

$rating = $rating/$count_rating;array('success' => true, 'rating' => $rating, 'count' =>$count_rating, 'reviews'=> $reviews);

}getDomenFromDB($db, $domen) {

$query_domen = "SELECT id FROM url WHERE url = '".$secure_domen."'";

$result_query = mysqli_query($db, $query_domen);

$result1 = false;($result = $result_query->fetch_assoc())

$result1 = $result['id'];(!$result1) {mysqli_query($db, "INSERT INTO url(url) VALUES('".$secure_domen."')");

$result_query = mysqli_query($db, $query_domen);

$result1 = false;($result = $result_query->fetch_assoc())

$result1 = $result['id'];

} return $result1;

}

Данный модуль содержит в себе три функции. Функция «getDomen» - необходима для получения домена веб-сайта, на котором находится пользователь, при чем данная функция построена таким образом, что она получает правильный домен страницы, если даже пользователь находится не на главной странице, а на каком-то ином уровне веб-сайта.

Функция «getDomenFromDB» - эта функция проверят, существует ли домен, по которому зарегистрирован данный веб-сайт в базе данных. Если домен существует, то функция выводит результаты по нему, а если нет, то добавляет его в базу данных.

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

Рассмотри frontend-часть данного модуля. Код данной части представлен ниже.

$('.userRev').on('click', function(){userText = $("#textre").prop("value");userRating;($("#star-0").prop("checked")){= 1;

}($("#star-1").prop("checked")){= 2;

}($("#star-2").prop("checked")){= 3;

}($("#star-3").prop("checked")){= 4;

}($("#star-4").prop("checked")){= 5;

} userID = "1";userData = new Date();revData = JSON.stringify({ textRev: userText, ratingRev: userRating, userRev:userID, urlRev:url, dataRev:userData });

$.ajax({: "POST",: "#"justify">data: revData,: function(msg){

console.log(msg + " " + revData); }

});

});

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

Рассмотрим Backend-часть данного модуля. Код данной процедуры представлен ниже.

function existReview($db, $user, $url) {

$result = mysqli_query($db, "SELECT r.id FROM rating AS r INNER JOIN users AS u ON u.id = r.id_user INNER JOIN url AS ur ON ur.id = r.id_url WHERE ur.id = ".(string)$url." AND u.id = ".(string)$user);(!$result)false;($result1 = $result->fetch_assoc())true;false;

}addRating($rating, $review, $url, $db) {

$rating = (int)$rating;(!$rating || !($rating >= 1 && $rating <= 5)) array('success' => false, 'error' => 'Поставьте оценку');

$user = 3;

$domen = getDomen($url);

$domen = $domen['domen'][0];($domen) {

$domen_id = getDomenFromDB($db, $domen);

} else return array('error'=>'Не указан домен', 'success' => false);(existReview($db, $user, $domen_id))array('error' => 'Сайт уже оценен вами', 'success' => false);_query($db, "INSERT INTO rating(id_url, text, rating, id_user) VALUES(".$domen_id.", '".$review."', ".(string)$rating.", ".$user.")");

return array('success' => true);

}

Данная процедура, на основе отправленного POST-запроса по средствам SQL-запроса собирает все данные и добавляет их в базу данных. Так же здесь предусмотрена защита от ошибок, когда не указан домен и если пользователь уже ранее оценивал данный сайт.

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

Процесс авторизации состоит из 4 этапов:

открытие окна браузера для аутентификации пользователя на сайте ВКонтакте;

разрешение пользователем доступа к своим данным;

передача сайту значения code для получения ключа доступа;

получение сервером приложения ключа доступа access_token для доступа к API ВКонтакте.часть данного модуля представлена ниже.

$.ajax({: "GET",: "#"justify">$('#addRev').css('display', 'inline-block');

$('#vk').css('display', 'none');

}

},: function() {} });

});

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

<?phperror_reporting(E_ALL);_set('display_errors', 1);_once('api_funcs.php');

$link = mysqli_connect('', 'lehavejt_rapi', 'devrapi2017');_select_db( $link, 'lehavejt_rapi');

$user = getUserOrCreate($link);($user)$_SESSION['userid'] = $user;

6. ЭКСПЕРИМЕНТАЛЬНОЕ ТЕСТИРОВАНИЕ И ОТЛАДКА

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

.1 Тестирование

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

Отображение отзывов и оценок в плагине осуществляется в первоначальном всплывающем окне плагина и на странице «Все отзывы».

Отображение отзывов и оценок в плагине для сайта «Yandex.ru» представлено на рисунке 6.1.

Рисунок 6.1 - Отображение отзыва и оценки в плагине

Отображение отзывов и оценок на странице «Все отзывы» представлено на рисунке 6.2.

Рисунок 6.2 - Отображение отзывов и оценок на странице «Все отзывы»

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

Далее необходимо протестировать функцию добавления отзывов и оценок. Добавление отзыва и оценки осуществляется в специальном окне. Форма добавления отзыва и оценки представлена на рисунке 6.3.

Рисунок 6.3 - Форма добавления отзыва и оценки

Затем необходимо проконтролировать, добавились ли отзыв и оценка в базу данных. Отображение отзыва и оценки в базе данных показано на рисунке 6.4.

Рисунок 6.4 - Добавление отзыва в БД

Следующим шагом является контроль отображения добавленного отзыва в плагине. Отображение добавленного отзыва в плагине представлено на рисунке 6.5.

Рисунок 6.5 - Отображение добавленного отзыва

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

Далее необходимо протестировать функцию авторизации пользователей. Её работа заключается авторизации пользователя в социально сети «ВКонтакте». Она осуществляется через специальную кнопку в правом верхнем углу. У неавторизированного пользователя нет возможности добавлять отзыв и оценку и на форме плагина отсутствует кнопка «Добавить отзыв». Данная ситуация изображена на рисунке 6.6.

Рисунок 6.6 - Отсутствие кнопки «Добавить отзыв»

После нажатия на данную кнопку пользователь переходит на специальную форму для захода в социальную сеть. Форма изображена на рисунке 6.7.

Рисунок 6.7 - Форма авторизации пользователя

После авторизации у пользователя появляется возможность добавлять отзыв и оценку, о чём говорит появление в плагине кнопки «Добавить отзыв». Данная ситуация изображена на рисунке 6.8.

Рисунок 6.8 - Наличие кнопки «Добавить отзыв»

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

.2 Руководство пользователя

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

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

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

Рисунок 6.9 - Иконка расширения

Затем пользователь может непосредственно перейти к использованию плагина. Для этого необходимо нажать левой кнопкой мыши на значок и появится первоначальная форма расширения. Она представлена на рисунке 6.10.

Рисунок 6.10 - Первоначальная форма расширения

Как видно по рисунку 6.10, если веб-сайт ещё никто не оценивал, то в окне расширения находится надпись «У сайта нет ни одной оценки».

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

Рисунок 6.11 - Кнопка авторизации «Вк»

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

Рисунок 6.12 - Форма добавления отзыва

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

Рисунок 6.13 - Отзыв пользователя

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

Страница все отзывы представлена на рисунке 6.14.

Рисунок 6.14 - Страница «Все отзывы»

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

7. ОЦЕНКА КАЧЕСТВА РАЗРАБОТАННОГО ПРОГРАММНОГО ПРОДУКТА

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

Различают следующие показатели качества программного продукта:

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

комплексный показатель качества - характеризует несколько свойств программы

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

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

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

Далее рассмотрим такой вопроса как эффективность программного продукта. Эффективностью программного продукта называют степень его приспособленности в выполнению стоящих перед ним задач.

Иерархия показателей эффективности изображена на рисунке 7.1.

Рисунок 7.1 - Иерархия показателей эффективности ПП

Рассмотрим показатели, представленные на рисунке 1.

Функциональные показатели работоспособности - характеризуют приспособленность программного продукта (ПП) к формальному преобразованию данных в искомых результат.

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

Рассмотрим функциональные показатели работоспособности:

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

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

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

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

рациональность - программа выполняет требуемые функции без излишних затрат ресурсов ПК;

время ответа - интервал времени с момента поступления входных данных до преобразованиях их в результат.

Далее рассмотрим эксплуатационные показатели работоспособности:

удобство усвоения - достигается благодаря хорошо оформленной документации;

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

приспособленность к анализу результатов - разработка специальных анализирующих программ;

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

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

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

Время ввода в эксплантацию - изменяется в широком диапазоне в зависимости от сложности программы и её способности к решению задач.

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

Процесс оценки включает в себя следующие этапы:

определение набора показателей;

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

определение экспертной оценки (ωi) для каждого показателя;

определение конкретной численной оценки (ri) для каждого показателя;

определение качества программного продукта (Q);

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

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


где n - число показателей;

- вес показателя.

Необходимо провести оценку показателей качества разработанного программного продукта. При определении конкретных числовых оценок показателей качества руководствовались таблицей 7.1. Описание оценок приведено в таблице 7.1.

Таблица 7.1 - Описание оценок программного средства

Значение оценкиОписание0 - 0,49Свойство в программном средстве присутствует, но его качество неприемлемо0,5 - 0,9Свойство в программном средстве присутствует, обладает приемлемым качеством0,91 - 1Свойство в программном средстве присутствует, обладает высоким качеством

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

Таблица 7.2 - Характеристика показателей программного средства

Показатели качестваСущность показателяЭкспертная оценкаЭкспериментальная оценкаНадежностьСвойство программы непрерывно сохранять работоспособность0,170,96ЭффективностьХарактеризует эффективность использования ПС0,150,98Время ответаХарактеризует то, насколько быстро программа отвечает на воздействие0,090,91РациональностьСвойство ПС, характеризующее затрачиваемые им ресурсы ПК0,030,97УниверсальностьСвойство программы работать не только в той системе, в которой она должна работать, но и в любой другой0,050,7ТочностьХарактеризует степень точности, с которой программа выполняет расчеты0,110,98Показатель назначенияХарактеризует способность программы выполнять назначенные функции0,150,99Удобство усвоенияХарактеризует степень усваиваемости программы пользователем0,050,97Время введения в эксплуатациюХарактеризует время, через которое программа будет введена в эксплуатацию0,040,85

Определим качество разработанного программного продукта.

Оно определяется по формуле:


где ωi - вес показателя качества; - экспериментальная оценка;- число показателей.

Воспользовавшись формулой (7.2) найдём качество разработанного продукта:


На основе данных таблицы 7.2 построим гистограмму распределения оценок по интервалам. Гистограмма распределения оценок по интервалам представлена на рисунке 7.2.

Рисунок 7.2 - Гистограмма распределения оценок по интервалам

ЗАКЛЮЧЕНИЕ

Целью данной работы является разработка плагина, формирующего рейтинг интернет-сайтов. Для этого была выполнена программная реализация плагина с использованием языков программирования HTML, CSS, PHP, JavaScript и написана пояснительная записка.

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

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

Далее было выполнено описание плагина средствами языка UML. Для этого были построены диаграмма вариантов использования, диаграммы деятельности, диаграмма классов и диаграмма последовательности. Для всех диаграмм было приведено описание.

Следующим шагом стала разработка модули баз данных. В ходе разработки были рассмотрены основные виды СУБД и выбран один из видов для плагина. Затем были рассмотрены такие вопросы как «Состав информационного обеспечения», «Функциональные зависимости реквизитов», «Соответствие описательных и ключевых реквизитов», «Связи информационных объектов», «Логическая модель данных», «Описание таблиц базы данных».

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

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

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

плагин рейтинг интернет сайт

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Фримен, Э. Изучаем программирование на JavaScript / Э. Фримен. - Санкт-Петербург: Питер, 2015.- 637 с.

Флэнаган, Д. JavaScript: подробное руководство / Д. Флэнаган. - Санкт-Петербург: Символ-плюс, 2006.- 1080 с.

Официальный магазин Google [Электронный ресурс]: офиц. сайт - Режим доступа: https://play.google.com/

Робсон, Э. Изучаем HTML и CSS / Э. Робсон. - Санкт-Петербург: Питер, 2016.- 720с.

Бронирование отелей [Электронный ресурс] - Режим доступа: https://www.booking.com/

Профессиональная веб-студия [Электронный ресурс] - Режим доступа: #"justify">Яндекс.Советник [Электронный ресурс]: офиц. сайт. - Режим доступа: https://sovetnik.yandex.ru/

Похожие работы на - Разработка плагина, формирующего рейтинг интернет-сайтов

 

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