Sobes.tech
Middle+

* Nėra centralizuotos pranešimų istorijos; * Vartotojai skundžiasi dėl dubliavimų ir vėlavimų; * Nėra vieningo SLA, metriko ir valdymo centro. Tikslas Sukurti naują Notification Platformą, kuri: * kaupia įvykius iš skirtingų šaltinių (CRM, Support, Security); * juos maršrutizuoja pagal tipą ir kanalą (el. paštas, SMS, Telegram, push); * užtikrina šablonų vienodumą, registravimą ir stebėseną; * palaiko SLA (p95 ≤ 3 sekundės pristatymui); * leidžia ateityje plėsti ir didinti kanalus. Kandidato užduotis 1. Apibrėžti sistemos funkcinius reikalavimus. 2. Aprašyti nefunkcinius reikalavimus (patikimumas, našumas, klaidų valdymas). 3. Parengti kontekstinį diagramą (C4 2 lygis). 4. Pridėti sekvencijos diagramos schemą. Pavyzdžiui, žinutės siuntimas iš...

sobes.tech AI

Atsakymas iš AI

Функциональные требования:

  • Приём и агрегация событий из различных источников (CRM, Support, Security).
  • Классификация и маршрутизация уведомлений по типу и каналу (email, SMS, Telegram, push).
  • Управление шаблонами уведомлений с возможностью единообразного редактирования.
  • Логирование всех событий и действий для аудита и отладки.
  • Метрики и мониторинг (включая SLA, например p95 ≤ 3 сек на доставку).
  • Поддержка масштабируемости и расширяемости (добавление новых каналов).

Нефункциональные требования:

  • Надёжность: система должна быть устойчива к сбоям, с механизмами повторной отправки и резервирования.
  • Производительность: обработка и доставка уведомлений в пределах SLA.
  • Обработка ошибок: детальный лог ошибок, уведомления об ошибках, возможность отката.
  • Безопасность: защита данных пользователей и каналов связи.

Контекстная диаграмма (C4 Level 2):

  • Внешние системы: CRM, Support, Security (источники событий).

  • Notification Platform:

    • Event Aggregator
    • Router (маршрутизация по каналам)
    • Template Manager
    • Delivery Services (Email, SMS, Telegram, Push)
    • Logging & Monitoring
  • Пользователи и администраторы (через UI или API для управления и мониторинга).


Sequence-диаграмма (пример отправки сообщения):

  1. Источник события (например, CRM) отправляет событие в Notification Platform.
  2. Event Aggregator принимает событие.
  3. Router определяет канал и тип уведомления.
  4. Template Manager формирует сообщение по шаблону.
  5. Delivery Service отправляет уведомление через выбранный канал.
  6. Logging фиксирует событие и статус доставки.
  7. Monitoring обновляет метрики и SLA.

Такое решение позволит централизовать уведомления, улучшить качество доставки и упростить управление системой.