АННОТАЦИЯ 3
ВВЕДЕНИЕ 3
1 Анализ предметной области 5
1.1 Описание предметной области 5
1.2 Анализ существующих решений 7
1.2.1 Duolingo 8
1.2.2 Anki 8
1.2.3 Memrize 9
1.2.4 Сравнительная таблица анализируемых приложений 10
1.3 Концептуальная модель предметной области 11
2 Определение требований к WEB-приложению 14
2.1 Функциональные и нефункциональные требования 14
2.2 Формализация требований 15
3 Разработка WEB-приложения 30
3.1 Инструменты для реализации 30
3.2 Схема данных WEB-приложения 31
3.3 Серверная часть приложения 35
3.3.1 Общая архитектура 35
3.3.2 Требования к серверной части приложения 40
3.3.3 Взаимодействие с базой данных 41
3.3.4 Реализация алгоритма, учитывающего кривую забывания 42
3.4 Клиентская часть приложения 45
3.4.1 Общая архитектура 45
3.4.2 Взаимодействие с внешними API на клиенте 47
3.4.3 Демонстрация интерфейса приложения 48
ЗАКЛЮЧЕНИЕ 54
ЛИТЕРАТУРА 55
В настоящее время, несмотря на стремительное развитие технологий перевода, изучение иностранных языков остаётся актуальной задачей. Все дело в том, что владение языком позволяет не только получать информацию, доступную только на конкретном языке, но и открывает культурный контекст, позволяющий лучше понимать людей из разных частей света.
Также знание иностранных языков играет важную роль не только в личном развитии, но и в профессиональной деятельности [1]. В условиях глобализации владение иностранным языком является одним из ключевых факторов успешной реализации в карьере. А многие компании требуют знания не только английского, но и второго иностранного языка, например, немецкого или французского.
Именно из-за всех перечисленных факторов на данный момент уже существует огромное количество сервисов для изучения иностранных языков, но, к сожалению, многие из них разработаны без учета базовых потребностей пользователя. Они имеют слишком усложненный интерфейс и не направлены на достижение основной цели пользователя - выучить иностранный язык.
Но что же является основой изучения любого языка? Конечно, это слова, безусловно, важно владеть аспектами грамматики и уметь строить предложения, но основой любого языка являются именно слова.
Таким образом, целью данной работы является разработка WEB- приложения, направленного на изучение ключевого аспекта любого языка - слов. Благодаря простому и интуитивно понятному интерфейсу пользователи смогут сконцентрироваться на достижении своей цели и изучать как можно больше слов, с учетом их многозначности.
Для достижения поставленной цели были обозначены следующие задачи:
• Проанализировать предметную область;
• Проанализировать существующие решения и представить результаты анализа в табличной форме;
• Сформировать список требований к приложению;
• Определить ключевые функции нового приложения и отобразить результаты на диаграммах вариантов использования;
• Выбрать инструменты для реализации;
• Спроектировать и разработать приложение.
В результате работы ожидается создание удобного и функционального WEB-приложения для изучения слов на иностранных языках.
В ходе выполнения работы были успешно выполнены следующие задачи:
1. Проанализирована предметная область.
2. Проанализированы существующие решения.
3. Результаты анализа существующих решений представлены в табличной форме.
4. Сформирован список требований к приложению.
5. Выбраны инструменты для реализации.
6. Определены ключевые функции нового приложения.
7. Результаты отображены на диаграммах вариантов использования.
8. Спроектировано и разработано приложение.
Основной целью работы было - создание WEB-приложения для изучения слов на иностранных языках. Данная цель была достигнута.
1. Актуальность владения иностранным языком в современном мире // Moluch
: блог. - URL:
https://moluch.ru/archive/137/38511/?ysclid=m8h08z46i0656502070 (дата
обращения: 20.09.2024).
2. Как обмануть кривую забывания и запомнить информацию навсегда // Foxford : блог. - URL: https://externat.foxford.ru/polezno-znat/forgetting- curve?ysclid=lxdcmyem4n897855251 (дата обращения: 15.10.2024).
3. Duolingo // Wikipedia : энциклопедия. - URL:
https://ru.wikipedia.org/wiki/Duolingo (дата обращения: 15.10.2024).
4. What is Anki? How does it work? // Medium : блог. - URL:
https://disputant.medium.com/what-is-anki-how-does-it-work-243988e89f4f (дата обращения: 15.10.2024).
5. Memrise // Wikipedia : энциклопедия. - URL:
https://en.wikipedia.org/wiki/Memrise (дата обращения: 15.10.2024).
6. Бабанов А. М. Технология разработки программного обеспечения:
структурный подход : учебное пособие / Бабанов А. М. . - Томск : Изд-во Томского гос. ун-та, 2006. - 157 с. - URL:
http://vital. lib.tsu. ru/vital/access/manager/Repository/vtls: 000223499 (дата
обращения: 27.10.2024).
7. Одностраничные приложения // Wikipedia : энциклопедия. - URL: https://ru.wikipedia.org/wiki/%D0%9E%D0%B4%D0%BD%D0%BE%D1%81 %D 1 %82%D 1 %80%D0%B0%D0%BD%D0%B8%D 1 %87%D0%BD%D0%B E%D0%B5_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0 %B5%D0%BD%D0%B8%D0%B5 (дата обращения: 18.11.2024).
8. Моисеев А. Н. Основы языка UML : учебное пособие / Моисеев А. Н, Литовченко М. И. - Томск : Изд-во Томского гос. ун-та, 2023. - 95 с. - ISBN 978-5-907572-06-5 (дата обращения: 27.11.2024).
9. Angular.dev // Официальный сайт Angular. - URL: https://angular.dev/ (дата обращения: 25.12.2024).
10. Node.js - Run JavaScript Everywhere // Официальный сайт Node.js. - URL: https://nodejs.org/en (дата обращения: 25.12.2024).
11. Npm // Официальный сайт npm. - URL: https://www.npmjs.com/ (дата обращения: 25.12.2024).
12. Laravel.com // Официальный сайт Laravel. - URL: https://laravel.com/ (дата обращения: 10.01.2025).
13. Mariadb.org // Официальный сайт MariaDB. - URL:
https://www.mariadb.org/ (дата обращения: 10.01.2025).
14. How Laravel implements MV C and how to use it effectively // Официальный
сайт Pusher. - URL: https://pusher.com/blog/laravel-mvc-use/ (дата
обращения: 20.01.2025).
15. REST API: что это такое и как работает // Официальный сайт Skillbox. -
URL: https://skillbox.ru/media/code/rest-api-chto-eto-takoe-i-kak-rabotaet/
(дата обращения: 04.02.2025).
..19