فهرست منبع

docs: добавлен документ Цели и задачи

k1rakato 2 ماه پیش
والد
کامیت
f2371c6516
1فایلهای تغییر یافته به همراه108 افزوده شده و 0 حذف شده
  1. 108 0
      Documents/Цели и задачи.docx

+ 108 - 0
Documents/Цели и задачи.docx

@@ -0,0 +1,108 @@
+Министерство образования и науки Нижегородской области
+Государственное бюджетное профессиональное образовательное учреждение
+      <<Нижегородский Губернский колледж>>
+                                       
+                                       
+                                       
+                                       
+                                       
+                                       
+                                       
+                                       
+                         Допущен к защите:
+                         преподаватель
+                         __________ Ю.С. Мамшева
+                         <<___>>________2024 г.
+                                                     
+                                       
+                                       
+                                       
+    <<Приложение для садоводства TomatoAndPotato>>
+                                       
+                           ДОКУМЕНТАЦИЯ
+по <<МДК 01.03 Разработка мобильных приложений>>
+                                       
+
+Студент:_____________И.А. Большаков					25.09.2024
+		     (подпись)
+
+Специальность, группа: 09.02.07, 41П
+                                       
+                                       
+                                       
+                                       
+                                       
+                                       
+                                       
+                                       
+                                       
+                                       
+                                       
+                                       
+                                       
+
+                         Нижний Новгород
+                                     2024
+ ЦЕЛИ СОЗДАНИЯ МОБИЛЬНОГО ПРИЛОЖЕНИЯ ДЛЯ САДОВОДСТВА
+   К целям создания мобильного приложения для людей выращивающих разные виды растительных культур относятся: 
+ Упрощение процессов выращивания растений: Автоматизация и предоставление инструментов для планирования, учета и ухода за растениями на разных стадиях роста.
+ Повышение урожайности и эффективности ухода: Помощь в оптимизации времени и ресурсов для достижения максимальных результатов в процессе выращивания.
+ Обучение и поддержка пользователей: Предоставление справочной информации, руководств, советов по агротехнике, специфике культур и борьбе с вредителями.
+ Экологическая осведомленность: Привлечение внимания к устойчивым практикам выращивания и сохранению природных ресурсов.
+   Для достижения поставленных целей, также необходимо выполнить ряд следующих задач:
+ База данных по растениям:
+ Создание каталога растений с подробным описанием особенностей выращивания и ухода.
+ Инструменты для внесения и отслеживания характеристик выбранных культур.
+ Аналитика и учет:
+ Ведение журнала наблюдений за ростом растений.
+ Рекомендации по агротехнике:
+ Предоставление пользователю персонализированных рекомендаций по уходу на основе выбранных культур и условий выращивания.
+ Информация о совместимости культур, предупреждения о возможных проблемах.
+ Экологические советы:
+ Пропаганда устойчивого использования ресурсов, рекомендаций по органическому выращиванию и снижению негативного воздействия на окружающую среду.
+   
+ ВЫБОР ПАТТЕРНА ПРОЕКТИРОВНИЯ 
+   Паттерны проектирования  -  это переиспользуемые архитектурные решения, предназначенные для решения типовых проблем, возникающих в процессе проектирования и разработки программного обеспечения. Они являются шаблонами, описывающими определенные способы организации классов. Паттерны проектирования используются для достижения определенных целей, таких как улучшение гибкости, расширяемости, переносимости кода. Паттерны также обеспечивают возможность повторного использования кода.
+   При разработки мобильного приложения будет использован MVVM  -  паттерн, позволяющий разделить приложение на три функциональные части (рисунок 1): 
+ Model - основная логика программы (работа с данными, вычисления, запросы и так далее).
+ View - вид или представление (пользовательский интерфейс).
+ ViewModel - модель представления, которая служит прослойкой между View и Model.
+                                       
+                  Рисунок 1 - MVVM  -  паттерн 
+
+   MVVM (Model-View-ViewModel)  --  это шаблон проектирования, используемый в мобильной разработке для разделения логики приложения, представления и данных. В MVVM приложении View отвечает за отображение данных на экране, ViewModel обрабатывает логику приложения и предоставляет данные для View, а Model занимается обработкой данных и бизнес-логикой.
+   Плюсы использования MVVM в мобильной разработке:
+ Разделение ответственности: разделение логики приложения, представления и данных облегчает тестирование и разработку.
+ Возможность тестирования: MVVM обеспечивает возможность написания автоматических тестов для ViewModel и Model, что помогает обнаруживать ошибки и проблемы на ранней стадии разработки.
+ Улучшенная поддержка жизненного цикла: ViewModel сохраняет своё состояние при изменении конфигурации экрана, уменьшая затраты на повторную загрузку данных и улучшая производительность.
+ Использование Data Binding: MVVM позволяет использовать Data Binding для упрощения связывания данных между View и ViewModel, сокращая количество кода.
+ Чистый код: разделение логики приложения на отдельные слои упрощает чтение и понимание кода.
+   
+ ПРОЕКТИРОВАНИЕ ТРЕБОВАНИЙ К СЕРВЕРНОЙ ЧАСТИ ПРИЛОЖЕНИЯ
+   Во время разработки мобильного приложения в качестве серверной части будет использована <<Supabase>>. 
+   Supabase  -  это альтернатива Firebase с открытым исходным кодом. Начните свой проект с базы данных Postgres, аутентификации, мгновенных API, пограничных функций, подписок в реальном времени, хранилища и векторных вложений.
+   Данная серверная часть выполняет следующие требования:
+ Хранение информации о пользователях: пользователи должны иметь возможность регистрироваться и входить в приложение, используя свои учётные данные (логин, пароль или другие способы аутентификации).
+ Хранение информации о растениях: приложение должно позволять пользователям просматривать информацию об интересующих растениях.
+ Уведомления и оповещения: приложение должно отправлять уведомления пользователям о новых событиях, изменениях в погоде, рекомендациях по уходу за растениями и других важных сообщениях.
+ Аналитика и статистика: приложение должно предоставлять инструменты для анализа данных о садоводстве пользователей, чтобы они могли отслеживать свой прогресс и улучшать свои навыки.
+ Безопасность данных: серверная часть должна обеспечивать безопасность хранения и передачи пользовательских данных, включая шифрование, аутентификацию и авторизацию.
+ Масштабируемость и производительность: серверная часть должна быть способна обрабатывать большое количество запросов от пользователей без задержек и сбоев.
+ Резервное копирование и восстановление данных: сервер должен иметь механизмы для резервного копирования и восстановления данных в случае сбоев или аварий.
+ Мониторинг и управление системой: администраторы должны иметь возможность контролировать работу сервера, мониторить использование ресурсов и выполнять обновления системы
+   
+ ПРОЕКТИРОВАНИЕ ТРЕБОВАНИЙ К МОБИЛЬНОМУ ПРИЛОЖЕНИЮ
+   Проектирование требований к мобильному приложению для садоводства включает следующие аспекты:
+ Функциональность: приложение должно содержать разделы для поиска вдохновения, проектирования и планирования сада, роста и управления растениями, а также решения проблем, связанных с садом.
+ Диагностика растений: раздел для определения проблем с урожаем и предоставления рекомендаций по их устранению.
+ Календарь посадки и сбора урожая: удобный инструмент для планирования работ в саду.
+ Экспертная поддержка: возможность задавать вопросы специалистам в области садоводства.
+ Поиск по ключевым словам: удобная навигация для пользователей.
+ Ссылки на материалы для садоводства: доступ к полезным ресурсам для ухода за растениями.
+   
+ ВЫБОР ДЛЯ РЕАЛИЗАЦИИ ПО И ОБОСНОВАНИЕ ВЫБОРА
+   Выбора программного обеспечения (ПО) для реализации мобильного приложения для выращивания растительных культур, включает такие ПО, как Jetpack Compose для Android, Supabase, MVVM (Model-View-ViewModel). Выбор основывается на ряде ключевых факторов: производительность, удобство разработки, масштабируемость, современные подходы к управлению данными и UI, а также легкость интеграции.
+   Jetpack Compose  --  это современный инструмент для разработки пользовательских интерфейсов (UI) в Android-приложениях, который упрощает процесс за счёт декларативного подхода. С его помощью разработчики описывают, как должен выглядеть интерфейс, вместо того чтобы вручную управлять его состояниями, что делает код более простым и легким для поддержки. Compose также предоставляет гибкие возможности кастомизации, что позволяет легко создавать динамически изменяемые интерфейсы. Благодаря сокращению кода и отказу от использования XML, ускоряется процесс прототипирования и тестирования новых функций. Кроме того, Compose интегрируется с другими компонентами Jetpack (например, Navigation, LiveData, ViewModel), что помогает улучшить структуру и организацию кода. Поддержка реактивного программирования, вместе с MVVM и LiveData, позволяет автоматически обновлять интерфейс при изменении данных, что особенно полезно для работы с динамическим контентом. Jetpack Compose также поддерживает анимации и переходы, делая приложения более интерактивными и привлекательными для пользователей.
+   Supabase  --  это платформа с открытым исходным кодом, которая предоставляет backend-решения для управления базами данных, аутентификацией и API на основе PostgreSQL. Ключевыми преимуществами являются быстрая настройка и развертывание, что сокращает время на разработку. Это делает Supabase идеальным выбором для создания MVP (минимально жизнеспособных продуктов) и их последующего масштабирования.
+   Аутентификация и авторизация: Supabase предлагает удобные инструменты для быстрой настройки аутентификации с использованием email/пароля или социальных сетей, а также для управления пользовательскими ролями. Это особенно эффективно для разделения пользователей по ролям.
+   Реактивные данные: Supabase поддерживает подписки на изменения в данных, что позволяет автоматически обновлять интерфейс приложения без необходимости вручную запрашивать обновления. Это особенно удобно при отслеживании, например, изменений статусов заказов.