Добавлен: 18.05.2023
Просмотров: 421
Скачиваний: 4
СОДЕРЖАНИЕ
1. Техническое задание и выбор средств реализации.=
2. Описание модулей серверной части программы и их взаимодействие.
2.1. Описание пользовательской части
2.1.1. Структура пользовательской части промо-сайта
2.1.2. Основные программные модули
2.2. Описание административной части
2.2.1. Структура административной части промо-сайта
2.1.2. Основные программные модули
3. Описание структуры базы данных и ее функций
3.1. Описание структуры базы данных
3.2. Пользовательские функции и запросы к базе данных
4. Описание структуры клиентской части
4.1. Описание интерфейса «Обычный пользователь»
4.2 Описание интерфейса «Администратор»
4.3.1. Инструкция простого пользователя
В проекте используется реляционные (связанные между собой) таблицы базы данных. Например, каждый товар имеет свою одну категорию. В это же время одна категория содержит в себе много товаров. Такой тип связи называется «один-ко-многим».
Далее рассмотрим тип связи «многие-ко-многим». В нашем проекте есть и такой тип связи. Один заказ может содержать много товаров. Один товар может быть соотнесен к многим заказам. Чтобы реализовать подобный тип связи, необходимо создать третью таблицу-связку, которая будет содержать в одной записи код товара и код заказа.
На данном этапе пришло время создать ER-модель базы данных. Она будет содержать в себе все таблицы и ключевые связи между ними, которые были описаны выше.
Данная ER-диаграмма представлена на Диаграмма 5.
Диаграмма 5 – ER-диаграмма базы данных проекта
Дамп базы данных проекта доступен в приложении Б.
3.2. Пользовательские функции и запросы к базе данных
В данном разделе будут рассмотрены основные пользовательские функции, которые работают с таблицами базы данных.
Вся работа админпанели построена на принципе CRUD (от сочетания английских слов «create» , «read», «update», «delete»). Это основные функции работы с таблицами – создание, просмотр, редактирование и удаление записей.
Функция index в каждом модуле административной части отвечает за просмотр всех записей в таблице.
Тип запроса к таблице базы данных, применяемый в этой функции – SELECT.
Вот пример запроса к таблице категорий:
SELECT id, name, image, (SELECT name FROM category WHERE id = C.parent_id) AS parent_id FROM category AS C WHERE 1 ORDER BY id
Интересно отметить, что здесь применяется так называемый вложенный SELECT, т.е. в данном запросе, кроме идентификатора, наименования, имени файла изображения мы получаем еще и имя родительской категории благодаря ключевому полю и связям.
Функции updateform и update в каждом модуле административной части отвечает за редактирование всех записей в таблице.
Функция updateform c входным параметром id применяет SELECT-запрос, доставая из таблицы запись с идентификатором id. В ней создается форма ввода данных, заполненная из таблицы. Данные можно редактировать и отсылать на сервер для обработки функцией update посредством POST-запроса.
Функция update обрабатывает POST-запрос и сохраняет данные в таблице
Тип запроса к таблице базы данных, применяемый в этой функции – UPDATE.
Вот пример запроса к таблице категорий:
Функция insertform вызывает updateform без параметров, и тем самым создается пустая форма ввода для создания новой категории, которая передает управление функции insert.
UPDATE category SET name = 'Бытовая техника', parent_id = '1', image = 'uploads/cat1.jpg' WHERE id=2
Функция insert обрабатывает POST-запрос и создает новую запись в таблице
Тип запроса к таблице базы данных, применяемый в этой функции – INSERT.
Вот пример запроса к таблице категорий:
INSERT INTO category (name, parent_id, image) VALUES (‘Новая категория’, 1, ‘myimage.jpg’)
Функция delete удаляет запись из таблицы по идентификатору
Тип запроса к таблице базы данных, применяемый в этой функции – DELETE.
Вот пример запроса к таблице категорий:
DELETE FROM category WHERE id = 10
В приложении А находится листинг программного модуля Category.php с программным кодом, содержащим вышеупомянутые функции.
4. Описание структуры клиентской части
В данном разделе будет рассмотрена структура клиентской части промо-сайта. К клиентской части относится та часть сайта, которая отображается с помощью HTML-кода в браузере пользователя.
4.1. Описание интерфейса «Обычный пользователь»
Главная страница сайта имеет следующую структуру (см. Рисунок 2):
Рисунок 2 – Структура главной страницы сайта
Визуально она выгдядит следующим образом (cм. Рисунок 3):
На главной странице подключается блок меню, блок слайдера, блок последних поступлений, блок новостей и футер.
Остальные страницы имеют структуру, показанную на Рисунок 4.
Далее будет рассмотрен структура каталога. Внешний вид каталога (список категорий) изображен на Рисунок 5.
Рисунок 3 – Внешний вид главной страницы сайта
Рисунок 4 – Структура остальных страниц, кроме главной
Рисунок 5 - Каталог (список категорий)
Содержимое категории (список товаров выглядит, как показано на Рисунок 6)
Рисунок 6 – Список товаров в категории
Нажав на гиперссылку в карточке товара, пользователь попадает на страницу товара (см. Рисунок 7).
Рисунок 7 – Страница товара
Пользователь может поместить товар в корзину, нажав на ссылку «В корзину». Он получает соответствующее уведомление.
В меню пользователя со статусом «Пользователь» имеется вкладка «Кабинет». Его функции будут рассмотрены в разделе «Инструкция пользователя». Также там будет рассмотрена работа с корзиной и оформление заказа.
4.2 Описание интерфейса «Администратор»
Внешний вид страниц сайта для пользователя со статусом «Администратор» ничем не отличается, за исключением того, что у администратора вместо ссылки «Кабинет» в меню стоит ссылка «Админпанель».
Функции админпанели будут рассмотрены в разделе «Инструкция пользователя».
4.3. Инструкция пользователя
4.3.1. Инструкция простого пользователя
Авторизация.
Авторизация пользователя доступна по ссылке «Войти» -> «Войти». Форма авторизации выглядит следующим образом (см. Рисунок 8):
Рисунок 8 – Форма авторизации
Заполните корректно все поля и нажмите «Войти».
Регистрация.
Регистрация пользователя доступна по ссылке «Войти» -> «Зарегистрироваться». Форма регистрации выглядит следующим образом (см. Рисунок 9):
Рисунок 9 – Форма регистрации
Заполните корректно все поля и нажмите «Зарегистрироваться».
Восстановление пароля
Восстановление пароля пользователя доступно по ссылке «Войти» -> «Войти» -> «Забыл пароль». Форма восстановления выглядит следующим образом (см. Рисунок 10):
Рисунок 10 – Форма восстановления пароля
Заполните корректно поле «E-mail» и нажмите «Восстановить». На Вашу почту придет письмо с новым паролем.
Изменение пароля.
Пользователю и администратору доступна функция «Изменить пароль» в кабинете и админпанели соответственно.
Форма изменения пароля схожа с формой регистрации и имеет всего два доступных для редактирования поля.
Изменение пароля пользователя доступно в кабинете или админпанели по ссылке «Изменить пароль». Форма изменения пароля выглядит следующим образом (см. Рисунок 11):
Рисунок 11 – Форма изменения пароля
Заполните корректно все поля и нажмите «Обновить».
Корзина пользователя.
После добавления товара на странице товара, он попадает в корзину. Корзина доступна по нажатию на значок корзины в меню. Внешне корзина выглядит следующим образом (см. Рисунок 12).
Рисунок 12 – Корзина товаров
Здесь пользователь может редактировать содержимое корзины (удалять товары, изменять количество).
Когда корзина отредактирована, можно переходить к оформлению заказа. Форма оформления заказа доступна по нажатию на ссылку «Оформить заказ» и выглядит следующим образом (см. Рисунок 13).
Рисунок 13 – Форма оформления заказа
Заполните корректно все поля, в поле «Комментарий» Вы можете ввести свой адрес, и отправьте форму.
После заполнения формы оформления заказа данные о заказе попадают в базу данных и доступны администратору в админпанели.
4.3.2. Инструкция администратора
Функции администратора гораздо шире, чем функции простого пользователя. Администратору доступно редактирование всей информации, доступной на сайте.
Админпанель предоставляет возможность редактирования следующих сущностей:
- Меню (просмотр, редактирование, создание, удаление);
- Категории (просмотр, редактирование, создание, удаление);
- Товары (просмотр, редактирование, создание, удаление);
- Новости (просмотр, редактирование, создание, удаление);
- Слайды (просмотр, редактирование, создание, удаление);
- Заказы (просмотр, завершение);
- Пользователи (удаление, редактирование, изменение роли);
Операции CRUD (просмотр, редактирование, создание, удаление) выполняются аналогично для всех сущностей, поэтому будет рассмотрена одна сущность как пример.
Просмотр списка товаров.
Как было сказано выше, за отображение списка товаров в таблице отвечает функция index каждого модуля админпанели.
Таблица товаров выглядит следующим образом (см. Рисунок 14):
Рисунок 14 – Таблица товаров
Для удаления товара необходимо нажать на крестик в соответствующей строке и подтвердить удаление. Для редактирования необходимо нажать на карандаш. Будет доступна форма, показанная на Рисунок 15.
Рисунок 15 – Форма редактирования товара
Заполните корректно все поля и нажмите «Сохранить изменения».
Добавление нового товара доступно по ссылке «Добавить новый». Будет доступна форма, показанная на , но с пустыми полями.
Заполните корректно все поля формы и нажмите «Добавить».
Обработка заказов.
Работа с заказами отличается от стандартной процедуры CRUD. Ведь заказы создает пользователь. Поэтому создание заказов в админпанели не предусмотрено, как и редактирование и удаление.
Таблица заказов показана на Рисунок 16.
Рисунок 16 – Таблица заказов
Администратор может лишь завершить заказ, нажав «Завершить». Также для заказов предусмотрен просмотр товаров, помещенных в заказ. Он доступен по ссылке «Товары» в строке заказа и выглядит, как показано на Рисунок 17.
Рисунок 17 – Подробности заказа
Отличается от стандартной процедуры CRUD и обработка данных о пользователях. Пользователь регистрирует (добавляет) себя сам. Таблица пользователей представлена на Рисунок 18.
Рисунок 18 – Таблица пользователей
Администратор может изменить роль пользователя на администратора и наоборот, нажав на аватар в соответствующей строке.
ЗАКЛЮЧЕНИЕ
В процессе написания курсовой работы и разработки программного обеспечения согласно техническому заданию были сделаны следующие выводы:
- современная торговая компания для успешного выполнения своей деятельности нуждается в использовании передовых компьютерных технологий;
- для успешного внедрения технологий необходима профессиональная разработка промо-сайта компании;
- промо-сайт торговой компании – это очень важный элемент ведения бизнеса;
- грамотное создание и управление информационным промо-сайтом компании приносит большую прибыль;