📄Работа №183430

Тема: РАЗРАБОТКА ПРОТОТИПА ЕДИНОГО ЛИЧНОГО КАБИНЕТА ТГУ

📝
Тип работы Бакалаврская работа
📚
Предмет программирование
📄
Объем: 57 листов
📅
Год: 2024
👁️
Просмотров: 46
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

АННОТАЦИЯ 3
Перечень условных обозначений 3
Введение 4
1 Актуализация текущего состояния систем 6
1.1 Проблемы текущих систем ТГУ 6
1.2 Анализ контекстов систем 8
1.3 Обновленное разделение системы на сервисы 11
2 Выбор подходов и практик для решения проблем текущих систем 15
2.1 Пожелания к новой системе 15
2.2 Инструментарий 16
2.2.1 ASP.NET Core 17
2.2.2 Entity Framework Core 18
2.2.3 DAPR 18
2.3 Архитектурный подход 20
2.4 Структура кодовой базы системы 23
2.4.1 Пакет Common 25
2.4.2 Шаблон микросервиса 27
2.4.3 Шаблон макросервиса 29
3 Проектирование и разработка прототипа системы 31
3.1 Пакет Common 33
3.2 Сервис файлов 35
3.3 Сервис профилей 39
4 Подведение итогов 46
Заключение 48
Литература

📖 Введение

В Томском Государственном университете используются множество информационных систем для управления, формализации и автоматизации его процессов. Одним из самых значимых процессов в данной организации являются процессы, связанные с учебной деятельностью.
В ТГУ используются системы как от сторонних поставщиков, так и собственные разработки. 3 самых крупных системы собственной разработки - ТГУ.Аккаунты, Личный кабинет студента ТГУ, ТГУ.Сотрудники - существуют более 8 лет, в течение которых постоянно дорабатывались. В отделе, который ответственный за разработку этих систем, сменилось несколько команд. С течением времени накапливались проблемы: недостаточное документирование кода и мотивации принятых решений, недостаточное покрытие кода тестами, или в некоторых случаях, нетестируемый код, неудачные архитектурные решения по интеграции между приложениями, которые сделали систему крайне уязвимой к кратковременным сетевым сбоям, устаревший фреймворк, который имеет зависимости от проприетарной ОС Windows Server, зависимость сервисов от проприетарной СУБД MS SQL Server, отсутствие средств трассировки распределенных запросов, проблемы с безопасностью и проверкой прав доступа. Все эти факторы привели к тому, что работать с кодовой базой становилось все сложнее, а внесение изменений требует все больше времени на проверку и может задеть совершенно неожиданные компоненты.
В конце 2023 года от нескольких подразделений университета поступил запрос на оценку трудозатрат по реализации внушительного набора объемных функций в указанных системах. Из-за описанных выше проблем, запрошенный функционал было невозможно реализовать в полной мере за вменяемые сроки. Выход из ситуации команда разработки видела в перепроектировании существующих сервисов с использованием распределенной архитектуры, а в процессе проектирования учесть реализацию нового функционала. Также этот подход поможет решить проблему зависимости от проприетарной ОС и СУБД, которые не входят в список рекомендованного ПО ФСТЭК России.
Для решения описанных проблем было решено начать разработку новой системы, которая объединит возможности упомянутых существующих систем. Однако, разработка такой системы представляет из себя огромный объем работы, а команда разработки не имеет опыта разработки распределенных систем подобного масштаба, поэтому чтобы получить представление о разработке системы требуемого масштаба и отработать подходы для работы над новой распределенной системой, было решено в первую очередь разработать прототип такой распределенной системы, что является целью данной выпускной квалификационной работы.
Для реализации данной цели были выделены следующие задачи:
1) Выбрать инструменты и архитектурные подходы для упрощения работы над новой системой.
2) Разработать прототип новой системы.
3) На основе разработки прототипа сделать выводы о выбранных подходах и инструментах.
Решению поставленных задач посвящена данная выпускная квалификационная работа.

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

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

👨‍🎓 Помощь в написании

✅ Заключение

В результате проделанной работы былопределен архитектурный подход для проектирования и разработки новой системы, разработаны шаблоны проектов микросервиса и макросервиса, которые будут использоваться командой при разработке системы; спроектированы и разработаны сервисы профилей и файлов, которые были реализованы с использованием шаблонов макросервиса и микросервиса соответственно; с использование фреймворка DAPR разработанные сервисы образуют прототип системы, который позволил проверить возможности выбранных инструментов, продемонстрировать сценарий межсервисного взаимодействия и простоту его имплементации в системе.
В данный момент прототип используется для проверки более сложных сценариев, связанных с распределенными транзакциями. Перед командой стоят задачи: определиться с необходимостью и возможностью использования компонента Workflow, предоставляемого DAPR, для управления распределенными транзакциями; сделать выбор системы авторизации запросов; сделать выбор компонента API Gateway.
Все поставленные задачи были выполнены, а цель работы достигнута.

Нужна своя уникальная работа?
Срочная разработка под ваши требования
Рассчитать стоимость
ИЛИ

📕 Список литературы

1. API // MDN Web Docs [сайт]. - URL:
https://developer.mozilla.org/ru/docs/Glossary/API (дата обращения: 06.04.2024).
2. Rotem-Gal-Oz A. SOA Patterns. USA: Manning Publications, 2012. 269 p. ISBN 9781933988269.
3. Горяйнов Л. Б. Реинжиниринг корпоративных информационных систем университета, связанных с учебной деятельностью: магистерская диссертация по направлению подготовки: 09.04.04 - Программная инженерия / Горяйнов Л. Б. - Томск:
[Б. и.], 2023 - URL: https://vital.lib.tsu.rU/vital/access/manager/Repository/vital:18373 (дата обращения: 25.03.2024).
4. Evans E. Domain-driven design: Tackling complexity in the heart of software. Boston, MA: Addison-Wesley Educational, 2003
5. Unified Modeling Language. Ver. 2.5: Specification [Электронный документ] // Object Management Group. - [Б. м.], 2015. - URL: https://www.omg.org/spec/UML/2.5/PDF (дата обращения: 08.04.2024).
6. The API gateway pattern versus the Direct client-to-microservice communication //
Microsoft [официальный сайт]. - URL: https://learn.microsoft.com/en-
us/dotnet/architecture/microservices/architect-microservice-container-applications/direct-client- to-microservice-communication-versus-the-api-gateway-pattern (дата обращения: 11.04.2024).
7. Жвачкин: "Большой университет" Томска увеличит ВВП страны на 1% // РИА Томск [сайт] - URL: https://www.riatomsk.ru/article/20191206/zhvachkin-boljshoj-universitet- tomskaya-uvelichit-vvp-strani-na-1/ (дата обращения: 15.05.2024).
8. Overview of ASP.NET Core // Microsoft [сайт] URL: https://learn.microsoft.com/en- us/aspnet/core/introduction-to-aspnet-core?view=aspnetcore-8.0 (дата обращения: 13.04.2024).
9. Inversion of Control Containers and the Dependency Injection pattern // Martin Fowler [сайт] URL: https://martinfowler.com/articles/injection.html (дата обращения: 14.04.2024).
10. Entity Framework Core // Microsoft [сайт] URL: https://learn.microsoft.com/en- gb/ef/core/ (дата обращения: 13.04.2024).
11. Официальный сайт PostgreSQL // PostgreSQL [сайт] URL:
https://www.postgresql.org/ (дата обращения: 13.04.2024).
12. Официальный сайт DAPR // DAPR [сайт] URL: https://dapr.io/ (дата обращения: 13.04.2024).
13. Hexagonal architecture // Alistair Cockburn [сайт] - URL: https://alistair.cockburn.us/hexagonal-architecture/ (дата обращения: 10.04.2024)
14. Clean Code A Handbook of Agile Software Craftsmanship. — Бостон, Массачусетс: Pearson Education, Inc, 2009. — 462 с. — ISBN 0-13-235088-2.

🖼 Скриншоты

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.

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