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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Состав информационного обеспечения для модернизированной базы данных представлен в таблице 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


Категории

Код категории Имя категории

id_cat name_cat


Показатели

Код показателя Код категории Имя показателя

id_ind id_cat name_ind



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

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

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

Описательные реквизиты

Ключевые реквизиты

Вид ключа

Имя ИО, включающего реквизит

Документ «Рейтинг»

id_rev id_url id_user text date rating

id_rev id_url id_user id_rev id_rev id_rev

П., У. П., У. П., У. П., У. П., У. П., У.

Рейтинг

Документ «Пользователи»

id_user external_id type_system

id_user id_user id_user

П., У. П., У. П., У.

Пользователи

Документ «Адрес сайта»

id_url url id_cat

id_url id_url id_cat

П., У. П., У. П., У.

Адрес сайта

Документ «Категории»

id_cat name_cat

id_cat id_cat

П., У. П., У.

Категории

Документ «Показатели»

id_ind id_cat name_ind

id_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-часть - отвечает за отображение элементов плагина в браузере. В данной части создаётся пользовательский графический интерфейс плагина. За разработку Frontend-части отвечают такие средства, как HTML, CSS, JavaScript [2].

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

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

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

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

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

success: function(data) {

if(data['rating'] != 0) {

$('#avgRating').text(data['rating']);

var text = "";

for(var i = 0; i <= 2; i++){

var 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);

text += $(tmp).html();

}

/* old version create GIU reviews

$.each(data['reviews'], function(key, value) {

var 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']);

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(){

var url;

chrome.tabs.getSelected(function(tab) {

url = tab.url;

$.ajax({

url: '#"897368.files/image028.jpg">

Рисунок 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. Наличие кнопки «Добавить отзыв»

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

6.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. Оценка качества разработанного программного продукта

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

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

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

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

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

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

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