Введение 3
1 Анализ TSU.Helper 4
1.1 Архитектура 4
1.2 Функциональные возможности 9
1.3 Недостатки текущей системы 15
2 Используемые технологии и инструменты 17
2.1 ASP.NET 6 17
2.2 Entity Framework Core 17
2.3 SignalR 19
2.4 PostgreSQL 20
3 Проектирование и разработка Request Helper 21
3.1 Функциональные требования 21
3.2 Нефункциональные требования 25
3.3 Первичная архитектура 25
3.4 Архитектура реализованной серверной части 27
3.4.1 API слой 29
3.4.2 Бизнес-слой 30
3.4.3 Слой данных 33
3.4.4 Слой Common 35
3.5 Создание заявок 37
3.6 Получение заявок 38
3.7 Премодерация 41
3.8 Работа с файлами 44
Заключение 47
Литература 48
Приложение А. Внешний вид TSU.Helper 49
Приложение Б. Результаты разработки Request Helper 52
TSU.Helper - это система, состоящая из веб-приложения и мобильного приложения, которая помогает в управлении решением различных неполадок, возникающих в общежитиях ТГУ. В ней студенты оставляют заявки о проблемах, диспетчеры анализируют заявки и назначают исполнителей для решения проблем.
TSU.Helper привязан к ТГУ и не может быть использован в других компаниях. Веб-приложение в составе системы использует устаревшую версию фреймворка ASP.NETи не может быть перенесено на новую из-за несоответствия архитектур.
Request Helper - это новое веб-приложение, спроектированное на основе опыта использования TSU.Helper, с расширенным функционалом, позволяющим использовать его в произвольных компаниях.
Цель данной работы - спроектировать и реализовать функциональные возможности, отвечающие за взаимодействие с пользователями, в системе Request Helper.
Для реализации поставленной цели были запланированы следующие задачи:
1) изучить систему TSU.Helper и необходимые изменения;
2) формализовать требования к функциональным возможностям пользователя в Request Helper;
3) спроектировать функциональные возможности;
4) реализовать спроектированные функциональные возможности.
В рамках данной работы было спроектированы и реализованы функциональные возможности пользователей в серверной части веб-приложения Request Helper.
Для этого были выполнены поставленные задачи, а именно:
1. изучение системы TSU.Helper и требуемых изменениях по сравнению с ней;
2. формализация требований к функциональным возможностям;
3. проектирование функциональных возможностей;
4. реализация спроектированных возможностей.
Приложение, удовлетворяющее описанным требованиям реализовано и продолжает дорабатываться. В частности, в следующих итерациях планируется добавление заявок, не привязанных к конкретному помещению.