Список условных обозначений 3
Введение 4
1 Анализ требований 6
1.1 Анализ существующего бизнес-процесса 6
1.2 Анализ проблем 8
2 Первичное проектирование системы 14
2.1 Первичное решение 14
2.2 Модель предметной области 15
2.3 Жизненный цикл новой сущности 17
2.4 Новый бизнес-процесс 19
3 Проектирование и реализация 22
3.1 Инструментарий для web-приложения 22
3.2 Инструментарий для API 22
3.3 Архитектурные паттерны 23
3.4 Проектирование web-приложения 29
3.5 Проектирование API-приложения 42
4 Реализация приложения 45
4.1 Детали образовательной программы 45
4.2 Группировка дисциплин 45
4.3 Детали виртуальной дисциплины 46
4.4 Список кодов для студента 47
Заключение 48
Литература 49
На начало 2022 года на программе бакалавриата 09.03.04 “Программная инженерия” обучается 4 потока студентов; на программе магистратуры 09.04.04 “Управление рисками в программной инженерии” - 2 потока. Для каждого из потоков существует свой учебный план со своими дисциплинами. Согласно утверждённым учебным планам [1]:
• у потока бакалавриата 2019 года на учебный год 2022/2023 для освоения имеется 5 основных дисциплин и 13 дисциплин по выбору;
• у потока бакалавриата 2020 года на учебный год 2022/2023 для освоения имеется 7 основных дисциплин и 14 дисциплин по выбору;
• у потока бакалавриата 2021 года на учебный год 2022/2023 для освоения имеется 15 основных дисциплин и 9 дисциплин по выбору;
• у потока бакалавриата 2022 года на учебный год 2022/2023 для освоения имеется 15 основных дисциплин и 5 дисциплин по выбору;
• у потока магистратуры 2021 года на учебный год 2022/2023 для освоения имеется 6 дисциплин;
• у потока магистратуры 2022 года на учебный год 2022/2023 для освоения имеется 13 дисциплин.
В начале каждого семестра для присутствующих в ближайшем полугодии дисциплин создаётся виртуальный класс для публикации объявлений и сдачи работ (на момент написания данной работы используется платформа Google Classroom), код для присоединения к которым отправляется студентам в главном виртуальном классе с наименованием потока. До начала учебного процесса также требуется пригласить в каждый из виртуальных классов преподавателей данных дисциплин, а затем проконтролировать, что все студенты присоединились к классам. Не стоит забывать, что у некоторых студентов присутствуют задолженности по дисциплинам прошлых лет, а также существуют студенты, которые перевелись с других направлений или из других ВУЗов - данным категориям требуется доступ к виртуальным классам дисциплин прошлых лет. Если предположить, что дисциплины распределены по семестрам внутри года поровну, то получается, что перед семестром необходимо создать 47 виртуальных курсов. Допустим, что на создание одного курса и приглашение в него преподавателей тратится 15 минут. Получается, что суммарно на это тратится 705 минут, или 11 часов и 45 минут, что равно двум рабочим дням сотрудника деканата. Время сотрудника до начала учебного процесса очень ценно, так как помимо данной задачи существует ещё целый ряд административных, также требующих внимания, поэтому тратить такой объём времени - неэффективно. Также стоит отметить, что 15 минут - минимальное время, так как во время создания может возникнуть ряд проблем. К тому же, требуется ещё и проконтролировать, что все студенты, которые должны пройти данный курс, присоединились к нему - а это потратит ещё больше времени сотрудника деканата.
Целью данной работы стала разработка модуля для lk.student.tsu.ru, который позволил бы автоматизировать процесс создания новых виртуальных классов и добавления студентов и преподавателей в них. Для этого были выделены следующие задачи:
• формализация требований к разрабатываемому модулю;
• проектирование разрабатываемого модуля;
• реализация модуля для автоматизации процесса подготовки электронно-образовательной среды к началу учебного семестра;
• тестирование разработанного модуля.
В ходе выполнения выпускной квалификационной работы были выполнены анализ текущего бизнес-процесса, первичное проектирование системы и реализация модуля для автоматизации бизнес-процесса. Для этого были решены поставленные задачи:
• формализация требований к разрабатываемому модулю;
• проектирование разрабатываемого модуля;
• реализация модуля для автоматизации процесса подготовки электронно-образовательной среды к началу учебного семестра;
• тестирование разработанного модуля.
На момент написание выпускной квалификационной работы модуль ожидает ревю от старших коллег для дальнейшего внедрения в систему.
Основная система доступна по адресу: https://lk.student.tsu.ru/
API, взаимодействующее с Google Classroom, располагается по адресу: https://classroom.kupriyanov.space
1. Учебные планы структурного подразделения НОЦ «Высшая IT-школа» // Официальный
сайт Томского Государственного Университета. [Б. м.] URL:
https://www.tsu.ru/education/bacalavr/scroll_bacalavr.php(дата обращения: 28.03.2023)
2. Обзор платформы .NET // Документация Microsoft - 2023 - URL:
https://learn.microsoft.com/ru-ru/dotnet/framework/get- started/overview?redirectedfrom=MSDN(дата обращения: 12.04.2023)
3. Общие сведения об ASP.NET Core // Документация Microsoft - 2023 - URL:
https://learn.microsoft.com/ru-ru/aspnet/core/introduction-to-aspnet-core?view=aspnetcore-3.1(дата обращения: 12.04.2023)
4. Фаулер М. Архитектура корпоративных программных приложения.: Пер. с англ. - М.: Издательский дом «Вильяме», 2006. - 544 с.
5. Действия по расписанию и Quartz.NET// METANIT.COMСайт о программировании URL: https://metanit.com/sharp/mvc5/24.Lphp(дата обращения: 29.04.2023)
6. Файл Web.Config // Документация Microsoft - 2023 - URL: https://learn.microsoft.com/ru- ru/ASPNET/Core/host-and-deploy/iis/web-config?view=aspnetcore-6.0(дата обращения: 29.04.2023)