ВВЕДЕНИЕ 5
1 Анализ предметной области 6
1.1 Анализ существующих решении 6
1.2 Определение требований к системе 6
1.3 Выбор средств front-end разработки 7
1.4 Методология разработки 12
1.5 Выводы по разделу 13
2 Проектирование 14
2.1 Архитектура информационной системы 14
2.2 Типы архитектуры веб-приложений 15
2.2.1 Одностраничные приложения 15
2.2.2 Многостраничные приложения 16
2.2.3 Прогрессивные веб-приложения 16
2.2.4 Архитектура микросервисов 16
2.3 Интерфейс веб-приложения 17
2.4 Модуль API 20
2.5 Диаграммы вариантов использования 20
2.6 Выводы по разделу 22
3 Разработка и тестирование 23
3.1 Front-end 24
3.2 Тестирование 30
3.3 Выводы по разделу 32
4 Описание результатов разработки 33
4.1 Front-end 33
4.2 Выводы по разделу 39
ЗАКЛЮЧЕНИЕ 40
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 41
Во время пандемии COVID-19 все учебные заведения перешли на дистанционное обучение. В связи с этим возник ряд сложностей с контролем образовательного процесса. В частности, у преподавателей возросла необходимость в просмотре посещаемости занятий и выполнении заданий, а также появилась необходимость в сравнении показателей качества образования до и во время дистанционного обучения с целью определения слабых мест образовательного процесса. Решить возникшие задачи позволила бы модернизация существующего программного обеспечения, использующегося в образовательном процессе университета.
Целью данной выпускной квалификационной работы является разработка front-end части веб-приложения, предоставляющей подробную статистику по успеваемости студентов ИКИТ СФУ.
Новая функциональность веб-приложения направлена на родителей и преподавателей. Она позволит родителям просматривать учебную информацию своего ребенка, такую как его подробную успеваемость и посещаемость в лаконичном и упорядоченном виде, а преподавателям просматривать и сравнивать (в виде графиков, гистограмм и диаграмм) успеваемость студентов по конкретным дисциплинам в разное время в агрегированном виде или по учебным группам в отдельности.
Для достижения цели были решены следующие задачи:
- проведен анализ существующих решений;
- исследована предметная область;
- создана модель предметной области;
- спроектирован интерфейс front-end части приложения;
- реализована front-end часть приложения;
- проведено тестирование.
В ходе выполнения выпускной квалификационной работы был проведён анализ существующих решений, были составлены требования, описан выбор стека разработки, реализованы этапы проектирования и разработки клиентской части.
Были изучены принципы построения архитектуры веб-приложений. Также были приобретены дополнительные навыки разработки с использованием библиотеки React, в частности React Hooks и тестирования веб-приложений при помощи React Test Library.
Результатом выпускной квалификационной работы стало веб-приложение для просмотра информации о студентах на основе СЭО СФУ.
Разработанное приложение позволяет:
- авторизоваться;
- просматривать учебную информацию ребенка (для родителей);
- просматривать агрегированный отчёт по выбранным группам (для пре-подавателей);
- просматривать отчёт по каждой выбранной группе отдельно (для пре-подавателей).
Несмотря на то, что все задачи были выполнены, существуют дальнейшие способы улучшения системы, такие как реализация дополнительных фильтров для преподавателей и добавление модуля для работников деканата.
1. SEO против React: Веб-краулеры умнее, чем вы думаете [Электронный
ресурс] // Сайт организации freeCodeCamp. Режим доступа:
https://www.freecodecamp.org/news/seo-vs-react-is-it-neccessary-to-render-reactpages-in-the-backend-74ce5015c0c9/.
2. Архитектурные особенности проектирования и разработки Веб-приложений [Электронный ресурс] // Сайт НОУ ИНТУИТ. - Режим доступа: https://intuit.ru/studies/courses/611/467/lecture/28784?page=3.
3. Бэнкс А., Порселло Е. React и Redux: функциональная веб-разработка. - СПб.: Питер, 2018. - 336 с.
4. Введение в хуки [Электронный ресурс] // Документация React. - Режим доступа:https: //reactj s .org/docs/hooks-intro .html.
5. Веб-рендер [Электронный ресурс] // Портал веб-разработки Google. - Режим доступа:https://developers.google.com/web/updates/2019/02/rendering-on-theweb.
6. Диаграммы вариантов использования [Электронный ресурс] // Сайт
компании Informicus. - Режим доступа:
http://www.informicus.ru/default.aspx?SECTION=6&id=73&subdivisionid=4.
7. Документация Axios [Электронный ресурс] // Сайт библиотеки Axios. - Режим доступа: https://axios-http.com/docs/intro.
8. Документация Nivo Rocks [Электронный ресурс] // Сайт библиотеки Nivo. - Режим доступа:https://nivo.rocks/.
9. Документация Semantic UI React [Электронный ресурс] // Сайт библиотеки Semantic UI React. - Режим доступа:https://react.semantic-ui.com/.
10. Жизненный цикл разработки ПО. [Электронный ресурс] // Сайт компании XB Software. - Режим доступа:https://xbsoltware.ru/blog/zhiznennyj-tsykl-po-kanban/.
11. Лопатин, А. С. Языки программирования: учебное пособие / А. С. Лопатин, Л. Ю. Искакова. - Екатеринбург, 1998. - 548 с.
12. Майк К., Марк X, Натан Р. Node.js в действии. - СПб.: Питер, 202. - 448с.
13. Многоуровневая архитектура [Электронный ресурс] // Сайт сибирского отделения Российской академии наук. - Режим доступа: http: //wwwsbras .nsc. ru/Report2006/Report321 /node30 .html.
14. Мобильный и десктопный трафик в 2019 году [Электронный ресурс] //
Сайт digital-агентства Stone Temple. - Режим доступа:
https://www.stonetemple.com/mobile-vs-desktop-usage-study/.
15. Общие архитектуры веб-приложений [Электронный ресурс] // Официальный сайт Microsoft. - Режим доступа:https://docs.microsoft.com/ru-ru/dotnet/architecture/modern-web-apps-azure/common-web-application-architectures.
16. Основные концепции Reactjs, о которых стоит знать [Электронный ресурс] // Библиотека программиста. - Режим доступа:https://proglib.io/p/react-jsconcepts/.
17. Проектирование веб-интерфейсов [Электронный ресурс] // Сайт студии Jazz Pixels. - Режим доступа:
https://jazzpixels.ru/blog/8/proektirovanieinterfeisov.
18. Результаты опроса разработчиков в 2019 году [Электронный ресурс] // Система вопросов и ответов о программировании Stack Overflow. - Режим до-ступа:https: //insights .stackoverflow.com/survey/2019.
19. Рекомендации по включению в систему для вебмастеров [Электрон-ный ресурс] // Справочник Google Scholar. - Режим доступа: https://scholar.google.com/intl/en/scholar/inclusion.html#indexing.
20. Фриман, A. Angular для проффесионалов. / А. Фриман. - СПб.: Питер, 2018. - 800 с
21. Якобсон, А. Унифицированный процесс разработки ПО / А. Якобсон. - СПб.: Питер, 2012. - 496 с.