Задание для самостоятельной работы: по описанию предметной области и юзкейса построить диаграмму разбиения функциональности на блоки. Строим программную архитектуру (классы, модули, компоненты), а не системную (микросервисы, системы хранения и обработки, etc). Варианты условий (выбрать один): Сервис для уведомлений. Отслеживает изменение курса USD на сайте Мосбиржи и отправляет сообщение с актуальным курсом по электронной почте раз в час. Сервис для бэкапов. Телеграм-бот принимает все поступающие к нему файлы и помещает их на Яндекс.Диск. Сервис конвертации. Принимает в веб-форме odf-файл, конвертирует его в pdf и предоставляет по ссылке. REST API. Предоставляет эндпоинт для выполнения CRUD-операций в СУБД PostgreSQL. Сервис умного дома. Предоставляет API для управления выключателями и получения данных с датчиков. ETL. Сервис читает данные (csv-файлы, содержимое: key-value) из определённой директории, очищает данные по критерию: value — натуральное число и записывает результат в другую заданную директорию в виде json-файла.