Дипломная работа (бакалавр/специалист) на тему Разработка мобильного приложения по распознаванию героев русских народных сказок
-
Оформление работы
-
Список литературы по ГОСТу
-
Соответствие методическим рекомендациям
-
И еще 16 требований ГОСТа,которые мы проверили
Введи почту и скачай архив со всеми файлами
Ссылку для скачивания пришлем
на указанный адрес электронной почты
Содержание:
1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 6
1.1 Описание Байесовского подхода 6
1.2 Описание среды программирования Android 9
1.3 Описание языка программирования Java 15
1.4 Описание базы данных SQLite 17
2 РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММЫ 21
2.1 Мобильное приложение Akinator 21
2.2 Разработка математической модели мобильного приложения Russkaz 27
2.3 Разработка блок – схемы мобильного приложения Russkaz 29
3 РАЗРАБОТКА ПРОГРАММЫ 37
3.1 Разработка мобильного приложения Russkaz 37
3.2 Тестирование мобильного приложения Russkaz 51
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 60
ПРИЛОЖЕНИЕ А ДИСК С ПРОГРАММОЙ И ТЕКСТОМ РАБОТЫ 62
Введение:
Актуальность работы заключается в то, что игры для мобильных устройств, в связи с массовым распространением смартфонов и планшетов в современном обществе продолжаю набирать популярность.
На сегодняшний момент существует множество интересных мобильных игр, которые по ряду параметров не уступают играм, разработанным для персональных компьютеров, таким как графические параметры, сюжетная линия, жанры и т.д. Однако, мобильные устройства, пока еще уступают по техническим характеристикам персональным компьютерам. Поэтому создание игры для мобильного устройства, которое бы конкурировало с разрабатываемыми для персональных компьютеров – очень сложная задача.
При разработке конкурентной игры для мобильных устройств можно сделать ставку на сюжет. Сюжет может содержать логическую составляющую, привлекающую игрока соблазном, проявить свои интеллектуальные способности. Примерами удачно реализованных проектов в этом направлении могут быть, такие игры, как:
— Ayni Fairyland – изящная логическая игра про белоснежного человечка-луковицу по имени Айн. Он путешествует по мирам, чтобы спасти свою планету, и для того, чтобы попасть в один мир, ему надо найти выход с другого мира. Однако не все так просто, в игре есть загадочные места, куда так просто не попадешь, необходимо хорошенько подумать для того чтобы туда попасть, к примеру, необходимо найти флакончик с воздухом, чтобы уметь летать, однако управлять персонажем подобным способом очень трудно, из-за чего можно упасть в бездну. Но и этим игра не ограничилась. На своем пути вы будете встречать местных жителей, без помощи которых вы не сможете попасть на высокие платформы;
— Faraway 3: Arctic Escape — игра-головоломка от первого лица, смысл которой заключается в поиске предметов и решении таинственных загадок. Вы
— главный герой, который попал в эти холодные земли с помощью загадочного портала, когда искали отца. В игре вам следует изведать множество храмов, размещенных в заснеженной Арктике. Всего в игре 18 храмов, где вам необходимо решать головоломки, складывать пазлы и проходить через хитроумные лабиринты;
— Ashi: Lake of Light – головоломка про светлячка, которому необходимо помочь найти выход. Для этого вам необходимо гасить свет в правильной последовательности, ведь светлячок будет лететь в ту сторону, где будет погашен свет, облетая преграды и желая достигнуть выхода, чтобы достигнуть своей цели. Всего доступно более 70 самых разнообразных уровней;
— Poly Bridge – отличный выбор для всех почитателей ярких мобильных логических игр, построенных на физике;
— Алхимия – Игра, в которой вы можете ощутить себя истинным господом, творцом всего живого и мертвого. В начале игры для создания мира вам доступны только лишь влага, атмосфера, пламя и земля. Сочетайте эти ключевые компоненты, для того чтобы сформировать ранее не известные предметы. К примеру, пламя с землей создадут лаву. Возникнувшая лава добавляется к веществам, которые можно соединять;
— Головоломки со спичками — Прекрасная головоломка, в которой подобраны все возможные закономерные задачи со спичками. Принцип достаточно легкий — в связи с задачей вам следует переместить определенное число спичек либо убрать их, для того чтобы вышла нужная фигура либо верное решение в уравнении;
— Monument Valley – курьезное и увлекательное приключение, что приглянется любителям разнообразных любовных историй о спасении великолепных принцесс, подвигах благородных рыцарей и борьбе с различными монстрами.
По этой причине, в данной работе будет разработана логическая игра для мобильного устройства под управлением операционной системы Android.
Объект исследования – процесс разработки мобильного приложения для мобильного устройства под управлением операционной системы Android.
Предмет исследования – среда программирования Android studio, язык программирования java, база данных Mysql.
Цель диплома — разработка мобильного приложения по распознаванию героев русских народных сказок.
Для реализации поставленной цели исследовательской работы при разработке проекта необходимо выполнить следующие задачи:
— описать Байесовский подход;
— описать принцип работы мобильного приложения Akinator;
— разработать математическую модель мобильного приложения Russkaz;
— разработать блок – схему мобильного приложения Russkaz;
— разработать алгоритм мобильного приложения Russkaz;
— провести тестирование мобильного приложения Russkaz.
Методы исследования:
— анализ литературы (или нормативно-правовых документов) по теме исследования;
— исторический метод (изучение в хронологическом порядке);
— изучение и обобщение сведений; сравнение (например, различных школ исследования или различных результатов одной и той же деятельности);
— индукция (рассуждение от частного к общему);
— аналогия (перенос знания с одного предмета на другой);
— моделирование (получение информации о предмете через созданную модель).
В работе использованы следующие инструментальные средства:
— персональный компьютер;
— среда программирования Android Studio;
— язык программирования java;
— база данных SQLite.
Заключение:
В данной работе были решены следующие задачи:
1. Дано описание Байесовского подхода при решении задач теории вероятности.
2. Дано описание среды программирования Android studio. Как было показано в работе: Среда программирования Android Studio — это официальная интегрированная среда разработки (IDE) для разработки приложений Android, основанная на IntelliJ IDEA.
3. Дано описание языка программирования Java. Язык программирования Java является универсальным языком компьютерного программирования, который является одновременно, на основе классов, объектно-ориентированном.
4. Рассмотрена база данных SQLite. SQLite — это библиотека на языке C, которая реализует небольшой, быстрый, автономный, высоконадежный, полнофункциональный механизм базы данных SQL.
5. Разработан алгоритм программы Russkaz, в котором реализован интерфейс на основе русских народных сказок, и функция занесения своего персонажа в базу данных.
6. В заключении работы было проведено тестирование программы, в результате которого ошибок выявлено не было.
Фрагмент текста работы:
1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1.1 Описание Байесовского подхода
Байесовские методы широко распространены и активно используются в различных областях знаний.
Однако, к сожалению, не многие люди имеют представление, что это такое и зачем это нужно. Одной из причин является отсутствие большого количества литературы на русском языке [1].
Формула Байеса была опубликована в 1763 году, через 2 года после смерти ее автора, Томаса Байеса. Однако применявшиеся при этом методы получили широкое распространение лишь к концу ХХ века. Это объясняется тем, что расчеты требуют определенных вычислительных затрат, и они стали возможны только с развитием информационных технологий.
Формула Байеса, подразумевающая теорию вероятности.
Вероятность наступления события есть частота наступления этого события, то есть соотношение числа наблюдений события к общему числу наблюдений при большом (теоретически бесконечном) общем количестве наблюдений.
Практическое применение Байесовской теории заключается в следующем: мы бросаем монету три раза. С той же вероятностью мы можем получить следующие результаты (О — орел, Р — решка): ООО, ООР, ОРО, ОРР, РОО, РОР, РРО, РРР.
Из полученных результатов, можно посчитать какое количество орлов выпало в каждом случае и сколько при этом было смен орел-решка, решка-орел (табл. 1.1.1):
Таблица 1.1.1 – Вероятность выпадения орла или решки
Результат Орлов Смен Вероятность
ООО 3 0 1/8
ОРО 2 2 1/8
ООР 2 1 1/8
ОРР 1 1 1/8
РОО 2 1 1/8
РРО 1 1 1/8
РОР 1 2 1/8
РРР 0 0 1/8
Можно рассматривать количество орлов и изменений как две случайные величины. Тогда таблица вероятностей будет иметь следующий вид:
Таблица 1.1.2 – Вероятность выпадения орла или решки (измененная таблица)
Количество смен Орлов
0 1 2 3
0 1/8 0 0 1/8
1 0 2/8 2/8 0
2 0 1/8 1/8 0
Из полученных данных видно, что есть сумма третьего столбца и равна сумме всех значений ячеек в этом столбце: .
— сумма первой строки и, аналогично, равна сумме всех значений ячеек в этой строке .
Вероятность того, что мы получили одного орла и одну смену равна пересечению этих областей .
Тогда, следуя формулам, описанным выше, вероятность получить одну смену, если получен один орел в трех бросках:
или вероятность получить одного орла, если выпадет одна смена:
Если мы посчитаем вероятность получить одну смену при наличии одного орла через формулу Байеса, то получим:
Таким образом, анализируя реальные данные, обычно интересует какой-нибудь параметр этих данных (например, среднее, дисперсия и пр.). Тогда можно провести следующую аналогию с вышеприведенной таблицей вероятностей: пусть строки будут экспериментальными данными (обозначим их ), а столбцы — возможными значениями интересующего параметра этих данных (обозначим его ).
Тогда вероятность получить определенное значение параметра на основе имеющихся данных , будет иметь следующий вид, согласно, формулы Баейса:
, (1.1.1)
Выражение (1.1.1) называется теоремой Байеса.
1.2 Описание среды программирования Android studio
Помимо мощного редактора кода и инструментов разработчика IntelliJ, Android Studio предлагает еще больше функций, которые повышают вашу производительность при создании приложений для Android, таких как:
— гибкая система сборки на основе Gradle [2];
— быстрый и многофункциональный эмулятор;
— единая среда, где вы можете разрабатывать для всех устройств Android;
— Instant Run для внесения изменений в работающее приложение без создания нового APK;
— шаблоны кода и интеграция с GitHub помогут вам создать общие функции приложения и импортировать пример кода;
— обширные инструменты тестирования и платформы;
— инструменты Lint для отслеживания производительности, удобства использования, совместимости версий и других проблем;
— поддержка C ++ и NDK;
— встроенная поддержка Google Cloud Platform , облегчающая интеграцию Google Cloud Messaging и App Engine.
Каждый проект в Android Studio содержит один или несколько модулей с файлами исходного кода и файлами ресурсов. Типы модулей включают в себя:
— модули приложений для Android;
— библиотечные модули;
— модули Google App Engine.
По умолчанию Android Studio отображает файлы вашего проекта в виде проекта Android, как показано на рис.1.2.1. Это представление организовано по модулям для быстрого доступа к ключевым исходным файлам вашего проекта [3].
Рисунок 1.2.1 — Файлы проекта в представлении Android
Все файлы сборки отображаются на верхнем уровне в разделе Gradle Scripts, и каждый модуль приложения содержит следующие папки:
— Manifests: содержит AndroidManifest.xml файл;
— Java: содержит файлы исходного кода Java, включая тестовый код JUnit;
— res: содержит все не кодовые ресурсы, такие как макеты XML, строки пользовательского интерфейса и растровые изображения.
Структура проекта Android на диске отличается от этого плоского представления. Чтобы увидеть фактическую файловую структуру проекта, выберите «Progect» в раскрывающемся списке «Progect» (на рис 1.2.2 он отображается как Android) [4].
Пользователь можете настроить вид файлов проекта, чтобы сосредоточиться на конкретных аспектах разработки вашего приложения.
Рисунок 1.2.2 – Файлы проекта в представлении «Проблемы», показывающие файл макета с проблемой.
Главное окно Android Studio состоит из нескольких логических областей, обозначенных на рисунке 1.2.3.
Рисунок 1.2.3 – Главное окно Android Studio
1 — Панель инструментов позволяет выполнять широкий спектр действий, в том числе запуск приложения и запуск инструментов Android.
2 — Панель навигации поможет вам перемещаться по вашему проекту и открывать файлы для редактирования. Он обеспечивает более компактный вид структуры, видимой в окне проекта [5].
3 — В окне редактора вы можете создавать и изменять код. В зависимости от текущего типа файла, редактор может меняться. Например, при просмотре файла макета в редакторе отображается редактор макетов.
4 — Панель инструментов расположена вокруг внешней части окна IDE и содержит кнопки, позволяющие развернуть или свернуть отдельные окна инструментов.
5 — В окне инструментов предоставляет доступ к конкретным задачам, таким как: управление проектами, поиск, контроль версий и многому другому. Пользователь можете расширить и свернуть их.
6 — Строка состояния отображает состояние вашего проекта и само IDE, а также какие — либо предупреждения или сообщения.
Пользователь можете организовать главное окно, чтобы освободить больше места на экране, скрывая или перемещая панели инструментов и окна инструментов. Пользователь также можете использовать сочетания клавиш для доступа к большинству функций IDE.
Вместо использования предустановленных перспектив Android Studio следит за контекстом пользователя и автоматически отображает соответствующие окна инструментов во время работы. По умолчанию наиболее часто используемые окна инструментов прикрепляются к панели инструментов на краях окна приложения.
Чтобы развернуть или свернуть окно инструмента, нужно нажать на имя инструмента на панели инструментов. Так же можно перетаскивать, закреплять, откреплять, прикреплять и отсоединять окна инструментов.
Чтобы вернуться к текущему макету окна инструмента по умолчанию, нажмите «Окно», далее, «Восстановить макет по умолчанию» или настройте макет по умолчанию, выбрав «Окно», далее «Сохранить текущий макет по умолчанию».
После компиляции программы. Android Studio автоматически запускает сконфигурированный Lint и другие проверки IDE, чтобы помочь вам легко выявлять и исправлять проблемы со структурным качеством вашего кода.
Инструмент Lint проверяет исходные файлы вашего проекта Android на наличие потенциальных ошибок и улучшений оптимизации на предмет корректности, безопасности, производительности, удобства использования, доступности и интернационализации (рис. 1.2.4) [6].
Рисунок 1.2.4 — Результаты проверки Lint в Android Studio
В дополнение к проверкам Lint, Android Studio также выполняет проверки кода IntelliJ и проверяет аннотации для оптимизации рабочего процесса кодирования.
Для получения дополнительной информации см. Улучшение кода с помощью проверок lint .
Android Studio поддерживает аннотации для переменных, параметров и возвращаемых значений, чтобы помочь вам обнаруживать ошибки, такие как исключения нулевого указателя и конфликты типов ресурсов. Android SDK Manager упаковывает библиотеку аннотаций поддержки в репозитории поддержки Android для использования с Android Studio. Android Studio проверяет настроенные аннотации во время проверки кода.
Дополнительные сведения об аннотациях Android см. В разделе «Улучшение проверки кода с помощью аннотаций».