# Аннотация

Настоящее руководство оператора предназначено для пользователей информационной системы GBDD. Документ описывает назначение программы, порядок установки и запуска, основные операции, проверку работоспособности, возможные аварийные ситуации и используемые термины.

GBDD представляет собой Windows Forms приложение для учета водителей, транспортных средств, нарушений правил дорожного движения и штрафов. Программа подключается к удаленной базе данных PostgreSQL и предоставляет пользователю набор функций в зависимости от его роли в системе.

# Введение

## Область применения

Информационная система GBDD применяется для работы с данными о водителях, транспортных средствах, нарушениях и штрафах. Программа может использоваться администратором, сотрудником и водителем. Администратор управляет справочными и учетными данными, сотрудник работает с нарушениями и штрафами, водитель просматривает сведения о своих штрафах.

## Основные возможности

Программа обеспечивает:

- авторизацию пользователей;
- разграничение доступа по ролям;
- просмотр нарушений правил дорожного движения;
- поиск нарушений по имени водителя;
- добавление и редактирование нарушений;
- удаление нарушений;
- просмотр штрафов;
- отметку штрафа как оплаченного;
- просмотр списка водителей;
- добавление новых водителей;
- изменение данных водителей;
- удаление водителей;
- экспорт нарушений в CSV-файл.

# Подготовка к работе

## Порядок установки

Для установки программы необходимо:

1. Получить установочный файл `setup.exe`.
2. При необходимости разархивировать установочный пакет.
3. Запустить установщик двойным нажатием мыши.
4. Следовать инструкциям мастера установки.
5. Выбрать папку установки программы.
6. Выбрать вариант установки: для текущего пользователя или для всех пользователей компьютера.
7. Подтвердить установку.
8. Дождаться завершения установки.
9. Запустить программу через ярлык на рабочем столе или через меню "Пуск".

Для корректной работы программы необходимо наличие подключения к сети и доступность сервера базы данных `edu-pg.itiscaf.ru` по порту `5432`.

## Порядок проверки работоспособности

Для проверки работоспособности программы необходимо:

1. Запустить приложение GBDD.
2. Ввести корректные данные для авторизации.
3. Убедиться, что после входа открывается форма, соответствующая роли пользователя.
4. Проверить загрузку данных в таблицах.
5. Для администратора проверить просмотр водителей, нарушений и штрафов.
6. Для администратора проверить добавление, изменение и удаление данных водителя.
7. Для сотрудника проверить добавление, изменение и удаление нарушения.
8. Проверить отметку штрафа как оплаченного.
9. Проверить экспорт нарушений в CSV-файл.

Дополнительно для проверки отдельных элементов логики приложения создан проект юнит-тестов `GBDD.Tests`. Тесты можно запустить в Visual Studio через обозреватель тестов или командой:

```powershell
dotnet test GBDD.Tests\GBDD.Tests.csproj -c Release
```

В тестовом проекте проверяются формирование SQL-запросов для авторизации, получения идентификатора водителя, добавления водителя и нарушения, а также обработка значений при экспорте в CSV.

# Описание операций

## Авторизация

После запуска программы открывается форма входа. Пользователь вводит логин и пароль и нажимает кнопку входа. Система отправляет запрос в базу данных и определяет роль пользователя. При успешной авторизации открывается форма администратора, сотрудника или водителя. Если данные введены неверно, отображается сообщение об ошибке.

## Работа администратора

Администратор имеет доступ к разделам нарушений, штрафов и водителей. В разделе нарушений можно просматривать список записей, выполнять поиск по имени водителя, добавлять новые нарушения, редактировать выбранные записи и удалять нарушения.

В разделе штрафов администратор может просматривать начисленные штрафы и отмечать выбранный штраф как оплаченный.

В разделе водителей администратор может добавлять новых водителей, изменять сведения о существующих водителях и удалять записи. Для добавления водителя необходимо открыть форму добавления, заполнить фамилию, имя, отчество, дату рождения и адресные данные, после чего сохранить запись.

Администратору также доступен экспорт списка нарушений в CSV-файл. Для этого необходимо нажать кнопку экспорта, выбрать место сохранения файла и подтвердить действие.

## Работа сотрудника

Сотрудник работает с нарушениями и штрафами. Он может просматривать таблицы с данными, добавлять новое нарушение, редактировать выбранное нарушение и удалять запись из базы данных.

При добавлении нарушения сотрудник выбирает водителя, транспортное средство и тип нарушения, вводит номер постановления и сумму штрафа. После сохранения запись появляется в списке нарушений.

Для отметки штрафа как оплаченного сотрудник выбирает нужную строку в таблице штрафов и нажимает соответствующую кнопку. После выполнения операции данные обновляются.

## Работа водителя

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

# Аварийные ситуации

| Ситуация | Действия оператора |
| - | - |
| Неверный логин или пароль | Проверить правильность введенных данных и повторить вход |
| Данные в таблицах не загружаются | Проверить подключение к сети и доступность сервера базы данных |
| Ошибка при добавлении нарушения | Проверить выбор водителя, транспортного средства, типа нарушения, номер постановления и сумму штрафа |
| Ошибка при изменении нарушения | Проверить корректность заполнения полей формы |
| Ошибка при добавлении водителя | Проверить заполнение ФИО, даты рождения и адресных данных |
| Ошибка при удалении данных | Проверить права доступа текущего пользователя |
| Не выполняется экспорт CSV | Проверить доступность выбранной папки и убедиться, что файл не открыт в другой программе |
| Программа не запускается | Переустановить приложение и проверить наличие необходимых компонентов для запуска .NET-приложения |
| Нет подключения к базе данных | Проверить интернет-соединение и доступность `edu-pg.itiscaf.ru:5432` |

# Термины и сокращения

| Термин | Описание |
| - | - |
| GBDD | Информационная система учета водителей, нарушений и штрафов |
| Оператор | Пользователь, работающий с программой |
| Администратор | Пользователь с расширенными правами управления данными |
| Сотрудник | Пользователь, работающий с нарушениями и штрафами |
| Водитель | Пользователь, просматривающий сведения о своих штрафах |
| БД | База данных |
| СУБД | Система управления базами данных |
| PostgreSQL | СУБД, используемая в проекте |
| Npgsql | Библиотека подключения .NET-приложения к PostgreSQL |
| CSV | Формат текстового представления табличных данных |
| Windows Forms | Технология создания настольных приложений Windows |
| .NET 8 | Платформа разработки и запуска приложения |
