1019 lines
120 KiB
TeX
1019 lines
120 KiB
TeX
\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*{Особенности грибных походов}
|
||
|
||
Грибные походы проводятся в лесных массивах с благоприятными условиями для произрастания грибов: смешанных и хвойных лесах, рядом с влажными низинами, опушками и моховыми участками. Такой тип ландшафта распространён во многих регионах России.
|
||
|
||
Сезонность является ключевым фактором: массовое появление грибов обычно происходит после устойчивых дождей при температуре около 15–20°С. Наиболее насыщенный сезон приходится на конец лета и осень, когда в лесах можно встретить как ранние сыроежки, так и поздние осенние опята.
|
||
|
||
\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{Цели приложения}
|
||
Цель приложения --- сделать семейные походы за грибами безопасными, продуктивными и комфортными для всех участников независимо от их возраста и цифровой грамотности. Приложение ориентировано на походы как форму семейного отдыха и совместного времяпрепровождения на природе; сбор грибов рассматривается как приятное дополнение, а не как основная задача заготовки. Приложение призвано превратить поход из разрозненной активности в слаженное семейное мероприятие с чётким планированием, надёжной координацией и возможностью сохранить положительные воспоминания в виде архива маршрутов и находок. Приложение должно помогать пользователям как на этапе планирования, так и на этапе проведения похода.
|
||
|
||
Этап планирования похода включает в себя выбор даты и времени начала похода, определение места сбора и списка участников, построение маршрута с контрольными точками, отправку приглашений и согласование с участниками времени и плана похода. Организатор должен определить транспорт и способ, как добраться до точки сбора, проверить погодные условия на выбранную дату. Необходимо составить список снаряжения и запасной одежды, распределить ответственность за их подготовку между участниками и проверить готовность перед началом похода. Если в походе участвуют дети, требуется определить ответственного взрослого за каждого ребёнка.
|
||
|
||
В ходе этапа проведения похода участники добираются до точки начала похода, осуществляют навигацию в лесу с помощью карт и компаса, используя построенный маршрут и контрольные точки, занимаются сбором грибов, стараются поддерживать связь друг с другом и отслеживать местоположение членов группы для обеспечения безопасности.
|
||
|
||
\section{Заинтересованные лица}
|
||
\begin{itemize}
|
||
\item \textbf{Родители-участники похода} --- взрослые члены семьи возрастом от 30 до 50 лет, непосредственно участвующие в сборе грибов и отвечающие за безопасность детей.
|
||
|
||
\item \textbf{Дети и подростки} --- младшие участники похода возрастом от 10 до 18 лет.
|
||
|
||
\item \textbf{Пожилые родственники-грибники} --- опытные грибники старшего поколения возрастом от 60 лет.
|
||
|
||
\item \textbf{Организатор похода} --- ответственное лицо (обычно один из родителей), координирующее планирование и проведение похода.
|
||
\end{itemize}
|
||
|
||
\section{Ожидания заинтересованных лиц}
|
||
\begin{itemize}
|
||
\item \textbf{Родители-участники} хотят обеспечить безопасность детей, не потеряться самим, иметь возможность быстро связаться в случае разделения группы. Ожидают простой интерфейс с крупными элементами, офлайн-карту и быстрый доступ к тревожной кнопке. Важна возможность видеть местоположение всех членов семьи.
|
||
|
||
\item \textbf{Дети и подростки} хотят весело провести время, найти свои первые грибы, не отстать от взрослых и получить признание за находки. Ожидают интересный и понятный интерфейс с игровыми элементами, возможность делиться фотографиями находок и получать достижения за вклад в общую корзину.
|
||
|
||
\item \textbf{Пожилые родственники} хотят поделиться опытом и знаниями о грибных местах, передать традиции, при этом комфортно пользоваться приложением. Ожидают крупные шрифты, минимальное число действий на экране.
|
||
|
||
\item \textbf{Организатор} хочет эффективно спланировать маршрут, проконтролировать сбор снаряжения, координировать действия группы. Ожидает инструменты совместного планирования: систему приглашений, чек-лист снаряжения, контроль состава группы, возможность отслеживать местоположение всех участников и быстро реагировать на отклонения от плана.
|
||
|
||
\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 Снижение рисков для детей и пожилых участников через постоянный мониторинг их местоположения родителями и организатором похода.
|
||
\end{itemize}
|
||
|
||
\textbf{Улучшение качества семейного отдыха:}
|
||
\begin{itemize}
|
||
\item Снижение стресса и тревожности у организатора и участников благодаря структурированному планированию, автоматическим напоминаниям и контролю готовности к походу.
|
||
\item Упрощение координации группы в лесу через визуализацию местоположения всех участников на карте.
|
||
\item Повышение вовлечённости всех членов семьи в совместную активность за счёт общей корзины находок, обмена фотографиями и возможности отмечать интересные места.
|
||
\item Сокращение времени на организационные вопросы (сбор снаряжения, согласование времени, выбор маршрута) через централизованное планирование и чек-листы.
|
||
\item Сохранение приятных воспоминаний через архив маршрутов с фотографиями и заметками, что мотивирует к повторным походам и формированию семейных традиций.
|
||
\end{itemize}
|
||
|
||
|
||
\section{Описание технической платформы}
|
||
Приложение ориентировано на мобильные устройства с операционными системами Android и iOS, оснащённые модулем GPS для определения местоположения, фотокамерой. Мобильная версия является основной, поскольку участники похода используют телефоны непосредственно в лесу для навигации, фотофиксации грибов и экстренной связи.
|
||
|
||
При проектировании необходимо учесть специфические условия эксплуатации. В лесной местности следует ожидать нестабильное или полностью отсутствующее покрытие мобильной сети, поэтому критически важные функции должны работать в офлайн-режиме с последующей синхронизацией данных. Устройства часто используются в перчатках, при плохой освещённости или под дождём, что требует крупных элементов управления и высокой контрастности интерфейса. Необходимо минимизировать энергопотребление, так как походы длятся несколько часов без возможности подзарядки, а GPS-модуль и постоянная работа экрана существенно расходуют батарею.
|
||
|
||
|
||
\section{Формулировка требований к системе}
|
||
|
||
\textbf{Требования к автономной работе и офлайн-режиму:}
|
||
\begin{itemize}
|
||
\item Приложение должно поддерживать работу в офлайн-режиме с предварительным кешированием карт выбранного лесного массива (объём 30--50 МБ на регион).
|
||
\item Система должна обеспечивать работу основных функций (навигация, фиксация находок, мониторинг группы) без подключения к интернету с последующей синхронизацией данных при восстановлении связи.
|
||
\item Приложение должно автоматически переключаться на компасный режим навигации при слабом GPS-сигнале с указанием направления к последней известной контрольной точке.
|
||
\end{itemize}
|
||
|
||
\textbf{Требования к планированию и организации:}
|
||
\begin{itemize}
|
||
\item Система должна автоматизировать рутинные операции: расчёт времени прохождения маршрута, проверку погоды, напоминания о снаряжении.
|
||
\item Приложение должно предоставлять инструменты совместного планирования: систему приглашений, чек-листы снаряжения с распределением ответственности, контроль состава группы.
|
||
\item Система должна автоматически рассчитывать примерное время прохождения между контрольными точками и общую длительность похода.
|
||
\item Приложение должно отправлять автоматические напоминания участникам о проверке снаряжения за 2 часа до выхода и о зарядке устройств за 5 часов.
|
||
\end{itemize}
|
||
|
||
\textbf{Требования к навигации и координации:}
|
||
\begin{itemize}
|
||
\item Система должна отображать местоположение всех участников группы на карте в реальном времени с обновлением позиций каждые 30 секунд.
|
||
\item Приложение должно автоматически отправлять уведомления организатору при отклонении участника от группы более чем на заданное расстояние: для детей — 150 метров, для взрослых — 250 метров, для пожилых участников — 200 метров.
|
||
\item Система должна предоставлять голосовые подсказки с направлением к контрольной точке, предупреждениями об отклонении от маршрута и напоминаниями о времени встречи.
|
||
\end{itemize}
|
||
|
||
\textbf{Требования к безопасности и экстренным ситуациям:}
|
||
\begin{itemize}
|
||
\item Приложение должно обеспечивать отправку сигнала SOS с точными GPS-координатами, составом группы, запасом батареи, последней контрольной точкой и историей перемещений через интеграцию с системой «Система-112».
|
||
\item Кнопка SOS должна быть доступна с любого экрана приложения и работать даже при минимальной связи.
|
||
\item Приложение должно предоставлять таймер обратного отсчёта 5 секунд с возможностью отмены для предотвращения случайных нажатий кнопки SOS.
|
||
\end{itemize}
|
||
|
||
\textbf{Требования к интерфейсу и доступности:}
|
||
\begin{itemize}
|
||
\item Система должна предоставлять крупные элементы управления и высокую контрастность интерфейса для использования в перчатках, при плохой освещённости или под дождём.
|
||
\end{itemize}
|
||
|
||
\textbf{Требования к фиксации и учёту находок:}
|
||
\begin{itemize}
|
||
\item Система должна автоматически сохранять GPS-координаты и время и погодные условия.
|
||
\item Приложение должно создавать общую семейную корзину с отображением всех находок в реальном времени и указанием автора каждой находки.
|
||
\end{itemize}
|
||
|
||
\textbf{Требования к архивированию и отчётности:}
|
||
\begin{itemize}
|
||
\item Приложение должно сохранять пройденный GPS-трек, общее время и расстояние похода, количество и авторство находок.
|
||
\item Приложение должно поддерживать сохранение маршрутов как шаблонов для повторного использования.
|
||
\item Приложение должно предоставлять функции для экспорта и отправки фотографий находок.
|
||
\end{itemize}
|
||
|
||
\textbf{Технические требования:}
|
||
\begin{itemize}
|
||
\item Приложение должно поддерживать мобильные устройства с операционными системами Android и iOS, оснащённые модулем GPS и фотокамерой.
|
||
\end{itemize}
|
||
|
||
\section{Модель пользователей приложения}
|
||
|
||
\textbf{Основные персонажи:}
|
||
|
||
\textbf{Мария Петрова, 38 лет --- организатор семейных походов (персонаж 1).} Проживает в Санкт-Петербурге, Калининский район, работает менеджером в крупной компании. Уверенный пользователь смартфона, активно использует навигаторы, мессенджеры и облачные сервисы. Замужем, двое детей (12 и 7 лет). Семья выезжает за грибами 2--3 раза за сезон, обычно по выходным в сентябре-октябре.
|
||
|
||
\textit{Типичный маршрут:} электричка с Финляндского вокзала до одной из станций Всеволожского района (Токсово, Каменка), время в пути около 2--3 часов. Далее пешком 15--25 минут до знакомых мест в смешанном лесу. Общая продолжительность похода 6--7 часов, включая дорогу и сбор грибов.
|
||
|
||
\textit{Цели и потребности:} эффективно организовать поход --- согласовать дату и состав участников, создать маршрут и чек-лист снаряжения, убедиться, что все взяли необходимое снаряжение. Во время похода контролировать местоположение детей в лесу, иметь возможность быстро отправить сигнал о помощи. Опасается потерять из виду младшую дочь или отца, переживает за разрядку телефонов. Хочет сохранять маршруты для повторных походов и вести семейную статистику находок.
|
||
|
||
\vspace{0.3cm}
|
||
|
||
\textbf{Иван Семёнович Петров, 67 лет --- опытный грибник, дедушка (персонаж 2).} Пенсионер, всю жизнь прожил в Ленинградской области. Собирает грибы с детства, знает грибные места в окрестностях Комарово, Солнечного и Репино. Использует кнопочный телефон для звонков, недавно получил в подарок от дочери бюджетный Android-смартфон, но осваивает его медленно.
|
||
|
||
|
||
\textit{Цели и потребности:} поделиться знаниями о грибных местах с внуками, научить их отличать съедобные грибы от ядовитых, показать секретные полянки, где он собирает грибы много лет. Хочет чувствовать себя безопасно в лесу, иметь возможность вызвать помощь простым действием (одна кнопка), не разбираться в сложных меню. Важно крупное отображение информации, голосовые подсказки. Готов использовать смартфон, если интерфейс простой и понятный.
|
||
|
||
\vspace{0.3cm}
|
||
|
||
\textbf{Алиса Петрова, 12 лет --- школьница, любительница фотографии (персонаж 3).} Учится в 7 классе, живёт с родителями в Калининском районе. Активный пользователь смартфона, любит фотографировать природу, общается с друзьями в мессенджерах, играет в мобильные игры. В походы ездит с родителями и дедушкой, для неё это интересное приключение и возможность сделать красивые фото для соцсетей.
|
||
|
||
\textit{Типичный маршрут:} сопровождает семью в походы, обычно идёт рядом с мамой или дедушкой. Любит исследовать окрестности, но иногда увлекается и отходит далеко. После нескольких случаев, когда её искали 15--20 минут, родители настаивают на постоянной связи через приложение.
|
||
|
||
\textit{Цели и потребности:} весело провести время, найти необычные грибы и сфотографировать их для коллекции, получить похвалу от родителей и дедушки за находки. Хочет видеть своё местоположение относительно семьи, делиться фотографиями находок в семейном чате. Не любит, когда родители слишком контролируют, но понимает необходимость безопасности.
|
||
|
||
\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{Информирование о погодных условиях} --- отобразить прогноз погоды на выбранную дату, время восхода и захода солнца, предупредить о неблагоприятных условиях (дождь, низкая температура) и дать рекомендации по снаряжению.
|
||
|
||
\item \textbf{Формирование группы и согласование плана} --- обеспечить отправку приглашений всем участникам с указанием даты, времени, точки сбора и маршрута. Каждый участник должен видеть план похода.
|
||
|
||
\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 при экстренном вызове.
|
||
|
||
\end{itemize}
|
||
|
||
\section{Описание основных процессов}
|
||
|
||
Приложение поддерживает полный цикл семейного похода за грибами, от подготовки до подведения итогов. Ниже описаны ключевые процессы, которые автоматизируются или упрощаются с помощью приложения.
|
||
|
||
\textbf{1. Планирование похода (Мария).} Мария за день до похода открывает приложение на домашнем компьютере или в смартфоне. Выбирает лесной массив из списка знакомых мест (Комарово, Зеленогорск) или находит новое место на карте. Приложение показывает прогноз погоды, время восхода и захода солнца, рекомендуемое время выезда с учётом расписания электричек. Мария строит маршрут: размещает стартовую точку у станции, добавляет 3--4 контрольные точки в лесу (места предполагаемого сбора грибов и встречи группы), указывает финальную точку возврата. Приложение автоматически рассчитывает примерное время прохождения между точками и общую длительность похода. Мария загружает офлайн-карты выбранного региона (приложение показывает объём: ~30--50 МБ) для работы без связи в лесу. Затем отправляет приглашения участникам: мужу, детям, отцу Ивану, указывая время и место сбора. Каждый получает уведомление с маршрутом и может подтвердить участие.
|
||
|
||
\textbf{2. Подготовка снаряжения (Мария + семья).} После подтверждения участников Мария создаёт чек-лист снаряжения: выбирает готовый шаблон "Осенний поход на 4--5 часов" или создаёт свой список. В чек-лист входят: корзины для грибов, ножи, аптечка, вода, перекус, powerbank, дождевики, компас. Мария распределяет ответственность: муж берёт аптечку и воду, она — корзины и перекус, Иван — ножи. Каждый участник видит свои назначения в приложении и отмечает галочками выполнение. За 2 часа до выхода приложение отправляет напоминание всем участникам проверить список. Вечером накануне приходит напоминание зарядить телефоны и powerbank.
|
||
|
||
\textbf{3. Навигация в походе (все участники).} В лесу все участники используют приложение для навигации. На экране отображается карта с текущим положением каждого (Мария видит всех, остальные видят маршрут и контрольные точки), направление к ближайшей контрольной точке (стрелка-компас), расстояние до неё и примерное время прибытия. Иван использует упрощённый режим "Проводник" с крупными элементами и голосовыми подсказками: "Поверните направо через 50 метров", "Вы отклонились от маршрута на 200 метров". Если участник отходит от группы дальше установленного радиуса (для детей — 150 метров, для взрослых — 250 метров, для пожилых — 200 метров), приложение автоматически отправляет уведомление Марии. При слабом 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{Интеграция со службами спасения}: автоматическая передача структурированных данных в систему 112, экспорт координат и треков в стандартных форматах (GPX, KML) для профессионального оборудования МЧС.
|
||
\end{itemize}
|
||
|
||
\textbf{Функции подведения итогов и архивирования:}
|
||
\begin{itemize}
|
||
\item \textbf{Автоматическое формирование отчёта о походе}: сохранение пройденного GPS-трека, статистики (время, расстояние, количество находок), всех фотографий с привязкой к карте и времени.
|
||
\end{itemize}
|
||
|
||
\section{Описание структуры диалога и его обоснование}
|
||
|
||
Структура диалога приложения построена на основе задач, решаемых пользователями. Приложение два основных состояния, соответствующих этапам планирования и непосредственно проведения похода.
|
||
|
||
В состоянии планирования пользователю отображаются даты, время и место сбора, список участников, список снаряжения, карта с контрольными точками. Все участники похода видят эти данные, но только организатор может их редактировать.
|
||
|
||
Состояние проведения похода разделено на несколько экранов:
|
||
|
||
\begin{itemize}
|
||
\item Маршрут --- экран с компасом и картой, на которой отображается местоположение других участников похода и контрольные точки.
|
||
\item Корзина --- просмотр находок группы с фотографиями, координатами и указанием автора.
|
||
\item Чат --- координация участников через текстовые сообщения.
|
||
\item Справочник --- информация о видах грибов для идентификации находок.
|
||
\item SOS --- режим экстренного вызова, доступный по кнопке SOS. Кнопка SOS находится на всех экранах, когда приложение находится в состоянии проведения похода.
|
||
\end{itemize}
|
||
|
||
Во время активного похода переключение между экранами <<Маршрут>>, <<Корзина>>, <<Чат>> и <<Справочник>> осуществляется через навигационную панель в нижней части экрана.
|
||
|
||
\begin{figure}[h!]
|
||
\centering
|
||
\includegraphics[width=1\linewidth]{img/graph.png}
|
||
\caption{Структура диалога.}
|
||
\label{fig:graph}
|
||
\end{figure}
|
||
|
||
\newpage
|
||
\phantom{text}
|
||
\newpage
|
||
\section{Описание структуры команд пользователей}
|
||
|
||
\textbf{Тип 1} - команды без параметров:
|
||
|
||
\begin{itemize}
|
||
\item Открытие приложения.
|
||
\item Переход между экранами с помощью навигационной панели.
|
||
\item Закрытие приложения.
|
||
\end{itemize}
|
||
|
||
\textbf{Тип 2} - команды с одним оператором.
|
||
|
||
\begin{itemize}
|
||
\item Выбор участника похода.
|
||
\item Выбор снаряжения.
|
||
\item Выбор контрольных точек.
|
||
\item Выбор даты и времени сбора.
|
||
\item Выбор места сбора.
|
||
\item Выбор контрольных точек.
|
||
\item Фиксация находок.
|
||
\end{itemize}
|
||
|
||
\begin{figure}[h!]
|
||
\centering
|
||
\includegraphics[width=0.8\linewidth]{img/commands.png}
|
||
\caption{Структура команд пользователей.}
|
||
\label{fig:commands}
|
||
\end{figure}
|
||
|
||
|
||
\newpage
|
||
\section{Технология ввода данных}
|
||
|
||
Приложение поддерживает несколько технологий ввода данных, адаптированных под условия использования в лесу и разную цифровую грамотность пользователей. Основным методом взаимодействия являются жесты касания и свайпы по сенсорному экрану. Все формы спроектированы с минимальным количеством обязательных полей: геоданные (координаты, время) и метаданные фотографий подставляются автоматически при фиксации находок. Для упрощения работы пожилым пользователям предусмотрены увеличенные области нажатия (минимум 48×48 пикселей). При работе в перчатках или с мокрым экраном доступен упрощённый режим с крупными элементами и подтверждением критических действий.
|
||
|
||
\section{Описание ошибок пользователей}
|
||
|
||
При использовании приложения пользователи могут допускать ошибки. Ниже описаны основные типы ошибок и методы их смягчения.
|
||
|
||
\textbf{1. Случайное нажатие кнопки SOS.}
|
||
|
||
\textit{Описание:} Пользователь случайно активирует экстренный сигнал при доставании телефона из кармана, надевании перчаток или передаче устройства другому участнику, что приводит к ложной тревоге и необоснованному беспокойству доверенных контактов.
|
||
|
||
\textit{Метод обработки:} Кнопка SOS имеет двухэтапную активацию: после нажатия запускается обратный отсчёт 5 секунд с кнопкой отмены. Вибрация и звуковое предупреждение при активации.
|
||
|
||
\textbf{2. Неверное размещение контрольных точек на маршруте.}
|
||
|
||
\textit{Описание:} Организатор при планировании похода ставит контрольные точки в недоступных местах (болото, густой кустарник, частная территория) или слишком далеко друг от друга, что делает маршрут опасным или невыполнимым.
|
||
|
||
\textit{Метод обработки:} Приложение анализирует размещение точек и выдаёт предупреждения: <<Точка находится на расстоянии более N км от предыдущей>>, <<Участок может быть труднопроходимым>>, <<Рядом отмечена запретная зона>>. Используются данные топографических карт, отзывы других пользователей и информация от лесничих.
|
||
|
||
\textbf{3. Закрытие приложения во время активной навигации.}
|
||
|
||
\textit{Описание:} Пользователь случайно сворачивает или закрывает приложение, пытаясь очистить память телефона, принять звонок или сделать фотографию на основную камеру, теряя доступ к навигации и координатам группы.
|
||
|
||
\textit{Метод обработки:} Приложение продолжает отслеживать местоположение в фоновом режиме и отправляет уведомление <<Навигация активна, вернуться в приложение>> с кнопкой быстрого доступа. При закрытии из режима активной навигации показывается диалог с предупреждением: <<Вы уверены? GPS-отслеживание будет остановлено>>. Для возврата достаточно нажать на постоянное уведомление в шторке. Критические события (отклонение от маршрута, SOS от других участников) вызывают полноэкранное уведомление даже при закрытом приложении.
|
||
|
||
\textbf{4. Опоздание на контрольную точку.}
|
||
|
||
\textit{Описание:} Участник увлекается поиском грибов, не следит за временем и опаздывает на запланированную встречу группы в контрольной точке, что вызывает беспокойство остальных участников и задержку всего похода.
|
||
|
||
\textit{Метод обработки:} Приложение отправляет каскадные напоминания: за 30 минут до контрольного времени, за 15 минут с указанием расстояния до точки и времени в пути, за 5 минут с усиленным звуковым сигналом и вибрацией. При опоздании более чем на 10 минут уведомление получает организатор, который может скорректировать план или связаться с опаздывающим через чат.
|
||
|
||
\textbf{5. Неправильное определение вида гриба.}
|
||
|
||
\textit{Описание:} Неопытный пользователь ошибочно идентифицирует ядовитый гриб как съедобный, добавляет его в корзину с неверной меткой, что может привести к отравлению при употреблении.
|
||
|
||
\textit{Метод обработки:} При добавлении находки приложение анализирует фотографию с помощью алгоритмов компьютерного зрения и предлагает наиболее вероятные виды с указанием уровня уверенности. Для потенциально опасных грибов (бледная поганка, мухомор, ложные опята) выводится красное предупреждение: <<ВНИМАНИЕ! Возможно ядовитый гриб>>.
|
||
|
||
\textbf{6. Недостаточная зарядка батареи телефона.}
|
||
|
||
\textit{Описание:} Пользователь активно использует камеру, экран и GPS, не следит за уровнем заряда, батарея разряжается в середине похода, связь с группой теряется.
|
||
|
||
\textit{Метод обработки:} Приложение прогнозирует время автономной работы на основе текущего расхода энергии и предупреждает: <<При таком расходе заряда хватит на 2,5 часа. До конца похода 4 часа. Рекомендуется включить режим экономии>>. При достижении 30\%, 20\% и 10\% заряда отправляются напоминания с советами (уменьшить яркость, отключить фоновую синхронизацию, использовать режим <<Только навигация>>). Участники видят уровень заряда других членов группы.
|
||
|
||
\textbf{7. Отклонение от запланированного маршрута.}
|
||
|
||
\textit{Описание:} Участник случайно или намеренно уходит в сторону от маршрута, следуя за грибами или исследуя местность, не замечая отклонения, что может привести к потере ориентации и разделению группы.
|
||
|
||
\textit{Метод обработки:} Приложение непрерывно отслеживает положение относительно маршрута и устанавливает <<коридор безопасности>> с дифференцированной шириной в зависимости от возраста участника: для детей — 150 метров, для взрослых — 250 метров, для пожилых участников — 200 метров. При выходе за пределы коридора срабатывает голосовое предупреждение: <<Вы отклонились от маршрута на 150 метров>> и отображается стрелка направления возврата. Организатор и все остальные участники получают уведомления.
|
||
|
||
\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{Состояния элементов}
|
||
|
||
В соответствии с 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.
|
||
|
||
\newpage
|
||
\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{Основные элементы интерфейса}
|
||
|
||
Шаблон использует набор унифицированных элементов интерфейса, обеспечивающих визуальную согласованность и предсказуемость взаимодействия.
|
||
|
||
\textbf{Кнопка SOS} --- критически важный элемент безопасности, доступный на всех экранах. Размер 80×80pt обеспечивает уверенное нажатие даже в стрессовой ситуации. Красный цвет \#C0392B мгновенно привлекает внимание, белая обводка 4pt создаёт контраст с любым фоном.
|
||
|
||
\begin{figure}[h!]
|
||
\centering
|
||
\includegraphics[width=0.2\linewidth]{img/elements/sos-button.png}
|
||
\caption{Кнопка SOS}
|
||
\label{fig:sos-button}
|
||
\end{figure}
|
||
|
||
\newpage
|
||
\textbf{Карточка (Card)} --- базовый контейнер для группировки связанного контента. Белый фон \#FFFFFF, радиус скругления 12pt, отступы 16pt. Тень средней интенсивности. Используется для информации о маршруте, участниках, находках.
|
||
|
||
\begin{figure}[h!]
|
||
\centering
|
||
\includegraphics[width=0.35\linewidth]{img/elements/card.png}
|
||
\caption{Карточка контента}
|
||
\label{fig:card}
|
||
\end{figure}
|
||
|
||
\textbf{Основная кнопка} --- минимальная высота 48pt (стандарт ISO 9241-161 для сенсорных элементов), радиус 8pt, шрифт 16pt полужирный. Основная кнопка (primary) имеет оранжевый цвет \#E67E22, вторичная (secondary) --- светло-серый \#ECF0F1. При нажатии кнопка уменьшается до 97\% размера для тактильного отклика.
|
||
|
||
\begin{figure}[h!]
|
||
\centering
|
||
\includegraphics[width=0.35\linewidth]{img/elements/button-primary.png}
|
||
\caption{Основная и вторичная кнопки}
|
||
\label{fig:button-primary}
|
||
\end{figure}
|
||
|
||
\textbf{Элемент списка} --- используется для участников, находок, контрольных точек. Иконка 40×40pt в скруглённом контейнере слева, заголовок 17pt полужирный, подзаголовок 14pt серый цвет. Отступы 14pt по вертикали, 16pt по горизонтали. Белый фон, радиус 12pt, лёгкая тень.
|
||
|
||
\begin{figure}[h!]
|
||
\centering
|
||
\includegraphics[width=0.35\linewidth]{img/elements/list-item.png}
|
||
\caption{Элемент списка}
|
||
\label{fig:list-item}
|
||
\end{figure}
|
||
|
||
\newpage
|
||
\textbf{Поисковое поле} --- высота 48pt, радиус 12pt, иконка лупы 20pt слева, текст 16pt. Фон белый с лёгкой тенью. Placeholder серого цвета \#7F8C8D. Используется в справочнике грибов для быстрого поиска по названию.
|
||
|
||
\begin{figure}[h!]
|
||
\centering
|
||
\includegraphics[width=0.35\linewidth]{img/elements/search-bar.png}
|
||
\caption{Поисковое поле}
|
||
\label{fig:search-bar}
|
||
\end{figure}
|
||
|
||
\textbf{Навигационная панель} --- высота 72pt, 5 кнопок равной ширины. Иконки 24pt, подписи 11pt. Активная вкладка: зелёный цвет текста \#2D5F3F, полужирное начертание, подчёркивание снизу 3pt высотой. Неактивные: серый цвет \#7F8C8D, обычное начертание.
|
||
|
||
\begin{figure}[h!]
|
||
\centering
|
||
\includegraphics[width=0.4\linewidth]{img/elements/navigation-bar.png}
|
||
\caption{Навигационная панель}
|
||
\label{fig:navigation-bar}
|
||
\end{figure}
|
||
|
||
\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
|
||
\phantom{text}
|
||
\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}
|
||
|
||
\newpage
|
||
\section*{Заключение}
|
||
\addcontentsline{toc}{section}{Заключение}
|
||
|
||
В ходе работы выполнено проектирование интерфейса приложения для организации семейных походов за грибами. Описана предметная область и сформулированы цели приложения. Определены заинтересованные лица и их ожидания. Сформулированы требования к системе. Построена модель пользователей с описанием персонажей и их квалификации. Определены задачи приложения и описаны основные процессы. Перечислены функции приложения. Разработана структура диалога в виде графа состояний. Описаны технологии ввода данных и типичные ошибки пользователей. Разработан дизайн экранных форм: определены цветовая схема, типографика, иконки и элементы управления. Создан шаблон экранной формы и эскизы основных экранов приложения.
|
||
|
||
\newpage
|
||
\section*{Список литературы}
|
||
\addcontentsline{toc}{section}{Список литературы}
|
||
|
||
\vspace{-1.5cm}
|
||
\begin{thebibliography}{0}
|
||
\bibitem{novikov}
|
||
Алан Купер. Об интерфейсе. Основы проектирования взаимодействия ИМВ, 2-е изд.
|
||
Пер. с англ. — 2009. — 688 с.
|
||
\end{thebibliography}
|
||
\end{document}
|