Skip to content

Xo3-ToBapbl/Task_3-TelephoneExchange-

Repository files navigation

Task_3-TelephoneExchange-Description

Разработать набор классов для моделирования работы автоматический телефонной станции (АТС) и простейшей биллинговой системы.

Компания-оператор АТС заключает договора с клиентами, присваивает им абонентские номера, предоставляет порты для подключения абонентских терминалов и выдаёт каждому абоненту терминал (телефон).

Каждый терминал соответствует только одному номеру. Абонент может самостоятельно отключать/подключать телефон к порту станции (станция умеет отслеживать изменения состояния порта – отключен, подключен, звонок, и т.п.).

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

Способ оплаты - кредитный (т.е. абоненты оплачивают разговоры предыдущего месяца до N-ного числа текущего).

Абонент может просмотреть детализированный отчет по звонкам (продолжительность/стоимость/абонент) как минимум за предыдущий месяц, выполнять фильтрацию по дате звонка, сумме, абоненту.

Что должно присутствовать:

  • ООП (объектная модель для всех сущностей c разумной декомпозицией)

  • работа с событиями (подписка, отписка, взаимодействие терминалов со станцией на основе событийной модели)

  • разработка UI не требуется

  • достаточно консольного приложения, которое должно демонстрировать типичные сценарии использования объектов чтобы моделировать деятельность АТС и биллинговой системы (соединение абонентов с учетом состояния порта, заключение договора, подключение/отключение терминала, смена тарифного плана, вывод истории звонков для каждого абонента)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages