Целью исследования в рамках выпускной квалификационной работы (далее – ВКР) является разработка удобного мобильного кроссплатформенного приложения для обучения иностранному языку с элементами защиты информации. Текущее приложение будет предоставлять свой функционал вне зависимости от подключения к сети интернет, то есть автономно.
Для достижения поставленной цели были рассмотрены следующие задачи:
1) изучение средств, основанных на многослойной и микросервисной архитектуре;
2) создание базы данных;
3) реализация приложения на основе вышеуказанных средств;
4) проведение исследования с целью поиска наиболее подходящих методов защиты;
5) применение методов защиты, найденных в процессе исследования;
6) тестирование приложения на предмет отказоустойчивости и достаточной безопасности.
После реализации необходим сравнительный анализ, в ходе которого можно выявить достоинства и недостатки приложения и сопоставить их с существующими аналогами.
ВВЕДЕНИЕ..................................................................................................... 3
1. Изучение предметной области и анализ подобных приложений.............. 5
2. Описание технологии проекта.................................................................... 7
3. Архитектура проекта................................................................................ 10
4. Разработка приложения............................................................................ 13
4.1. Составные элементы приложения.......................................................... 13
4.2. Xamarin.Forms Shell............................................................................... 16
4.3. User. UserWord. Word. UserPhrasalVerb. PhrasalVerb.......................... 18
4.4. UserViewModel....................................................................................... 20
4.5. HomePage, TestPage................................................................................ 22
5. Основные методы защиты данных........................................................... 26
5.1. SHA-256.................................................................................................. 26
5.2. Одноразовый код по email и контрольный вопрос.............................. 26
5.3. Кодирование базы данных..................................................................... 27
6. Валидация данных в приложении............................................................ 30
ЗАКЛЮЧЕНИЕ............................................................................................. 33
СПИСОК ЛИТЕРАТУРЫ............................................................................. 38
ПРИЛОЖЕНИЕ............................................................................................. 40
1) Навыки английского языка. — Текст: электронный // Начните учить английский : [сайт]. — URL: https://tonail.com/%D0%BD%D0%B0%D0%B2%D1%8B%D0%BA%D0%B8-
%D0%B0%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA
%D0%BE%D0%B3%D0%BE-%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0/
(дата обращения: 02.05.2023).
2) Введение в Xamarin. Установка. — Текст : электронный // METANIT.COM Сайт о программировании : [сайт]. — URL: https://metanit.com/sharp/xamarin/1.1.php (дата обращения: 02.05.2023).
3) Архитектура приложений: определение, описание и руководство.
— Текст : электронный // CoderNet : [сайт]. — URL: https://codernet.ru/articles/drugoe/arxitektura_prilozhenij_opredelenie_opisanie_i_ rukovodstvo/ (дата обращения: 14.05.2023).
4) MVVM Паттерн Model-View-ViewModel. — Текст : электронный
// METANIT.COM Сайт о программировании : [сайт]. — URL: https://metanit.com/sharp/xamarin/4.2.php (дата обращения: 15.05.2023).
5) Руководство по проектированию реляционных баз данных (7-9 часть из 15) [перевод]. — Текст : электронный // Хабр : [сайт]. — URL: https://habr.com/ru/articles/193380/ (дата обращения: 15.05.2023).
6) Реализация алгоритма SHA-256. — Текст : электронный // Хабр : [сайт]. — URL: https://habr.com/ru/articles/729260/ (дата обращения: 02.05.2023).
7) Двухфакторная аутентификация: что это и зачем оно нужно?. — Текст : электронный // kaspersky daily : [сайт]. — URL: https://www.kaspersky.ru/blog/what_is_two_factor_authenticatio/4272/ (дата обращения: 02.05.2023).
8) SQLite. — Текст : электронный // Skillfactory media : [сайт]. — URL: https://blog.skillfactory.ru/glossary/sqlite/ (дата обращения: 02.05.2023).
9) Android Debug Bridge (adb). — Текст : электронный // Android Studio : [сайт]. — URL: https://developer.android.com/tools/adb (дата обращения: 03.05.2023).
10) Валидация данных. — Текст : электронный // Википедия : [сайт].
— URL: https://ru.wikipedia.org/wiki/% D0%92%D0%B0%D0%BB%D0%B8
11) Регулярные выражения (regexp) — основы. — Текст : электронный // Хабр : [сайт]. — URL: https://habr.com/ru/articles/545150/ (дата обращения: 19.05.2023).