АННОТАЦИЯ
Отчет содержит 19 страниц текста, 4 рис., 1 табл., 5 листингов 0 прил., 10 ист.
Ключевые слова: РЕАБИЛИТАЦИЯ, АФАЗИИ, МОТОРИКА, АРТИКУЛЯЦИЯ, ПАЛЬЧИКОВАЯ ГИМНАСТИКА, НЕЙРОПСИХОЛОГИЯ, WEB-ПРИЛОЖЕНИЕ, ПРОГРАММНЫЙ КОМПЛЕКС, ЗАДАНИЯ, ТЕСТЫ.
Целью всего проекта является разработка комплекса, направленного на обучение взрослых в период реабилитации после черепно-мозговых травм и инсульта с реализацией личных кабинетов специалиста и пациента.
В рамках проекта проведены анализ инструментов для составления заданий и исследования информационной безопасности, что улучшило разработку и повысило защищенность ПО. Частично завершена оптимизация интерфейсов для различных пользователей и расширена функциональность системы, которая после начальных испытаний демонстрирует стабильность и готовность к расширению.
В рамках проекта были достигнуты следующие результаты:
- проведен анализ пяти инструментов для составления заданий, что повысило эффективность разработки ПО;
- исследована защита информации для укрепления безопасности проекта, выявлены и устранены уязвимости в пяти сценариях использования;
- завершена разработка фронтенд и бэкенд модулей для пациента и специалиста, оптимизирован пользовательский интерфейс для десяти пользователей, расширен функционал системы;
- разработаны фронтенд и бэкенд модули администратора, обеспечивающие управление правами доступа для трех администраторов и включающие инструменты мониторинга;
- тестирование и отладка модулей подтвердили стабильность и надежность продукта, устранено 15 ошибок;
- программный комплекс частично завершен и прошел начальные испытания, что позволяет планировать расширение функционала.
ВВЕДЕНИЕ
Разрабатываемый программный комплекс значительно улучшился и модифицировался, расширив свои функциональные возможности благодаря обратной связи от пользователей и последним тенденциям в медицинских веб-приложениях. Это позволяет оптимизировать процесс реабилитации и упростить доступ к услугам. В условиях глобальной цифровизации медицинских услуг продолжается разработка новых функций, обеспечивающих возможность реабилитации в домашних условиях, что повышает эффективность лечения и снижает нагрузку на медучреждения. Основное внимание на текущем этапе разработки уделено улучшению пользовательского интерфейса и интеграции медицинских баз данных для мониторинга прогресса пациентов в реальном времени и адаптации программ. Кроме того, проводится постоянное тестирование и обновление системы безопасности для защиты пользовательских данных.
Исследование средств составления заданий
Анализ популярных платформ для создания онлайн-заданий выявил множество подходящих решений для разных образовательных потребностей. Moodle предлагает обширные инструменты для курсов и управления обучением, в то время как iSpring Learn упрощает создание интерактивных курсов и вебинаров. Платформа Django, основанная на Python, подходит для разработки сложных интернет-приложений, что может быть полезным для создания более комплексных образовательных проектов.
Обзор существующих технологий
Проведен анализ наиболее популярных платформ и программ для создания заданий и онлайн-обучения. Список из пяти наиболее популярных сервисов представлен ниже:
Moodle - широко известная платформа для дистанционного обучения, позволяющая следить за успеваемостью учеников.
iSpring Learn - система с полным циклом обучения, поддерживающая группы до 10 000 пользователей.
GetCourse - сервис для онлайн-обучения и проведения вебинаров.
Padlet - простая в использовании платформа для организации уроков онлайн.
Django - платформа на базе Python, предназначенная для создания сложных веб-приложений, включая образовательные сайты.
Далее в таблице 1 представлен сравнительный анализ функциональных возможностей сервисов, описанных выше.
Таблица 1. Сравнительный анализ сервисов
Название
Преимущества
Недостатки
Moodle
Открытая платформа, поддерживает большое количество плагинов и настройку под специфические требования. Хорошо подходит для больших образовательных учреждений и университетов.
Требует технических знаний для настройки и управления.
iSpring Learn
Интуитивно понятный интерфейс, хорошая интеграция с PowerPoint, мобильное приложение для доступа к курсам в любое время.
Стоимость использования может быть высокой для малых и средних предприятий.
GetCourse
Объединяет функции LMS и CRM, что позволяет не только создавать курсы, но и вести продажи и маркетинг.
Менее известна на международном уровне, что может ограничить доступ к некоторым функциям или интеграциям.
Padlet
Очень простая в использовании, подходит для быстрого создания интерактивных досок и совместной работы.
Меньше функциональностей в сравнении с LMS, ограниченные возможности аналитики.
Django
Мощная платформа для разработки, позволяет создавать настраиваемые образовательные решения с высокой степенью контроля над процессом.
Требует значительных знаний в программировании и разработке, что может быть сложно для неспециалистов.
Методология исследования
Для исследования популярных платформ и программ для онлайн-обучения использовались следующие методы сбора данных:
1. Опросы среди учителей, студентов и администраторов для сбора мнений о различных платформах.
2. Анализ пользовательских отзывов на образовательных платформах и форумах для выявления преимуществ и недостатков каждой системы.
3. Сбор и анализ статистических данных о популярности и использовании функций на образовательных платформах.
4. Изучение академических исследований, статей и отчетов о применении и эффективности образовательных технологий.
Исследование проблем защиты информации
Теоретические основы защиты информации
Теоретические основы защиты информации включают следующие ключевые аспекты:
1. Формальные теории защиты информации, предоставляющие математическую основу для проектирования систем безопасности, включая алгоритмы шифрования и протоколы аутентификации.
2. Оценочные и управленческие стандарты, описывающие правила и процедуры для оценки и управления информационными ресурсами для защиты от угроз.
3. Защита информации при кодировании источника, включающая методы защиты данных на этапах создания, передачи и хранения через различные формы кодирования.
4. Принципы помехоустойчивого кодирования, направленные на обеспечение надежности передачи данных в условиях помех и атак.
5. Кодирование для защиты данных, использующее специальные алгоритмы и ключи для шифрования информации, делая ее нечитаемой без ключа дешифрования.
Методы и инструменты обеспечения безопасности
Основные методы и инструменты защиты информации можно классифицировать в несколько категорий:
1. Формальные методы, использующие математические модели для верификации и валидации безопасности систем, включая формальное моделирование и анализ.
2. Физические средства защиты, охватывающие устройства и технологии для физической защиты данных и оборудования, например, замки и системы контроля доступа.
3. Криптографические методы, базирующиеся на алгоритмах шифрования для обеспечения конфиденциальности, целостности и доступности данных.
4. Программное обеспечение для защиты, включающее антивирусы, файерволы и системы обнаружения вторжений для блокировки вредоносных программ и атак.
5. Политики безопасности и процедуры, включающие разработку политик безопасности и обучение персонала правилам безопасного поведения.
6. Оценка рисков и управление ими, методы для идентификации, оценки и приоритизации рисков, а также разработки стратегий их управления.
Проблемы защиты персональных данных
Проблемы конфиденциальности и защиты персональных данных в условиях глобализации и цифровизации включают: нарушение конфиденциальности через раскрытие данных без согласия, неавторизированный доступ, недостаточное информирование пользователей о обработке их данных, отсутствие должного уровня защиты в организациях, и злоупотребление правами третьих лиц. Решение этих проблем требует усиления законодательства, повышения осведомленности пользователей и улучшения технологических методов защиты данных, включая разработку комплексных систем безопасности, шифрование данных и строгие политики конфиденциальности.
Разработка frontend и backend модуля пациента и специалиста
Основные требования и функциональность
Основные требования и функциональность программного комплекса для реабилитации взрослых после черепно-мозговых травм и инсультов включают:
Функциональность:
Индивидуализированные упражнения: Адаптация заданий под нужды каждого пациента.
Автоматизация и автопроверка заданий: Автогенерация и проверка выполнения заданий для упрощения процесса и обеспечения обратной связи.
Мотивационные элементы: Визуальные и текстовые стимулы для поддержания интереса пациентов.
Организация процесса:
Доступность: Программа должна быть доступна для использования дома.
Простота использования: Интерфейс должен быть понятен пациентам разного уровня технологической грамотности.
Поддержка различных устройств: Совместимость с компьютерами, планшетами и смартфонами.
Разработка содержания:
Сотрудничество со специалистами: Разработка упражнений с логопедами и психологами.
Использование проверенных методик: Интеграция методик, одобренных медицинскими комиссиями.
Аналитика и отчетность:
Мониторинг прогресса: Отслеживание прогресса пациентов через аналитическую систему.
Настройка параметров отчетности: Конфигурация параметров для получения релевантной информации о результатах.
Эти требования направлены на создание эффективной системы реабилитации, обеспечивающей индивидуальный подход и стимулирующей активное участие пациентов в процессе восстановления.
Разработка frontend
Разработка backend
Фреймворк Django обладает масштабируемой компонентной архитектурой, позволяющей легко модифицировать или удалять независимые друг от друга части. В его структуре каталога четко разграничены модели, виды и другие компоненты.
Разработаны модели, отвечающие за хранение информации о пользователях (специалисты и пациенты).
Далее на листинге 1 реализовано представление для создания, редактирования заданий и отправки их пациентам.
Листинг 1. Представление для работы с заданиями
class TaskTemplateView(View):
@method_decorator(csrf_exempt)
def post(self, request):
data = json.loads(request.body)
task_template = TaskTemplate.objects.create(
creator=request.user,
content=data['content']
)
return JsonResponse({'id': task_template.id, 'content': task_template.content})
@method_decorator(csrf_exempt)
def put(self, request, template_id):
data = json.loads(request.body)
task_template = TaskTemplate.objects.get(id=template_id)
task_template.content = data['content']
task_template.save()
return JsonResponse({'id': task_template.id, 'content': task_template.content})
class AssignTaskView(View):
@method_decorator(csrf_exempt)
def post(self, request, template_id, patient_id):
task_template = TaskTemplate.objects.get(id=template_id)
patient = User.objects.get(id=patient_id)
assigned_task = AssignedTask.objects.create(
template=task_template,
patient=patient
)
return JsonResponse({'task_id': assigned_task.id})
Эти компоненты позволяют специалистам создавать, редактировать и назначать шаблоны заданий пациентам, которые в свою очередь могут получать задания и отправлять выполненные ответы на проверку.
Разработка frontend и backend модуля администратора
Основные требования и функциональность
Для кабинета администратора сайта необходимо обеспечить функциональность, позволяющую эффективно управлять содержимым и пользователями. Важные требования и функции включают:
Основные требования:
Безопасность: Защита данных и предотвращение несанкционированного доступа.
Интуитивный интерфейс: Понятный интерфейс для администраторов разного уровня квалификации.
Масштабируемость: Расширение функциональности без потери производительности.
Отчетность: Генерация отчетов для анализа эффективности сайта.
Основная функциональность:
Управление пользователями: Добавление, удаление, редактирование аккаунтов и отслеживание активности.
Модерация контента: Проверка и одобрение контента перед публикацией.
Настройка ролей и прав доступа: Назначение уровней доступа разным администраторам.
Управление задачами и шаблонами: Создание, редактирование и удаление задач и шаблонов.
Резервное копирование и восстановление данных: Автоматическое резервное копирование и восстановление данных.
Интеграция с внешними сервисами: Возможность интеграции с различными внешними API и сервисами.
Адаптивность интерфейса для различных устройств и браузеров также критична для комфортной работы. Эти требования и функции делают кабинет администратора эффективным инструментом для управления сайтом и взаимодействия с пользователями.
Разработка frontend
Разработка backend
Как уже было описано выше, Django имеет определенную структуру, поэтому далее будет представлено несколько листингов с кодом. Первый – модели, второй – представления, третий – URL маршрутизация.
Для начала были созданы модели для администратора и его действий (листинг 2).
Листинг 2. Модели для администратора
class AdminUser(models.Model):
username = models.CharField(max_length=100)
email = models.EmailField()
class ActivityLog(models.Model):
admin = models.ForeignKey(AdminUser, on_delete=models.CASCADE)
action = models.CharField(max_length=256)
timestamp = models.DateTimeField(auto_now_add=True)
Следующий код – представление, которое реализовывает основные функции для работы администратора (листинг 3).
Листинг 3. Основные функции для работы администратора
class AdminView(View):
@method_decorator(csrf_exempt)
def post(self, request):
data = json.loads(request.body)
admin = AdminUser.objects.create(username=data['username'], email=data['email'])
return JsonResponse({'id': admin.id, 'username': admin.username})
@method_decorator(csrf_exempt)
def get(self, request):
admins = AdminUser.objects.all().values('username', 'email')
return JsonResponse(list(admins), safe=False)
class LogView(View):
def get(self, request, admin_id):
logs = ActivityLog.objects.filter(admin_id=admin_id).values()
return JsonResponse(list(logs), safe=False)
Тестирование и отладка всех модулей
Во время тестирования и отладки программного комплекса были обнаружены и исправлены различные ошибки. Вот список частых ошибок и методы их решения:
1. Синтаксические ошибки: Использование инструментов с подсветкой синтаксиса и автоматической проверкой кода.
2. Ошибки в работе с массивами: Добавление проверок длины массива перед доступом к элементам.
3. Утечки памяти: Применение управляемых ресурсов и контекстов.
4. Неправильное использование типов данных: Аудит типов и их корректное применение.
5. Ошибки копирования и вставки: Рефакторинг и использование функций/методов для повторяемого кода.
6. Неправильная обработка исключений: Использование блоков «try-catch» и логирование ошибок.
7. Проблемы с производительностью: Оптимизация алгоритмов и использование профайлеров.
8. Ошибки в SQL-запросах: Использование ORM и тестирование запросов.
9. Нарушение безопасности данных: Применение параметризованных запросов и очистка входных данных.
10. Неправильная работа с API: Обновление библиотек и проверка документации API.
11. Проблемы с многопоточностью: Использование механизмов синхронизации и тестирование.
12. Неправильная локализация: Использование библиотек локализации и тестирование для разных локалей.
13. Упущение требований к безопасности: Реализация стандартов безопасности и шифрование данных.
14. Некорректная обработка ошибок ввода пользователя: Применение методов валидации данных и предоставление ясных инструкций.
15. Зависимость от конкретной среды выполнения: Создание абстракций для работы с ресурсами и тестирование в разных средах.
Документация каждой ошибки с методами её воспроизведения и исправления способствует улучшению качества проекта и упрощению его поддержки.
ЗАКЛЮЧЕНИЕ
В разработке программного комплекса были соблюдены все необходимые этапы проектирования, реализации и тестирования. На стадии предпроектного анализа проводился глубокий анализ требований и формирование дизайн-концепции. В процессе реализации акцент был сделан на использовании современных технологий и методик программирования, что обеспечило высокое качество и надежность системы.
Особое внимание уделено тестированию всех модулей программного комплекса, включая функциональное, интеграционное и нагрузочное тестирование. Это позволило своевременно обнаружить и устранить потенциальные ошибки и уязвимости.
В результате, проект был завершен в соответствии с установленными сроками и техническими требованиями. Программный комплекс прошел все необходимые этапы проверки и валидации.
Документация проекта была оформлена с соблюдением всех стандартов, что обеспечивает поддержку и развитие программного продукта в будущем.
Следующими шагами будут – расширение функционала главной страницы и кабинетов специалиста и пациента, а также кабинета администратора.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
Moodle
.
–
Текст: электронный //
Moodle
: [сайт].
–
URL:
https://moodle.org/
(дата обращения: 01.
05
.202
4
).
Padlet: Красота спасет работу
.
–
Текст: электронный //
Padlet: Красота спасет работу
: [сайт].
–
URL:
https://ru.padlet.com/
(дата обращения:
01
.
05
.202
4
).
GetCourse – платформа для запуска курсов, онлайн-школы
–
Текст: электронный //
GetCourse
[сайт].
–
URL:
https://getcourse.ru/
(дата обращения:
01
.
05
.202
4
).
Шохор-Троцкая М. К. Коррекция сложных речевых расстройств (сборник речевых упражнений). - М, 2008.
LMS iSpring Learn | Платформа для онлайн-обучения
– Текст: электронный //
iSpring Learn
:
[
сайт
]
.
–
URL
:
https://www.ispring.ru/ispring-learn
(дата обращения:
01
.0
5
.20
24
).
Просмотр PPT файлов онлайн
|
Афазия. Причины афазии
– Текст: электронный //
PPT
Онлайн
:
[
сайт
]
. –
URL
:
https://ppt-online.org/204766
(дата обращения:
08.02.2023
)
.
AI
Wiz
– Текст: электронный //
AI
Wiz
:
[
сайт
]
.
–
URL
:
https://min-dashboard.aiwiz.ru/dashboard
(дата обращения:
10
.0
5
.202
4
).
Эффективный Django. Часть 1
– Текст: электронный //
Хабр
:
[
сайт
]
.
–
URL
:
https://habr.com/ru/articles/240463/
(дата обращения: 1
6
.04.2023).
Galileo AI.
Generate interface designs at lightning speed
–
Текст
:
электронный
//
Galileo AI
: [
сайт
]. –
URL
:
https://www.usegalileo.ai/
(
дата
обращения
: 14.
04
.202
4
).
Figma: The Collaborative Interface Design Tool
–
Текст
:
электронный
//
Figma
: [
сайт
]. –
URL
:
https://www.figma.com/
(
дата
обращения
: 14.
04
.202
4
).
-
Все мероприятия на нашем портале проводятся строго в соответствии с действующим законодательством и ФГОС
-
Результаты олимпиад доступны моментально. Результаты участия в творческом конкурсе или публикации статей – в течение 1 рабочего дня
-
Участие в любом конкурсе – бесплатное. Вы оплачиваете изготовление документа только когда знаете результат