
Готовое_КР_Калькулятор_индекса_массы_тела
.pdf
▪Platform SDK;
▪Flutter SDK.
Схема сборки приложения из исходного кода в RPM пакет, который будет в последствии запущен на эмуляторе с операционной системой «Аврора» представлена на Рисунке 1.8:
Рисунок 1.8 – Схема сборки приложения с использованием Flutter SDK
Данный фреймворк имеет много общего с описанным выше фреймворком
Qt:
▪кроссплатформенность;
▪доступные методы взаимодействия непосредственно с ядром операционной системы;
▪наличие возможности декларативного описания пользовательского интерфейса.
А также благодаря разработанному плагину библиотека Flutter SDK для ОС «Аврора» позволяет осуществлять межпроцессное взаимодействие с помощью системы D-Bus.
Ниже представлена схема взаимодействия приложения, созданного с помощью Flutter, с операционной системой устройства (Рисунок 1.9):
24

Рисунок 1.9 – Архитектура кроссплатформенного приложения, созданного с помощью
Flutter
Данная схема имеет много схожих деталей с архитектурой приложений,
созданных с помощью Qt, однако Flutter имеет одну отличительную черту – для описания бизнес-логики приложения и пользовательского интерфейса используется один язык программирования Dart вместо C++ и QML в случае с
Qt.
В отличие от Qt на данный момент Flutter имеет широкую популярность в разработке именно мобильных, а не десктопных приложений. Ниже представлен график (Рисунок 1.10), отображающий интерес пользователей в интернете к различным технологиям, используемым преимущественно для создания мобильных приложений для операционных систем Android и iOS:
Рисунок 1.10 – Популярность кроссплатформенных технологий для разработки мобильных приложений
25
И действительно в контексте разработки приложений для ОС Android или iOS, Flutter имеет ряд преимуществ по сравнению с нативными языками для этих операционных систем (Java/Kotlin и Swift):
▪единая кодовая база для обоих операционных систем;
▪отсутствие зависимости от компонентов пользовательского интерфейса для конкретной платформы;
▪производительность, сравнимая с производительностью нативных приложений.
Но, несмотря на ряд явных преимуществ в контексте разработки приложений для Android/iOS, у Flutter есть ряд недостатков в случае его использования для создания приложения в ОС Аврора:
▪отсутствие готовых компонентов для целевой системы;
▪до сих пор находится в стадии внедрения, следственно является
нестабильным.
В таблице 1.1 представлен итог проведенного в рамках данной курсовой работы сравнительного анализа. Данная таблица содержит все основные характеристики, по которым упомянутые выше инструменты разработки отличаются:
Таблица 1.1 – Результаты сравнительного анализа инструментов разработки KMP, «Аврора SDK» и Flutter для создания ПО под ОС «Аврора»
Критерий |
KMP |
Flutter |
«Аврора SDK» |
Кроссплатформенность |
Да |
Да |
Да* |
Наличие стабильной версии |
Нет |
Да |
Да |
Библиотека компонентов для целевой ОС |
Нет |
Нет |
Да |
Наличие примеров для ОС «Аврора» |
— |
Единицы |
Десятки |
Критерий кроссплатформенности в столбце «Аврора SDK» приведенной выше таблицы помечен в связи с тем, что фреймворк Qt, лежащий в основе
«Аврора SDK», позволяет создавать кроссплатформенные приложения, однако в таком случае нельзя использовать специфичные для ОС «Аврора» компоненты из библиотеки Sailfish Silica. Обусловлено это тем, что данная библиотека предоставляется только в таких операционных системах, как Sailfish OS и
26

«Аврора», а соответственно приведет к ошибкам при сборке под другие операционные системы, которые не имеют данной зависимости.
Проведенный сравнительный анализ показал, что в контексте данной курсовой работы наиболее подходящим инструментом для разработки приложения под ОС «Аврора» является официальный инструмент от разработчика операционной системы – «Аврора SDK», так как он предоставляет как библиотеку готовых компонентов, так и набор примеров конкретной реализации приложений.
1.3 Теоретические основы расчета индекс массы тела
Индекс массы тела традиционно рассчитывается по формуле,
предложенной Адольфом Кетле (Формула 1.1):
ИМТ = |
Масса(кг) |
(1.1) |
(Рост(см))2 |
где Масса(кг) — вес человека;
Рост(м) — рост челока.
Эта формула позволяет оценить соответствие массы тела стандартам здорового веса. Однако она не учитывает половые различия и индивидуальные антропометрические особенности, что может приводить к ошибкам в интерпретации результатов. Для повышения точности расчета ИМТ в данном проекте была применена модифицированная формула, учитывающая коэффициент пола и индекс Соловьев. Для расчёта в проекте используется
Формула 1.2:
ИМТ |
|
= |
Масса(кг) |
× |
Коэффициент пола ( ) |
|
(1.2) |
||
модифицированный |
2 |
Окружность запястья(см) |
|||||||
|
( |
Рост(см) |
) |
|
|
||||
|
|
|
|
||||||
|
|
100 |
|
|
|
|
где Коэффициент пола (gen) — учет различий в соотношении мышечной и жировой ткани у мужчин и женщин, коэффициент для мужчин составляет
19, коэффициент женщин равняется 16;
27
Окружность запястья(см) — нужно для составления индекса Соловьева.
Индекс Соловьева формула представлен как коэффициент пола делить на окружность запястья. Чем выше окружность запястья, тем выше мышечная масса, что снижает относительный вес жировой ткани.
Категории ИМТ в проекте интерпретируются по следующим диапазонам представленный в Таблице 1.2
Таблица 1.2 – Результаты модифицированного ИМТ
Существующие категории ИМТ |
Диапазон |
Дефицит веса |
при ИМТ <16 |
Недостаточный вес |
При 16≤ ИМТ <20 |
Норма |
при 20≤ ИМТ <25 |
Предожирение |
при 25≤ ИМТ <30 |
Первая степень ожирения |
при 30≤ ИМТ <35 |
Вторая степень ожирения |
при 35≤ ИМТ <40 |
Морбидное ожирение |
при ИМТ≥40 |
Эти диапазоны адаптированы под модифицированную формулу для учета корректировок, связанных с полом и антропометрией.
Тип телосложение определяется через окружность запястья и коэффициент пола бывают такие типы:
1. Астенический тип:
▪Мужчины: окружность запястья <18см;
▪Женщины: окружность запястья <15см.
2. Нормостенический тип:
▪Мужчины: 18≤ окружность запястья ≤20см;
▪Женщины: 15≤ окружность запястья ≤17см.
3. Гиперстенический тип:
▪Мужчины: окружность запястья >20см;
▪Женщины: окружность запястья >17см.
Для расчета нижнего предела нормального веса формула 1.2, умножается на число 20. Для расчета верхнего предела нормального веса формула 1.2,
умножается на число 25.
Предложенная модификация ИМТ позволяет получить более точную оценку состояния здоровья, учитывая большой охват критериев и особенностей.
28
2 ТЕХНИЧЕСКОЕ ЗАДАНИЕ
2.1 Назначение разработки
Составленное техническое задание по дисциплине «Разработка приложений на С++» является документом к курсовой работе, который отражает все этапы разработки приложение, а также процесс проектирования и выявление требований, предъявляемых конечному продукту.
2.1.1 Наименование приложение
Название данного приложения – «Калькулятор индекса массы тела». Это называние напрямую связывается с темой курсовой работы и отображает основное назначение программы, заключающиеся в расчете индекса массы тела пользователя по введённым данным о росте, весе, окружностью запястья и половой принадлежности.
2.1.2 Краткая характеристика области применения приложение
Разрабатываемое мобильное приложение для расчета индекса массы тела
(ИМТ) предназначено для широкого круга пользователей, включая физических лиц, медицинских работников, представителей фитнес-индустрии и корпоративных пользователей операционной системы «Аврора».
2.2 Основание для разработки
Основанием для разработки является курсовая работа по дисциплине
«Разработка приложений на С++», предусмотренная учебным планом направления подготовки 09.03.01 «Информатика и вычислительная техника» профиля «Цифровые комплексы, системы и сети».
29
2.3 Назначение разработки
Назначением разработки мобильного приложения для расчета индекса массы тела (ИМТ) под операционную систему «Аврора» является создание специализированного инструмента для оценки состояния здоровья пользователей с учетом половых различий и индивидуальных антропометрических данных.
2.4 Требования, предъявляемые к приложению
2.4.1 Требования к функциональным характеристикам программы
В приложении должны быть реализованы следующие функции:
▪ввод данных должен производиться с использованием экранной клавиатуры;
▪вывод на экран результатов должен происходить после заполнение всех полей;
▪после вывода на экран информация, должна содержать в себе сведение о типе телосложение, коэффициент индекса массы тела, цветовые категории индекса массы тела, диапазон верхнего и нижнего предела нормального веса;
▪приложение должно краткую информацию о себе и лицензию.
2.4.2 Требования к техническим средствам, используемым при работе
приложение
Устройства, поддерживающие мобильную операционную систему ОС
«Аврора». Либо персональный компьютер, который поддерживающий виртуализацию и способный запустить Oracle VM VirtualBox (не ниже 7.0.0).
30
2.4.3 Требования к языкам программы и среде разработки
приложение
Для разработки используется язык программирования C++, JavaScript, QML, в качестве среды разработки должна быть использована среда Avrora IDE
поставляемая в наборе Avrora SDK вместе со средой сборки Aurora OS Build Engine и эмулятором системы Aurora OS Emulator, также должно быть предустановлена программа VirtualBox необходима для виртуализации среды сборки. Для разработки интерфейса пользователя задействованы стандартные функции предоставляемые средой разработки Avrora IDE.
2.4.4 Требования к информационным структурам на входе и выходе
приложение
В качестве входных данных приложения являются данные, которые вводит пользователь с помощью экранной клавиатуры о весе, росте, окружности запястья, половой принадлежности.
Выходные данные представляют собой результирующие данные,
выводимые на экран о типе телосложении, коэффициенте индекса массы тела,
цветовой категории индекса массы тела, нижнем и верхнем пределе нормального веса для предоставляемых входных данных.
2.5 Требования к программной документации
1.Пояснительная записка оформляется в соответствии с ЛНА РТУ МИРЭА.
2.Проектная документация, составленная в соответствии с ГОСТ.
3.Дополнительная документация разработчика ОС Аврора,
предоставляемая для знакомства с разработкой.
В процессе разработки пользовательского приложения документируется вся информация о проделанной работе и элементы задания. Все детали задания,
31
включая возникающие трудности, должны быть отражены в пояснительной
записке, которая прилагается к работе.
2.6 Этапы разработки
1.Аналитический раздел 25.03.2025 – 14.04.2025
2.Разработка программы 14.04.2025 – 21.04.2025
3.Разработка программной документации: 21.04.2025 – 28.05.2025
4.Оформление пояснительной записки: 29.05.2025 – 09.06.2025
5.Защита курсовой работы: 10.06.2025
32

3 ТЕХНИЧЕСКИЙ РАЗДЕЛ
3.1 Реализация приложения
3.1.1 Исходные данные
Приложение, которое необходимо разработать в рамках данной работы должно позволять пользователю узнать индекс массы тела, логика приложение будет построена с помощью языка JavaScript, также для более верного расчет индекса массы тела, будет использоваться Формула 1.2. Для разработки используется среда «Аврора IDE», которая предоставляет всё необходимое:
редактор исходного кода, среда для сборки и эмулятор для запуска приложения. «Аврора IDE» является лишь надстройкой над стандартной средой разработки
«Qt Creator», потому что добавляет лишь некоторые функции, которые необходимы для разработки приложений именно для ОС «Аврора». Интерфейс среды разработки и вывода сообщений от запущенного приложения на эмуляторе предоставлен на Рисунке 3.1.
Рисунок 3.1 – Пользовательский интерфейс среды разработки приложений «Аврора
IDE»
33