Определения, сокращения и обозначения 10
Введение 11
Глава 1. Анализ требований 12
1.1 Функциональные требования 12
1.2 Нефункциональные требования 15
1.2.1 Требования к надежности 15
1.2.2 Требования к производительности 15
1.2.3 Требования к безопасности 15
1.2.4 Требования к эргономике и технической эстетике 16
1.2.5 Требования к возможности и простоте локализации 16
1.2.6 Требования к модульности приложения или системы 16
Глава 2. Анализ технологий для проектирования и реализации приложения 17
2.1 Анализ геоинформационных систем 17
2.1.2 Требования к геоинформационной системе 17
2.1.2 Вывод 18
2.2 Анализ систем регистрации и аутентификации пользователей 18
2.2.1 Выбор способа аутентификации пользователей 18
2.2.2 Требования к аутентификации пользователей 19
2.2.3 Выбор системы регистрации и аутентификации пользователей 19
2.3 Анализ баз данных 20
2.3.1 Реляционные базы данных 20
2.3.2 Нереляционные базы данных 20
2.3.3 Выбор базы данных 21
2.4 Выбор среды разработки 22
2.4.1 Симметричное и ассиметричное шифрование 23
2.4.2 Организация шифрования в компоненте Мессенджер 25
2.5 Выбор языка программирования 25
2.6 Выбор среды разработки 26
Глава 3. Проектирование архитектуры 28
3.1 Организация хранения данных 29
3.2 Организация клиентской части приложения 30
Глава 4. Разработка приложения 32
4.1 Обзор структуры Android-приложения 32
4.2 Настройка мультиязычности 35
4.3 Организация хранения ключей шифрования 36
4.4 Особенности организации пользовательских представлений 38
4.5 Управление маршрутами 41
Заключение 44
Использованные источники 45
Приложения 47
Приложение №1. Диаграмма вариантов использования 47
Приложение №2. Схема шифрования сообщений 48
Приложение №3. Схема базы данных 49
Приложение №4. Диаграмма классов 51
В настоящее время в СПБГУ обучаются более двух тысяч студентов из КНР. Нередко они отмечают, что русская и китайская культура действительно отличаются и процесс адаптации к новой обстановке является для них сложным. В связи с этим появилась идея создать мобильное приложение “1698”, которое бы облегчало процесс адаптации студентов из КНР на первых этапах.
Создаваемое приложение позволяет найти места с родной едой, культурой, архитектурой, найти соотечественников в Санкт-Петербурге и пообщаться с людьми, которым также не хватает общения и контакта на родном языке. Приложение не случайно названо “1698”. Эта китайская числовая фраза обозначает выражение “пойдем вместе”, что еще раз подчеркивает цель создания приложения.
Целью данной работы является разработка мобильного приложения на базе Android, служащего облегчить адаптацию студентов из КНР в Санкт-Петербурге.
В работе решаются следующие задачи:
• сбор и анализ требований к системе;
• выбор технологий для проектирования и реализации;
• проектирование архитектуры приложения;
• разработка приложения.
В результате проведенной работы выполнены задачи, поставленные перед ВКР.
Благодаря исследованиям, выполненными в рамках выпускной квалификационной работы,были решены задачи создания кросскультурного мобильного приложения с интерфейсами на трех языках, включая китайский.
Приложение является инструментом, которое мотивирует пользователей к активному совместному изучению Санкт-Петербурга, и призвано облегчать адаптацию студентов из КНР, привлечь их внимание к культуре Китая, представленного в Санкт-Петербурге.
1. Использование диаграммы вариантов использования UML при проектировании программного обеспечения, - URL: https://habr.com/ru/post/566218/ (Дата доступа: 10.10.2022)
2. Вигерс Карл, Битти Джой, Разработка требований к программному обеспечению. 3-е изд., дополненное [Текст]; перевод с англ.— СПб.:БХВ-Петербург, 2014. — 736 стр.:ил. — Переводизд.: SoftwareRequirementsThirdEdition / KarlWiegersandJoyBeatty. 2013. - 978-5-9775-3348-5 (в пер.)
3. Нефункциональные требования к программному обеспечению. Часть 1,- URL: https://habr.com/ru/articles/231961/ (Дата доступа: 10.10.2022)
4. Фаулер М., Садаладж П. Дж.лNoSQL: новая методология разработки нереляционных баз данных ; перевод с англ. Д. А. Клюшина ; – М.: Вильямс, 2013. – 192 с.: ил. – Переводизд.: NoSQL Distilled A Brief Guide to the Emerging World of Polyglot Persistence / Pramod J. Sadalage, Martin Fowler. The United States, 2013. – 978-5-907144-91-0 (в пер.)
5. ХовардМ., ЛебланкД., ВьегаДж24 смертных греха компьютерной безопасности: как написать безопасныйкод– перевод с англ. - Front Cover, Питер, 2010 - Computers – 394с. – Переводизд.: 24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them / Michael Howard, David LeBlanc, John Viega. 2009.– 978-5-49807-747-5 (впер.)
6. ХовардМ., ЛебланкД. Защищенныйкод – переводсангл. — 2еизд., испр. — М.: Издательство «Русская Редакция», 2005. — 704с. – Переводизд.: Writing Secure Code Second Edition / Michael Howard, David LeBlanc.2003. – 978-5-7502-0238-6 (впер.)
7. Криптография в Java. Класс KeyStore, - URL: https://habr.com/ru/post/445786/ (Дата доступа: 01.12.2022.)
8. Симметричное и ассиметричное шифрование: просто о сложном, - URL: https://otus.ru/nest/post/726/ (Дата доступа: 01.12.2022)
9. Сравниваем Java и Kotlin, - URL: https://habr.com/ru/company/otus/blog/580738/ (Дата доступа: 20.10.2022)
10. Документация дляFirebase разработчиков, - URL:https://firebase.google.com/docs (Дата доступа: 10.10.2022)
11. BaaS (Backend-as-a-Service), - URL: https://ru.bmstu.wiki/BaaS_(Backend-as-a-Service) (Дата доступа: 10.10.2022)
12. Первый проект в Android Studio, - URL: https://metanit.com/java/android/1.2.php (Дата доступа: 10.01.2023)
13. Create dynamic lists with RecyclerView, - URL: https://developer.android.com/develop/ui/views/layout/recyclerview (Дата доступа: 10.01.2023)
14. Picasso, - URL: https://developer.alexanderklimov.ru/android/library/picasso.php (Дата доступа: 10.01.2023)