7. Удаление продукта:
Для удаления класса из структуры была написана функция delete_product (см. Рис. 14).
В неё передаётся id продукта, который нужно удалить.
Рисунок 14 – Удаление продукта
Просмотр подграфа:
Для просмотра получившегося классификатора была написана функция delete_product (см. Рис. 15).
В неё передаётся глубин, с которой начнёт свой вывод функция. 1 – с корня. Для полного просмотра графа необходимо ввести 1.
Рисунок 15 – Просмотр подграфа. Код
Тестирование процедур.
1. Добавление данных в таблицы:
Сначала была добавлена ЕИ: штуки. Следующим кодом (см. Рис. 16).
Рисунок 16 – Добавление ЕИ. Код
Рисунок 17 – Результат работы кода
Затем были добавлены классы (см. Рис. 18-19).
Рисунок 18 – Добавление классов
Рисунок 19 – Результат работы кода
Далее были добавлены продукты. (см. Рис. 20)
Рисунок 20 – Добавление продуктов
Рисунок 21 – Результат добавления продуктов
2. Просмотр подграфа
Для просмотра подграфа был написан код, представленный на рисунке ниже (см. Рис.22)
Рисунок 22 – Просмотр подграфа
Рисунок 23 – Результат вывода подграфа
3. Смена родителя класса
Для проверки кода смены родителя класса сменим родителя класса Фэнтези с Книг на Приключения.
Рисунок 24 – Код для смены класса
Рисунок 25 – Результат работы кода
4. Смена класса продукта.
Для тестирования этой функции заменим класс книги «Кровь эльфов» с Фэнтези на Приключения.
Рисунок 26 – Смена класса продукта
Рисунок 27 – Результат смены класса продукта
5. Удаление продукта:
Для проверки функции удаления продукта удалим «Красное божество».
Рисунок 28 – Удаление «Красного божества»
Рисунок 29 – Результат удаления
6. Удаление класса из классификатора:
Для тестирования этой функции удалим четвёртый класс «Приключения». Вместе с ним должны удалиться и продукты, которые принадлежат этому классу.
Рисунок 30 – Удаление четвёртого класса
Рисунок 31 – Результаты удаления в таблице классов
Рисунок 32 – Результат удаления в таблице продуктов
Создание пользовательского интерфейса.
Для написания программы по созданию пользовательского интерфейса была использована среда разработки Qt Creator (язык программирования – С++).
Данный интерфейс позволяет взаимодействовать с базой данных от имени администратора или от имени обычного пользователя. Каждый из видов пользователей имеет свой уровень доступа к возможностям по управлению БД. Для обеспечения такого доступа используется система авторизации "логин-пароль".
Сам интерфейс выглядит следующим образом (см. рис. 33):
Рисунок 33 – Интерфейс программы (для администратора)
Если войти под логином "user", то большая часть функций будет не доступна (см. рис. 34).
Рисунок 34 - Интерфейс программы (для пользователя)
Интерфейс программы позволяет выполнять те же функции, которые выполнялись в PostgeSQL. От пользователя требуется лишь ввести необходимые для управления данные.
Приведём примеры работы программы:
Рисунок 35 – Отображение продуктов
Рисунок 36 – Отображение классов
Рисунок 37 – Отображение родителей класса
Рисунок 38 – Отображение потомков класса
Рисунок 39 – Попытка отобразить продукты нетерминального класса
Рисунок 40 – Отображение продуктов конкретного класса
Рисунок 41 – Добавление класса
Рисунок 42 – Попытка добавить уже существующий класс
Рисунок 43 – Добавление продукта
Рисунок 44 – Результат добавления класса
Рисунок 45 – Результат добавления продукта
Рисунок 46 – Выбираем продукт для на удаление
Рисунок 47 – Удаление выбранного продукта
Рисунок 48 – Результат удаления выбранного продукта
Вывод.
В данной работе с помощью классификатора была создана и реализована модель предметной области «Книги». Реализация произведена в базе данных PostgreSQL. Проведено тестирование, показывающее корректную работу реализованных функций для работы с данными.
Также был создан интерфейс программы для пользовательского взаимодействия с базой данных. Проведены тесты работы программы и установлена корректность работы программы.