Тестовое задание Системный аналитик

ЗАДАНИЕ

Система онлайн-регистрации на авиарейс

Ниже представлено описание задачи от заказчика "как есть". Ознакомьтесь с описанием — это важно для выполнения тестовых задач

  1. Существует 3 категории мест: Стандарт, Люкс, Бизнес-класс
  2. Бронирование доступно только для купивших билет
  3. По умолчанию всем купившим билет на рейс доступны места «стандарт»
  4. Места Люкс и Бизнес-Класс доступны для бронирования через дополнительную оплату
  5. Пассажир может поменять забронированное место на другое не позже, чем за 3 часа до вылета
  6. Места можно бронировать через сайт
  7. Пассажир должен видеть какие места свободны, нельзя бронировать уже занятые места
  8. Можно бронировать места только на конкретные купленные билеты
  9. Нельзя бронировать более 16 мест за один запрос
  10. Пассажир должен иметь информацию о том, какие места он забронировал
  11. Пассажир может отказаться от полета - сдать свой билет через сайт
  12. Главному стюарду должна быть доступна информация о том, какие места должны остаться свободными (не забронированы), какие места - занятыми. Он отвечает за то, чтобы пассажиры находились по своим местам
  13. Авиакомпания оставляет за собой право поменять забронированное пассажиром место, предварительно уведомив его - Пассажир при этом соглашается, подтверждая это
  14. Одно место может быть забронировано только на одного пассажира
  15. Если пассажиру не подходит новое место - он может вернуть билет без потери денег или перенести свой полет на другой рейс с бесплатным повышением категории места

РЕШЕНИЕ

1. Перечислите какие процессы вы видите в описании

Процесс приобретения билетов на рейс, с возможность выбора категории мест; Процесс бронирования мест; Процесс управления забронированными местами.

2. Перечислите процессы, которые заказчик не привел в описании, но они есть и важны для решения задачи.

3. Какие роли сотрудников участвуют в процессах? Какие роли заказчик не перечислил по Вашему мнению.

Упомянутые роли: Пассажир, Стюарт, Авиакомпания. Неупомянутые роли: Администратор.

4. Составьте письмо для заказчика (от приветствия до прощания), в котором зададите заказчику интересующие вас вопросы по предоставленному описанию.

Доброго дня!

Спасибо большое за отправленное описание вашей задачи!

Чтобы мы могли точнее проработать ваш запрос, пожалуйста, уточните:

  1. Существуют ли штрафные санкции или ограничения при отказе от рейса менее чем за сутки до вылета?

  2. Какой именно информацией о местах должен обладать главный стюард помимо простой разбивки по категориям? Есть ли необходимость отражать информацию о детях, животных, наличии специального питания и другие подобные нюансы?

  3. Существуют ли ваши внутренние ИТ-инфраструктуры, на которые нужно интегрировать новую систему? Используемые технологии и форматы данных для синхронизации данных с существующими CRM-системами и ERP-системами авиакомпании?

  4. Возможно ли введение динамической ценовой политики в зависимости от сезона, востребованности направления или близости даты вылета?

  5. Имеются ли у вас собственные требования к защите персональных данных пользователей и платежной информации? Требуется ли сертификация системы по международным стандартам информационной безопасности?

  6. Какая форма отчета необходима руководству авиакомпании для мониторинга продаж и эффективности использования мест?

  7. Верно ли в пункте 9 указанно количество мест для бронирования за один запрос? Верно ли что один пользователь может приобрести до 16 билетов на один рейс?

Всего доброго,

Системный аналитик

ООО "Название Компании"

Расширенные задачи

1. Сформируйте текстовое описание процесса бронирования для пассажира

  1. Пассажир выбирает рейс и покупает билет онлайн. Сразу после оплаты система присваивает ему случайное место категории в зависимости от категории.

  2. Через личный кабинет на сайте пассажир получает доступ к странице бронирования мест. Здесь представлена интерактивная схема салона самолета с указанием свободных и занятых мест, и доплатой если будет выбрана более дорогая категория.

  3. Если место не устраивает пассажира, он может самостоятельно сменить его на любое свободное место категории «Стандарт» или же оплатить улучшенную категорию («Люкс», «Бизнес»). Выбранное место фиксируется системой немедленно после подтверждения выбора.

  4. Ограничения и правила:

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

  2. Особые случаи: Авиакомпания оставляет за собой право внести изменения в размещение пассажиров, предложив замену забронированного места другим местом. Пассажир обязан согласиться с изменением, подтвердив согласие. Если замена места не устроит пассажира, авиакомпания предлагает два варианта решения ситуации:

2. Сформируйте схему переноса бронирования по инициативе авиакомпании (п. 13)

Схема процесса переноса бронирования по инициативе авиакомпании

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

База данных бронирования

4. Сформируйте форму отчета для стюарда с учетом формы запроса такого отчета

Форма отчёт для стюарда по конкретный рейс (Пример)

Ряд Место Фамилия Имя
5 A Иванов Алексей
12 C Петрова Анна
7 F Сидоров Дмитрий

Свободные места: 12

Запросы:

Список всех пассажиров с их забронированными местами:

SELECT s.row_number, s.column_letter, p.last_name, p.first_name
FROM reservations r
JOIN passengers p ON r.passenger_id = p.passenger_id
JOIN seats s ON r.seat_id = s.seat_id
WHERE r.flight_id = :flight_id;

Количество свободных мест:

SELECT COUNT(*) AS available_seats
FROM free_seats fs
WHERE fs.flight_id = :flight_id;

5. Спроектируйте форму, через которую пассажир может поменять забронированное ранее место

Форма бронирования

6. Опишите требования к механизму уведомления пассажира об успешном бронировании

  1. Каналы доставки сообщений:

Email: Основной канал оповещения. Должен включать детальные сведения о заказе и инструкцию по изменению или отмене бронирования.

SMS: Альтернативный канал для оперативной доставки короткого уведомления.

Push-уведомления: Быстрое информирование зарегистрированных пользователей мобильных приложений о событиях.

  1. Содержание уведомления:
  1. Надежность и безопасность:

Механизм должен гарантировать доставку уведомлений даже при высокой нагрузке на серверы.

Оптимизация размера письма и содержания SMS для быстрой доставки.

Использование дублей уведомлений через разные каналы (email + SMS) для исключения потерь сообщений.

  1. Гибкость и масштабируемость:

Простота интеграции.

Адаптация к стандартам кодировки текста и языка (UTF-8, локализация уведомлений).

Масштабируемость сервиса.

  1. Обратная связь и отслеживание доставки:

Возможность отслеживать статус доставки уведомлений (подтверждение прочтения).

Генерация отчётов о доставке уведомлений.

Функция автоматического переотправления сообщений в случае неполучения первого уведомления.

  1. Конфиденциальность и защита персональных данных:

Частичная маскировка личных данных пассажира.

Отсутствие открытой передачи конфиденциальных данных в тексте уведомления.


↑