АННОТАЦИЯ 3
ПЕРЕЧЕНЬ РИСУНКОВ И ТАБЛИЦ 5
ГЛОССАРИЙ 8
ВВЕДЕНИЕ 9
1 Анализ требований к системе 11
1.1 Анализ предыдущей версии системы 11
1.2 Функциональные требования 16
1.2 Архитектурно значимые варианты использования 20
1.2.1 Создать отчет 20
1.2.2 Добавить проект 22
1.2.3 Сгенерировать таблицу отчетов 23
1.3 Модель предметной области 26
2 Описание технологий и инструментов разработки 29
2.1 Single Page Application 29
2.2 ReactJS 30
2.3 Хуки 31
2.4 Redux 32
2.5 TypeScript 33
2.6 Material UI 34
3 Проектирование и разработка клиентской части веб-приложения 36
3.1 Структура приложения 36
3.2 LDAP-аутентификация пользователя 38
3.3 Механизм выдачи доступного пользователю функционала 39
3.4 Добавление отчета 40
3.5 Отчет конструкторов 42
3.6 Реестр проектов 45
3.6 Список отчетов 48
3.7 Сводный отчет с фильтрами 51
3.8 Информация о сотрудниках 53
3.9 Отпуск 58
3.10 Трудовой календарь 59
4 Сравнение и анализ производительности систем 62
4.1 Производительность первой версии системы 62
4.2 Производительность новой версии системы 64
4.3 Сравнительный анализ полученных результатов 65
ЗАКЛЮЧЕНИЕ 67
СПИСОК ЛИТЕРАТУРЫ 68
Система отчётности — система, в которой фиксируются итоги компании за отчётное время. Объединяет в себе таблицы, формируемые на основании показателей статистического, оперативного и бухучета. Это заключительный этап учета. Отчетность нужна для таких целей, как:
• анализ эффективности работы сотрудников
• анализ эффективности работы над проектами
• формирование заработной платы
• планирование и прогнозирование дальнейшей деятельности
Большая часть организаций в процессе деятельности сталкивается с составлением отчётности. Системы отчетности способствуют повышению дисциплинированности сотрудников, отслеживают ошибки планирования и помогают в управлении проектами. Одна из наиболее распространенных систем отчётности «Jira». В компании «Микран» также используют подобную систему «Report». «Report» разработан в 2013 году, данная система позволяет сотрудникам не только детально вести отчёты по текущим проектам и просматривать зарплату за каждый период, но также и оставлять заявки на отпуска, больничные и отгулы. В связи с этим данная система имеет существенное значение в жизни компании, т. к. отвечает за важные внутренние процессы. Ввиду того, что система с момента разработки не подлежала модернизации, архитектура устарела и стала трудно поддерживаемой. Кроме того, от сотрудников компании поступают жалобы на работу текущей системы, такие как: отсутствие адаптивности на мобильные устройства, долгое время загрузки страниц и ошибочные расчеты заработной платы (изменение формул трудоемкий процесс при нынешней архитектуре). Таким образом, было принято решение создать данную систему отчетности с использованием современных технологий, при этом сохранив все функциональные возможности.
Так как эта система до сих пор востребована и используется, но устарела в техническом плане, работа является актуальной.
Целью работы является разработка клиентской части системы отчетности для сотрудников «Микран».
Для достижения поставленной цели необходимо решить следующие задачи:
1. анализ и формализация требований;
2. определение необходимого набора инструментов для решения задач;
3. проектирование и разработка клиентской части веб-приложения.
В результате проделанной работы была реализована клиентская часть новой версии системы отчетности для сотрудников компании МИКРАН. Были успешно достигнуты все поставленные задачи:
• проанализировать требования;
• формализовать проанализированные требования;
• обосновать выбор инструментов реализации, с помощью которых проведено
проектирование и разработка веб-приложения в соответствии с требованиями;
• реализовать базовую версию системы;