Тип работы:
Предмет:
Язык работы:


РАЗРАБОТКА КЛИЕНТСКИХ ПРИЛОЖЕНИЙ ЦИФРОВОЙ ПЛАТФОРМЫ «CODEHEDGEHOG»

Работа №179893

Тип работы

Бакалаврская работа

Предмет

программирование

Объем работы80
Год сдачи2024
Стоимость4800 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
10
Не подходит работа?

Узнай цену на написание


АННОТАЦИЯ 3
Перечень условных обозначений, символов, сокращений, терминов 4
Введение 6
1 Анализ требований 8
1.1 Предпосылки к разработке 8
1.2 Модель предметной области 10
1.3 Варианты использования системы 15
1.4 Нефункциональные требования 19
2 Проектирование 21
2.1 Детализация вариантов использования 21
2.1.1 Создание задачи 21
2.1.2 Верификация задач 32
2.1.3 Версионирование сущностей 33
2.1.4 Отправка решения 35
2.2 Взаимодействие с серверной частью платформы 38
2.3 Архитектура приложения 42
2.4 Обзор используемых библиотек 46
2.4.1 React 46
2.4.2 UI-библиотека Ant Design 48
2.4.3 Mobx 50
2.4.4 React Router 52
2.4.5 i18next 53
2.5 Проектирование макетов 53
2.5.1 UI-кит 53
2.5.2 Объединение экранов просмотра и редактирования сущности 54
2.5.3 Многоступенчатые и вложенные формы 54
2.5.4 Использование Drawer для представления подробной информации 55
2.5.5 Светлая и темная темы 57
2.5.6 Drag’n’Drop 58
3 Реализация 59
3.1 Паттерны 59
3.1.1 Компоненты высшего порядка 59
3.1.2 Context API 61
3.1.3 Хуки 62
3.2 Многоступенчатые вложенные формы 65
3.3 Адаптивность цифровой платформы под разные типы предметов 71
Заключение 74
Список использованных источников и литературы 75


Трудно переоценить важность онлайн-обучения в наши дни. Как показала практика, в некоторых случаях дистанционное обучение предполагает не только комфорт учиться из любой точки мира в удобное время и в удобном темпе, но и жизненную необходимость. Это убедительно доказала пандемия коронавирусной инфекции, которая длилась более 3 лет [2]. Также существует группа лиц с ограниченными возможностями, которым затруднительно посещать занятия очно. Данная цифровая платформа позволяет частично перенести учебные занятия «в цифру», что делает получение знаний более гибким и доступным.
Параллельно существует другая проблема - проблема подготовки квалифицированных практико-ориентированных IT-специалистов в условиях ограниченных ресурсов. Часто обучение происходит в формате «learn by doing»: студентам выдается перечень задач, которые необходимо решить к определенному сроку. Выполняя задания, учащиеся приобретают практические навыки анализа и решения поставленных перед ними проблем. Затем эти решения нужно проверить, что превращается в трудоемкую операцию для преподавателей и ассистентов. Часто контроль сводится к проверке решения на работоспособность, что безусловно можно автоматизировать. Именно эту задачу призвана решать цифровая платформа CodeHedgehog. Она предоставляет образовательному учреждению инфраструктуру для хранения, создания и кастомизации классов, задач и других сущностей, обработки и автоматического тестирования решений. Таким образом, данная платформа позволяет уменьшить нагрузку на преподавателей и обеспечивает бесперебойную и объективную проверку решений студентов, что привносит свой вклад в развитие IT-образования.
Работу с цифровой платформой CodeHedgehog можно разделить на две части: наполнение системы образовательным контентом: классами, задачами и другими сущностями, необходимыми для автоматизации процесса тестирования решений студентов, и непосредственно сам процесс образовательной деятельности, в котором должны участвовать студенты, преподаватели и ассистенты. В связи с этим было принято решение выделить два отдельных клиентских приложений: Банк Задач, с помощью которого методисты будут управлять материалами цифровой платформы, и основное клиентское приложение, унаследовавшее название всей цифровой платформы, в контексте которого студенты будут решать задачи, а преподаватели и ассистенты постмодерировать образовательный процесс. Разработка этих двух клиентских приложений стала целью данной выпускной квалификационной работы.
Для реализации поставленной цели были выделены следующие задачи:
1) провести анализ требований;
2) спроектировать варианты использования и макеты;
3) спроектировать архитектуру;
4) разработать клиентские приложения.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Таким образом, в рамках данной работы были реализованы клиентские приложения CodeHedgehog и TaskBank для цифровой платформы CodeHedgehog. Для этого были решены все поставленные задачи:
1) провести анализ требований;
2) спроектировать варианты использования и макеты;
3) спроектировать архитектуру;
4) разработать клиентские приложения.
В системе, помимо реализации спроектированного функционала, заложена возможность для дальнейшего расширения. Это очень актуально для данной цифровой платформы, ведь она находится на стадии активной разработки и внедрения новых предметных дисциплин.
В процессе работы были как закреплены знания в уже известных технологиях разработки, так и получен опыт использования новых библиотек и архитектурных подходов, что безусловно даст преимущество в дальнейшей профессиональной деятельности.



1. Алистер Коберн. Современные методы описания функциональных требований к системам. Пер. с англ. - Е. Борисова [и др.]. - Издательство «Лори», 2002. - 264 с.
2. Coronavirus disease (COVID-19) pandemic // World Health Organization. - [Б. м.], 2024. - URL: https://www.who.int/europe/emergencies/situations/covid-19 (дата обращения: 15.03.2024).
3. SPA (Single-page application) // MDN. - [Б. м.], 2024. - URL:
https://developer.mozilla.org/en-US/docs/Glossary/SPA (дата обращения: 11.03.2024).
4. ASP.NET MVC Pattern // Microsoft. - [Б. м.], 2024. - URL:
https://dotnet.microsoft.com/en-us/apps/aspnet/mvc (дата обращения: 04.03.2024).
5. Bootstrap • The most popular HTML, CSS and JS library in the world // Bootstrap. - [Б. м.], 2024. - URL: https://getbootstrap.com (дата обращения: 04.03.2024).
6. What is Drag and Drop? Definition, How it Works & Use Cases // Techopedia. - [Б. м.], 2024. URL: https://www.techopedia.com/definition/6918/drag-and-drop (дата обращения: 09.05.2024).
7. Карл Вигерс, Джой Битти. Разработка требований к программному обеспечению. 3-е изд., дополненное / Пер. с англ. — М.: Издательство «Русская редакция»; СПб.: БХВ- Петербург, 2014. — 736 с.
8. Robert Martin. Clean Architecture: A Craftsman's Guide to Software Structure and Design. - Издательство Prentice Hall, 2018. - 422 с.
9. Model - View - ViewModel // Microsoft. - [Б. м.], 2024. URL:
https://learn.microsoft.com/en-us/dotnet/architecture/maui/mvvm (дата обращения: 01.04.2024).
10. Atomic design in React // Paulonteri. - [Б. м.], 2024. URL:
https://paulonteri.com/thoughts/atomic-design-react (дата обращения: 02.05.2024).
11. React // React. - [Б. м.], 2024. URL: https://react.dev (дата обращения: 17.04.2024).
12. Немного о том, как работает виртуальный DOM в React // Хабр. - [Б. м.], 2024. URL: https://habr.com/ru/companies/macloud/articles/558682 (дата обращения: 18.04.2024).
13. Ant Design // antd. - [Б. м.], 2024. URL: https://ant.design (дата обращения: 19.04.2024).
14. Button // antd. - [Б. м.], 2024. URL: https://ant.design/components/button (дата обращения: 19.04.2024).
15. Customize theme // antd. - [Б. м.], 2024. URL: https://ant.design/docs/react/customize- theme (дата обращения: 19.04.2024).
..31


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ