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
GetAnalyst_Use_Cases_Обычные_VS_Интеграционные.pdf
1.1 MB
🎲 Use Case: ОБЫЧНЫЕ vs ИНТЕГРАЦИОННЫЕ 🎲

Use Case — это описание того, как пользователь взаимодействует с системой для достижения определённой цели. Это своего рода сценарий, который показывает шаги, выполняемые пользователем и системой в процессе выполнения задачи.

Шаблон описания Use Case:
Предусловие
Роли пользователей
Приложения и системы
Входные данные
Ожидаемый результат
Основной сценарий
Обработка ошибок и альтернативные сценарии

В случае интеграций, Use Case дополняется техническими деталями по вызовам API, которые аналитику важно прописать в постановке задачи, а также маппингом данных.

Интеграции — это не просто "еще одна задача". Это серьезная работа по анализу взаимосвязей БД + Функций + UI/UX + API нашей и внешних систем, который требует нашего опыта, внимания и профессионализма 🙌

Собрала мини-книгу про отличия обычных Use Case от интеграционных. Прикрепила к посту. Сохраняйте в вашу библиотеку 💛

#ИнтеграцииGA
Please open Telegram to view this post
VIEW IN TELEGRAM
31🔥14❤‍🔥6👍41🤔1
Карьера может обеспечить до 70% того, что мы хотим от жизни: уверенность в завтрашнем дне, чувство востребованности, собственный дом, путешествия и хорошее образование для детей.

Она должна быть частью жизни, с соблюдением work-life balance (баланс работа-жизнь), помогая достигать целей и реализовывать мечты.

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

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


Несколько рекомендаций, как развивать карьеру Системным Аналитикам:

🌱 Ставьте перед собой четкие цели:
+ Определите, чего вы хотите достичь в своей карьере.
+ Создайте план развития с конкретными шагами и сроками.

🌱 Постоянно учитесь и развивайте технические навыки, будьте в курсе новых трендов:
+ Участвуйте в конференциях и вебинарах.
+ Изучайте новые технологии, инструменты и методы работы.
+ Следите за экспертами в ИТ.
+ Получайте сертификаты.

🌱 Развивайте мягкие навыки (soft skills):
+ Коммуникационные навыки важны для успешного взаимодействия с командой и заказчиками.
+ Развивайте навыки решения конфликтов и переговоров.

🌱 Создайте личный бренд:
+ Делитесь своими знаниями и опытом на профессиональных платформах, таких как LinkedIn, Habr.
+ Пишите статьи, ведите блог или выступайте на конференциях.

🌱 Нетворкинг:
+ Стройте профессиональные связи с коллегами и экспертами в вашей области.
+ Вступайте в профессиональные сообщества.

🌱 Ищите наставников:
+ Найдите наставников, которые смогут направлять и поддерживать вас в вашем развитии.
+ Учитесь у более опытных коллег.


Главное – ставить цели, постоянно учиться и развиваться, следить за новинками в отрасли и учиться у экспертов. С такими усилиями успех неизбежен.
❤‍🔥33👍178🔥4👏1🤩1
Друзья, отличного воскресенья и улыбки!

Набирайтесь сил на новую неделю, а мы уже подготовили для вас что-то интересное 😉

P.S. Если еще не улыбаетесь - смотреть картинки
😁554
🔗 Backend: задача на интеграционный API-метод 🔗

В общем случае в интеграциях есть несколько слоев, между которыми "гуляют" данные:

🪄 Пользователь
🪄 Наше UI - приложение пользователя
🪄 Наше Backend-приложение + связанные БД, которое может добавить несколько слоев в сценарий работы системы, если это сервисная или микросервисная архитектура
🪄 Внешняя(-ие) системы.

Backend - самый интересный слой этого взаимодействия. Он пограничное звено между нашими приложениями пользователей и внешними системами, который реализует интеграционные методы и отвечает за:
✔️ Авторизацию запросов во внешнюю систему.
✔️ Алгоритм передачи и получения данных из внешней системы.
✔️ Вызов API-методов внешней системы.
✔️ Обработку данных и сопоставление их с БД системы.
✔️ Предоставление данных клиентам API (мобильным приложениям, сайтам, другим системам, которые могут вызывать нашу).

Интеграции через UI к внешним системам тоже делают, но очень редко, так как это может привести к проблемам с безопасностью при взаимодействии с внешними системами.


В постановке задачи на Backend для реализации интеграционного API-метода необходимо предоставить разработчику:

1. Название метода на русском
1*. Название API-эндпоинта


2. Общее описание, кратко: что это? для кого? почему мы это делаем?
2*. Архитектура взаимодействия компонентов системы в любой нотации (например, C4)


3. Сценарий работы - алгоритм, интеграционный Use Case для части Backend
3.1. Входные данные и результат (какие данные на выходе)
3.2. Алгоритм, включающий вызовы конкретных API-методов, требования к обработке ошибок и работе с БД
3.3*. UML-диаграмма


4*. Технические требования к методу API.
На примере REST API:
- тип метода (GET, POST…),
- URL (эндпоинт)
- JSON-ы запроса и ответа
- список кодов ответов HTTP


5. Маппинг данных:
+ БД
+ API внешней системы
+ разрабатываемый API-метод (из JSON или названия на русском из Use Case)

6*. Логирование

*Продвинутый уровень или не обязательная часть.


Предлагаю рассмотреть пример постановки задачи 🙂👇

#ИнтеграцииGA
👍1615🥰4❤‍🔥1🔥1
🔔 Предзапись на практическую программу Интеграции закрывается сегодня.

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

Предобучение начинаем с 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