Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Библиотека для системы управления отелем (PMS)

Обзор

Цель проекта — создание библиотеки для системы управления отелем (PMS), которая будет предоставлять функционал для работы с бронированием, гостями, номерами, счетами и ресурсами. Ваша задача — спроектировать и реализовать основные модули системы, используя принципы объектно-ориентированного программирования.

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


Сценарии использования

Подробные сценарии использования и ожидаемое поведение системы можно найти в файле use_cases.MD.


Основные модули

Система состоит из следующих ключевых модулей:

  1. Дата и время:

    • Обработка операций с датами и временем.
    • Поддержка временных промежутков и проверка их пересечения.
  2. Номера:

    • Управление доступностью номеров, их статусом и графиком уборки.
    • Включить функционал для бронирования и проверки статуса номера.
  3. Гости:

    • Хранение информации о гостях и истории их посещений.
    • Отслеживание баллов лояльности и взаимодействий.
  4. Бронирование:

    • Обработка резервирования номеров и процессов заселения/выселения.
    • Точное отслеживание занятых и свободных номеров.
  5. Счета:

    • Управление счетами гостей, включая начисления и оплаты.
    • Поддержка разделения счетов между несколькими гостями.
  6. Ресурсы:

    • Управление ресурсами отеля, такими как спа-процедуры, массажисты или оборудование.
    • Поддержка бронирования ресурсов и проверки их доступности.
  7. Горничные:

    • Планирование и отслеживание графика уборки номеров.
    • Назначение задач горничным на основе настроек системы.

Требования

  • Использовать принципы объектно-ориентированного проектирования (наследование, композиция, агрегация).
  • Обеспечить модульность: каждый модуль должен быть независимым и повторно используемым.
  • Добавить управление настройками: позволить конфигурировать систему через внешний файл (например, settings.ini).
  • (ОПЦИОНАЛЬНО) Предусмотреть обработку ошибок: система должна корректно обрабатывать некорректные входные данные и крайние случаи.
  • (ОПЦИОНАЛЬНО) Реализовать юнит тесты: система должна удачно завершить все предусмотренные тесты, выполненные на базе уточненных Use Cases.

Результаты

  1. Скомпилированная библиотека со всеми реализованными модулями.
  2. Документация в виде файла README.md.
  3. Следуйте лучшим практикам для структуры кода и соглашений об именах.
  4. Предоставьте решение в виде Git-репозитория с четкой историей коммитов.
  5. Разработайте пользовательский интерфейс и продемонстрируйте работу библиотеки.

Не забудьте про сценарии использования (Use Cases)

Подробные сценарии использования и ожидаемое поведение системы можно найти в файле use_cases.MD.


Пример структуры репозитория

/pms-library
│
├── README.md               # Основное описание проекта
├── use_cases.md            # Подробные сценарии использования
├── src/                    # Исходный код библиотеки
│   ├── DateTime.cpp
│   ├── Room.cpp
│   └── ...
├── include/                # Заголовочные файлы
│   ├── DateTime.h
│   ├── Room.h
│   └── ...
├── tests/                  # Юнит-тесты
│   ├── test_Room.cpp
│   └── ...
└── settings.ini            # Файл настроек

Удачи, и приятного кодинга!

made with ❤️ by Safaroff

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors