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

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

РКН №5013005196
Download Telegram
🔔 Предзапись на практическую программу Интеграции закрывается сегодня.

Подробности тут.

Предобучение начинаем с 26 июня.

А завтра будет анонс открытого урока 😉
3
GetAnalyst_Шаблон_постановки_задачи_на_интеграционный_REST_API.pdf
268.2 KB
🔗 GET /company/{inn}: пример backend-задачи на интеграционный API-метод для #GABank 🔗

1. Название на русском и техническое [REST API]
Получение компаний по ИНН: GET /company/{inn}

2. Общее описание
Необходимо разработать метод поиска компаний по ИНН, который будет использоваться в приложениях банка, чтобы ускорять ввод реквизитов для клиентов.

Допустимо, что может быть введено неполное значение ИНН (от 5 до 12 символов), в этом случае клиенты банка будут выбирать организацию из предложенного списка совпадений.

Метод должен возвращать список компаний, ИНН которых совпадает с переданным на вход значением (начало ИНН или полностью).

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



📄 ... Полная постановка задачи в прикрепленном к посту документе - заполненный шаблон для Confluence 🙌



Это только один из двух интеграционных API-методов, которые нам необходимо реализовать. Второй метод - получение банка по БИК, который используется в приложении #GABank, его мы обсуждали ранее.

В документе еще можем описать маппинг данных и требования к тех. реализации - выделила в документе.

Продолжение следует 🔥😉

#ИнтеграцииGA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2114👍2🤩1
🎉🧩 Открытый урок по Интеграциям с 30 июня до 2 июля 🧩🎉

Хотите лучше разобраться в интеграциях систем и научиться грамотно ставить задачи разработчикам?

Ловите возможность прокачать свои скилы на бесплатном открытом уроке, созданном по материалам одного из практических вебинаров!

🟡 Открытый урок
🔵 Интеграции: как создавать задачи на разработчиков
🔗 ЗАРЕГИСТРИРОВАТЬСЯ

На практическом занятии:
Разложим по полочкам суть интеграций и API.
Погрузимся в реальный проект и познакомимся с API-документацией.
Разберёмся, как проектировать взаимодействие систем, описывать архитектуру и создавать понятные задачи для разработчиков БД, Backend и Frontend.
Поговорим об использовании инструментов Jira и Confluence для эффективной работы.

Чтобы посетить открытый урок по интеграциям:
1️⃣ Зарегистрируйтесь до 🗓❗️29 июня.
2️⃣ Получите индивидуальный доступ на почту 30 июня.
3️⃣ Смотрите занятие в удобное время до 2 июля, 23:59 Мск.

Не упустите возможность прокачаться в интеграциях! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
1514👍3🔥1
🧩 Маппинг данных - что это и зачем? 🧩

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

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

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

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

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

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


Если говорить про задачу интеграции банковской системы #GABank с DaData для получения данных о компаниях по ИНН, то маппинг будет содержать несколько колонок:

- название поля на русском;
- название поля в REST API системы банка, который создается для его веб- и мобильных приложений;
- название поля в БД банка, т.к. часть данных из DaData может далее сохраняться в БД;
- название параметра в HTTP API системы DaData, чтобы установить соответствие с её полями в интеграции;
- описание и требования к обработке и проверкам.
- типы данных в API банка, API DaData и БД банка. Я бы добавила только отдельную колонку “Тип данных в БД”. Все остальные типы данных очевидны. Но зависит от опыта команды. Чтобы наверняка не получить вопросы - лучше по всем частям прописать типы данных в таблице маппинга.


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

#ИнтеграцииGA
👍23🔥94
📌 Подборка материалов по интеграциям от GetAnalyst

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

(П) Проект на интеграции:
Веб-сайт и мобильные приложения для сети зоомагазинов PetCo, интегрированные с собственным Backend-приложением и платежной системой Raif Pay

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

(П) Проект на интеграции: логистический сервис GetDelivery

(В) Опасные интеграции
Про альтернативные сценарии и обработку типовых ошибок.

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

(С) ТОП-5 нотаций моделирования архитектуры
Краткое руководство по основным нотациям моделирования архитектуры.

(С) Нотация моделирования архитектуры С4 — примеры диаграмм и инструменты
Пример работы с нотацией, который сможете использовать как ориентир в своей работе, а также инструменты для создания диаграмм C4. В частности Structurizr.

(В) От «умного дома» до «умного города»: новые челленджи IT-аналитиков
О проектировании интеграций с оборудованием. Доклад про особенности разработки требований для IoT проетов (Интернет вещей). В открытом доступе есть презентация.

(П) Проект на интеграции по GraphQL
#TravelPoints

(В) Доставить и не потерять: синхронизация данных в распределенных системах

(В) Подкаст "gRPC vs REST API - что выбрать для проекта"

(П) Проект на интеграции по интеграции банка с DaData для автозаполнения реквизитов
#GABank

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

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

(В) - Видео
(С) - Статья
(П) - Серия постов по проекту в Telegram-канале
(О) - Обучение

Сохраняйте в избранное, чтобы не потерять 🤍
👍2316🔥12
👀 Ищу копию меня cистемного аналитика 👀

Частичная занятость (плавающая, до 6ч / неделю)

Задачи:
- ведение онлайн-занятий
- помощь в проверке проектов

Грейд:
Middle+ / Senior
Опыт от 3-х лет

Что важно:
- желаение делиться опытом, развивать навык публичных выступлений и любовь к своему делу,

- опыт работы с интеграциями по SOAP API, REST API,
- умение проектировать REST API,
- знание инструментов Postman и/или Swagger,
- Умение проектировать и читать схемы БД (ER-диаграммы),
- Знание архитектуры систем на базовом уровне.

Желательно:
- знание gRPC, GraphQL.
- опыт работы в сервисной или микросервисной архитектуре.
- опыт работы с Kafka / Rabbit.


Буду благодарна, если поделитесь с коллегами, кому это может быть интересно 🙏🙏🙏

Ищу вау-вау-вау специалиста 🙌

Откликаться здесь или можно прислать резюме в ЛС @getanalyst.

Картинка для привлечения внимания прилагается, middle+ и senior аналитики точно поймут 😉
23😁13💯6👍2🤣2
🔥 Последний день регистрации на открытый урок по Интеграциям 🔥

🟢 Интеграции: как создавать задачи на разработчиков
🟢 ЗАРЕГИСТРИРОВАТЬСЯ

В ходе урока будет продемонстрирован подход к организации порядка работы и создания задач на разработчиков на интеграционном проекте.

1️⃣ Познакомимся с задачей на интеграции.
Обсудим проект и вводные требования, разберём особенности по порядку работы.

2️⃣ Попрактикуемся выделять важные части API-документации.
Научимся идентифицировать ключевые аспекты документации, которые помогут в разработке.

3️⃣ Опишем архитектуру проекта и определим порядок вызова методов и обработки данных.
Разберём, как строить архитектуру для обеспечения эффективной работы системы, и как на это влияет системный аналитик.

4️⃣ Создадим интеграционный Use Case и разберем моменты, где могут быть ошибки из-за неучтенных требований.

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

5️⃣ Обсудим задачи на разработку БД, Backend и Frontend в интеграционных проектах.
Применим полученные знания на практике для создания конкретных задач разработки.

Доступ к занятию будет открыт с 30 июня до 2 июля.
Регистрация закрывается сегодня, 29 июня, в 23:59 Мск.

Не пропускайте, и планируйте время для саморазвития 🙌

Отличных выходных! 😉
17
GetAnalyst_Пример_маппинга_для_проекта_GABank.png
1.9 MB
📝 Пример маппинга данных для #GABank 📝

На прошлой неделе рассказала что такое маппинг данных, а теперь хочу показать пример.

Как я делала сопоставление (оно же маппинг) данных.

1) Во-первых, я ничего не могла маппить без БД. Поэтому тут был пост, где я спроектировала часть БД под нашу задачу.

2) Далее, мне не хватало дизайна JSON для REST API метода. Я не заполнила в шаблоне постановки задачи на интеграционный REST API-метод. Сделала его и добавила на картинку.

3) Посмотрела еще раз на таблицу в шаблоне, уточнила её под удобный вид + добавила колонку с типом данных (сравните) и начала заполнять.

4) Заполнила колонки по порядку:
- JSON GABank,
- Название и всё что могу по комментарию,
- JSON DaData,
- БД GABank,
- комментарий с описанием логики, алгоритмов, ограничений и обязательности, всё, что может быть важно программистом.

P.S. Через . показаны уровни вложенности в JSON-ах и таблица.поле в БД.

Вся эта работа требует тщательного анализа, аккуратности и внимательности от нас - системных аналитиков.

Что могло случиться на этом этапе?
🤨 Я могла не найти нужных данных во внешней системе - DaData.
🤨 Отсутствуют нужные таблицы или поля в БД, которые надо сделать до реализации API-метода.
🤨 Пока проектировала JSON и сразу описывала его в таблице маппинга - вернулась и доработала его 3 раза, потому что упустила часть данных, которые хранятся в БД (например, забыла про признак “свой-чужой” счет, который влияет на комиссии при переводах и не только.

Маппинг в этом примере помогает Backend-разработчикам точно понимать как сопоставлять данные между БД, API-методом и внешней системой - по какой логике метод нашей системы будет возвращать данные пользователям API. Аналогичный делают в постановках задач на Frontend.

Похоже, что из этого получится отличная мини-книга по маппигу, которую можно будет подготовить для вас. А пока картинка 😉

#ИнтеграцииGA
🔥21👍86
Друзья, цените даже маленькие достижения!

Всем желаем получить и зафиксировать крутые результаты на этой неделе☺️

#GAfrindlyreminder
94💯10👌5
GetAnalyst_Интеграции_Типовые_Альтернативные_сценарии_.pdf
5.1 MB
🪲 Ошибки в сценариях работы Интеграций 🪲

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

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

Также не хочется получать разочарования на этапе тестирования, когда довольный тестировщик нашел очередной баг, что ведет к “уточнениям по аналитике”, очередным кругам доработок, задержкам релизов и отвлечению от новых задач.

Я абсолютно уверена, что работа аналитика - победить тестировщика, то есть первым найти все потенциальные ошибки и сбои, которые может создать пользователь. Поэтому круто, когда в Системный Анализ переходят Тестировщики.

При работе с интеграциями я использую стандартный чек-лист, по которому можно написать требования к обработке ошибок:

1. Ошибка авторизации
2. Ошибки доступа
3. Ошибка тайм-аута
4. Ошибки по документации внешней системы
5. Неизвестные ошибки, которых не было в документации и не планировалось их обрабатывать (новые коды, неизвестные форматы тела ответа)
6. Новые статусы или значения справочников, которые не совпадают с нашими перекодировочными таблицами, описанными ранее в маппинге данных


📚 Подробности в мини-книге, которую прикрепила к посту 💖

#ИнтеграцииGA
27🔥11👍6🤔1
📌 Полная постановка задачи на интеграционный API-метод и итоги проекта GABank 📌

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

👉 Ссылка на первый пост с описанием проекта

Сделали ровно то, что я обещала и немного больше:
1. Сформулировали функциональные требования к интеграции.
2. Сделаем модель БД, которая обеспечит хранение всех необходимых данных.
3. Опишем архитектуру решения.
4. Исследуем API-документацию внешней системы DaData.
5. Протестируем API в Postman.
6. Сформулируем интеграционный Use Case.
7. Сделаем маппинг данных между системами.
+ Я описала JSON-ы интеграционного API-метода для Backend системы GABank, потому что без него невозможно было хорошо сделать маппинг данных. Найдёте их в примере постановки задачи.
+ Я рассказала про альтернативные сценарии и обработку ошибок в интеграциях, т.к. в начале, когда я только начала проект GABank и описала основной сценарий, то был вопрос на эту тему в комментариях. Примеры, связанные со вчерашним постом, найдёте в примере постановки задачи.


👉❗️+ Пример полной постановки задачи на интеграционный API-метод, который суммирует всё изученное нами за месяц доступен по этой ссылке.

В завершении открытой части обучения Интеграциям провели открытый урок с 30 июня по 2 июля.
P.S. Спасибо вам за обратную связь ❤️

Также очень рада приветствовать коллег, кто подключился к большому обучающему проекту Интеграции ❤️‍🔥❤️‍🔥 ❤️‍🔥 Увидимся на первом онлайн-занятии в следующую среду!

А в июле нас с вами ждёт REST API 🙂

#ИнтеграцииGA
🔥25👍84
🎯 Вижу цель - иду к ней 🎯

Когда я создавала GetAnalyst, то у меня была конкретная миссия, которая со мной по сей день:
Делиться своим опытом, чтобы создавать лучших специалистов в сфере Системного анализа, которые будут вносить вклад в передовые ИТ-продукты для бизнеса.


На сайте, в рассказе о проекте, это оставила в формулировке:
Обмен практическим опытом, чтобы создавать лучших специалистов в сфере анализа и проектирования систем.


Идёт время. Всё больше Системных аналитиков, с которыми удалось лично поработать. Всё больше историй успеха. Миссия работает. И я горжусь тем, что получилось.

Я горжусь не своими результатами, а вашими.

Да, я создала этот проект, собрала команду, которая помогает мне его поддерживать. Но без вас это ничто.

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

Я горжусь вами 💞

С любовью и добром,
Екатерина Ананьева
55👍9
💪 Новый проект по REST API: приложение для фитнес-клубов 👟

В июле мы с вами будем работать над разработкой REST API, который будет обеспечивать работу мобильных приложений (МП) для сети фитнес-клубов #GetGym.

С учетом роста популярности спорта, потребности контроля входа в фитнес-клуб без пластиковых карточек, информирования о расписании групповых занятий - тема популярная. Каждая сеть фитнес-клубов делает МП, даже если у них пока всего 3 локации.


Основные возможности, над которыми будем работать:

🔸 Просмотр списка тренеров через мобильное приложение клиента.
Список можно фильтровать по специализации (например, кардио, силовые тренировки, йога), опыту, рейтингу и доступности.
Для каждого тренера доступна подробная информация, включая имя, фото, специализацию, биографию и расписание.

🔸 Запись на персональную тренировку в один из свободных слотов в расписании тренера.
После успешной записи клиент получает подтверждение и напоминание о предстоящей тренировке.

🔸 Изменение времени в существующей записи на персональную тренировку.
Изменение времени возможно только на свободные слоты в расписании того же тренера.

P.S. Считаем, что на момент подключения часть проекта уже реализована.


Наши задачи:
1. Познакомиться с основами проектирования REST API.
2. Подробнее описать функции приложения, для которых будем делать REST API методы.
3. Описать архитектуру проекта.
4. Спроектировать часть БД системы под часть проекта, над которой будем работать. И выяснить, почему это важно.
5. Сделать дизайны методов GET, POST и PATCH. Изучить на их примерах:
5.1. Особенности работы с query-параметрами;
5.2. Как строить JSON-ы для запросов и ответов;
5.3. Коды ошибок HTTP.
6. Разобрать маппинг данных и его использование в постановках задач на разработку REST API методов для Backend.

Запускаем июльский проект по REST API? 😉🔥

#RestApiGA
👍75🔥50❤‍🔥103👌2