СОДЕРЖАНИЕ
Введение ....................................................................................................................... 5
1 Аналитический обзор существующих методов и средств автоматизации ....... 6
1.1 Анализ предметной области ...................................................................... 6
1.2 Аналитический обзор существующих аналогов...................................... 7
1.3 Обзор технологий для реализации программного обеспечения ............ 8
1.4 Постановка задачи .................................................................................... 11
2 Проектирование программного обеспечения..................................................... 12
2.1 Функциональное моделирование ............................................................ 12
2.2 Информационное обеспечение приложения .......................................... 14
2.3 Архитектура приложения......................................................................... 15
ВВЕДЕНИЕ
В современном мире технологии играют ключевую роль при изучении иностранных языков. Традиционные методы, основанные на учебниках и аудиозаписях устаревают, уступая место интерактивным компьютерным системам.
Один из эффективных методов, используемый в данной сфере – применение голосового интерфейса, что позволяет обучающимся не только изучать лексику и
грамматику, но и совершенствовать произношение.
Китайский язык – один из самых сложных языков для изучения, особенно
для носителей языков, не относящихся к тональным. Одной из ключевых трудностей является правильное произношение, которое определяет смысл слов. При
разговоре такие ошибки могут вызывать непонимание, что делает этот аспект
особенно важным при изучении языка.
Данную проблему способна решить компьютерная система обучения китайскому языку с применением голосового интерфейса. В рамках проекта предполагается использование технологий автоматического распознавания речи, которые позволят пользователю произносить слова и фразы, а затем получать обратную связь о правильности их произношения. Такой подход способствует более
быстрому и эффективному освоению языка, так как позволяет обучающемуся активно участвовать в процессе обучения и получать персонализированные рекомендации.
В ходе исследования будут рассмотрены существующие обучающие системы, применяемые технологии программирования и базы данных, а также возможности интеграции голосовых интерфейсов в процесс обучения. Основной целью разработки является создание удобного и эффективного инструмента для
изучения китайского языка, способного адаптироваться под уровень знаний и
особенности произношения каждого пользователя.
Таким образом, разработка компьютерной системы обучения китайскому
языку с голосовым интерфейсом является актуальной задачей, имеющей значительный потенциал для внедрения в образовательные учреждения и самостоятельного изучения языка. Использование современных технологий позволит
улучшить качество обучения, снизить языковой барьер и сделать процесс освоения китайского языка более доступным и эффективным.
5
1 АНАЛИТИЧЕСКИЙ ОБЗОР СУЩЕСТВУЮЩИХ МЕТОДОВ И
СРЕДСТВ АВТОМАТИЗАЦИИ
1.1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
Обучение китайскому языку представляет собой сложный процесс, включающий освоение фонетики, лексики, грамматики и письменности. В традиционном обучении широко используются учебники, аудиокурсы и занятия с преподавателем. Однако современные технологии позволяют значительно расширить
возможности изучения языка, включая использование компьютерных систем и
голосовых интерфейсов.
Существующие системы обучения китайскому языку можно разделить на
несколько категорий: онлайн-курсы, мобильные приложения, программные комплексы и специализированные платформы с искусственным интеллектом. Основные недостатки большинства подобных решений заключаются в отсутствии
эффективного контроля правильности произношения и недостаточной адаптивности к уровню знаний пользователя. Некоторые приложения используют встроенные алгоритмы распознавания речи, но их точность зачастую оставляет желать
лучшего.
Голосовые интерфейсы позволяют устранить эти недостатки, обеспечивая
интерактивное взаимодействие пользователя с системой. Современные технологии распознавания речи на основе машинного обучения позволяют анализировать тональные различия китайского языка и давать обратную связь по качеству
произношения. Интеграция таких технологий в образовательный процесс открывает новые возможности для студентов, делая обучение более персонализированным и эффективным.
Для реализации компьютерной системы обучения китайскому языку с голосовым интерфейсом необходимо учитывать несколько ключевых аспектов: выбор базы данных для хранения лексики и фонетических образцов, использование
алгоритмов машинного обучения для анализа речи, а также разработка удобного
пользовательского интерфейса. Кроме того, важно учитывать возможность интеграции системы с существующими платформами, такими как мобильные приложения и веб-ресурсы.
Таким образом, предметная область проекта охватывает широкий спектр
технологий и методик, направленных на создание интерактивной системы обучения, способной не только обучать пользователей, но и анализировать их прогресс, помогая в освоении китайского языка на высоком уровне.
6
1.1 Аналитический обзор существующих аналогов
В настоящее время существует множество программных решений, предназначенных для обучения китайскому языку. Среди всех самым популярным является Duolingo.
Duolingo – одно из самых популярных приложений для изучения иностранных языков, включая китайский. Оно предлагает геймифицированный процесс
обучения, однако его возможности в части анализа произношения ограничены.
Данный сервис можно использовать, скачав в качестве мобильного приложения, скачав на компьютер или использовать сервис онлайн.
Регистрация проходит путём выбора аккаунта Google или Facebook.
После авторизации выбираем уровень владения изучаемого языка и стиль
обучения, что изображено на рисунке 1.1.
Рисунок 1.1 – Выбор цели для изучаемого языка в Duolingo
Обучение происходит в виде уроков, в которых задания даются в письменном и аудио виде. Письменные задания могут содержать перевод на изучаемый
язык или на родной с иностранного. Аудио задания прослушиваются, потом
предлагают:
– Записать то, что прослушано;
– перевести прослушанное предложение или фразу;
– повторить в микрофон то, что услышали.
Если есть трудность с восприятием на слух, то можно включить медленный повтор – нажимаем на значок в виде черепашки, и тогда предложение или
фразу натурально «разжуют» очень медленно и четко, что изображено на рисунке 1.2.
7
Рисунок 1.2 – Прослушивание и ввод фразы в Duolingo
Давая ответы на вопросы, мы нажимаем «далее», если ответ правильный, то
переходим к следующему заданию, если нет – на экране внизу появится правильный ответ, и можно переходить к следующему шагу.
По окончании урока предлагается закрепить его и пройти тест: по тому же
принципу «Чередование письменных и аудио вариантов» даются ответы на 10
вопросов, после их выполнения присваивают статус в зависимости от успехов.
Преимуществом данного приложения является: игровой формат, что помогает сохранять мотивацию; короткие уроки, которые позволяют легко вписать
занятия в любой график; большой выбор языков.
Из минусов можно выделить, что приложение подходит только для начинающих, так как уроки не предусматривают глубокого погружения; нет заданий на
сложные темы, а также в ответе фигурирует только один верный ответ, даже если
фразу можно сформулировать по-разному.
Таким образом, существующие решения имеют ограничения, которые могут быть преодолены путем разработки новой системы, обеспечивающей точное
распознавание речи, для изучающих китайский язык.
1.2 Обзор технологий для реализации программного обеспечения
Для реализации программного обеспечения обучения китайскому языку с
голосовым интерфейсом используется комплекс современных технологий,
включающих базы данных, платформы для разработки кроссплатформенных
приложений, системы распознавания и синтеза речи, а также специализированные словари. Рассмотрим основные технологии, которые будут использоваться
в проекте.
Для хранения основной информации на серверной стороне используется
PostgreSQL — мощная реляционная система управления базами данных с открытым исходным кодом.
8
PostgreSQL — свободная объектно-реляционная система управления базами
данных. Данная СУБД обладает рядом преимуществ PostgreSQL подходит для
работы в любой операционной системе: Linux, macOS, Windows.
PostgreSQL поддерживает много разных типов и структур данных, в том
числе сетевые адреса, данные в текстовом формате JSON и геометрические данные для координат геопозиций. Все эти форматы можно хранить и обрабатывать
в СУБД.
Размер базы данных в PostgreSQL не ограничен и зависит от того, сколько
свободной памяти есть в месте хранения: на сервере, локальном компьютере или
в облаке.
Максимальный размер таблицы — 32 терабайта. Этого более чем достаточно для хранения данных компаний типа Amazon. Одна строка в базе данных
не может превышать 1,6 терабайт, а максимальный размер одной ячейки — 1
гигабайт. В такую ячейку можно добавить даже видео.
На стороне клиента будет использоваться легковесная встроенная база данных SQLite.
SQLite — это компактная встроенная система управления базами данных,
для работы которой не нужен отдельный сервер. Все данные она хранит в одном
файле и позволяет получать доступ к ним локально. Благодаря этому SQLite часто используют в разработке мобильных приложений и других программ, которым нужен простой способ организации и хранения данных.
Для данной СУБД можно выделить ряд преимуществ.
Для SQLite не нужен отдельный сервер, поэтому с ней проще работать. Разработчикам не надо настраивать сервер, обслуживать его и организовывать сетевую передачу данных.
Вся база данных SQLite хранится в одном файле, поэтому для поиска информации и сортировки нужно меньше ресурсов. Благодаря этому такие базы
данных можно запускать даже на слабом железе.
SQLite работает на всех популярных операционных системах и поддерживает множество языков программирования.
Для создания приложения используется платформа .NET MAUI (Multiplatform App UI), которая позволяет разрабатывать кроссплатформенные приложения на языке C#.
В проекте .NET MAUI используется для создания приложения, доступного
на ПК (Windows, macOS) и мобильных устройствах (Android, iOS). Этот подход
позволяет использовать единый код для всех платформ, что существенно экономит время разработки и упрощает поддержку.
Перечислим преимущества использования .NET MAUI в проекте ниже.
9
Кроссплатформенность. Позволяет создавать приложение, работающее как
на мобильных устройствах, так и на ПК. Это особенно важно для проекта, так
как пользователи смогут тренироваться в любом месте.
Использование общего кода уменьшает время разработки и упрощает тестирование. База данных, взаимодействие с API и логика обучения будут одинаково
работать на Windows, Android, iOS и macOS.
MVVM-паттерн. Разделение логики и представления позволяет легко изменять внешний вид приложения, не затрагивая его функциональность.
Поддержка современных библиотек. .NET MAUI поддерживает HttpClient,
SQLite, Dependency Injection (DI) и другие инструменты, что позволяет легко интегрировать API SpeechFlow и движок Coqui TTS.
Гибкость интерфейсов. С помощью XAML и C# можно создать адаптивный
интерфейс, который будет одинаково хорошо выглядеть как на мобильных
устройствах, так и на компьютерах.
Для распознавания речи используется облачное API SpeechFlow. Оно обеспечивает высокую точность распознавания китайской речи, включая тональные
особенности языка.
Преимущества SpeechFlow: высокая точность распознавания китайского
языка, обработка тонов и сложных фонетических конструкций, поддержка облачных вычислений, разгрузка клиентского устройства, интеграция через REST
API, что позволяет легко интегрировать в .NET MAUI через HttpClient.
Для озвучивания слов и выражений используется движок Coqui TTS, который позволяет создавать высококачественные аудиофайлы на китайском языке.
Преимущества Coqui TTS, открытый исходный код и бесплатное использование, поддержка китайского языка и возможность точной настройки произношения, локальная генерация аудио: позволяет работать без постоянного подключения к интернету, интеграция с .NET MAUI: использование готовых
аудиофайлов через медиа-плеер.
Coqui TTS предоставляет возможность генерировать голосовые подсказки и
примеры произношения для каждого слова.
Комплексное использование современных технологий позволяет реализовать приложение, которое будет удобным в использовании и высокоточным в
распознавании речи. Использование кроссплатформенного подхода на базе .NET
MAUI позволяет разрабатывать приложение сразу для нескольких платформ, а
применение мощных API и TTS-движков обеспечивает высокое качество речевого взаимодействия.
10
1.3 Постановка задачи
Задача данного проекта заключается в разработке компьютерной системы
для обучения китайскому языку с использованием голосового интерфейса, обеспечивающего эффективное взаимодействие пользователя с программой посредством распознавания речи и синтеза речи. Система должна предоставлять пользователю возможность тренировать произношение китайских слов, получать обратную связь о корректности произношения и отслеживать свой прогресс в изучении языка.
Программа должна включать серверную и клиентскую части. Серверная
часть предназначена для авторизации пользователей, хранения данных о прогрессе их обучения и синхронизации информации между устройствами. Для реализации серверной базы данных используется PostgreSQL, обеспечивающая
надежное хранение информации о пользователях, изученных словах, успешности выполнения заданий и статистике освоения словаря. Взаимодействие между
сервером и клиентом осуществляется через REST API.
Клиентская часть приложения должна быть реализована с использованием
.NET MAUI, что обеспечит кроссплатформенную совместимость программы и
позволит запускать её на устройствах под управлением Windows, Android, iOS и
macOS. Локальная база данных, реализованная на основе SQLite, используется
для хранения основного словаря, включающего слова всех уровней HSK,
аудиофайлы с эталонным произношением и их метаданные. Локальное хранение
словаря позволяет приложению функционировать без постоянного подключения
к интернету.
Важной частью системы является реализация механизма обучения на основе HSK-словаря. Пользователю необходимо предоставлять слова, сгруппированные по уровням сложности (HSK 1–6), с отображением их перевода, пиньиня
и аудиопримеров. Пользователь должен иметь возможность произносить слова,
передавая их на обработку в API SpeechFlow, что позволяет получить текстовый
результат распознавания и уровень уверенности в правильности произношения.
Необходимо реализовать систему отображения правил, которые могут быть
представлены пользователю в процессе обучения для улучшения качества освоения языка. Программа должна поддерживать возможность интеграции новых
правил и контента без необходимости изменения структуры базы данных.
Таким образом, требуется разработать программное обеспечение, которое
предоставляет пользователю возможность эффективно изучать китайский язык,
сочетая хранение словаря и аудио на локальном устройстве с использованием
серверной базы данных для авторизации и сохранения прогресса. Основные требования к системе включают высокую точность распознавания речи, качество
синтеза речи, удобство интерфейса и адаптивность к различным платформам.
11
2 ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
2.1 Функциональное моделирование
Функциональное моделирование представляет собой описание основных
функций программного обеспечения и взаимодействий между ними. Данная система состоит из клиентской и серверной частей, которые выполняют различные
задачи, связанные с обучением китайскому языку, распознаванием речи и синтезом речи.
Обучающая система китайскому языку моделируется для одного актора –
ученик. Основные бизнес-процессы, которые мы выделяем для него: прохождение регистрации/авторизации; указание и изменение уровня владения языком;
пройти урок, который делиться на прохождение теоретической и практической
части; просмотр изученных слов, просмотр изученных правил. Рассмотрим подробнее данные функции при помощи BPNM-диаграмм.
Регистрация и авторизация необходима для сохранения процесса обучения,
даже если пользователь перейдёт на новое устройство, он сможет продолжить
обучения с последнего пройденного им урока. Подробнее процесс регистрации
и авторизации пользователя изображен на рисунке 2.1.
Рисунок 2.1 – Регистрация/Авторизация в приложении
При прохождении регистрации ученик должен выбрать текущий уровень
владения языком, чтобы ему открылись соответствующие уровни для прохождения. Если пользователь выбирает уровень выше начального, система предостав-
12
ляет пройти любой урок из уровня ниже, но при этом непройденные слова и правила не добавляются в словарь. Рассмотрим BPMN-диаграмму данного функционала на рисунке 2.2.
Рисунок 2.2 – Указать уровень владения языком после регистрации
После выбора уровня владения языком пользователь получает доступ к
обучающим урокам, которые делятся на теоретическую и практическую части.
Теоретическая часть урока включает просмотр новых слов из соответствующего уровня HSK, их переводы, пиньинь и возможность прослушивания правильного произношения, сгенерированного с использованием Coqui TTS. Также
пользователю предоставляются грамматические и фонетические правила, которые могут быть отображены в виде интерактивных заметок или подсказок. Диаграмма данного процесса изображена на рисунке 2.3.
13
Рисунок 2.3 – Прохождение теоретической части урока
Практическая часть урока заключается в проверке перевода и произношения слов. Пользователь произносит предложенные слова, которые передаются на
сервер для анализа с использованием API SpeechFlow. В случае успешного распознавания слова система добавляет его в список изученных слов. Если слово
распознано некорректно, пользователю предлагается повторить попытку, а
также получить подсказку. Данная функция продемонстрирована на рисунке 2.4.
Рисунок 2.4 – Прохождение практической части урока
После завершения урока данные о прогрессе пользователя, включая изученные слова и успешно пройденные правила, сохраняются в локальной базе
данных SQLite. При наличии подключения к интернету прогресс синхронизируется с серверной базой данных PostgreSQL, что позволяет пользователю продолжать обучение на другом устройстве.
Пользователь также может в любой момент просмотреть список изученных слов и правил через специальный интерфейс приложения. Эти данные загружаются из локальной базы данных, что позволяет использовать функциональность приложения в автономном режиме.
Таким образом, обучение в приложении осуществляется циклично: пользователь выбирает уровень, проходит теоретическую часть, выполняет практические задания, получает обратную связь о качестве произношения, а затем сохраняет прогресс для дальнейшего использования.
2.2 Информационное обеспечение приложения
Информационное обеспечение приложения включает в себя структуры данных, хранилища и механизмы их обработки. Основные компоненты включают
14
локальную базу данных на клиенте, серверную базу данных, а также API для распознавания речи и синтеза речи.
На стороне клиента мы выделяем ряд сущностей: пользователь, прогресс
пользователя, уроки, занятия, HSK-уровни, правила, тэги.
Пользователь представляет собой основную сущность, которая связывает
все остальные данные, такие как его прогресс, пройденные уроки и занятия, а
также уровень освоения языка по HSK.
Уроки и занятия образуют основную структуру контента в приложении.
Уроки могут быть теоретическими или практическими, каждый урок имеет свои
цели, связанные с изучением новых слов, грамматических конструкций или
навыков произношения. Занятия, в свою очередь, связаны с конкретными задачами, которые направлены на закрепление знаний.
HSK-уровни отражают прогресс пользователя в освоении китайского языка,
начиная с начального уровня (HSK 1) и до более продвинутых уровней (HSK 6).
Каждый уровень включает в себя определенное количество слов и грамматических конструкций, которые пользователь должен усвоить.
Правила, связанные с языком, включают грамматические, лексические и
произносительные аспекты, которые отображаются на разных этапах обучения,
помогая пользователю понимать и применять их на практике. Тэги позволяют
организовывать контент и быстро находить нужные материалы, такие как темы,
ключевые слова или грамматические категории.
Рассмотрим полученную диаграмму сущностей на рисунке 2.5.
15
Рисунок 2.5 – Диаграмма сущностей на стороне клиента
Рассмотрим каждую сущность и их связи отдельно.
Таблица «Users» хранит данные о пользователе, зарегистрированном в
приложении. Она содержит информацию, необходимую для авторизации и
идентификации пользователя. Также в таблице хранятся даты создания, обновления и удаления учётной записи. Подробные сведения о сущности изображены
в таблице 2.1.
Таблица 2.1 – Сущность «Пользователи»
Поле
Тип данных
Обязательность /
Ограничение
user_id
uuid
PRIMARY KEY,
NOT NULL
Описание
Уникальный
идентификатор
пользователя.
Имя пользователя.
Уникальный
email пользователя.
Хэшированный
пароль пользователя.
Время создания
аккаунта.
user_name
TEXT
NOT NULL
email
TEXT
UNIQUE, NOT
NULL
hash_psw
TEXT
UNIQUE, NOT
NULL
creation_time
datetime
delete_time
datetime
update_time
datetime
NOT NULL, DEFAULT CURRENT_TIMESTAMP
NULL
Время удаления
аккаунта (если
удалён).
NULL
Время последнего обновления.
«Words» – таблица представляет собой основной словарь приложения, который хранит все слова, доступные для изучения. Каждая запись включает
слово на китайском языке, его перевод на русский язык, транскрипцию (пиньинь), уровень HSK, а также путь к аудиофайлу с правильным произношением.
Подробные сведения о сущности изображены в таблице 2.2.
16
Таблица 2.2 – Сущность «Слова»
Поле
Тип данных
word_id
uuid
chi_word
text
ru_word
text
pinyin
text
HSK_level
int
audio_url
text
Обязательность /
Описание
Ограничение
PRIMARY KEY, Уникальный
NOT NULL
идентификатор
слова.
NOT NULL
Китайское слово
или иероглиф.
NOT NULL
Перевод слова на
русский язык.
NOT NULL
Произношение
слова в пиньине.
NOT NULL,
Уровень HSK, к
CHECK
которому отно(HSK_level > 0)
сится слово.
NULL
URL для аудиопроизношения.
«Tags» – таблица содержит список тегов, которые применяются к словам.
Каждый тег имеет уникальное название и описание. Это позволяет группировать слова по темам или категориям, например, «Еда», «Места», «Глаголы» и
так далее. Подробные сведения о сущности изображены в таблице 2.3.
Таблица 2.3 – Сущность «Тэги»
Поле
Тип данных
tag_id
uuid
name
text
description
text
Обязательность /
Описание
Ограничение
PRIMARY KEY, Уникальный
NOT NULL
идентификатор
тега.
UNIQUE, NOT
Название тега.
NULL
NULL
Описание тега.
«Activities» – содержит данные о занятиях, которые могут быть теоретическими или практическими. Теоретические занятия содержат правила и объяснения, а практические — упражнения с проверкой произношения. Таблица
также хранит статус завершения занятия, что позволяет отслеживать прогресс.
Подробные сведения о сущности изображены в таблице 2.3.
17
Таблица 2.4 – Сущность «Занятия»
Поле
Тип данных
Обязательность /
Описание
Ограничение
activity_id
uuid
PRIMARY KEY, Уникальный
NOT NULL
идентификатор
занятия.
type
text
NOT NULL,
Тип занятия: теоCHECK (type IN
ретическое или
('theoretical', 'prac- практическое.
tical'))
completed
bool
NOT NULL,
Статус завершеDEFAULT
ния занятия.
FALSE
«Lessons» – таблица описывает уроки, которые пользователь может
пройти. Каждый урок относится к определённому уровню HSK и содержит номер урока и описание. Связь с таблицей UserProgress позволяет отслеживать
пройденные уроки. Подробные сведения о сущности изображены в таблице 2.5.
Таблица 2.5 – Сущность «Уроки»
Поле
Тип данных
Обязательность /
Описание
Ограничение
lesson_id
uuid
PRIMARY KEY, Уникальный
NOT NULL
идентификатор
урока.
lesson_num
int
NOT NULL
Номер урока.
hsk_level
int
NOT NULL,
Уровень HSK, соCHECK (hsk_level ответствующий
> 0)
уроку.
description
text
NULL
Описание урока.
«HskLevel» – таблица описывает уровни HSK и содержит их описание.
Каждый уровень соответствует определённому объёму лексики и грамматики,
который должен освоить пользователь. Эта таблица используется для классификации слов и уроков. Подробные сведения о сущности изображены в таблице
2.6.
18
Таблица 2.6 – Сущность «Уровни HSK»
Поле
Тип данных
Обязательность /
Описание
Ограничение
level
int
PRIMARY KEY, Уровень HSK.
NOT NULL
description
text
NULL
Описание уровня
HSK.
«Rules» – содержит грамматические и фонетические правила, которые изучаются пользователем. Каждое правило связано с определённым уроком и может включать описание, примеры и изображение для лучшего понимания. Подробные сведения о сущности изображены в таблице 2.7.
Таблица 2.7 – Сущность «Правила»
Поле
Тип данных
Обязательность /
Описание
Ограничение
rule_id
uuid
PRIMARY KEY, Уникальный
NOT NULL
идентификатор
правила.
lesson_id
uuid
NOT NULL
Указывает на
урок, к которому
относится правило.
head
text
NOT NULL
Заголовок правила.
rool_description
text
NOT NULL
Описание правила.
example
text
NULL
Пример использования правила.
img_path
text
NULL
Путь к изображению.
«UserProgress» – таблица хранит информацию о прогрессе пользователя в
прохождении уроков. Каждая запись соответствует определённому уроку, который пользователь прошёл или начал проходить. Здесь сохраняется дата последнего обновления, что позволяет отслеживать активность пользователя. Подробные сведения о сущности изображены в таблице 2.8.
19
Таблица 2.8 – Сущность «Прогресс пользователя»
Поле
Тип данных
user_id
uuid
lesson_id
uuid
last_update
datetime
Обязательность /
Ограничение
PRIMARY KEY,
NOT NULL
PRIMARY KEY,
NOT NULL
NOT NULL, DEFAULT CURRENT_TIMESTAMP
Описание
Идентификатор
пользователя.
Идентификатор
урока.
Дата и время последнего обновления.
На основе этих таблиц строится функциональность приложения, которое
отслеживает прогресс пользователя, помогает ему осваивать новый материал, и
предоставляет контент, соответствующий уровню его знаний. Использование
таких сущностей, как уроки, занятия, правила и слова, позволяет организовать
процесс обучения китайскому языку эффективно и с учётом всех необходимых
аспектов.
2.3 Архитектура приложения
Разработка данной системы основана на гибридной архитектуре, где толстый
клиент отвечает за основной функционал, а сервер – за работу с пользователями и
сохранением их процесса изучения. Таким образом система синхронизирует информацию. При отсутствии интернет-подключения, приложение продолжает работать в оффлайн режиме, но без функций, которые требуют соединения с сетью.
Клиентское приложение базируется на трёхслойной архитектуре, использую-
щая MVVM, что изображено на рисунке 2.6.
Рисунок 2.6 – Архитектура клиентского приложения
20
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )