GetAnalyst - Навыки • Системный анализ • Бизнес-анализ
19.6K subscribers
2.09K photos
75 videos
207 files
1.19K links
Разбор задач на проектирование систем 🚀 Канал для системных аналитиков, бизнес-аналитиков, тестировщиков и менеджеров проектов

Админ @getanalyst
Сайт https://getanalyst.ru
Чат t.me/getanalystchat
Начинающим в IT @getanalyststart

РКН №5013005196
Download Telegram
Последний день доступа к записи обучения по интеграциям

📌Задача на Интеграцию: от Postman до требований в Confluence
🗓 доступ до 31 марта (пн), 23:59 Мск

Продлим до конца дня 1 апреля для всех, кто зарегистрировался до дня закрытия, и это не шутка 😏

👉 Получить доступ к записи

Ключевое, что выделили участники:
Структурировали знания и восполнили пробелы в порядке работы с задачами на интеграцию
Работа с GraphQL и WebSocket
Предоставленные материалы
Реальная практика


👉 Также напоминаем про старт практической программы для СА и БА по Проектированию Интеграций 2 апреля.


💬Обратная связь к занятию за выходные:

✍️ Анастасия
Прекрасная подача материала! Доходчиво в теории и подкрепляется практикой. Нигде не встречала подобного вебинара. Полезность 100 из 10.
Каждый раз актуальная информация и другие примеры для разбора, т.к. была уже не одном вебинаре и курсе от getanalyst, поэтому есть с чем сравнивать


✍️ Ксения
Это лучший вебинары по интеграциям!!
Знаний больше, чем в платных курсах!
Спасибо



✍️ Diana
Это был очень информативный вебинар, включая как теоретические так и практические аспекты. Особенно круто углублённое погружение непосредственно в практику, взаимодействие с чатом, ответы на вопросы. После вебинара остались только положительные впечатления, обнаружены пробелы и пути дальнейшего развития, спасибо!


✍️ Алексей
Подача материала динамичная пошагово просто о сложном


✍️ Анастасия
Отличная практика, здорово что углубились в websocket и graphQL


✍️ Александр
Крутой урок и материалы, буду использовать в работе, спасибо!


Большое количество благодарностей! 😊


В выходные продолжали подключать новых учеников к программе Проектирование Интеграций 👩‍💻

Им уже доступен модуль "Предобучение". А в эту среду откроем первый основной модуль, дадим ДЗ к первому занятию и доступ в Confluence.

Рады приветствовать всех участников!
Готовимся к продуктивной работе, коллеги! 🤝

💬 По вопросам о программе можно написать @getanalyst, на почту info@getanalyst.ru или заполнить заявку на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥61❤‍🔥1
Интеграционный_Use_Case_для_Unisender_Авторассылка_email_GetAnalyst.pdf
641.6 KB
📚 Пример реального интеграционного Use Case: с микросервисами, cron и kafka 📚

Интеграционный Use Case
- это постановка задачи на разработчиков, которая содержит технические детали, такие как вызовы API методов, обращения к БД, взаимодействия с брокерами и другие.



👉 Основные шаги, чтобы написать интеграционный Use Case:

1️⃣ Понять отличия между обычными и интеграционными Use Case, да и вообще что это и зачем.

2️⃣ Декомпозировать интеграционную User Story (или бизнес-требования к интеграции) проекта на отдельные Use Case и выбрать тот, с которым будем работать.

3️⃣ Сделать анализ API-документации внешней системы.

4️⃣ Протестировать API внешней системы через Postman или другой инструмент, чтобы понять как она реально работает.

4️⃣* Сразу же продумать алгоритм авторизации запросов во внешнюю систему, где и как хранить ключи, как их использовать.

5️⃣ Понять, как будет встроена новая функциональность в архитектуру проекта и показать это на схеме:
+ какие сервисы / микросервисы задействованы (если это не монолит)
+ какие БД используются
+ нужны ли брокеры в процессе
+ и другие детали

6️⃣ Сделать задачи на доработку БД, если необходимо.

7️⃣ Описать интеграционный Use Case для разработчиков, используя:
+ полученный опыт работы с API


К посту прикрепила выгруженный из Confluence пример интеграционного Use Case для
Авторассылки email по расписанию через интеграцию с Unisender

в котором:
микросервисная архитектура
есть брокер Kafka
задача запускается по cron (по расписанию, автоматически).

Т.е. всё на уровне системы, без участия пользователей.

Максимально подробный, детальный и реалистичный пример.
Остается добавить в него UML-диаграмму, маппинги данных и отсылки на дополнительные тех. задачи 😊

Сохраняем файл в личную библиотеку!
💯% пригодится!

#ИнтеграцииGA #BookingGA
Please open Telegram to view this post
VIEW IN TELEGRAM
21❤‍🔥10👍7🔥5😱1
В каждой шутке есть доля шутки 😱

С 1 апреля! Пусть ваше утро начнётся с хорошего настроения 🙃

#GAhahaha
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣52🔥13😁65👍3
💥 UML-диаграммы для интеграций: Sequence и Activity 💥

Интеграционный UseCase написан.
Но возможно в нем много текста. Слишком много текста 😁
А разработчики много читать не любят.

Для быстрого понимания “о чем тут вообще” помогают картинки и схемы. Особенно, когда речь идет о сложных интеграционных сценариях.


➡️ UML Sequence
Прекрасным дополнением к интеграционному Use Case служит UML диаграмма последовательности.
UML-Sequence
– это тип диаграммы, который показывает, как компоненты в системе взаимодействуют друг с другом в хронологическом порядке.

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

➡️ UML Activity
UML-Activity
помогает визуализировать последовательность действий в процессе работы системы, показывая не только шаги, но и ветвления, условия, циклы.
Может показывать системы и роли пользователей.

Визуально похожа на блок-схему.
Помогает показывать алгоритм работы системы.
Но используется реже, чем UML Sequence.


Диаграммы могут являться как дополнением, так и заменой текстового описания.
👍 Но текст алгоритмов всё же лучше держать рядом с диаграммами, как показазывает опыт.


Основные инструменты для построения UML-диаграмм:

Графические редакторы
🔸 Draw.io
🔸 Lucidchart
🔸 Miro
🔸 Microsoft Visio

Для создания диаграмм через код
🔸 PlantUML
🔸 MermaidChart



🖼 На картинках к посту показала обе диаграммы — UML Sequence и UML Activity.


Пример для процесса сброса пароля:
1. пользователь на переходит к экрану "Забыли пароль?",
2. вводит свой email,
3. получает письмо со ссылкой для сброса пароля на email.

👉 Обе созданы через код в PlantUML и описывают один и тот же процесс.

👉 Как читать:
+ UML Sequence: читайте строки по порядку, сверху-вниз, даже если следующая строка находится правее или левее.
+ UML Activity: двигайтесь сверху вниз, а при разветвлении (ромбы/многоугольники) сначала завершите читать одну ветку, затем другую.

#ИнтеграцииGA
👍196🔥4👌2❤‍🔥1💯1
🤖 UML-диаграмма для интеграционного Use Case за 3 минуты: ChatGPT + PlantUML 🤖


🔗 Статья с инструкцией - пошаговый гайд с картинками и примерами


Если вы знаете инструмент, в котором можно описать диаграмму через код, то на помощь в её разработке приходит Искусственный Интеллект.

ChatGPT / DeepSeek - Искусственный Интеллект
PlantUML - Инструмент для создания любых UML-диаграмм через код


Инструкция по созданию UML Sequence:

1️⃣ Открой ChatGPT / DepSeek и войди аккаунт
Вход в аккаунт нужен, чтобы использовать улучшенную модель ИИ.

2️⃣ Выполни команду
Работай как опытный системный аналитик.
Сделай код для plantUML, чтобы создать UML Sequence диаграмму.
Не показывай альтернативные сценарии.

Сценарий:
<название сценария>

Пользователи и системы:
<участники сценария>

Описание сценария:
<описание Use Case>

Заполни название сценария и список участников (пользователи, фронтенды, бэкенды, внешние системы, БД).

Скопируй и вставь на место <описание Use Case> детализированный Use Case с описанием сценария интеграции.
Пример Use Case.

Отправь запрос к ChatGPT.

3️⃣ ChatGPT вернет в ответ код диаграммы для PlantUML

4️⃣ Вставь полученный код в PlantUML

5️⃣ Обязательно проверь и скорректируй результат:
5.1. Вручную поправь код по аналогии - это быстрее
5.2. Проси уточнения кода у ChatGPT дополнительными запросами


Плюсы:
1. Диаграмма за 3+15 минут, с учетом проверки результатов.
2. Не надо писать код самому
3. Легко делать правки, т.к. диаграмма через код, и при любых правках всё двигается автоматически

Минусы:
1. Use Case должен быть описан идеально. Без него диаграмму не сделать, либо будет много правок в придуманном ИИ варианте
2. ChatGPT / DeepSeek делает ошибки и за ними надо вносить правки
3. Лучше работает DeepSeek. Но и ChatGPT можно натренировать


🔗 Статья с инструкцией


❗️ Рекомендую использовать этот лайфхак только при знании и понимании нотации.
Для тех, кто только изучает UML, рекомендую использовать ИИ для проверок, но помните - он ошибается.


#ИнтеграцииGA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍269❤‍🔥2😱1
🏆 Маппинг данных - что это и зачем? 🏆

Маппинг - это процесс сопоставления полей (данных) из одной системы с соответствующими полями в другой системе.
Это нужно, так как разные системы могут описывать один и тот же объект данных по-разному.

Этот процесс всегда необходим в задачах на интеграции.

Маппинг описывают в виде таблицы.
Допустимо делать и в виде структурированного списка, но по опыту - таблицы удобнее.


➡️ В таблице с маппингом делают несколько основных колонок:

- название параметра на разговорном языке;
- описание, требования к валидации, ФЛК (форматно-логический контроль) и преобразованиям, если это необходимо;
- названия параметра в API каждой системы (например, поле из JSON, поле из xml или другого формата сообщения, query из URL и др);
- название параметра в БД системы, если она есть в описании Use Case.
- типы данных в каждой системе / БД.

Допустима вариативность с колонками.
Их может быть больше, а может быть и меньше.



Если говорить про задачу на интеграцию системы #BookingGA с Unisender для подписки пользователей на рассылку, то 👉 таблица маппинга под часть задачи "чтение сообщения из топика Kаfka и добавление пользователя в лист контактов Unisender" 👉 будет содержать колонки:

- название поля на русском
- название поля в сообщении Kafka (JSON)
- название поля в БД Сервиса Уведомлений BookingGA, т.к. туда будет сохранена информация о подписке пользователя на город
- название параметра в API системы Unisender, куда будем отправлять данные о новом пользователе для листа контактов
- общее описание поля, требования к его обработке и проверкам
- типы данных в сообщении Kafka (JSON), API Unisender и БД. Я бы добавила только отдельную колонку “Тип данных в БД Уведомлений”. Все остальные типы данных не так важны или очевидны.


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

#ИнтеграцииGA
Please open Telegram to view this post
VIEW IN TELEGRAM
28👍10❤‍🔥2🔥1
Автоматическая_рассылка_email_для_подписчиков_на_города_Интеграционный.pdf
1.2 MB
💎 Заполненный шаблон реального интеграционного Use Case 💎

Готов итоговый файл Confluence с примером интеграционного Use Case:
👉 Авторассылка email по расписанию через интеграцию с Unisender

Внутри:
микросервисная архитектура
есть брокер Kafka
задача запускается по cron (автоматически, по расписанию).

Всё на уровне системы, без участия пользователей.
Максимально подробный и детальный пример.


👉 Шаги для его создания:

1️⃣ Анализ API-документации внешней системы Unisender.

2️⃣ Тестирование API через Postman (можно другой инструмент),
чтобы понять, как API Unisender реально работает и его "подводные камни".

3️⃣* Обсудили алгоритмы авторизации запросов во внешние системы.
В случае Unisender можно отправить все настройки подключения в конфигурационный файл, а API-ключ туда же или в Key Store (хранилище ключей).

4️⃣ Встроили новую функциональность в архитектуру проекта
и показали это на схеме архитектуры C4/Container:
+ какие сервисы / микросервисы задействованы (если это не монолит)
+ какие БД используются
+ нужны ли брокеры в процессе
+ и другие детали

5️⃣ Знаем, что нужны задачи на доработку БД в МС Уведомлений,
чтобы хранить информацию о:
+ соответствии городов и их list_id в Unisender
+ какие пользователи (email) и на какие города подписаны для рассылки

6️⃣ Описали интеграционный Use Case (вер1),
используя полученный опыт работы с API, понимание архитектуры: зафиксировали, как будут перетекать данные между микросервисами системы.

7️⃣ Дополнили его UML Sequence диаграммой
и узнали, как её строить (в статье оставила ссылку на специальный AI-бот от GetAnalyst по генерации идеального кода PlantUML 😎).

8️⃣ Узнали что такое маппинг данных.
Добавила несколько таблиц маппинга в статью.

9️⃣ Зафиналила список задач на разработку.
В идеале ещё доделать предложенный список вложенных статей, но уже в этом виде разработчики могут начинать работу над задачей и остатки важной документации формировать сами!


Полезный образец для развития насмотренности и получения опыта 💎

#ИнтеграцииGA #BookingGA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3316❤‍🔥6👍42👏1😁1
📌 Подборка полезных материалов по Интеграциям от GetAnalyst 📚


Послушать и посмотреть:

🎧 Postman: навык тестирования REST API за вечер

🎧 Опасные интеграции - про альтернативные сценарии и обработку типовых ошибок

🎧 Подкаст "Проблемы в работе с задачами на интеграции"

🎧 Доставить и не потерять: синхронизация данных в распределенных системах - основы очередей сообщений

🎧 Подкаст "Идемпотентность и коммутативность API: что это и как применяют на практике"

🎧 Подкаст "Kafka: что нужно знать Системному аналитику" - глубже в понимание очередей и брокером


Познакомиться с теорией:

📝 Как аналитику работать с задачами на интеграции — пошаговая инструкция
В этой статье вы найдете пошаговую инструкцию, которая станет помощником при проектировании интеграций для любых систем.

📝 Отличия между обычными и интеграционными Use Case

📝 Инструменты системного аналитика для тестирования в API

📝 Работа Kafka - что надо знать для работы СА



Практические руководства по Postman:

📚 Практическое руководство по Postman - тестирование API DaData (с нуля до результатов)

📚 Практическое руководство по Postman - тестирование API ChatGPT

📚 Практическое руководство по Postman - тестирование API Unisender


Шаблоны постановок задач:

💎 Полный интеграционный Use Case - рассылка email через Unisender (с брокерами и микросервисами)

💎 Полный интеграционный Use Case - автоматическое создание задач во внутренней системе ToDoist для сотрудников компании после оплаты заказов

💎 Интеграционный REST API-метод - поиск структурированных адресов



Ещё больше про интеграции:

🎓 Практический курс Интеграции Систем - работа онлайн с Екатериной Ананьевой и экспертами программы

🎓 Материалы для самообучения по Интеграциям (пакеты вебинаров)

Всё по интеграциям от GetAnalyst вы всегда можете найти в канале по хэштегу #ИнтеграцииGA 🙌


Прекрасных выходных!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24💯12🔥74❤‍🔥2👌1
Бывают моменты, когда теряешь ориентиры в карьере.

Не понимаешь, куда расти, в каком направлении двигаться. Вроде всё умеешь — но хочется большего, хочется развиваться и в навыках, и в деньгах. Но как и куда?

⭐️ В такие моменты помогает одна простая, но мощная практика — написать "резюме мечты".

Не текущее.
А такое, где ты — тот, кем хочешь стать.


Почти как в детстве про "я хочу стать космонавтом", но уже с позиции взрослого человека 🙃


Садишься и честно придумываешь себе будущий опыт работы (наконец-то можно!) 😊

Навыки:
+ проектирование архитектуры
+ нотация С4
+ проектирование REST API
+ интеграции
+ микросервисы
+ Kafka
+ RabbitMQ
+ Postman на продвинутом уровне
+ ...

Опыт работы:
+ Убрал хаос в компании по работе с REST API и ввёл корпоративные стандарты проектирования
+ Работал с высоконагруженной системой и проектировал внутренний обмен данными
+ Продумывал сложные цепочки интеграций микросервисов с участием брокеров, gRPC, REST API
+ Проектировал архитектуру для переезда с монолита на микросервисы
+ Управлял командой из 12 аналитиков распределенных по командам продукта
+ Работал в Германии на позиции ведущего системного аналитика более 3-х лет
+ ...

ЗП:
от 100 000 $ /год


Пишем всё, что когда-то и где-то слышали от более опытных коллег. Мечтаем. Ищем вдохновение в статьях на хабре, в цифрах ЗП в вакансиях на LinkedIn. Для вдохновения еще полезно посещать митапы, конференции и обучения))


Это может показаться странным. Как будто ты приписываешь себе несуществующий опыт. Кто-то это ради "лишь бы взяли" делает 😅
Но у вас другая история. Вы к этому опыту планируете прийти.

Магия в том, что такой практикой ты даёшь себе чёткий вектор: куда я хочу расти 📈🔮

Появляется фокус. А вместе с ним — план.
После этой практики ты даже неосознанно начинаешь движение к цели 🙌 (а если опубликовать, так вообще можно случайно "сесть на ракету" и ускориться...😅)


У меня вообще всё, что записано на бумаге, обычно через время сбывается. Такой вот ритуал исполнения желаний 🪄

Попробуйте 😉
Это работает!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5128🔥14🥰4👏3💯1
🤖 Как эффективно использовать ChatGPT для проектирования БД и SQL-запросов | 17 Апреля, 19:00 Мск 🤖

Использование ChatGPT и аналогичных нейросетей для работы аналитика всё еще может вызывать вопросы. Где-то это помогает, а где-то наоборот - отнимает время 📉

Кроме того, есть проблема: нейросети не всегда правы. И если неопытный аналитик пытается использовать их бездумно, ошибки гарантированы.

Но в то же время, если вы используете нейросеть:
✔️ Умея решать задачи самостоятельно
✔️ Зная алгоритмы работы и последовательности команд
✔️ Используя правильные связки инструментов
то она может стать вашим помощником! 🤝


👉 Если вы умеете проектировать БД на логическом уровне, ищите возможность развиваться в темах БД и SQL, и хотите ускорять свою работу с использованием нейросетей, то приглашаю вас на онлайн-практику:

🤖 Использование ChatGPT для проектирования БД
🗓 17 апреля, чт
🕘 19:00 - 21:30 МСК

👉 Подробности и запись

План:
1. Знакомство с ChatGPT (и не только)
2. Проектирование физической модели БД PostgreSQL
3. Автоматическая отрисовка ER-модели с использованием ChatGPT и дополнительных инструментов
4. Создание реальной БД и SQL-запросы в DBeaver

Запись будет доступна после занятия.
Для всех участников сейчас доступно занятие в записи по SQL-запросам с практикой в реальной БД 😎


По вопросам можно писать через сайт или @getanalyst 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥105👍5❤‍🔥1
👩‍💻 6 главных принципов REST API, про которые спрашивают на собеседованиях 👩‍💻

REST API — архитектурный стиль для создания веб-сервисов, основанный на протоколе HTTP.


REST API основан на протоколе HTTP:

э
то означает, что все принципы работы HTTP методов, их структура запросов и ответов, будут также применимы и для REST API.

Пример:
+ в HTTP есть виды методов: GET, POST, PUT, PATCH и т.д.
+ в REST API методы абсолютно те же.



Архитектурный стиль REST добавляет к HTTP дополнительные правила и принципы, по которым должен происходить обмен данными👇

Главные принципы REST:
1. Строгое разделение клиента и сервера
2. Единый интерфейс
3. Без сохранения состояния (Stateless)
4. Многоуровневая система
5. Кэширование
6. Выполнение кода по запросу

В картинках к посту просто и с примерами разобрала эти принципы.

Это не самая ценная в работе информация, но перечень этих принципов и их понимание могут спрашивать на собеседованиях 👌

#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥39👍188❤‍🔥5