|
@@ -0,0 +1,133 @@
|
|
|
+Министерство образования и науки Нижегородской области
|
|
|
+Государственное бюджетное профессиональное образовательное учреждение
|
|
|
+ <<Нижегородский Губернский колледж>>
|
|
|
+
|
|
|
+Методическая комиссия Информатика и вычислительная техника
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Допущен к защите:
|
|
|
+ преподаватель
|
|
|
+ __________Ю.С. Мамшева
|
|
|
+ <<___>>________2024 г.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ ТЕХНИЧЕСКОЕ ЗАДАНИЕ
|
|
|
+НА РАЗРАБОТКУ МОБИЛЬНОГО ПРИЛОЖЕНИЯ ДЛЯ РЕСТОРАНА
|
|
|
+по МДК 01.03 <<Разработка мобильных приложений>>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+Студент:_____________ Чернощекова А.Р. 02.10.2024
|
|
|
+ (подпись)
|
|
|
+Специальность, группа: 09.02.07, 41П
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Нижний Новгород
|
|
|
+ 2024
|
|
|
+ Мобильное приложение для ресторана охватывает множество аспектов, связанных с управлением клиентскими взаимодействиями и внутренними процессами заведения. Приложение предоставляет пользователям возможность просматривать меню, резервировать столики, управлять личным кабинетом, оставлять отзывы о заведении.
|
|
|
+ Клиенты могут зарегистрироваться в приложении, указав свои контактные данные и предпочтения, что позволяет создать персонализированный опыт. Также приложение должно уведомлять клиентов о статусе их бронирования - подтверждено оно или отменено.
|
|
|
+ Столики в ресторане имеют различные характеристики, такие как количество мест и статус (свободен или занят), что позволяет эффективно управлять загрузкой заведения. Персонал ресторана также взаимодействует с приложением: администраторы могут управлять бронированиями, изменять меню.
|
|
|
+ Приложение должно иметь систему оценок и отзывов, позволяя пользователям делиться своим опытом и помогать другим в выборе ресторана.
|
|
|
+ Важным аспектом является интеграция с системой управления ресторана, что позволяет синхронизировать данные о бронированиях, меню в реальном времени. Это обеспечивает актуальность информации и помогает избежать конфликтов в расписании.
|
|
|
+ Таким образом, мобильное приложение становится важным инструментом для повышения эффективности работы ресторана и улучшения клиентского опыта.
|
|
|
+ Актуальность:
|
|
|
+ Увеличение спроса на удобство: современные пользователи стремятся к максимальному удобству и скорости в повседневной жизни. Мобильные приложения позволяют быстро и без лишних усилий бронировать столики, что значительно улучшает клиентский опыт.
|
|
|
+ Рост популярности онлайн-бронирования: с увеличением числа пользователей смартфонов и доступности интернета, онлайн-бронирование стало стандартом в ресторанной индустрии. Приложение предоставляет пользователям возможность забронировать столик в любое время и из любого места.
|
|
|
+ Конкуренция на рынке: рынок ресторанов становится всё более конкурентным. Наличие мобильного приложения может стать значительным конкурентным преимуществом, позволяя привлечь новых клиентов и удержать существующих.
|
|
|
+ Эффективное управление резервациями: приложение упрощает процесс управления бронированиями как для клиентов, так и для ресторана. Это снижает вероятность ошибок и недоразумений, связанных с резервированием столиков.
|
|
|
+ Цель проекта:
|
|
|
+ Разработать интуитивно понятное мобильное приложение для ресторана, которое позволит пользователям легко бронировать столики, просматривать меню и получать актуальные предложения. Приложение должно повысить удобство взаимодействия с рестораном, увеличить количество бронирований и улучшить клиентский опыт, способствуя развитию бизнеса и укреплению лояльности клиентов.
|
|
|
+ Задачи проекта:
|
|
|
+ Разработка интуитивно понятного интерфейса.
|
|
|
+ Реализация функционала бронирования столиков.
|
|
|
+ Интеграция с системой управления рестораном.
|
|
|
+ Обеспечение безопасности пользовательских данных.
|
|
|
+ За разработку мобильного приложения для ресторана ответственен студент ГБПОУ <<Нижегородский Губернский колледж>> группы 41П специальности 09.02.07 Информационные системы и программирование Чернощекова Анастасия Романовна.
|
|
|
+ Выбор паттерна проектирования:
|
|
|
+ Существует несколько основных паттернов проектирования:
|
|
|
+ MVC (Model-View-Controller);
|
|
|
+ MVP (Model-View-Presenter);
|
|
|
+ MVVM (Model-View-ViewModel).
|
|
|
+ Рассмотрим преимущества и недостатки каждого из приведенного выше паттерна проектирования:
|
|
|
+ MVC (Model-View-Controller)
|
|
|
+Структура:
|
|
|
+ Model - управляет данными и бизнес-логикой;
|
|
|
+ View - отображает данные пользователю;
|
|
|
+ Controller - обрабатывает пользовательский ввод и взаимодействует с Model и View.
|
|
|
+ Преимущества:
|
|
|
+ Четкое разделение обязанностей;
|
|
|
+ Упрощает тестирование и поддержку.
|
|
|
+ Недостатки:
|
|
|
+ Может привести к сложному коду, если контроллеры становятся слишком большими.
|
|
|
+ Трудности при работе с двусторонней связью между View и Model.
|
|
|
+ MVP (Model-View-Presenter)
|
|
|
+Структура:
|
|
|
+ Model - аналогично MVC, управляет данными;
|
|
|
+ View - отображает данные и отправляет пользовательский ввод Presenter;
|
|
|
+ Presenter - логика управления, взаимодействует с Model и обновляет View.
|
|
|
+Преимущества:
|
|
|
+ Легче тестировать, так как Presenter можно тестировать независимо от View;
|
|
|
+ Четкая структура, где Presenter контролирует логику.
|
|
|
+Недостатки:
|
|
|
+ Может потребоваться больше кода для реализации, чем в MVC.
|
|
|
+ Взаимодействие между Presenter и View может быть сложным.
|
|
|
+ MVVM (Model-View-ViewModel)
|
|
|
+ Структура:
|
|
|
+ Model - управляет данными и бизнес-логикой;
|
|
|
+ View - отображает данные и связывается с ViewModel;
|
|
|
+ ViewModel - содержит логику представления, связывает Model и View, обеспечивает двустороннюю привязку данных.
|
|
|
+ Преимущества:
|
|
|
+ Двусторонняя привязка данных упрощает синхронизацию состояния между View и Model.
|
|
|
+ Упрощает тестирование, так как ViewModel можно тестировать независимо от UI.
|
|
|
+ Легче реализовывать сложные пользовательские интерфейсы с использованием реактивного программирования.
|
|
|
+ Недостатки:
|
|
|
+ Может быть сложнее для понимания, особенно для новичков.
|
|
|
+ Необходимость в дополнительных библиотеках для реализации привязки данных.
|
|
|
+ Для разработки мобильного приложения для ресторана был выбран паттерн проектирования MVVM, так как позволяет легко синхронизировать данные между Model и View без необходимости вручную обновлять каждый элемент интерфейса. ViewModel может содержать всю логику, связанную с представлением, что делает код более читаемым и понятным. Также данный паттерн хорошо сочетается с реактивными библиотеками, что позволяет создавать более отзывчивые приложения. При этом упрощается процесс тестирования, так как ViewModel можно тестировать без взаимодействия с UI.
|
|
|
+ Функциональные требования:
|
|
|
+ Регистрация и авторизация пользователей:
|
|
|
+ Возможность регистрации через email, номер телефона или социальные сети.
|
|
|
+ Восстановление пароля.
|
|
|
+ Управление личным кабинетом пользователя:
|
|
|
+ Редактирование личных данных.
|
|
|
+ Просмотр истории бронирований.
|
|
|
+ Просмотр меню:
|
|
|
+ Отображение актуального меню ресторана с описанием блюд и ценами.
|
|
|
+ Фильтрация по категориям (закуски, десерты, напитки и т.д.).
|
|
|
+ Бронирование столиков:
|
|
|
+ Выбор даты и времени бронирования.
|
|
|
+ Просмотр доступных столиков (с возможностью выбора конкретного места).
|
|
|
+ Подтверждение бронирования с отображением деталей (дата, время, количество человек).
|
|
|
+ Управление бронированиями:
|
|
|
+ Возможность просмотра активных бронирований.
|
|
|
+ Функция изменения или отмены бронирования.
|
|
|
+ Отзывы и рейтинги:
|
|
|
+ Возможность оставлять отзывы о посещении ресторана.
|
|
|
+ Специальные предложения и акции:
|
|
|
+ Информация о текущих акциях и специальных предложениях.
|
|
|
+ Нефункциональные требования:
|
|
|
+ Производительность:
|
|
|
+ Быстрая загрузка страниц и данных.
|
|
|
+ Минимальное время отклика при взаимодействии с приложением.
|
|
|
+ Безопасность:
|
|
|
+ Шифрование данных пользователей.
|
|
|
+ Защита от несанкционированного доступа.
|
|
|
+ Удобство использования:
|
|
|
+ Интуитивно понятный интерфейс.
|
|
|
+ Адаптивный дизайн для различных устройств.
|
|
|
+Для реализации мобильного приложения был выбран язык программирования Kotlin и Supabase, в качестве серверной части приложения и базы данных.
|
|
|
+Язык программирования Kotlin является официальным языком разработки для Android, что обеспечивает полную поддержку всех функций и библиотек платформы. Также предлагает более лаконичный и выразительный синтаксис, что сокращает объем кода и снижает вероятность ошибок. А поддержка функционального программирования, расширяемых функции делает разработку более гибкой и удобной.
|
|
|
+Supabase - это альтернатива Firebase, основанная на PostgreSQL, которая предоставляет множество функций для работы с данными, включая SQL-запросы, что упрощает работу с реляционными данными. Supabase легко интегрируется с мобильным приложением, предоставляя RESTful API и возможность работы в реальном времени через подписки. Встроенные механизмы аутентификации и авторизации позволяют быстро настроить безопасный доступ к данным пользователей. Supabase предоставляет удобные инструменты для управления базой данных через веб-интерфейс, а также возможность создания миграций и управления схемами данных.
|
|
|
+Выбор Kotlin для разработки мобильного приложения на Android в сочетании с Supabase в качестве базы данных создает гибкую архитектуру. Это позволяет эффективно управлять данными, обеспечивать высокую производительность и безопасность, а также ускорять процесс разработки.
|
|
|
+
|