Files
interfaces/lab1/report/report.tex
2025-11-24 16:06:02 +03:00

1076 lines
142 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\documentclass[a4paper, final]{article}
%\usepackage{literat} % Нормальные шрифты
\usepackage[14pt]{extsizes} % для того чтобы задать нестандартный 14-ый размер шрифта
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{amsmath}
\usepackage[left=25mm, top=20mm, right=20mm, bottom=20mm, footskip=10mm]{geometry}
\usepackage{ragged2e} %для растягивания по ширине
\usepackage{setspace} %для межстрочно го интервала
\usepackage{moreverb} %для работы с листингами
\usepackage{indentfirst} % для абзацного отступа
\usepackage{moreverb} %для печати в листинге исходного кода программ
\usepackage{pdfpages} %для вставки других pdf файлов
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{afterpage}
\usepackage{longtable}
\usepackage{float}
\usepackage{xcolor}
% \usepackage[paper=A4,DIV=12]{typearea}
\usepackage{pdflscape}
% \usepackage{lscape}
\usepackage{array}
\usepackage{multirow}
\renewcommand\verbatimtabsize{4\relax}
\renewcommand\listingoffset{0.2em} %отступ от номеров строк в листинге
\renewcommand{\arraystretch}{1.4} % изменяю высоту строки в таблице
\usepackage[font=small, singlelinecheck=false, justification=centering, format=plain, labelsep=period]{caption} %для настройки заголовка таблицы
\usepackage{subcaption} %для подфигур
\usepackage{listings} %листинги
\usepackage{xcolor} % цвета
\usepackage{hyperref}% для гиперссылок
\usepackage{enumitem} %для перечислений
\newcommand{\specialcell}[2][l]{\begin{tabular}[#1]{@{}l@{}}#2\end{tabular}}
\setlist[enumerate,itemize]{leftmargin=1.2cm} %отступ в перечислениях
\hypersetup{colorlinks,
allcolors=[RGB]{010 090 200}} %красивые гиперссылки (не красные)
% подгружаемые языки — подробнее в документации listings (это всё для листингов)
\lstloadlanguages{ SQL}
% включаем кириллицу и добавляем кое−какие опции
\lstset{tabsize=2,
breaklines,
basicstyle=\footnotesize,
columns=fullflexible,
flexiblecolumns,
numbers=left,
numberstyle={\footnotesize},
keywordstyle=\color{blue},
inputencoding=cp1251,
extendedchars=true
}
\lstdefinelanguage{MyC}{
language=SQL,
% ndkeywordstyle=\color{darkgray}\bfseries,
% identifierstyle=\color{black},
% morecomment=[n]{/**}{*/},
% commentstyle=\color{blue}\ttfamily,
% stringstyle=\color{red}\ttfamily,
% morestring=[b]",\
% showstringspaces=false,
% morecomment=[l][\color{gray}]{//},
keepspaces=true,
escapechar=\%,
texcl=true
}
\textheight=24cm % высота текста
\textwidth=16cm % ширина текста
\oddsidemargin=0pt % отступ от левого края
\topmargin=-1.5cm % отступ от верхнего края
\parindent=24pt % абзацный отступ
\parskip=5pt % интервал между абзацами
\tolerance=2000 % терпимость к "жидким" строкам
\flushbottom % выравнивание высоты страниц
% Настройка листингов
\lstset{
language=python,
extendedchars=\true,
inputencoding=utf8,
keepspaces=true,
% captionpos=b, % подписи листингов снизу
}
\begin{document} % начало документа
% НАЧАЛО ТИТУЛЬНОГО ЛИСТА
\begin{center}
\hfill \break
\hfill \break
\normalsize{МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ\\
федеральное государственное автономное образовательное учреждение высшего образования «Санкт-Петербургский политехнический университет Петра Великого»\\[10pt]}
\normalsize{Институт компьютерных наук и кибербезопасности}\\[10pt]
\normalsize{Высшая школа технологий искусственного интеллекта}\\[10pt]
\normalsize{Направление: 02.03.01 <<Математика и компьютерные науки>>}\\
\hfill \break
\hfill \break
\hfill \break
\large{Лабораторная работа №1}\\
\large{разработка интерфейса пользователя для интерактивного приложения по теме}\\
\large{<<Организация семейного похода за грибами>>}\\
\large{по дисциплине}\\
\large{<<Разработка человеко-машинного интерфейса>>}\\
\hfill \break
\hfill \break
\end{center}
\small{
\begin{tabular}{lrrl}
\!\!\!Студент, & \hspace{2cm} & & \\
\!\!\!группы 5130201/20101 & \hspace{2cm} & \underline{\hspace{3cm}} &Тищенко А. А. \\\\
\!\!\!Преподаватель & \hspace{2cm} & \underline{\hspace{3cm}} & Курочкин М. А. \\\\
&&\hspace{4cm}
\end{tabular}
\begin{flushright}
<<\underline{\hspace{1cm}}>>\underline{\hspace{2.5cm}} 2025г.
\end{flushright}
}
\hfill \break
% \hfill \break
\begin{center} \small{Санкт-Петербург, 2025} \end{center}
\thispagestyle{empty} % выключаем отображение номера для этой страницы
% КОНЕЦ ТИТУЛЬНОГО ЛИСТА
\newpage
\tableofcontents
\newpage
\section*{Введение}
\addcontentsline{toc}{section}{Введение}
Работа посвящена проектированию интерфейса приложения, помогающего семье организовать поход за грибами: от планирования до подведения итогов. Приложение рассчитано на семьи, которые хотят собирать грибы в пригородных лесах и координироваться в реальном времени. Оно объединяет подготовку (маршрут, снаряжение, приглашения), сопровождение в пути (навигация, контрольные точки, уведомления) и подведение итогов (отчёты, архив маршрутов, семейная «корзина»).
Рассматриваются особенности взаимодействия людей разных возрастов, ограничения лесной среды и способы сделать навигацию, связь и обмен находками удобными. Основные задачи исследования: структурировать потребности пользователей, обозначить типовые сценарии и оценить, какие интерфейсные решения снизят риски и упростят работу с приложением. Ключевые проблемы --- нестабильная связь, различия в цифровой грамотности и необходимость оперативно действовать в случае ЧП.
\newpage
\section*{Описание предметной области}
\addcontentsline{toc}{section}{Описание предметной области}
Походы за грибами представляют собой сочетание прогулки на природе, наблюдения за лесной средой и сбора съедобных грибов. Этот вид отдыха подходит для семей благодаря умеренной физической нагрузке, исследовательскому интересу и возможности приобщения детей к совместному отдыху на природе. Успешная организация такого похода требует знаний о сезонности, типах лесов, правилах безопасного сбора, а также правильной подготовке участников.
\subsection*{Особенности грибных походов}
Грибные походы проводятся в лесных массивах с благоприятными условиями для произрастания грибов: смешанных и хвойных лесах, рядом с влажными низинами, опушками и моховыми участками. Такой тип ландшафта распространён во многих регионах России.
Сезонность является ключевым фактором: массовое появление грибов обычно происходит после устойчивых дождей при температуре около 1520°С. Наиболее насыщенный сезон приходится на конец лета и осень, когда в лесах можно встретить как ранние сыроежки, так и поздние осенние опята.
\subsection*{Основные виды грибов}
В процессе семейного похода предпочтение отдаётся хорошо различимым съедобным видам, например, белому грибу (Рис.~\ref{fig:belyj}), подберёзовику (Рис.~\ref{fig:podberezovik}), подосиновику (Рис.~\ref{fig:podosinovik}), лисичке (Рис.~\ref{fig:lisichki}), маслёнку (Рис.~\ref{fig:maslenok}). Эти виды распространены в большинстве российских регионов. В хвойных массивах особенно часто встречаются лисички и маслята, тогда как в более зрелых сосновых борах нередко попадаются белые грибы.
Опасность представляют ядовитые двойники: ложные лисички (Рис.~\ref{fig:lozhnye_lisichki}), желчный гриб, бледная поганка (Рис.~\ref{fig:blednaya_poganka}). Поэтому в семейных походах особое внимание уделяется правильному распознаванию грибов (см. Рис.~\ref{fig:belyj}--\ref{fig:blednaya_poganka}).
% Картинки грибов
\begin{figure}[h!]
\centering
\includegraphics[width=0.35\textwidth]{img/белый.jpg}
\caption{Белый гриб}
\label{fig:belyj}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.4\textwidth]{img/лисички.jpg}
\caption{Лисички}
\label{fig:lisichki}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.4\textwidth]{img/ложные_лисички.jpg}
\caption{Ложные лисички (ядовитый гриб)}
\label{fig:lozhnye_lisichki}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.3\textwidth]{img/подберёзовик.jpg}
\caption{Подберёзовик}
\label{fig:podberezovik}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.3\textwidth]{img/подосиновик.jpg}
\caption{Подосиновик}
\label{fig:podosinovik}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.4\textwidth]{img/маслёнок.jpg}
\caption{Маслёнок}
\label{fig:maslenok}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.3\textwidth]{img/бледная_поганка.jpg}
\caption{Бледная поганка (ядовитый гриб)}
\label{fig:blednaya_poganka}
\end{figure}
\newpage
\phantom{text}
\newpage
\subsection*{Подготовка к походу}
Организация семейного грибного похода начинается с выбора района, анализа погодных условий и планирования маршрута. Лесные массивы, расположенные рядом с удобными транспортными путями, позволяют сократить время в пути и уделить больше внимания сбору грибов. В крупных городах, подобных Санкт\mbox{-}Петербургу, этому способствует наличие лесов на удалении 50--90 минут езды, что делает походы возможными даже в формате однодневных выездов.
Перед выходом необходимо проверить прогноз погоды, наличие снаряжения и заряд мобильных устройств. Стандартная экипировка включает нож для грибов, корзину или вентилируемую тару, удобную непромокаемую одежду, защиту от насекомых и небольшую аптечку. Семьи часто берут с собой дополнительно сменную одежду и перекус, особенно при походах с детьми.
\subsection*{Процесс поиска и сбора}
Во время похода участники ориентируются по тропам, лесным просекам, ручьям и естественным ориентирам. В регионах с густой лесной сетью, важно уделять внимание ориентации, так как ландшафт может быть монотонным. Семейные группы обычно двигаются медленно, позволяя детям участвовать в поиске грибов и наблюдении за природой.
Собранный гриб аккуратно срезают ножом (Рис.~\ref{fig:srezanie}) или выкручивают, чтобы сохранить грибницу и избежать её повреждения. Грибы помещают в корзину, где обеспечивается циркуляция воздуха — это особенно важно в районах с повышенной влажностью.
% Картинка процесса сбора
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\textwidth]{img/срезание_гриба_ножом.jpg}
\caption{Срезание гриба ножом}
\label{fig:srezanie}
\end{figure}
\subsection*{Безопасность при семейных походах}
Безопасность — ключевой аспект. Участники должны соблюдать дистанцию, поддерживать визуальный или голосовой контакт и не отходить далеко от маршрута. Семьи активно используют мобильные приложения с картами, особенно в лесах, где местность может выглядеть однообразно и легко потерять ориентиры.
Основные меры безопасности включают использование яркой одежды, обработку от клещей, внимательный выбор маршрута и периодические переклички. Не рекомендуется собирать незнакомые грибы или заходить в заболоченные участки, особенно характерные для северных регионов с высоким уровнем влажности.
\subsection*{Обработка собранных грибов}
После возвращения грибы сортируют, удаляют повреждённые или сомнительные экземпляры и проводят первичную обработку. Влажный климат многих регионов приводит к тому, что грибы быстро теряют свежесть, поэтому их очистку нежелательно откладывать. Большинство видов требует термической обработки перед употреблением.
\newpage
\section{Цели приложения}
Цель приложения --- сделать семейные походы за грибами безопасными, продуктивными и комфортными для всех участников независимо от их возраста и цифровой грамотности. Приложение призвано превратить поход из разрозненной активности в слаженное семейное мероприятие с чётким планированием, надёжной координацией и возможностью сохранить положительные воспоминания в виде архива маршрутов и находок.
Для достижения этой цели приложение решает следующие задачи:
\begin{itemize}
\item Объединение семьи при планировании и проведении походов за грибами через совместное редактирование маршрутов, списков снаряжения и координацию действий в реальном времени.
\item Повышение безопасности участников похода за счёт отслеживания местоположения, контрольных точек, оперативного оповещения об отклонениях от маршрута и быстрой отправки сигналов о помощи.
\item Ведение удобного учёта собранных грибов с фотофиксацией, геометками и формированием семейного архива находок.
\item Обеспечение доступности для людей с разной цифровой подготовкой через адаптивный интерфейс, голосовые подсказки и упрощённые режимы взаимодействия.
\item Гарантия работоспособности в условиях нестабильной связи благодаря офлайн-картам и локальному кешированию данных.
\end{itemize}
\section{Заинтересованные лица}
\begin{itemize}
\item \textbf{Родители-участники похода} --- взрослые члены семьи, непосредственно участвующие в сборе грибов и отвечающие за безопасность детей.
\item \textbf{Дети и подростки} --- младшие участники похода, нуждающиеся в простом интерфейсе и элементах геймификации.
\item \textbf{Пожилые родственники-грибники} --- опытные грибники старшего поколения, носители традиций и знаний о грибных местах.
\item \textbf{Родственники, остающиеся дома} --- члены семьи, не участвующие в походе, но заинтересованные в безопасности грибников.
\item \textbf{Организатор похода} --- ответственное лицо (обычно один из родителей), координирующее планирование и проведение похода.
\item \textbf{Службы спасения} --- специалисты, привлекаемые в экстренных ситуациях для поиска и оказания помощи.
\end{itemize}
\section{Ожидания заинтересованных лиц}
\begin{itemize}
\item \textbf{Родители-участники} хотят обеспечить безопасность детей, не потеряться самим, иметь возможность быстро связаться в случае разделения группы. Ожидают простой интерфейс с крупными элементами, офлайн-карту и быстрый доступ к тревожной кнопке. Важна возможность видеть местоположение всех членов семьи и собрать достаточно грибов для заготовок.
\item \textbf{Дети и подростки} хотят весело провести время, найти свои первые грибы, не отстать от взрослых и получить признание за находки. Ожидают интересный и понятный интерфейс с игровыми элементами, возможность делиться фотографиями находок и получать достижения за вклад в общую корзину.
\item \textbf{Пожилые родственники} хотят поделиться опытом и знаниями о грибных местах, передать традиции, при этом комфортно пользоваться приложением. Ожидают крупные шрифты, голосовые подсказки, минимальное число действий на экране и возможность отметить известные им грибные места без сложных манипуляций.
\item \textbf{Родственники дома} больше всего хотят, чтобы грибники вернулись целыми и невредимыми. Ожидают возможность отслеживать местоположение группы, получать периодические автоматические уведомления о статусе похода и быстро связаться с участниками при необходимости.
\item \textbf{Организатор} хочет эффективно спланировать маршрут, проконтролировать сбор снаряжения, координировать действия группы. Ожидает инструменты совместного планирования: систему приглашений, чек-лист снаряжения, контроль состава группы, возможность отслеживать местоположение всех участников и быстро реагировать на отклонения от плана.
\item \textbf{Службы спасения} хотят минимизировать время поиска в экстренных ситуациях. Ожидают автоматическую интеграцию приложения с системой 112 для передачи структурированных данных: точных координат, информации о составе группы, состоянии здоровья участников, заряде батареи, запасе воды и медикаментов, истории перемещений.
\end{itemize}
% \section{Критерии оценки результата}
% Успешность приложения оценивается по достижению каждой из поставленных целей через следующие измеримые показатели:
% \textbf{Безопасность походов:}
% \begin{itemize}
% \item Время отправки экстренного сигнала SOS с координатами --- не более 3 секунд с момента нажатия кнопки.
% \item Доля успешных отправок координат при слабой связи (2G/EDGE) --- не менее 90\%.
% \item Процент участников, чьё местоположение видно организатору в реальном времени --- не менее 95\%.
% \item Среднее время обнаружения значительного отклонения от маршрута (более 500 м) --- не более 2 минут.
% \end{itemize}
% \textbf{Продуктивность и эффективность:}
% \begin{itemize}
% \item Время планирования похода от начала до отправки приглашений --- не более 5 минут.
% \item Доля походов с заполненным чек-листом снаряжения --- не менее 80\%.
% \item Процент найденных грибов с фотофиксацией и геометками --- не менее 60\%.
% \item Количество повторных походов на основе сохранённых маршрутов --- увеличение на 40\% по сравнению с планированием «с нуля».
% \end{itemize}
% \textbf{Комфорт и удобство использования:}
% \begin{itemize}
% \item Субъективная удовлетворённость пользователей (Net Promoter Score) --- не менее 40.
% \item Оценка удобства интерфейса (System Usability Scale) --- не менее 75 баллов.
% \item Количество критических ошибок при выполнении основного сценария --- не более одной на пользователя.
% \item Доля пользователей, успешно завершивших первый поход без обращения в поддержку --- не менее 85\%.
% \end{itemize}
% \textbf{Доступность для разных возрастов:}
% \begin{itemize}
% \item Время освоения базовых функций (создание маршрута, отправка SOS) пожилыми пользователями (65+) --- не более 10 минут с инструкцией.
% \item Успешность выполнения критических задач детьми (10--14 лет) без помощи взрослых --- не менее 90\%.
% \item Доля пожилых пользователей, использующих голосовые подсказки --- не менее 60\%.
% \end{itemize}
% \textbf{Работа в условиях ограниченной связи:}
% \begin{itemize}
% \item Процент функций, доступных в полностью офлайн-режиме --- не менее 70\%.
% \item Успешность синхронизации данных после восстановления связи --- не менее 95\%.
% \item Объём предварительно закешированных карт на типовой поход --- не более 50 МБ.
% \end{itemize}
% \textbf{Семейная интеграция и вовлечённость:}
% \begin{itemize}
% \item Среднее количество участников в походе --- не менее 3 человек.
% \item Доля походов с активным участием двух и более поколений --- не менее 70\%.
% \item Количество записей в семейном архиве за сезон (май--октябрь) --- не менее 5 походов на семью.
% \end{itemize}
\section{Планируемые результаты использования приложения}
\textbf{Повышение безопасности участников походов:}
\begin{itemize}
\item Снижение числа случаев потери ориентации и заблудившихся участников благодаря обмену геометками в реальном времени, контрольным точкам и автоматическим уведомлениям об отклонениях от маршрута.
\item Сокращение времени реагирования на экстренные ситуации за счёт мгновенной отправки координат службам спасения и волонтёрам с информацией о составе группы и состоянии участников.
\item Снижение рисков для детей и пожилых участников через постоянный мониторинг их местоположения родителями и организатором похода.
\item Предотвращение походов в опасные зоны благодаря своевременным уведомлениям от лесничих о пожароопасности, карантинных зонах и запретах.
\item Успокоение родственников, остающихся дома, через периодические автоматические уведомления о статусе группы и возможность отслеживания маршрута.
\end{itemize}
\textbf{Укрепление семейных связей и традиций:}
\begin{itemize}
\item Формирование семейного архива маршрутов и корзины собранных грибов с фотографиями, координатами и историями.
\item Передача опыта от пожилых грибников к детям и внукам через возможность отмечать грибные места, оставлять заметки и делиться знаниями о видах грибов.
\item Вовлечение детей в семейную активность через игровые элементы: квесты по поиску грибов, достижения, признание за находки в общей корзине.
\item Создание новых семейных традиций: регулярные сезонные походы, соревнования между участниками, празднование успешных сборов с просмотром архива.
\item Укрепление коммуникации между членами семьи через совместное планирование и обмен фотографиями находок в реальном времени.
\end{itemize}
% \textbf{Образовательные и экологические результаты:}
% \begin{itemize}
% \item Повышение экологической ответственности участников через подсказки по бережному сбору грибов, информацию о редких видах и правилах поведения в лесу.
% \item Обучение детей навыкам ориентирования на местности, работе с картами и координатами в безопасной семейной обстановке.
% \item Развитие знаний о грибах через фотофиксацию находок с возможностью последующей идентификации и изучения видов в семейном архиве.
% \item Снижение случаев сбора ядовитых или несъедобных грибов благодаря возможности консультации с экспертами через приложение перед употреблением.
% \item Формирование ответственного отношения к природе через статистику посещений, осознание нагрузки на лесные массивы и участие в их сохранении.
% \end{itemize}
\section{Описание технической платформы}
Приложение ориентировано на мобильные устройства с операционными системами Android и iOS, оснащённые модулем GPS для определения местоположения, фотокамерой. Мобильная версия является основной, поскольку участники похода используют телефоны непосредственно в лесу для навигации, фотофиксации грибов и экстренной связи. Дополнительно предусмотрена веб-версия приложения, доступная через браузер, которая предназначена для удобного планирования маршрутов в домашних условиях, просмотра семейного фотоархива на большом экране.
При проектировании необходимо учесть специфические условия эксплуатации. В лесной местности следует ожидать нестабильное или полностью отсутствующее покрытие мобильной сети, поэтому критически важные функции должны работать в офлайн-режиме с последующей синхронизацией данных. Устройства часто используются в перчатках, при плохой освещённости или под дождём, что требует крупных элементов управления и высокой контрастности интерфейса. Необходимо минимизировать энергопотребление, так как походы длятся несколько часов без возможности подзарядки, а GPS-модуль и постоянная работа экрана существенно расходуют батарею. Следует также учитывать, что некоторые пожилые участники могут использовать кнопочные телефоны без доступа к приложению --- в этом случае их безопасность обеспечивается через устройства других членов группы, а для экстренной связи предусмотрена возможность получения SMS с координатами от организатора.
% \section{Формулировка требований к системе}
% \begin{itemize}
% \item Поддержка офлайн-карт с предварительным кешированием выбранного лесного массива.
% \item Совместное редактирование маршрутов и списка снаряжения, возможность сохранять шаблоны.
% \item Быстрая отправка SOS с координатами, запасом батареи и последней контрольной точкой.
% \item Защита персональных данных: шифрование локального хранилища, явное согласие на обмен геоданными, прозрачные настройки доступа.
% \item Адаптивный интерфейс: увеличение шрифта, контрастная тема, голосовые подсказки.
% \item Локализация: русский по умолчанию, опционально английский для гостей.
% \end{itemize}
\section{Модель пользователей приложения}
\textbf{Основные персонажи:}
\textbf{Мария Петрова, 38 лет --- организатор семейных походов (персонаж 1).} Проживает в Санкт-Петербурге, Калининский район, работает менеджером в крупной компании. Уверенный пользователь смартфона, активно использует навигаторы, мессенджеры и облачные сервисы. Замужем, двое детей (12 и 7 лет). Семья выезжает за грибами 2--3 раза за сезон, обычно по выходным в сентябре-октябре.
\textit{Типичный маршрут:} электричка с Финляндского вокзала до одной из станций Всеволожского района (Токсово, Каменка), время в пути около 2--3 часов. Далее пешком 15--25 минут до знакомых мест в смешанном лесу. Общая продолжительность похода 6--7 часов, включая дорогу и сбор грибов.
\textit{Цели и потребности:} эффективно организовать поход --- согласовать дату и состав участников, создать маршрут и чек-лист снаряжения, убедиться, что все взяли необходимое снаряжение. Во время похода контролировать местоположение детей в лесу, иметь возможность быстро отправить сигнал о помощи. Опасается потерять из виду младшую дочь или отца, переживает за разрядку телефонов. Хочет сохранять маршруты для повторных походов и вести семейную статистику находок.
\textit{Контекст использования:} планирует походы дома за компьютером или в телефоне в транспорте, в лесу использует смартфон в водонепроницаемом чехле, часто в перчатках при холодной погоде. Связь нестабильная, приходится полагаться на офлайн-карты. Использует приложение для координации семьи и фиксации грибных мест с фотографиями.
\vspace{0.3cm}
\textbf{Иван Семёнович Петров, 67 лет --- опытный грибник, дедушка (персонаж 2).} Пенсионер, всю жизнь прожил в Ленинградской области, последние 15 лет живёт с семьёй сына в Калининском районе. Собирает грибы с детства, знает грибные места в окрестностях Комарово, Солнечного и Репино. Использует кнопочный телефон для звонков, недавно получил в подарок от внучки бюджетный Android-смартфон, но осваивает его медленно.
\textit{Цели и потребности:} поделиться знаниями о грибных местах с внуками, научить их отличать съедобные грибы от ядовитых, показать секретные полянки, где он собирает грибы много лет. Хочет чувствовать себя безопасно в лесу, иметь возможность вызвать помощь простым действием (одна кнопка), не разбираться в сложных меню. Важно крупное отображение информации, голосовые подсказки. Готов использовать смартфон, если интерфейс простой и понятный.
\textit{Контекст использования:} редко заходит в приложение самостоятельно, чаще просит внучку или Марию показать маршрут. В лесу держит телефон в нагрудном кармане куртки, достаёт только при необходимости. Использует очки для чтения, поэтому нужен крупный шрифт. Перчатки толстые, экран реагирует плохо. Опасается быстро разрядить батарею, поэтому экран выключает при любой возможности.
\vspace{0.3cm}
\textbf{Алиса Петрова, 12 лет --- школьница, любительница фотографии (персонаж 3).} Учится в 7 классе, живёт с родителями в Калининском районе. Активный пользователь смартфона, любит фотографировать природу, общается с друзьями в мессенджерах, играет в мобильные игры. В походы ездит с родителями и дедушкой, для неё это интересное приключение и возможность сделать красивые фото для соцсетей.
\textit{Типичный маршрут:} сопровождает семью в походы, обычно идёт рядом с мамой или дедушкой. Любит исследовать окрестности, но иногда увлекается и отходит далеко. После нескольких случаев, когда её искали 15--20 минут, родители настаивают на постоянной связи через приложение.
\textit{Цели и потребности:} весело провести время, найти необычные грибы и сфотографировать их для коллекции, получить похвалу от родителей и дедушки за находки, заработать виртуальные достижения в приложении. Хочет видеть своё местоположение относительно семьи, получать интересные квесты (например, "найди белый гриб"), делиться фотографиями находок в семейном чате. Не любит, когда родители слишком контролируют, но понимает необходимость безопасности.
\textit{Контекст использования:} всегда с телефоном, часто фотографирует, использует приложение как игру. Батарея расходуется быстро из-за постоянного использования камеры и экрана. Носит телефон в кармане куртки или в поясной сумке. Интерфейс должен быть ярким, современным, с игровыми элементами.
\vspace{0.3cm}
\textbf{Второстепенные персонажи:}
\textbf{Пётр Сергеевич Иванов, 45 лет --- спасатель МЧС России (персонаж 4).} Проживает в Выборгском районе Санкт-Петербурга, работает в поисково-спасательной службе МЧС. Участвует в операциях по поиску заблудившихся в лесах Ленинградской области. Имеет профессиональную подготовку по ориентированию, навигации и оказанию первой помощи.
\textit{Цели и потребности:} при поступлении вызова через службу 112 от заблудившихся грибников быстро получить всю доступную информацию о группе для организации поисково-спасательной операции. Критически важны точные координаты последнего известного местоположения, данные о составе группы (количество человек, возраст, наличие детей), состоянии здоровья участников, заряде устройств, наличии воды, медикаментов. Необходима история перемещений группы для определения вероятного направления движения и планирования зоны поиска.
\textit{Контекст использования:} не является прямым пользователем приложения. Получает структурированные данные через диспетчерскую систему МЧС при активации пользователями тревожной кнопки или автоматическом срабатывании SOS-сигнала. Приложение должно интегрироваться с системой «Система-112», автоматически передавая координаты и дополнительную информацию при экстренном вызове.
\vspace{0.3cm}
\textbf{Общий контекст использования приложения:} походы проходят в лесных массивах Всеволожского района Ленинградской области (Токсово, Каменка, Васкелово). Местность холмистая, преимущественно сосновые и смешанные леса, множество озёр. Покрытие мобильной сети нестабильное: у станций и населённых пунктов есть 4G, в глубине леса сигнал слабый или отсутствует. Погода осенью переменчива: температура +5..+15°C, часто дожди и туманы, необходимы тёплая одежда и перчатки. Световой день короткий (в октябре темнеет к 18:00), поэтому важно успеть вернуться до темноты. Устройства находятся в чехлах, карманах курток, рюкзаках, часто используются в перчатках при плохой освещённости.
\section{Ментальная модель пользователя, метафоры и идиомы}
Пользователи воспринимают поход как совместное мероприятие с чёткими точками встречи и таймерами возвращения. Интерфейс опирается на метафоры: \textit{карта тропы} (основной экран с маршрутом), \textit{корзина} для списка найденных грибов, \textit{поляна} как место встречи группы и общения (семейный чат). Идиомы: перетаскивание контрольных точек, чек-лист с галочками, крупная красная кнопка SOS, значок компаса для ориентации.
\section{Квалификация пользователя}
Квалификация пользователей приложения рассматривается по двум ключевым параметрам: владение цифровыми технологиями (навигация, использование мобильных приложений, работа с картами и геолокацией) и знание предметной области (грибы, лесная местность, правила безопасного сбора). Идеальный пользователь должен сочетать оба навыка, однако в реальности семейные группы объединяют людей с разным уровнем компетенций, которые дополняют друг друга: кто-то является экспертом в грибах, но слабо владеет технологиями, другие уверенно работают с приложениями, но нуждаются в консультациях по определению видов. Приложение должно учитывать этот дисбаланс и предоставлять инструменты, позволяющие каждому участнику вносить вклад в соответствии со своими сильными сторонами.
\textbf{Мария (персонаж 1)} --- уверенный пользователь цифровых технологий: свободно владеет мессенджерами, навигаторами, облачными сервисами, быстро осваивает новые приложения. В грибах разбирается на базовом уровне: знает основные съедобные виды (белые, подосиновики, лисички), но в сложных случаях полагается на опыт отца или консультируется по справочникам. Умеет читать карты и пользоваться GPS-навигацией.
\textbf{Иван Семёнович (персонаж 2)} --- эксперт в грибной охоте с 50-летним стажем. Безошибочно определяет десятки видов грибов, знает сезоны плодоношения, особенности местности и секретные полянки, накопленные за годы походов. Передаёт традиционные знания о бережном сборе и правилах поведения в лесу. При этом цифровые технологии даются ему сложно: только начал осваивать смартфон, нуждается в крупном шрифте, голосовых подсказках и простых интерфейсах без вложенных меню. Может выполнять простые действия (нажать кнопку SOS, посмотреть карту), но настройку приложения доверяет внучке.
\textbf{Алиса (персонаж 3)} --- продвинутый пользователь смартфона для своего возраста: уверенно работает с мессенджерами, соцсетями, камерой, играми. Быстро осваивает новые приложения, понимает интерфейсы, может помочь дедушке разобраться с телефоном. В грибах пока новичок: знает на вид несколько распространённых видов (белые, мухоморы, лисички), но постепенно учится у дедушки. Любит фотографировать находки и потом вместе с семьёй определять виды. Хорошо ориентируется по карте на телефоне, понимает принципы геолокации.
\section{Задачи, решаемые приложением}
Приложение решает комплекс задач, охватывающих все этапы семейного похода за грибами: от предварительной подготовки до сохранения результатов. Задачи сформулированы исходя из ожиданий заинтересованных лиц и специфики использования приложения в условиях лесной местности с ограниченной связью.
\textbf{Задачи этапа планирования и подготовки:}
\begin{itemize}
\item \textbf{Упрощение организации похода} --- предоставить организатору инструменты для быстрого создания маршрута, формирования группы участников и координации подготовки. Система должна автоматизировать рутинные операции: расчёт времени прохождения, проверку погоды, напоминания о снаряжении.
\item \textbf{Совместная подготовка снаряжения} --- обеспечить возможность распределения ответственности за снаряжение между участниками. Каждый член семьи должен видеть свои задачи и подтверждать их выполнение.
\item \textbf{Обеспечение автономности} --- предоставить возможность предварительной загрузки офлайн-карт, маршрутов и справочной информации о грибах, чтобы критически важные функции работали без подключения к интернету в лесу.
\end{itemize}
\textbf{Задачи этапа проведения похода:}
\begin{itemize}
\item \textbf{Поддержание координации группы} --- позволить всем участникам видеть местоположение друг друга и своевременно получать уведомления о критических событиях (кто-то отстал, пора возвращаться, приближается темнота). Организатор должен иметь полный контроль над группой с единой панели мониторинга.
\item \textbf{Фиксация и учёт находок} --- обеспечить простой способ документирования найденных грибов с автоматическим сохранением координат, времени и фотографий. Создавать общую семейную корзину, где все видят вклад каждого участника, что повышает вовлечённость и мотивацию.
\end{itemize}
\textbf{Задачи обеспечения безопасности:}
\begin{itemize}
\item \textbf{Быстрое реагирование на экстренные ситуации} --- обеспечить мгновенную отправку сигнала о помощи с точными координатами, составом группы и другой критически важной информацией в службы спасения и доверенным контактам. Кнопка SOS должна быть доступна с любого экрана и работать даже при минимальной связи.
\item \textbf{Интеграция с профессиональными службами спасения} --- автоматически передавать структурированные данные о группе в систему 112 при экстренном вызове.
\item \textbf{Дистанционный контроль безопасности} --- позволить родственникам, остающимся дома, отслеживать местоположение группы и получать уведомления о статусе похода, чтобы они могли своевременно среагировать на задержки или отклонения от плана.
\end{itemize}
\section{Описание основных процессов}
Приложение поддерживает полный цикл семейного похода за грибами, от подготовки до подведения итогов. Ниже описаны ключевые процессы, которые автоматизируются или упрощаются с помощью приложения.
\textbf{1. Планирование похода (Мария).} Мария за день до похода открывает приложение на домашнем компьютере или в смартфоне. Выбирает лесной массив из списка знакомых мест (Комарово, Зеленогорск) или находит новое место на карте. Приложение показывает прогноз погоды, время восхода и захода солнца, рекомендуемое время выезда с учётом расписания электричек. Мария строит маршрут: размещает стартовую точку у станции, добавляет 3--4 контрольные точки в лесу (места предполагаемого сбора грибов и встречи группы), указывает финальную точку возврата. Приложение автоматически рассчитывает примерное время прохождения между точками и общую длительность похода. Мария загружает офлайн-карты выбранного региона (приложение показывает объём: ~30--50 МБ) для работы без связи в лесу. Затем отправляет приглашения участникам: мужу, детям, отцу Ивану, указывая время и место сбора. Каждый получает уведомление с маршрутом и может подтвердить участие.
\textbf{2. Подготовка снаряжения (Мария + семья).} После подтверждения участников Мария создаёт чек-лист снаряжения: выбирает готовый шаблон "Осенний поход на 4--5 часов" или создаёт свой список. В чек-лист входят: корзины для грибов, ножи, аптечка, вода, перекус, powerbank, дождевики, компас. Мария распределяет ответственность: муж берёт аптечку и воду, она — корзины и перекус, Иван — ножи. Каждый участник видит свои назначения в приложении и отмечает галочками выполнение. За 2 часа до выхода приложение отправляет напоминание всем участникам проверить список. Вечером накануне приходит напоминание зарядить телефоны и powerbank.
\textbf{3. Навигация в походе (все участники).} В лесу все участники используют приложение для навигации. На экране отображается карта с текущим положением каждого (Мария видит всех, остальные видят маршрут и контрольные точки), направление к ближайшей контрольной точке (стрелка-компас), расстояние до неё и примерное время прибытия. Иван использует упрощённый режим "Проводник" с крупными элементами и голосовыми подсказками: "Поверните направо через 50 метров", "Вы отклонились от маршрута на 200 метров". Если участник отходит от группы дальше установленного радиуса (например, Алиса на 500 метров), приложение автоматически отправляет уведомление Марии. При слабом GPS-сигнале приложение переключается на компасный режим с указанием направления к последней известной контрольной точке.
\textbf{4. Фиксация находок (все участники).} Когда кто-то из семьи находит гриб, он фотографирует его через приложение. Приложение автоматически сохраняет координаты места находки и текущее время. Пользователь может добавить краткую заметку (текстовую или голосовую): "Белый гриб под сосной" или "Здесь много лисичек". Иван добавляет экспертные комментарии: "Это подосиновик, съедобный, лучше собирать молодые". Находка автоматически добавляется в общую семейную корзину с указанием автора. Все участники видят в реальном времени, кто и что нашёл, могут оставлять реакции (лайки, поздравления). Алиса получает баллы за каждую находку и выполнение квестов ("Найди 3 разных вида грибов"). Места с фотографиями сохраняются на карте как "грибные точки" для будущих походов.
\textbf{5. Координация и безопасность (Мария + все).} В течение похода Мария периодически проверяет местоположение всех участников на карте. Если кто-то долго не движется, она отправляет сообщение в семейный чат: "Иван, всё в порядке?". При приближении к контрольной точке приложение напоминает о времени встречи. За час до установленного времени возврата (например, в 16:00 нужно быть на станции) приложение предупреждает: "Через час планируется возврат. Текущее расстояние до станции: 2,5 км, примерное время: 45 минут". Если группа отклоняется от графика, Мария корректирует маршрут: пропускает одну контрольную точку, выбирает более короткий путь обратно. Елена дома видит на веб-карте, где находится семья, и периодически получает автообновления: "Группа дошла до точки 2 из 4".
\textbf{6. Экстренная ситуация (любой участник → МЧС, доверенные контакты).} Если возникает опасная ситуация (кто-то заблудился, травма, встреча с диким животным), любой участник может нажать крупную красную кнопку SOS в приложении. Приложение показывает таймер обратного отсчёта 5 секунд с возможностью отмены (чтобы избежать случайных нажатий). После подтверждения автоматически отправляется сигнал тревоги в службу спасения через систему 112 и всем участникам группы. Одновременно уведомления получают доверенные контакты (например, родственники дома). Сообщение содержит структурированные данные: точные GPS-координаты, состав группы, запас батареи на устройствах, историю передвижения, медицинскую информацию участников (если указана). Диспетчер службы 112 принимает вызов и передаёт информацию в поисково-спасательную службу МЧС. Спасатели получают через диспетчерскую систему полный пакет данных о группе, могут проанализировать маршрут, определить вероятное направление движения и спланировать зону поиска. При наличии связи диспетчер может связаться с организатором Марией для уточнения деталей ситуации.
\textbf{7. Подведение итогов (Мария + семья).} После возвращения домой семья просматривает результаты похода. Мария открывает раздел "Архив" и видит: пройденный GPS-трек на карте, общее время похода (4 часа 20 минут), пройденное расстояние (8,3 км), количество собранных грибов (37 штук), авторство находок (Иван — 18, Мария — 10, Алиса — 9). Все фотографии грибов отображаются на карте как точки, можно кликнуть и увидеть, где именно был найден каждый гриб. Мария сохраняет маршрут как шаблон "Комарово осень 2025" для повторного использования. Экспортирует отчёт в PDF для семейного альбома с фотографиями, картой и статистикой. Елена просматривает результаты на планшете, комментирует фото: "Этот гриб лучше не брать, похож на ложный опёнок". Алиса делится красивыми фотографиями находок в соцсетях, получает новый значок "Грибной следопыт уровень 2".
\section{Описание функций}
Функции приложения организованы в соответствии с основными процессами похода и призваны автоматизировать рутинные операции, повысить безопасность и удобство использования для всех возрастных групп.
\textbf{Функции планирования и подготовки:}
\begin{itemize}
\item \textbf{Конструктор маршрутов} с возможностью размещения контрольных точек на карте, автоматическим расчётом расстояний и времени прохождения между точками, сохранением маршрутов как шаблонов для повторного использования.
\item \textbf{Интеграция с прогнозом погоды и расписанием транспорта}: автоматическое отображение погодных условий для выбранного дня, времени восхода и захода солнца, расписания электричек от ближайших станций.
\item \textbf{Кеширование офлайн-карт} выбранного региона с отображением объёма памяти (обычно 30--50 МБ), автоматическим обновлением при изменении маршрута, возможностью предварительной загрузки нескольких регионов.
\item \textbf{Совместный чек-лист снаряжения} с готовыми шаблонами ("Осенний поход", "Весенний поход", "С детьми"), распределением ответственности между участниками, отслеживанием выполнения в реальном времени, автоматическими напоминаниями перед выходом.
\end{itemize}
\textbf{Функции навигации и координации в походе:}
\begin{itemize}
\item \textbf{Режим реального времени} с отображением местоположения всех участников на карте, обновлением позиций каждые 30--60 секунд (в зависимости от заряда батареи), автоматическими уведомлениями при отклонении участника от группы более чем на заданное расстояние.
\item \textbf{Адаптивная навигация}: основной режим с полной картой для уверенных пользователей, упрощённый режим "Проводник" для пожилых с крупными кнопками и увеличенным шрифтом, компасный режим при слабом GPS-сигнале.
\item \textbf{Голосовые подсказки} с настраиваемой частотой оповещений: направление к контрольной точке, предупреждения об отклонении от маршрута, напоминания о времени встречи, уведомления о приближении к цели.
\item \textbf{Семейный чат} с поддержкой текстовых и голосовых сообщений, быстрыми реакциями (эмодзи, лайки), отправкой фотографий, автоматическим прикреплением геолокации к сообщениям.
\item \textbf{Мониторинг состояния группы} для организатора: панель с информацией о заряде батареи на устройствах всех участников, времени последнего обновления позиции, расстоянии до контрольных точек, прогнозируемом времени возврата.
\end{itemize}
\textbf{Функции фиксации находок:}
\begin{itemize}
\item \textbf{Камера с автоматическим геотегированием}: при фотографировании гриба автоматически сохраняются GPS-координаты, время находки, погодные условия, создаётся запись в семейной корзине.
\item \textbf{Общая семейная корзина} с отображением всех находок в реальном времени, указанием автора, возможностью добавления текстовых или голосовых комментариев, системой реакций (одобрение, вопрос, предупреждение).
\item \textbf{Справочник грибов} с описаниями распространённых видов, эталонными фотографиями, указанием съедобности, сезонов плодоношения, двойников, возможностью сравнения найденного гриба с базой.
\item \textbf{Карта грибных мест}: автоматическое сохранение координат успешных находок, отображение "грибных точек" на карте с фильтрацией по видам и сезонам, возможность добавления заметок ("здесь было много белых в прошлом году").
\end{itemize}
\textbf{Функции безопасности и экстренной связи:}
\begin{itemize}
\item \textbf{Кнопка SOS} с крупным размером и ярким цветом, доступная с любого экрана, таймером обратного отсчёта 5 секунд для предотвращения случайных нажатий, возможностью быстрой отмены.
\item \textbf{Автоматическая отправка экстренной информации}: при активации SOS отправляются точные GPS-координаты, состав группы, возраст участников, медицинская информация (если указана), запас батареи, история передвижения за последний час.
\item \textbf{Система доверенных контактов}: возможность добавления родственников и знакомых с автоматическим уведомлением при активации SOS, разные уровни доступа (только координаты, полный мониторинг, история).
\item \textbf{Интеграция со службами спасения}: автоматическая передача структурированных данных в систему 112, экспорт координат и треков в стандартных форматах (GPX, KML) для профессионального оборудования МЧС, отправка SMS с координатами при отсутствии интернета.
\item \textbf{Автоматические уведомления о задержках}: если группа не вернулась в запланированное время или долго не обновляла позицию, система отправляет предупреждения доверенным контактам.
\end{itemize}
\textbf{Функции геймификации и вовлечения:}
\begin{itemize}
\item \textbf{Система достижений и квестов} для детей и подростков: выполнение заданий ("найди 3 разных вида", "дойди до контрольной точки первым"), получение виртуальных наград и баллов, отображение прогресса и рейтинга внутри семейной группы.
\item \textbf{Визуализация вклада участников}: отображение статистики находок каждого члена семьи, система реакций и поощрений от других участников, формирование духа здоровой конкуренции и сотрудничества.
\end{itemize}
\textbf{Функции подведения итогов и архивирования:}
\begin{itemize}
\item \textbf{Автоматическое формирование отчёта о походе}: сохранение пройденного GPS-трека, статистики (время, расстояние, количество находок), всех фотографий с привязкой к карте и времени.
\item \textbf{Семейный архив походов}: хранение истории всех походов с возможностью просмотра на временной шкале, сравнения результатов разных выездов, анализа самых продуктивных маршрутов и сезонов.
\item \textbf{База знаний о грибных местах}: накопление информации о местах успешных находок с фильтрацией по видам грибов, сезонам и годам, возможность добавления заметок и рекомендаций для будущих походов.
\item \textbf{Экспорт данных}: сохранение отчётов в формате PDF для семейного альбома, экспорт треков и координат в стандартных форматах, возможность поделиться результатами с друзьями и родственниками.
\item \textbf{Шаблоны маршрутов}: сохранение успешных маршрутов как готовых шаблонов с возможностью быстрого повторного использования, копирования и адаптации под новые условия.
\end{itemize}
\section{Описание структуры диалога и его обоснование}
Структура диалога приложения организована в виде графа состояний, отражающего полный цикл взаимодействия пользователя с системой: от первоначальной авторизации до завершения похода и анализа результатов. Граф учитывает различные роли пользователей (организатор, участник, дистанционный наблюдатель, доверенный волонтёр) и обеспечивает быстрый доступ к критически важным функциям безопасности из любого состояния.
\textbf{Приложение может находиться в следующих состояниях:}
\begin{itemize}
\item[a)] \textbf{Начальное состояние.} Главный экран с выбором основных действий: создание нового похода, присоединение к существующему по приглашению, просмотр архива прошлых походов.
\item[b)] \textbf{Планирование похода.} Конструктор маршрута с размещением контрольных точек на карте, выбором даты и времени, просмотром прогноза погоды, загрузкой офлайн-карт региона.
\item[c)] \textbf{Управление участниками.} Формирование группы похода: отправка приглашений членам семьи и друзьям, просмотр подтверждений участия, назначение ролей (организатор, участник), добавление доверенных контактов для экстренных ситуаций.
\item[d)] \textbf{Чек-лист снаряжения.} Совместная подготовка к походу: выбор шаблона снаряжения, распределение ответственности за предметы между участниками, отслеживание выполнения сборов.
\item[e)] \textbf{Режим активной навигации.} Основное состояние во время похода: отображение карты с местоположением всех участников, навигация к контрольным точкам, мониторинг расстояний и времени, контроль заряда батарей устройств. Доступны адаптивные режимы: полная карта, упрощённый "Проводник" для пожилых, компасный режим при слабом GPS.
\item[f)] \textbf{Фиксация находки.} Фотографирование найденного гриба с автоматическим сохранением GPS-координат, времени и погодных условий. Возможность добавления текстовых или голосовых комментариев, выбора вида гриба из справочника.
\item[g)] \textbf{Семейная корзина.} Просмотр всех зафиксированных находок группы в реальном времени с указанием авторов, местоположений на карте, фотографиями. Возможность добавления реакций, комментариев, экспертных оценок от опытных грибников.
\item[h)] \textbf{Семейный чат.} Обмен текстовыми и голосовыми сообщениями между участниками похода, отправка фотографий, быстрые реакции, автоматическое прикрепление геолокации к сообщениям.
\item[i)] \textbf{Справочник грибов.} Просмотр базы знаний о распространённых видах грибов с эталонными фотографиями, описаниями съедобности, сезонов плодоношения, предупреждениями о ядовитых двойниках. Поиск и сравнение найденных грибов с базой.
\item[j)] \textbf{Экстренный режим (SOS).} Активация тревожного сигнала с обратным отсчётом для предотвращения случайных нажатий. Автоматическая отправка координат, состава группы и медицинской информации доверенным контактам и службам спасения.
\item[k)] \textbf{Панель организатора.} Расширенный режим мониторинга для ответственного лица: отслеживание всех участников, контроль соблюдения графика, управление маршрутом, корректировка контрольных точек, принудительное оповещение группы.
\item[l)] \textbf{Архив походов.} Просмотр списка завершённых походов с краткой статистикой: дата, маршрут, участники, количество найденных грибов, пройденное расстояние.
\item[m)] \textbf{Детальный просмотр похода.} Анализ конкретного похода из архива: GPS-трек на карте, временная шкала событий, фотографии всех находок с геометками, статистика по участникам, экспорт отчёта в PDF.
\end{itemize}
\textbf{Переходы между состояниями происходят по следующим действиям:}
\begin{enumerate}
\item \textbf{Создание нового похода.} Переход из начального состояния (a) в планирование похода (b). Инициируется организатором для подготовки нового маршрута.
\item \textbf{Присоединение к походу по приглашению (день похода).} Переход из начального состояния (a) в режим активной навигации (e) для участников, принявших приглашение и готовых начать поход.
\item \textbf{Присоединение к походу по приглашению (подготовка).} Переход из начального состояния (a) в чек-лист снаряжения (d) на этапе подготовки к походу.
\item \textbf{Переход к управлению участниками.} Из планирования похода (b) в управление участниками (c) для формирования группы и отправки приглашений.
\item \textbf{Переход к чек-листу снаряжения.} Из управления участниками (c) в чек-лист снаряжения (d) для подготовки необходимых предметов.
\item \textbf{Переход к чек-листу снаряжения.} Из планирования похода (b) в чек-лист снаряжения (d) напрямую.
\item \textbf{Начало похода.} Переход из чек-листа (d) в режим активной навигации (e). Активирует GPS-отслеживание и синхронизацию местоположений всех участников.
\item \textbf{Начало похода.} Переход из планирования похода (b) в режим активной навигации (e) напрямую.
\item \textbf{Фотографирование находки.} Из режима навигации (e) в фиксацию находки (f). Доступно любому участнику при обнаружении гриба.
\item \textbf{Сохранение находки и возврат к навигации.} Из фиксации находки (f) обратно в режим навигации (e) с автоматическим добавлением записи в семейную корзину (g).
\item \textbf{Открытие семейной корзины.} Из режима навигации (e) в просмотр семейной корзины (g) для анализа всех находок группы.
\item \textbf{Возврат к навигации из корзины.} Из семейной корзины (g) обратно в режим навигации (e).
\item \textbf{Открытие семейного чата.} Из режима навигации (e) в семейный чат (h) для координации и обмена сообщениями.
\item \textbf{Возврат к навигации из чата.} Из семейного чата (h) обратно в режим навигации (e).
\item \textbf{Открытие справочника грибов.} Из фиксации находки (f) в справочник грибов (i) для уточнения вида и съедобности.
\item \textbf{Открытие справочника грибов.} Из семейной корзины (g) в справочник грибов (i) для проверки информации о найденных грибах.
\item \textbf{Возврат к фиксации находки.} Из справочника грибов (i) обратно в фиксацию находки (f).
\item \textbf{Возврат к семейной корзине.} Из справочника грибов (i) обратно в семейную корзину (g).
\item \textbf{Переход в панель организатора.} Из режима навигации (e) в панель организатора (k) для расширенного контроля группы. Доступно только ответственному лицу.
\item \textbf{Возврат к навигации из панели организатора.} Из панели организатора (k) обратно в режим навигации (e).
\item \textbf{Завершение похода.} Из режима навигации (e) в архив походов (l) с автоматическим сохранением всех данных: трека, находок, статистики.
\item \textbf{Просмотр архива.} Из начального состояния (a) в архив походов (l) для анализа прошлых маршрутов.
\item \textbf{Открытие конкретного похода.} Из архива (l) в детальный просмотр похода (m) с полной статистикой и картой.
\item \textbf{Активация SOS.} Из любого состояния в экстренный режим (j) при нажатии тревожной кнопки. Критически важный переход, доступный с любого экрана.
\item \textbf{Возврат на главный экран.} Из любого состояния (кроме активной навигации e и экстренного режима j) в начальное состояние (a). Из навигации возврат возможен только через завершение похода для предотвращения случайного выхода.
\end{enumerate}
\textbf{Обоснование структуры диалога:}
Предложенная структура диалога основана на трёх ключевых принципах. Во-первых, обеспечение безопасности: переход в экстренный режим (SOS) доступен из любого состояния одним действием, что критически важно в опасных ситуациях. Во-вторых, минимизация когнитивной нагрузки: для пожилых пользователей предусмотрен линейный переход по основным состояниям (начало → навигация → фиксация находки → возврат к навигации) без необходимости глубокой навигации по меню. В-третьих, гибкость для опытных пользователей: организатор и участники с высокой цифровой грамотностью могут быстро переключаться между параллельными состояниями (навигация, чат, корзина, панель организатора) для эффективной многозадачности.
\addtocounter{figure}{1}
\includepdf[pages={1}, fitpaper, pagecommand={
\thispagestyle{empty}
\begin{tikzpicture}[remember picture, overlay]
\node at (current page.south) [anchor=north, yshift=35pt] {\large{Рис 1. Граф состояний приложения}};
\end{tikzpicture}
}]{pdf/graph.pdf}
% \section{Описание структуры команд пользователей}
% \section{Физическая реализация команд пользователей}
% Команды выполняются через крупные кнопки и свайпы. В режиме «Проводник» используются физические кнопки громкости как горячие клавиши: двойное нажатие --- отправка геометки, долгое удержание --- SOS. Такой подход учитывает перчатки, мокрые экраны и минимизирует вероятность промаха.
\section{Технология ввода данных}
Приложение поддерживает несколько технологий ввода данных, адаптированных под условия использования в лесу и разную цифровую грамотность пользователей. Основным методом взаимодействия являются жесты касания и свайпы по сенсорному экрану, дополненные голосовым вводом для создания заметок и поиска информации о грибах в справочнике. Все формы спроектированы с минимальным количеством обязательных полей: геоданные (координаты, время) и метаданные фотографий подставляются автоматически при фиксации находок. Для упрощения работы пожилым пользователям предусмотрены увеличенные области нажатия (минимум 48×48 пикселей) и альтернативное управление физическими кнопками громкости в режиме "Проводник" (двойное нажатие для отметки находки, долгое удержание для SOS). При работе в перчатках или с мокрым экраном доступен упрощённый режим с крупными элементами и подтверждением критических действий. Детские профили требуют подтверждения родителей через push-уведомление при выполнении определённых действий (изменение маршрута, отключение отслеживания, приглашение новых участников).
\section{Описание ошибок пользователей}
При использовании приложения пользователи могут допускать ошибки, связанные с человеческим фактором, особенностями окружающей среды и ограничениями технологий. Ниже описаны основные типы ошибок и методы их смягчения.
\textbf{1. Случайное нажатие кнопки SOS.}
\textit{Описание:} Пользователь случайно активирует экстренный сигнал при доставании телефона из кармана, надевании перчаток или передаче устройства другому участнику, что приводит к ложной тревоге и необоснованному беспокойству доверенных контактов.
\textit{Метод обработки:} Кнопка SOS имеет двухэтапную активацию: после нажатия запускается обратный отсчёт 5 секунд с кнопкой отмены. Вибрация и звуковое предупреждение при активации.
\textbf{2. Неверное размещение контрольных точек на маршруте.}
\textit{Описание:} Организатор при планировании похода ставит контрольные точки в недоступных местах (болото, густой кустарник, частная территория) или слишком далеко друг от друга, что делает маршрут опасным или невыполнимым.
\textit{Метод обработки:} Приложение анализирует размещение точек и выдаёт предупреждения: <<Точка находится на расстоянии более N км от предыдущей>>, <<Участок может быть труднопроходимым>>, <<Рядом отмечена запретная зона>>. Используются данные топографических карт, отзывы других пользователей и информация от лесничих. Предлагаются альтернативные безопасные места поблизости. Максимальное расстояние между точками ограничено.
\textbf{3. Закрытие приложения во время активной навигации.}
\textit{Описание:} Пользователь случайно сворачивает или закрывает приложение, пытаясь очистить память телефона, принять звонок или сделать фотографию на основную камеру, теряя доступ к навигации и координатам группы.
\textit{Метод обработки:} Приложение продолжает отслеживать местоположение в фоновом режиме и отправляет уведомление <<Навигация активна, вернуться в приложение>> с кнопкой быстрого доступа. При закрытии из режима активной навигации показывается диалог с предупреждением: <<Вы уверены? GPS-отслеживание будет остановлено>>. Для возврата достаточно нажать на постоянное уведомление в шторке. Критические события (отклонение от маршрута, SOS от других участников) вызывают полноэкранное уведомление даже при закрытом приложении.
\textbf{4. Дублирование отметок грибов несколькими участниками.}
\textit{Описание:} Несколько членов семьи фотографируют одну и ту же находку (например, крупный белый гриб), каждый добавляет её в общую корзину, что искажает статистику и создаёт путаницу при подведении итогов.
\textit{Метод обработки:} Приложение автоматически определяет похожие фотографии, сделанные в радиусе 10 метров и с интервалом менее 2 минут. При добавлении второй находки появляется уведомление: <<Алиса уже отметила гриб поблизости 30 секунд назад. Это тот же гриб?>> с вариантами <<Да, объединить>> или <<Нет, это другая находка>>. Объединённые находки отображаются с указанием всех авторов фотографий, что сохраняет вклад каждого участника.
\textbf{5. Опоздание на контрольное время встречи.}
\textit{Описание:} Участник увлекается поиском грибов, не следит за временем и опаздывает на запланированную встречу группы в контрольной точке, что вызывает беспокойство остальных участников и задержку всего похода.
\textit{Метод обработки:} Приложение отправляет каскадные напоминания: за 30 минут до контрольного времени, за 15 минут с указанием расстояния до точки и времени в пути, за 5 минут с усиленным звуковым сигналом и вибрацией. При опоздании более чем на 10 минут уведомление получает организатор, который может скорректировать план или связаться с опаздывающим через чат.
% \textbf{6. Неточное определение координат при слабом GPS-сигнале.}
% \textit{Описание:} В густом лесу или овраге GPS-сигнал ослабевает, координаты определяются с ошибкой до 50-100 метров, что может привести к неверной фиксации местоположения находок или отклонению от маршрута.
% \textit{Метод обработки:} Приложение отображает точность GPS в виде цветового индикатора (зелёный < 10 м, жёлтый 10-30 м, красный > 30 м) и предупреждает при низкой точности: "Сигнал GPS слабый, точность ±45 м". При фиксации находки сохраняется информация о точности. Используется усреднение координат по нескольким измерениям (3-5 секунд) для повышения стабильности. В режиме компаса при потере GPS навигация переключается на направление по магнитному азимуту к последней известной контрольной точке. Организатор видит качество сигнала у всех участников и может предложить выйти на открытое место.
\textbf{6. Неправильное определение вида гриба.}
\textit{Описание:} Неопытный пользователь ошибочно идентифицирует ядовитый гриб как съедобный, добавляет его в корзину с неверной меткой, что может привести к отравлению при употреблении.
\textit{Метод обработки:} При добавлении находки приложение анализирует фотографию с помощью алгоритмов компьютерного зрения и предлагает наиболее вероятные виды с указанием уровня уверенности. Для потенциально опасных грибов (бледная поганка, мухомор, ложные опята) выводится красное предупреждение: <<ВНИМАНИЕ! Возможно ядовитый гриб>>.
\textbf{7. Недостаточная зарядка батареи телефона.}
\textit{Описание:} Пользователь активно использует камеру, экран и GPS, не следит за уровнем заряда, батарея разряжается в середине похода, связь с группой теряется.
\textit{Метод обработки:} Приложение прогнозирует время автономной работы на основе текущего расхода энергии и предупреждает: <<При таком расходе заряда хватит на 2,5 часа. До конца похода 4 часа. Рекомендуется включить режим экономии>>. При достижении 30\%, 20\% и 10\% заряда отправляются напоминания с советами (уменьшить яркость, отключить фоновую синхронизацию, использовать режим <<Только навигация>>). Участники видят уровень заряда других членов группы.
\textbf{8. Отклонение от запланированного маршрута.}
\textit{Описание:} Участник случайно или намеренно уходит в сторону от маршрута, следуя за грибами или исследуя местность, не замечая отклонения, что может привести к потере ориентации и разделению группы.
\textit{Метод обработки:} Приложение непрерывно отслеживает положение относительно маршрута и устанавливает <<коридор безопасности>> шириной 200-300 метров. При выходе за пределы коридора срабатывает голосовое предупреждение: <<Вы отклонились от маршрута на 250 метров>> и отображается стрелка направления возврата. Все остальные участники получают уведомления. Для детей можно установить более строгие ограничения.
\section{Описание дизайна экранной формы}
Дизайн экранных форм приложения разработан в соответствии с требованиями международного стандарта ISO 9241-161 (Эргономика взаимодействия человек-система. Часть 161: Руководство по элементам графического пользовательского интерфейса) и адаптирован под специфические условия использования: лесная местность, плохая освещённость, использование в перчатках, разный уровень цифровой грамотности пользователей.
\subsection{Типографика и шрифты}
В приложении используется шрифтовая система, обеспечивающая высокую читабельность в сложных условиях освещения и при быстром просмотре информации на ходу.
\textbf{Основной шрифт:} Inter или Roboto --- современные гротескные шрифты без засечек, специально разработанные для экранов с высокой читабельностью при малых размерах. Эти шрифты имеют открытые апертуры (внутренние просветы букв), что улучшает различимость символов при плохом освещении.
\textbf{Размеры шрифтов:}
\begin{itemize}
\item \textbf{Базовый размер текста:} 16--18pt для основного контента (описания, инструкции, названия грибов). Это на 2--4pt больше стандартных 14pt, что обусловлено необходимостью чтения на ходу и при плохой видимости.
\item \textbf{Заголовки экранов:} 22--24pt, полужирное начертание, для быстрой идентификации текущего раздела.
\item \textbf{Навигационные данные:} 18--20pt для расстояний, времени, направлений --- критически важная информация, которую нужно считывать мгновенно.
\item \textbf{Минимальный размер:} не менее 14pt для второстепенной информации (метки времени, подписи к иконкам), что соответствует рекомендациям ISO 9241-161.
\end{itemize}
\textbf{Межстрочный интервал:} 1.4--1.5 от размера шрифта для улучшения читабельности блоков текста. Для коротких надписей (кнопки, метки) можно использовать 1.2--1.3.
\textbf{Насыщенность:} основной текст использует regular (400) или medium (500) начертание, заголовки и активные элементы --- semibold (600) или bold (700). Тонкие начертания (light, thin) не используются из-за плохой видимости на солнце и в тумане.
\subsection{Цветовая палитра}
Цветовая схема построена на природных оттенках с учётом контрастности и психологического восприятия цветов в контексте лесной прогулки.
\textbf{Основные цвета:}
\begin{itemize}
\item \textbf{Лесной зелёный \#2D5F3F} --- основной цвет бренда, используется для маршрутов на карте, пройденных участков пути, успешных действий. Ассоциируется с природой, безопасностью, спокойствием.
\item \textbf{Янтарный оранжевый \#E67E22} --- акцентный цвет для активных элементов, кнопок действия, контрольных точек. Хорошо виден в лесу, привлекает внимание, ассоциируется с теплом и энергией.
\item \textbf{Тревожный красный \#C0392B} --- используется исключительно для критических элементов: кнопка SOS, предупреждения об опасности, низкий заряд батареи. Сигнализирует о необходимости немедленных действий.
\item \textbf{Небесный голубой \#3498DB} --- для информационных элементов, ссылок, текущего местоположения на карте. Нейтральный, не конфликтует с зелёным фоном карты.
\end{itemize}
\textbf{Нейтральная палитра (оттенки серого):}
\begin{itemize}
\item Тёмно-серый \#2C3E50 --- основной цвет текста на светлом фоне.
\item Средний серый \#7F8C8D --- второстепенный текст, неактивные элементы.
\item Светло-серый \#ECF0F1 --- фон карточек, разделители.
\item Почти белый \#FAFAFA --- основной фон приложения.
\end{itemize}
\textbf{Контрастность:} все текстово-фоновые комбинации обеспечивают коэффициент контрастности не менее 4.5:1 для обычного текста и 3:1 для крупного текста (18pt+), что соответствует уровню AA стандарта WCAG 2.1. Для критических элементов (SOS, предупреждения) используется усиленный контраст 7:1 (уровень AAA).
\textbf{Семантика цвета:}
\begin{itemize}
\item \textbf{Зелёный:} успех, завершение, безопасность (отметка на контрольной точке, подтверждение снаряжения).
\item \textbf{Оранжевый:} действие, внимание, активность (кнопки "Начать поход", "Добавить гриб", контрольные точки).
\item \textbf{Красный:} опасность, критическая ситуация, запрет (SOS, отклонение от маршрута, разрядка батареи <15\%).
\item \textbf{Голубой:} информация, навигация, нейтральное состояние (текущая позиция, информационные подсказки).
\item \textbf{Серый:} неактивное, второстепенное, фоновое (отключенные кнопки, пройденные точки).
\end{itemize}
\subsection{Размеры и отступы}
Система размеров построена на модульной сетке с базовым шагом 8pt (пикселей), что обеспечивает визуальную согласованность и упрощает адаптацию под разные размеры экранов.
\textbf{Размеры интерактивных элементов:}
\begin{itemize}
\item \textbf{Минимальный размер касания:} 48×48pt (примерно 9×9 мм на физическом экране) для стандартного режима, что соответствует рекомендациям ISO 9241-161 и позволяет уверенно нажимать пальцем в перчатке.
\item \textbf{Основные кнопки действий:} 56×56pt, увеличенный размер для часто используемых элементов ("Добавить гриб", "Открыть чат").
\item \textbf{Кнопка SOS:} 80×80pt, максимальный размер для мгновенного доступа в критической ситуации, постоянно видна в углу экрана.
\item \textbf{Расстояние между интерактивными элементами:} не менее 8pt, чтобы избежать случайных нажатий.
\end{itemize}
\textbf{Отступы и воздух:}
\begin{itemize}
\item Внутренние отступы кнопок: 12--16pt по вертикали, 20--24pt по горизонтали.
\item Отступы между секциями экрана: 24--32pt для визуального разделения.
\item Поля экрана от края: 16--20pt, чтобы контент не прижимался к границам.
\item Расстояние между строками в списках: 16pt для комфортного чтения и случайных нажатий.
\end{itemize}
\subsection{Иконография}
Визуальные символы играют ключевую роль в навигации по приложению, особенно для пользователей с низкой цифровой грамотностью.
\textbf{Стиль иконок:} используются иконки в едином стиле "outlined" (контурные) с толщиной линии 2pt. Контурный стиль обеспечивает лучшую видимость на разных фонах и при ярком солнечном свете по сравнению с заливными (filled) иконками.
\textbf{Размеры иконок:}
\begin{itemize}
\item Стандартный размер: 24×24pt для иконок в кнопках и меню.
\item Крупные иконки: 32×32pt для главных действий на экране.
\item Иконка SOS: 40×40pt, красного цвета с белой обводкой для максимальной заметности.
\end{itemize}
\textbf{Основные иконки:}
\begin{itemize}
\item \textbf{Компас} (круг со стрелкой) --- навигация, направление движения.
\item \textbf{Корзина с грибами} --- раздел находок, семейная корзина.
\item \textbf{Маркер на карте} --- контрольная точка, место встречи.
\item \textbf{Группа людей} --- участники похода, управление группой.
\item \textbf{Сообщение} --- семейный чат, коммуникация.
\item \textbf{Список с галочками} --- чек-лист снаряжения.
\item \textbf{Молния} --- уровень заряда батареи.
\item \textbf{Антенна с волнами} --- уровень сигнала связи.
\item \textbf{Фотоаппарат} --- сделать фото гриба.
\item \textbf{Тревожный треугольник/круг SOS} --- экстренная кнопка.
\end{itemize}
\textbf{Цвет иконок:} по умолчанию тёмно-серый (\#2C3E50) для нейтральных элементов, окрашиваются в акцентные цвета при активации или для семантического значения (красная иконка низкого заряда, зелёная галочка выполнения).
\subsection{Карточки и контейнеры}
Информация группируется в визуальные контейнеры для улучшения сканируемости и понимания структуры.
\textbf{Карточки:} прямоугольные контейнеры с лёгкой тенью (elevation 2--4dp в терминологии Material Design) для создания ощущения "слоя" над фоном. Радиус скругления углов 8--12pt для современного внешнего вида и мягкости восприятия.
\textbf{Структура карточки контрольной точки:}
\begin{itemize}
\item Заголовок (название точки, 18pt semibold).
\item Расстояние и время прибытия (16pt, серый цвет).
\item Статус (иконка + текст): "Не пройдена" / "Идём сейчас" / "Пройдена".
\item Кнопка действия "Отметиться" (оранжевая, 48pt высотой).
\end{itemize}
\textbf{Разделители:} тонкие линии (1pt, светло-серый \#ECF0F1) для отделения элементов списка. Используются умеренно, чтобы не создавать визуального шума.
\subsection{Состояния элементов}
В соответствии с ISO 9241-161, все интерактивные элементы должны иметь визуально различимые состояния.
\textbf{Состояния кнопок:}
\begin{itemize}
\item \textbf{Обычное (default):} полный цвет заливки, чёткие границы.
\item \textbf{Наведение/фокус (hover/focus):} лёгкое затемнение цвета на 10--15\%, появление обводки 3pt голубого цвета для фокуса.
\item \textbf{Нажатие (pressed):} затемнение на 20--25\%, лёгкое уменьшение размера (scale 0.95) для тактильного отклика.
\item \textbf{Неактивное (disabled):} полупрозрачность 40\%, серый цвет, курсор "not-allowed".
\item \textbf{Загрузка (loading):} анимированный спиннер внутри кнопки, текст сохраняется.
\end{itemize}
\textbf{Индикация выбора:} для элементов списка, переключателей, чекбоксов используется изменение цвета фона (светло-зелёный \#E8F5E9 для выбранного), появление галочки-иконки, увеличение высоты элемента на 2--4pt.
\subsection{Анимация и обратная связь}
Анимации используются для улучшения понимания системы и подтверждения действий, но не должны замедлять работу.
\textbf{Длительность анимаций:}
\begin{itemize}
\item Быстрые переходы (смена состояний кнопок): 100--150ms.
\item Средние переходы (открытие модальных окон, карточек): 200--300ms.
\item Длинные анимации (переход между экранами): 300--400ms.
\end{itemize}
\textbf{Тактильная обратная связь (вибрация):}
\begin{itemize}
\item Лёгкая вибрация (10ms) при нажатии кнопок для подтверждения касания.
\item Средняя вибрация (50ms) при достижении контрольной точки.
\item Сильная вибрация (200ms, паттерн) при предупреждениях и активации SOS.
\end{itemize}
\textbf{Звуковые сигналы:}
\begin{itemize}
\item Лёгкий щелчок при обычных действиях (опционально, можно отключить).
\item Мелодичный сигнал при успешных действиях (отметка на точке, добавление гриба).
\item Настойчивый звук при критических уведомлениях (низкий заряд, отклонение от маршрута).
\item Тревожный сигнал при активации SOS (можно отключить, если нужна скрытность).
\end{itemize}
\section{Шаблон экранной формы}
Шаблон экранной формы определяет единую структуру для всех основных экранов мобильного приложения. Он обеспечивает визуальную согласованность, предсказуемость навигации и соответствие принципам дизайна, описанным в предыдущем разделе.
\subsection{Структура шаблона}
Шаблон состоит из следующих обязательных компонентов:
\begin{itemize}
\item \textbf{Шапка приложения (Header)} --- содержит логотип и название приложения "По грибы". Фиксирована в верхней части экрана, имеет зелёный градиентный фон (\#2D5F3F → \#3A7A52), высоту 64pt. Логотип размером 36×36pt расположен слева, название выполнено белым шрифтом 24pt, полужирное начертание.
\item \textbf{Основная область контента (Main)} --- прокручиваемая область для размещения содержимого конкретного экрана. Включает заголовок экрана (22pt, полужирный), описание при необходимости (16pt, серый цвет), карточки с информацией и элементы управления. Отступы от краёв 20pt, отступ снизу 80pt для навигационной панели.
\item \textbf{Нижняя навигационная панель (Navigation)} --- фиксирована внизу экрана, высота 72pt, белый фон с тенью. Содержит 5 навигационных кнопок с иконками и подписями: "Маршрут", "Корзина", "Главная", "Чат", "Группа". Активная вкладка выделяется зелёным цветом текста и подчёркиванием снизу.
\item \textbf{Плавающая кнопка SOS} --- расположена в правом нижнем углу над навигацией, размер 80×80pt, красный цвет (\#C0392B), круглая форма с белой обводкой 4pt. Постоянно видима на всех экранах, имеет анимацию пульсации для привлечения внимания.
\end{itemize}
\subsection{Визуальные особенности}
Шаблон реализует описанную ранее цветовую палитру и типографику:
\begin{itemize}
\item Карточки контента имеют белый фон, радиус скругления 12pt, лёгкую тень для создания эффекта "слоя".
\item Элементы списков включают иконку слева (40×40pt в скруглённом контейнере), заголовок (17pt, полужирный) и подзаголовок (14pt, серый).
\item Все интерактивные элементы реагируют на нажатие визуальным эффектом (уменьшение до 95--98\% размера).
\item Общий фон приложения --- светло-серый \#FAFAFA для снижения контрастности и уменьшения утомляемости глаз.
\end{itemize}
Шаблон рассчитан на стандартную ширину мобильного экрана 375pt (iPhone, большинство Android-устройств) и может адаптироваться по высоте от 667pt до 844pt.
\begin{figure}[h!]
\centering
\includegraphics[width=0.4\linewidth]{img/template-screen.png}
\caption{Шаблон экранной формы мобильного приложения "По грибы!"}
\label{fig:template}
\end{figure}
\newpage
\section{Эскизы экранных форм}
На основе разработанного шаблона созданы экранные формы для ключевых процессов приложения. Каждая форма реализует описанные ранее функции и соответствует принципам дизайна ISO 9241-161.
\subsection{Экран планирования похода}
Экран планирования реализует функции конструктора маршрутов и подготовки к походу. Пользователь (организатор) может выбрать маршрут на карте, установить дату и время, просмотреть прогноз погоды и пригласить участников.
\textbf{Основные элементы экрана:}
\begin{itemize}
\item \textbf{Предварительный просмотр карты} --- интерактивная область высотой 200pt с наложенным маршрутом, кнопка "Выбрать на карте" для перехода к полноэкранной карте.
\item \textbf{Информация о маршруте} --- карточка с основными параметрами: район (Токсово), расстояние (8.3 км), прогнозируемое время (4ч 30мин).
\item \textbf{Селекторы даты и времени} --- крупные нажимаемые элементы с иконками календаря и часов, отображают выбранные значения.
\item \textbf{Виджет погоды} --- показывает температуру, описание погоды, время восхода/заката, скорость ветра для выбранной даты.
\item \textbf{Список участников} --- карточки с аватарами, именами, ролями и статусами подтверждения. Кнопка "Пригласить ещё" для добавления новых участников.
\item \textbf{Кнопки действий} --- "Сохранить черновик" (вторичная) и "Создать поход" (основная, оранжевая).
\end{itemize}
Экран оптимизирован для быстрого планирования: все ключевые параметры видны без прокрутки, часто используемые действия доступны крупными кнопками. Прогноз погоды помогает организатору принять решение о целесообразности похода.
\begin{figure}[h!]
\centering
\begin{subfigure}[b]{0.30\linewidth}
\centering
\includegraphics[width=\textwidth]{img/planning-screen.png}
\caption{Карта}
\label{fig:planning-screen}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.30\linewidth}
\centering
\includegraphics[width=\textwidth]{img/planning-screen2.png}
\caption{Когда идём?}
\label{fig:planning-screen2}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.30\linewidth}
\centering
\includegraphics[width=\textwidth]{img/planning-screen3.png}
\caption{Участники похода}
\label{fig:planning-screen3}
\end{subfigure}
\caption{Экран планирования похода}
\label{fig:planning-screens}
\end{figure}
\newpage
\subsection{Экран навигации в походе}
Экран навигации --- основной экран во время активного похода. Занимает полноэкранный режим с картой, поверх которой размещены информационные панели и элементы управления.
\textbf{Основные элементы экрана:}
\begin{itemize}
\item \textbf{Полноэкранная карта} --- отображает местность, маршрут, контрольные точки и местоположение всех участников группы в реальном времени. Текущая позиция пользователя выделена синей пульсирующей точкой с анимацией расширяющегося кольца.
\item \textbf{Панель состояния} --- расположена сверху, показывает критически важную информацию: уровень сигнала сети (3G/4G), заряд батареи (78\%), время в пути (2:15). Полупрозрачный белый фон для видимости на любой карте.
\item \textbf{Компас-навигатор} --- крупная карточка над группой участников, содержит визуальный компас с направлением движения (стрелка указывает на север), название целевой точки ("До точки встречи №2"), расстояние до неё (1.2 км) и прогнозируемое время прибытия (примерно 25 мин). Зелёный градиентный круг компаса выделяет элемент.
\item \textbf{Маркеры на карте} --- визуальные метки: аватары участников (Иван, Алиса), оранжевый круг с иконкой (контрольная точка).
\end{itemize}
Экран оптимизирован для использования в движении: все элементы управления имеют увеличенный размер (56×56pt), информация сгруппирована в легко читаемые карточки с тенями для отделения от карты. Анимация пульсации текущей позиции помогает быстро найти себя на карте даже при беглом взгляде.
\begin{figure}[h!]
\centering
\includegraphics[width=0.35\linewidth]{img/navigation-screen.png}
\caption{Экран навигации в походе с картой и информационными панелями}
\label{fig:navigation-screen}
\end{figure}
\newpage
\subsection{Экран семейной корзины}
Экран отображает все найденные грибы с возможностью фильтрации, статистику похода и вклад каждого участника.
\textbf{Основные элементы:}
\begin{itemize}
\item \textbf{Статистика} --- карточка с градиентным фоном показывает общее количество грибов (37), количество видов (6) и время в пути (2:15).
\item \textbf{Вклад участников} --- три карточки с аватарами и счётчиками находок для каждого члена семьи (Иван: 18, Мария: 10, Алиса: 9).
\item \textbf{Карточки находок} --- каждая содержит фото гриба, название, количество экземпляров, автора находки, время и местоположение. Ядовитые грибы выделены предупреждающими бейджами и комментариями.
\end{itemize}
\begin{figure}[h!]
\centering
\begin{subfigure}[b]{0.34\linewidth}
\centering
\includegraphics[width=\textwidth]{img/basket-screen.png}
% \caption{Общий вид}
\label{fig:basket-screen}
\end{subfigure}
\hspace{1cm}
\begin{subfigure}[b]{0.34\linewidth}
\centering
\includegraphics[width=\textwidth]{img/basket-screen2.png}
% \caption{Детали}
\label{fig:basket-screen2}
\end{subfigure}
\caption{Экран семейной корзины с находками}
\label{fig:basket-screens}
\end{figure}
\newpage
\subsection{Экран справочника грибов}
Справочник содержит информацию о распространённых съедобных и ядовитых грибах с фотографиями и описаниями.
\textbf{Основные элементы:}
\begin{itemize}
\item \textbf{Поисковая строка} --- быстрый поиск гриба по названию.
\item \textbf{Фильтры} --- фильтрация по категориям: все, съедобные, ядовитые, условно-съедобные.
\item \textbf{Карточки грибов} --- фотография, название (русское и латинское), бейдж съедобности, сезон сбора, описание признаков, метки мест обитания. Ядовитые грибы выделены красной рамкой и предупреждающим блоком о возможной путанице с похожими съедобными грибами.
\end{itemize}
\begin{figure}[h!]
\centering
\includegraphics[width=0.35\linewidth]{img/guide-screen.png}
\caption{Экран справочника грибов}
\label{fig:guide-screen}
\end{figure}
\newpage
\subsection{Экран семейного чата}
Чат обеспечивает оперативную коммуникацию между участниками похода с возможностью отправки текста, фотографий и геолокации.
\textbf{Основные элементы:}
\begin{itemize}
\item \textbf{Область сообщений} --- прокручиваемый список с сообщениями участников, системными уведомлениями о достижении контрольных точек. Сообщения других участников слева с аватарами, свои сообщения справа в зелёных пузырях.
\item \textbf{Типы сообщений} --- текстовые, фотографии грибов, карточки с геолокацией (показывают расстояние до отправителя), системные уведомления (начало похода, достижение точек).
\item \textbf{Панель ввода} --- кнопки быстрых действий (камера, отправить геолокацию), поле ввода текста, кнопка отправки. Все элементы увеличенного размера для удобного использования в перчатках.
\end{itemize}
\begin{figure}[h!]
\centering
\begin{subfigure}[b]{0.34\linewidth}
\centering
\includegraphics[width=\textwidth]{img/chat-screen.png}
\label{fig:chat-screen}
\end{subfigure}
\hspace{1cm}
\begin{subfigure}[b]{0.34\linewidth}
\centering
\includegraphics[width=\textwidth]{img/chat-screen2.png}
\label{fig:chat-screen2}
\end{subfigure}
\caption{Экран семейного чата}
\label{fig:chat-screens}
\end{figure}
% \section{Выводы}
% Описан интерфейс приложения для семейного похода за грибами: выделены заинтересованные лица, их ожидания, требования к платформе, модели пользователей и сценарии. Рассмотрены функции, диалоговые структуры, методы снижения ошибок и особенности дизайна. Подготовленный материал служит основой для создания макета экранов и дальнейшего прототипирования.
\end{document}