На данной диаграмме изображены два действующих лица: Пользователь и Администратор. У каждого из актеров свои роли, и они выполняют разные действия.
Рассмотрим варианты использования, доступные пользователю. Согласно
диаграмме пользователю доступны такой вариант взаимодействия с системой, как
«Просмотр отзывов». Это самое простое действие, которое пользователь совершает,
открыв окно расширения в своём браузере. Следующий вариант похож на предыдущий,
но при данном действии пользователю будет доступен более широкий спектр отзывов
и инфографика оценок других пользователей. Вариант использования «Авторизация»
требует от пользователя авторизоваться в данной системе через какую-либо из
социальных сетей. Это необходимо для того, чтобы у пользователя была
возможность воспользоваться следующими двумя вариантами «Оценивание» и
«Оставление отзыва». Данные действия подразумевают непосредственное участие
пользователя в оценивании работы ресурса, на котором от находится путём
выставления оценки от 1 до 5 и оставления отзыва, в котором пользователь
отражает своё мнение о работе веб-сайта.
Диаграммы деятельности предназначены для отображения некоторого вида деятельности внутри системы в виде составных частей этой деятельности. Такие диаграммы обычно используются для моделирования технологических и бизнес-процессов.
При построении данной диаграммы используются последовательно расположенные фигуры, соединенные стрелками. Действия изображаются в виде прямоугольников с закруглениями, в виде ромбов решения, у которых может быть только 2 исхода: «Yes» или «No» (Да или Нет). Начало процесса изображается в виде черного круга, а конец в виде черного круга с обводкой. Стрелки идут от начала к концу действия.
Диаграмма деятельности для разработанного плагина представлена на рисунке
3.2.
Рисунок 3.2. Диаграмма деятельности для просмотра оценок
Изображенная диаграмма демонстрирует каким образом пользователь может просмотреть отзывы и оценки. Как видно по рисунку для того, чтобы пользователь смог просмотреть оценки, сайт уже должен быть оценён. В том случае, если оценок нет, то просматривать будет нечего, и пользователь может стать первым, кто оставит отзыв и поставит оценку.
Диаграмма деятельности для выставления оценки и оставления отзыва представлена на рисунке 3.3.
Рисунок 3.3. Диаграмма деятельности для оставления отзыва и оценки
На данной диаграмме изображено, каким образом пользователь выставляет
оценку и оставляет отзыв. Как видно по рисунку, действия «Оставление отзыва» и
«Выставление оценки» выполняются параллельно, то есть одновременно.
На диаграмме классов изображаются все основные классы разрабатываемой системы, их атрибуты, методы и взаимодействия между ними. Объекты диаграммы изображаются в виде прямоугольников, которые имеют три уровня. На верхнем уровне полужирным шрифтом и выравниванием по центру пишется имя класса. На среднем уровне нежирным шрифтом и с выравниванием по левой стороне записываются атрибуты класса, каждый с новой строки. На нижнем уровне в таком же стиле записываются методы класса.
Диаграмма классов для плагина представлена на рисунке 3.4.
Рисунок 3.4. Диаграмма классов
На данной диаграмме изображено 3 класса, которые взаимодействуют через графический интерфейс. Рассмотрим каждый класс в отдельности.
Класс «Отзывы» содержит в себе такие атрибуты как: «Номер», «Текст», «Автор», «Дата», «Оценка», а также два метода «Добавление» и «Удаление». Данный класс используется вывода списка отзывов и оценок с указанием их автора и даты.
Класс «Пользователь» содержит в себе следующие атрибуты: «Номер», «Идентификатор», «ТипСистемы» и такие методы как «Оценивание», «ОставлениеОтзыва», «Авторизация». Данный класс отвечает за авторизацию пользователей в системе и за возможность пользователя оставлять отзыв и выставлять оценку.
Класс «Адрес сайта» имеет такие атрибуты как: «Номер», «ЭлекронныйАдрес»
и методы «ДобавлениеВбазуДанных» и «УдалениеИзБазыДанных». Этот класс отвечает
за отображение электронного адреса веб-сайта (URL) и за присваивание этому сайту оценок и отзывов.
Диаграммы последовательности описывают поведенческие аспекты разработанной системы. Такая диаграмма особенности передачи и получения сообщений во времени, порядок действий и ответов.
Основными элементами данной диаграммы являются объекты, изображающиеся в виде прямоугольников с соответствующими подписями, вертикальные линии («линии жизни»), которые в свою очередь показывают течение времени, прямоугольники, располагающиеся на «линиях жизни», отображающие выполнение объектом определенного действия и стрелки, которые показывают обмен сообщениями между объектами.
Диаграмма последовательности для разработанного плагина представлена на
рисунке 3.5.
Рисунок 4. Диаграмма последовательности
На данной диаграмме изображено действующее лицо - Пользователь. Он взаимодействует с графическим интерфейсом плагина, отправляя ему следующие сообщения: «просмотрОтзыва( )», «просмотрОценки( )», «просмотрВсехОтзывовИоценок( )», «авторизация( )», «оставлениеОтзываИоценки( )».
Графический интерфейс в свою очередь отвечает на запросы пользователя, путем получения ответных сообщений от объектов: «Отзывы», «Адреса сайтов», «Авторизация».
На «линии жизни» объекта графический интерфейс можно увидеть последовательность, с которой отправляются сообщения и приходят ответы.
сайт архитектура плагин программный
4. Разработка модели баз данных
Рассмотрим тип системы управления базой данный (СУБД) для разработанного плагина. При разработке использовалась система управления базами данных MySQL. Ниже рассмотрим специфику данной системы и сравним её с другими популярными средствами разработки, такими как SQLite.
MySQL - это одна из самых популярных систем управления БД, является полноценной серверной СУБД [8]. Данная система имеет большой функционал и работает с огромным количеством веб-сайтов и приложений. Обучится работе с данной системой достаточно просто, ведь в сети Интернет доступно множество материалов по её изучению. Несмотря на то, что в данной СУБД не реализованы все возможности SQL, MySQL позволяет пользоваться множеством средств для разработки сайтов, плагинов и приложений.
К преимуществам MySQL можно отнести такие показатели как простота и функциональность. Установить данную систему не так уж сложно, а графический интерфейс еще больше упрощает работу пользователя, но этот фактор никак не влияет на функциональность, так как данная СУБД поддерживает большинство возможностей языка SQL. Еще стоит отметить, что относительная простота MySQL ни коим образом не влияет на безопасность и производительность.
Далее рассмотрим такую СУБД как SQLite. Данная система является встраиваемой, то есть она не использует модель клиент-сервер, а просто предоставляет библиотеку, с которой взаимодействует приложение. В SQLite реализована динамическая типизация данных. К преимуществам SQLite можно отнести компактность, вся БД является одним файлом, поэтому она легко переноситься с одного устройства на другое.
Следующей СУБД достойной внимания является PostgreSQL. Данная система является свободной объектно-реляционной СУБД. Она поддерживает такие платформы, как Microsoft Windows, Unix-подобные платформы, macOS и многие другие. К сильным сторонам данной системы можно отнести легкую расширяемость, высокую производительность, множество встраиваемых языков программирования, наследование. К недостаткам относится невысокая производительность при операциях чтения. Данная СУБД очень мощная, но не настолько популярна, как MySQL из-за небольшого числа хостов, поддерживающих данный продукт.
Нельзя оставить без внимания такую системы управления базами данных, как Oracle. Данная система уже многие годы находится на ведущих ролях в сфере управления базами данных. Продукты компании Oracle давно зарекомендовали себя, как безопасные, надежные и высокопроизводительные. СУБД Oracle поддерживает работу с множеством платформ, к самым распространенным из них относятся: Windows, macOS, LINUX. Так же данная система поддерживает самоуправление, что позволяет самостоятельно распределять нагрузку на систему, корректировать SQL-запросы, прогнозировать ошибки. Ещё одним преимуществом СУБД Oracle является большой размер базы данных, он может достигать восьми экзабайт.
В результате рассмотрения самых популярных СУБД для работы с базой данных
на сервере было принято решение использовать систему управления базами данных MySQL. Такое решение оправдано простотой
использования данной системы и большим объемом данных, которые данная система
способна обрабатывать.
В данном разделе представлен процесс разработки базы данных, использованной при проектировании плагина. Для более полного, точного и понятного описания данной базы данных здесь рассмотрены такие вопросы как «Состав информационного обеспечения», «Функциональные зависимости реквизитов», «Соответствие описательных и ключевых реквизитов», «Связи информационных объектов», «Логическая модель данных», «Описание таблиц базы данных».
Состав информационного обеспечения представлен в таблице 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 rating |
id_rev id_url id_user id_rev id_rev id_rev |
П., У. П., У. П., У. П., У. П., У. П., У. |
Рейтинг |
|
Документ «Пользователи» |
|||
|
id_user external_id type_system |
id_user external_id type_system |
id_user external_id type_system |
id_user external_id type_system |
|
Документ «Адрес сайта» |
|||
|
id_url url |
id_url url |
id_url url |
id_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 |
|
Представленная выше база данных непосредственно используется при работе плагина. В этом же разделе рассмотрим возможную модернизацию данной БД для возможности комплексного оценивания сайтов с использованием категорий сайтов и показателей в этих категориях.
В данной базе данных будут следующие изменения: добавляются два новых объекта «Категории» и «Показатели». Они необходимы для реализации комплексных оценок, т.е. для выбора категории и оценки по каждому показателю, при чем каждая категория имеет свои показатели. Так же для связи информационных объектов в таблицу «Адреса сайтов» необходимо внести дополнительное поле «id_cat» (Код категории).