Задание: Системный программист. Разработка ПО для СКУД (Дистанционная работа)
Техническое задание на разработку ПО для СКУД
1. Общие положения
Цель разработки — создание нового клиент-серверного программного обеспечения для систем контроля и управления доступом (СКУД), взамен устаревшего настольного решения. Новое ПО должно обеспечить интуитивно понятный пользовательский опыт, современный внешний вид и высокую производительность, сохраняя ключевые функции старой системы и иметь возможность дальше улучшать его (предполагаем что дальнейшие апгрейды будут производить самим разрработчиком).
2. Функциональные требования
ПО должно поддерживать автоматическое сканирование локальной сети и обнаружение оборудования (контроллеров, турникетов и т.д.). Должна быть реализована настройка параметров работы устройств, включая выбор режимов, управление линиями, диагностику. В области управления доступом реализуется создание и редактирование зон доступа, назначение пользователям идентификаторов (карты), настройка временных графиков, ролей и прав доступа. Учет рабочего времени должен включать настройку графиков, фиксацию опозданий и переработок, расчет перерывов и формирование отчетов. Для администрирования: управление пользователями системы, уровни доступа, история изменений. Журналирование должно фиксировать события оборудования, изменения в системе, попытки доступа, а также обеспечивать быстрый поиск по параметрам. Отчетность включает отчеты по доступу, рабочему времени, а также экспорт в Excel и PDF.
Наглядно почти весь ожидаемый функционал отражен в дизайн-прототипе ПО: https://www.figma.com/design/ptiOVYKJlPnMIpnohOH8Ni/CARDDEX.Timework?node-id=468-30342&t=XStKsmxFDQ759SB6-1
3. Архитектурные требования
Архитектура — клиент-серверная. Сервер разворачивается на Windows-сервере локальной сети. Работа осуществляется с любого другого устройства по локальной сети. Предполагаем, что это будет настольное ПО, разворачиваемое на каждом соответсвующем ПК с последующей настройкой доступов к необходимым разделам от администратора. Допускаем вариант, что взаимодействие с ПО может быть организовано через web-интерфейс. Возможность дальнейшего масштабирования должна быть заложена в архитектуру.
4. Требования к интерфейсу
Интерфейс разрабатывается на основе предоставленных Figma-макетов (https://www.figma.com/design/ptiOVYKJlPnMIpnohOH8Ni/CARDDEX.Timework?node-id=468-30342&t=XStKsmxFDQ759SB6-1) и должен быть простым и понятным для технических и нетехнических пользователей. Обеспечивается простой дизайн из расчета работы в формате настольного приложения (аналогичный интерфейс в случае web-интерфейса).
5. Требования к безопасности
Многофакторная аутентификация, управление политиками паролей, журнал всех попыток входа. Необходима система автоматического резервного копирования и восстановления, аудит действий пользователей.
6. Этапы разработки
Разработка: интеграция с оборудованием, серверная логика, клиентский интерфейс.
Тестирование: модульное, интеграционное, пользовательское.
Внедрение: установка, миграция данных (если требуется), минимальное обучение пользователей, запуск в релиз.
7. Критерии приемки
Полная реализация заявленного функционала. Интерфейс соответствует макетам (либо согласованы корректировки по мере потребности). Все данные корректно сохраняются и восстанавливаются.
8. Сроки реализации и бюджет: ожидаем оценочную информацию от вас.