2.01M

HR_Mate

1.

КУРСОВАЯ РАБОТА
по дисциплине «Разработка клиент-серверных
мобильных приложений»
Тема: «Разработка клиент-серверного мобильного приложения
для управления кадровыми процессами компании»
Выполнил: Солозобов Платон Владимирович
Группа: ИКБО-11-22
1

2.

Описание предметной области мобильного приложения
Предметная область мобильного HR-приложения включает в себя автоматизацию ключевых кадровых процессов:
оформление отпусков и командировок, хранение и редактирование личных данных сотрудников, взаимодействие с HRотделом, доступ к внутренним документам.
Традиционный подход
Современное решение
Бумажный документооборот
Доступ к HR-сервисам со смартфона в любое время
Настольные программы с ограниченным доступом
Затраты времени на ручную обработку заявок
Оформление отпусков, командировок, больничных
онлайн
Риск потери или искажения данных
Просмотр и редактирование личных данных
Сложности в коммуникации между сотрудниками и
HR-отделом
Ознакомление с приказами и внутренними
документами
Быстрая и прозрачная связь с HR-отделом
Использование мобильного приложения делает эти процессы быстрее, удобнее и доступнее для сотрудников.
2

3.

Сравнительный анализ существующих аналогов
HRlink
HR Pro
VK HR Tek
Преимущества:
Преимущества:
● Интеграция с ЗП
и учётом времени
● Интеграция с 1С,
SAP, Битрикс
● Поддержка
Android и iOS
● Полноценный
КЭДО (кадровый
электронный
документооборот)
полная юридическая
сила электронных
подписей.
● Уведомления и
отчётность
Недостатки:
● Высокая стоимость
внедрения и
поддержки
Недостатки:
Преимущества:
● Поддержка разных
языков
● Возможность
кастомизации для
среднего бизнеса
● Полноценный КЭДО
Недостатки:
● Сложность начальной
настройки
● Ограниченные
настройки бизнеспроцессов
3

4.

Обоснование выбора инструментальных средств разработки
В качестве языка программирования как для клиентской, так и для серверной части выбран Kotlin.
Это позволяет унифицировать подход к разработке, уменьшить сложность проекта и повысить
читаемость и поддержку кода. Язык отличается лаконичным синтаксисом, безопасностью типов и
полной совместимостью с экосистемой Java.
Серверная часть реализована с использованием фреймворка Ktor, который тесно интегрируется с
Kotlin, поддерживает создание RESTful API, масштабируем и легко настраивается под задачи
конкретного проекта. Он обеспечивает высокую производительность и гибкую архитектуру, что важно
для взаимодействия мобильного клиента с сервером в реальном времени.
В качестве СУБД выбрана MongoDB – документно-ориентированная, нереляционная база данных. Её
преимущества: гибкая структура хранения, высокая скорость обработки данных, простота
масштабирования и хорошая интеграция с Ktor. Это особенно актуально для HR-систем, где структура
сущностей может меняться в процессе развития.
Для клиентской части на Android также используется Kotlin, в связке с XML для описания
пользовательского интерфейса. Этот стек официально поддерживается Google и обеспечивает
безопасность, производительность и выразительность при создании адаптивного и удобного UI.
4

5.

Определение функциональных и нефункциональных требований
Функциональные требования
Описывают, что именно должно уметь делать мобильное приложение. Среди ключевых функций: регистрация и
авторизация пользователей, создание заявок различных типов (на отпуск, получение документов, изменение
персональных данных), а также возможность отправлять заявки с произвольным содержанием. Пользователи могут
отслеживать статусы заявок, просматривать информацию о себе, искать выполненные заявки и управлять историей
поисков. Дополнительно предусмотрена поддержка переключения светлой и тёмной темы, а также выход из аккаунта.
Менеджеры получают доступ к изменению статусов заявок.
Нефункциональные требования
Охватывают качественные характеристики системы. Приложение должно быть производительным (отклик — не
более 2 секунд), масштабируемым, надёжным и доступным не менее чем 99% времени в месяц. Оно должно
корректно работать на устройствах с Android 9.0+, передавать данные безопасно с использованием токенов, иметь
полностью русскоязычный интерфейс и быть интуитивно понятным, позволяя пользователю освоить основные
функции за 10 минут.
5

6.

Проектирование базы данных мобильного приложения
Основные особенности модели:
Универсальность:
Cтруктура базы данных позволяет хранить различные типы заявок в одной
таблице.
Масштабируемость:
Модель легко адаптируется к росту числа пользователей и заявок.
Сущности:
Сотрудник
Хранит персональные данные пользователя: имя, фамилию, электронную
почту, должность, логин и уникальный идентификатор.
Заявка
Содержит данные о типе обращения (отпуск, изменение данных, документ и
др.), дате создания, статусе и содержании заявки.
Взаимосвязь:
Один ко многим: один сотрудник может иметь несколько заявок, но каждая
заявка принадлежит только одному сотруднику.
6

7.

Логическая модель мобильного приложения
IDEF0
Диаграмма классов
7

8.

Работа приложения – Авторизация/Регистрация
8

9.

Работа приложения – Создание заявки
9

10.

Работа приложения – Отслеживание статуса
10

11.

Работа приложения – Архив
11

12.

Работа приложения – Профиль
12
English     Русский Rules