🗓 Планы на ближайшую неделю 🗓
1️⃣ Завтра проводим воркшоп по проектироваию микросервисов, с 18 до 21 Мск.
C Никитой Румянцевым будем разбирать кейс с реального проекта. Коллеги, кто подключен с практикой, будут:
✔️ в прямом эфире подключаться к нам с микрофоном,
✔️ сами отрисовывать схему архитектуры,
✔️ проектировать схему взаимодействия на основании бизнес- и функциональных требований к системе.
А мы с Никитой поможем им шаг за шагом пройти этот путь.
Мы не решаем задачи за вас! Вы пробуете самостоятельно, а мы помогаем идти в верном направлении и даем подсказки, чтобы вы своими руками освоили навык, а не только смотрели на готовое.
2️⃣ 31 августа завершается запись по сниженной цене на осенний поток по проектированию Интеграций.
3️⃣ Встречаем осень!
Готовим для вас необычную практику с включением с микрофонами в онлайн на следующей неделе. В пятницу будет анонс 😎
3️⃣ И снова 3 сентября 😁
Осень - время учиться и получать крутые результаты ⚡️🚀 И мы с вами ее встречаем очень бодро!
1️⃣ Завтра проводим воркшоп по проектироваию микросервисов, с 18 до 21 Мск.
C Никитой Румянцевым будем разбирать кейс с реального проекта. Коллеги, кто подключен с практикой, будут:
✔️ в прямом эфире подключаться к нам с микрофоном,
✔️ сами отрисовывать схему архитектуры,
✔️ проектировать схему взаимодействия на основании бизнес- и функциональных требований к системе.
А мы с Никитой поможем им шаг за шагом пройти этот путь.
Мы не решаем задачи за вас! Вы пробуете самостоятельно, а мы помогаем идти в верном направлении и даем подсказки, чтобы вы своими руками освоили навык, а не только смотрели на готовое.
2️⃣ 31 августа завершается запись по сниженной цене на осенний поток по проектированию Интеграций.
3️⃣ Встречаем осень!
Готовим для вас необычную практику с включением с микрофонами в онлайн на следующей неделе. В пятницу будет анонс 😎
3️⃣ И снова 3 сентября 😁
Осень - время учиться и получать крутые результаты ⚡️🚀 И мы с вами ее встречаем очень бодро!
🔥5
Анализ API документации: первый шаг перед разработкой описания интеграционных сценариев 🧐
Одна из самых частых ошибок при проектировании интеграционных решений - это попытка описания сценария без предварительного изучения API-документации системы, с которой предстоит интегрироваться.
Подобный подход может привести к созданию сценария, который, как окажется позже, невозможно реализовать ☹️
Представьте, что вы создаете инструкцию для сборки мебели, не узнав заранее размеры и характеристики всех деталей. Что произойдет? Скорее всего, когда дело дойдет до сборки, вы столкнетесь с проблемами: детали не подходят друг к другу, крепления не совмещаются, и вы потратили много времени впустую на разработку инструкцию по незнакомой вам конструкции. Потому что пытались описать то, с чем вживую не взаимодействовали. Странно это. Да?
Точно также и с интеграционными сценариями. Если мы не уделим должное внимание изучению деталей - API-документации системы-партнера, то рискуем потратить часы и даже дни на разработку сценария, который в реальности не будет работать. Причины могут быть разные: от отсутствия необходимых методов в API, недостаточно данных или есть ограничения на количество запросов в минуту, которое вы не учли.
Чтобы избежать таких неприятных моментов:
1. Изучите API-документацию.
Даже если она выглядит объемной, не игнорируйте ее. Используйте подход первичного анализа, про который я расскажу дальше👇
2. Тестируйте возможности API, например, через Postman.
Тестовые запросы помогут понять, как система реагирует на различные действия и позволят точно понять, как она работает в жизни. Это улучшит ваше понимание сценариев её работы и позволит спроектировать прямой сценарий, покрыть все необходимые альтернативные сценарии, сделать качественные требования к обработке ошибок.
Как за час изучить даже самую объемную 100-страничную API-документацию и найти в ней необходимую информацию? Подход первичного анализа поможет. Смотрим на примере интеграций PetCo?👍
Одна из самых частых ошибок при проектировании интеграционных решений - это попытка описания сценария без предварительного изучения API-документации системы, с которой предстоит интегрироваться.
Подобный подход может привести к созданию сценария, который, как окажется позже, невозможно реализовать ☹️
Представьте, что вы создаете инструкцию для сборки мебели, не узнав заранее размеры и характеристики всех деталей. Что произойдет? Скорее всего, когда дело дойдет до сборки, вы столкнетесь с проблемами: детали не подходят друг к другу, крепления не совмещаются, и вы потратили много времени впустую на разработку инструкцию по незнакомой вам конструкции. Потому что пытались описать то, с чем вживую не взаимодействовали. Странно это. Да?
Точно также и с интеграционными сценариями. Если мы не уделим должное внимание изучению деталей - API-документации системы-партнера, то рискуем потратить часы и даже дни на разработку сценария, который в реальности не будет работать. Причины могут быть разные: от отсутствия необходимых методов в API, недостаточно данных или есть ограничения на количество запросов в минуту, которое вы не учли.
Чтобы избежать таких неприятных моментов:
1. Изучите API-документацию.
Даже если она выглядит объемной, не игнорируйте ее. Используйте подход первичного анализа, про который я расскажу дальше👇
2. Тестируйте возможности API, например, через Postman.
Тестовые запросы помогут понять, как система реагирует на различные действия и позволят точно понять, как она работает в жизни. Это улучшит ваше понимание сценариев её работы и позволит спроектировать прямой сценарий, покрыть все необходимые альтернативные сценарии, сделать качественные требования к обработке ошибок.
Как за час изучить даже самую объемную 100-страничную API-документацию и найти в ней необходимую информацию? Подход первичного анализа поможет. Смотрим на примере интеграций PetCo?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
🧩 Анализ API-документации RaifPay
Первое, что вы должны сделать, когда только получили документацию - прочитать ее по диагонали. Ниже моя краткая инструкция по чтению API-документации.
Показываю, как применять ее на примере знакомства с API-документацией RaifPay.
🧩 https://pay.raif.ru/doc/ecom.html#section/Podklyuchenie-k-ekvajringu
1️⃣ Посмотреть оглавление. Найти разделы, в которых потенциально есть информация по следующим пунктам из этой инструкции.
Это не PDF-файл, а веб-страница. Оглавление в левой стороне. На скрине выделила разделы, которые меня с ходу заинтересовали. Еще ниже есть справочник по ошибкам, на скрине его нет.
2️⃣ Авторизация и аутентификация.
Обычно эта информация во введении. Но тут во введении из полезного:
Подготовительные мероприятия
Чтобы принимать платежи:
подайте заявку на подключение эквайринга
заключите договор с Райффайзенбанком
выберите способ интеграции и реализуйте его
успешно проведите тестовые платежи.
Начала раскрывать подразделы сожержания и нашла требования к авторизации в API.
Важное:
Для авторизация запросов необходимы:
publicId - идентификатор, который используется для открытия платежной формы и не является конфиденциальным.
secretKey - секретный ключ, который используется для межсервисного взаимодействия.
3️⃣ Тестовые доступы, если еще не получили.
В требованиях к авторизации:
Прод: https://pay.raif.ru
Тест: https://pay-test.raif.ru
Для генерации тестового секретного ключа необходимо обратиться по адресу: ecom@raiffeisen.ru
😄 Придется срочно писать в поддержку, чтобы мне включили тестовый ключ в ЛК.
Кстати, это сделано для того, чтобы тестовые сервера не убивали высокой нагрузкой. Поэтому редко можно найти открытый API для тестирования.
В разделе тестирования:
Для полного цикла тестирования оплаты необходимо указывать сумму платежа больше 10 рублей. Карты для тестовой среды:
4000001000000018 12/24 880 - с 3DS пин для успешной оплаты 1234, для получения ошибки 1111
Продолжение 👇
Первое, что вы должны сделать, когда только получили документацию - прочитать ее по диагонали. Ниже моя краткая инструкция по чтению API-документации.
Показываю, как применять ее на примере знакомства с API-документацией RaifPay.
🧩 https://pay.raif.ru/doc/ecom.html#section/Podklyuchenie-k-ekvajringu
1️⃣ Посмотреть оглавление. Найти разделы, в которых потенциально есть информация по следующим пунктам из этой инструкции.
Это не PDF-файл, а веб-страница. Оглавление в левой стороне. На скрине выделила разделы, которые меня с ходу заинтересовали. Еще ниже есть справочник по ошибкам, на скрине его нет.
2️⃣ Авторизация и аутентификация.
Обычно эта информация во введении. Но тут во введении из полезного:
Подготовительные мероприятия
Чтобы принимать платежи:
подайте заявку на подключение эквайринга
заключите договор с Райффайзенбанком
выберите способ интеграции и реализуйте его
успешно проведите тестовые платежи.
Начала раскрывать подразделы сожержания и нашла требования к авторизации в API.
Важное:
Для авторизация запросов необходимы:
publicId - идентификатор, который используется для открытия платежной формы и не является конфиденциальным.
secretKey - секретный ключ, который используется для межсервисного взаимодействия.
3️⃣ Тестовые доступы, если еще не получили.
В требованиях к авторизации:
Прод: https://pay.raif.ru
Тест: https://pay-test.raif.ru
Для генерации тестового секретного ключа необходимо обратиться по адресу: ecom@raiffeisen.ru
😄 Придется срочно писать в поддержку, чтобы мне включили тестовый ключ в ЛК.
Кстати, это сделано для того, чтобы тестовые сервера не убивали высокой нагрузкой. Поэтому редко можно найти открытый API для тестирования.
В разделе тестирования:
Для полного цикла тестирования оплаты необходимо указывать сумму платежа больше 10 рублей. Карты для тестовой среды:
4000001000000018 12/24 880 - с 3DS пин для успешной оплаты 1234, для получения ошибки 1111
Продолжение 👇
❤8👍7🔥3
🧩 Анализ API-документации RaifPay
4️⃣ Рекомендации по использованию. Примеры сценариев использования.
Это не всегда есть в API-документации. Но если есть, то считайте, что задача почти готова - предложенный сценарий интеграции надо адаптировать под бизнес-процессы текущего проекта.
В API Raif Pay всё вау! С UML-схемой по интеграции нам предложили типовой сценарий интеграции в разделе Схема работы. Дело за малым - просто перенести его в свои требования и сделать маппинг данных ❤️
5️⃣ Общие требования к обработке ошибок. Коды ответов.
Нашла два раздела: в API, и отдельный справочник ошибок.
Посмотрела. Буду иметь ввиду. Вернусь в эти места на этапе детальной проработки требований.
6️⃣ Список методов, необходимых для реализации интеграционных сценариев, и документацию по ним.
На этапе знакомства с документацией сильно вчитываться не надо. Главное понять, что методов для реализации бизнес-процессов текущего проекта достаточно.
Все методы API описаны в разделе Методы API.
Просматриваю в общем структуру запросов-ответов, названия методов, вспоминаю прочинанную схему работы. Всё. Пазл сложился! Можно описывать интеграционные Use Cases по приему платежей через Raif Pay
P.S. И писать им письмо, чтобы дали тестовый доступ GetAnalyst 😎
Это подсказка - на реальном проекте, пока пишете сценарий, аналогично можно запрашивать и ждать доступы, чтобы распараллелить задачи и потом не ждать их долго, когда закончите с описанием.
После описания сценариев с полученными доступами будете проверять API, чтобы сделать маппинг данных идеальным, понять до конца работу API и уточнить описанный сценарий, где необходимо 🤝
4️⃣ Рекомендации по использованию. Примеры сценариев использования.
Это не всегда есть в API-документации. Но если есть, то считайте, что задача почти готова - предложенный сценарий интеграции надо адаптировать под бизнес-процессы текущего проекта.
В API Raif Pay всё вау! С UML-схемой по интеграции нам предложили типовой сценарий интеграции в разделе Схема работы. Дело за малым - просто перенести его в свои требования и сделать маппинг данных ❤️
5️⃣ Общие требования к обработке ошибок. Коды ответов.
Нашла два раздела: в API, и отдельный справочник ошибок.
Посмотрела. Буду иметь ввиду. Вернусь в эти места на этапе детальной проработки требований.
6️⃣ Список методов, необходимых для реализации интеграционных сценариев, и документацию по ним.
На этапе знакомства с документацией сильно вчитываться не надо. Главное понять, что методов для реализации бизнес-процессов текущего проекта достаточно.
Все методы API описаны в разделе Методы API.
Просматриваю в общем структуру запросов-ответов, названия методов, вспоминаю прочинанную схему работы. Всё. Пазл сложился! Можно описывать интеграционные Use Cases по приему платежей через Raif Pay
P.S. И писать им письмо, чтобы дали тестовый доступ GetAnalyst 😎
Это подсказка - на реальном проекте, пока пишете сценарий, аналогично можно запрашивать и ждать доступы, чтобы распараллелить задачи и потом не ждать их долго, когда закончите с описанием.
После описания сценариев с полученными доступами будете проверять API, чтобы сделать маппинг данных идеальным, понять до конца работу API и уточнить описанный сценарий, где необходимо 🤝
🔥6👍1
Интеграции — это не твое? Ничего не понимаешь, вроде и так нормально, разработчики как-то сами? 🤨 Но боишься, что момент придёт, и эти знания станут необходимостью? Уже сейчас сохрани на всякий случай пошаговую инструкцию по работе с такими задачами в закладки везде, во всех браузерах.
Хотя бы одно из последних сообщений канала перешли себе, чтобы оно оказалось в избранном. Это поможет тебе в случае чего быстро найти практическую информацию и подсмотреть на интеграционный проект, шаблоны, чтобы подготовиться к новому проекту или к собеседованиям при смене места работы.
Каждая система — это кусочек пазла. Когда эти кусочки соединяются, перед вами открывается полная картина - создаются мощные приложения.
А интеграции? Они как супер-клей соединяют все эти кусочки. Если бы не этот супер-клей, то у нас не было бы столько крутых приложений и удобных систем.
Знания по интеграциям актуальны и обязательны во всех вакансиях системных аналитиков. Это часть нашей уверенности в себе, дорога к новому опыту и, конечно же, к росту в профессии.
🎯 Сидишь в одном месте, копаешься в своей системе, и кажется, что всё под контролем. Но ведь у каждого своя система, свои "баги" и "фичи". Что если завтра тебе придется работать с чем-то новым? Ты готов?
🎯 Новый опыт — это не просто строчка в резюме. Это твой новый уровень. Ведь когда ты знаешь, как "говорят" между собой разные системы, ты как переводчик на переговорах между странами. Важная роль, верно? 😉
🎯 Уверенность в своих силах — это когда ты знаешь, что готов к любой задаче. Неважно, какая система перед тобой, ты уверенно идешь вперёд, потому что знаешь, что они все играют по твоим правилам.
Учись, получай опыт по интеграциям, подписывайся на полезные каналы по системному анализу, читай книги и статьи. Это всё в совокупности поможет достичь больших целей в профессии и отключит "синдром самозванца" ❤️🧩
Хотя бы одно из последних сообщений канала перешли себе, чтобы оно оказалось в избранном. Это поможет тебе в случае чего быстро найти практическую информацию и подсмотреть на интеграционный проект, шаблоны, чтобы подготовиться к новому проекту или к собеседованиям при смене места работы.
Каждая система — это кусочек пазла. Когда эти кусочки соединяются, перед вами открывается полная картина - создаются мощные приложения.
А интеграции? Они как супер-клей соединяют все эти кусочки. Если бы не этот супер-клей, то у нас не было бы столько крутых приложений и удобных систем.
Знания по интеграциям актуальны и обязательны во всех вакансиях системных аналитиков. Это часть нашей уверенности в себе, дорога к новому опыту и, конечно же, к росту в профессии.
🎯 Сидишь в одном месте, копаешься в своей системе, и кажется, что всё под контролем. Но ведь у каждого своя система, свои "баги" и "фичи". Что если завтра тебе придется работать с чем-то новым? Ты готов?
🎯 Новый опыт — это не просто строчка в резюме. Это твой новый уровень. Ведь когда ты знаешь, как "говорят" между собой разные системы, ты как переводчик на переговорах между странами. Важная роль, верно? 😉
🎯 Уверенность в своих силах — это когда ты знаешь, что готов к любой задаче. Неважно, какая система перед тобой, ты уверенно идешь вперёд, потому что знаешь, что они все играют по твоим правилам.
Учись, получай опыт по интеграциям, подписывайся на полезные каналы по системному анализу, читай книги и статьи. Это всё в совокупности поможет достичь больших целей в профессии и отключит "синдром самозванца" ❤️🧩
🔥8❤2👍1
Сила интеграций! 💪
Отправила письмо в тех.поддержку Raif Pay, чтобы получить тестовый доступ. Мне пришел автоответ. И, как Вы понимаете, у них автоматически создалась задача в jira по моему обращению.
Т.е. логика такая:
1. При получении письма на определенный электронный адрес вызывается API Jira для создания задач.
2. Создается задача.
3. Присвоенный номер задачи берется из ответа и подставляется в письмо-автоответ.
4. Письмо автоответ отправляется человеку, который отправил запрос в тех поддержку.
Просто, но приятный сервис. Забота о клиентах 💪 Ставим Like ❤️ Raif Pay и надеемся, что они дадут нам API-ключ на тестовую площадку с лимитами на запросы 🙏
Отправила письмо в тех.поддержку Raif Pay, чтобы получить тестовый доступ. Мне пришел автоответ. И, как Вы понимаете, у них автоматически создалась задача в jira по моему обращению.
Т.е. логика такая:
1. При получении письма на определенный электронный адрес вызывается API Jira для создания задач.
2. Создается задача.
3. Присвоенный номер задачи берется из ответа и подставляется в письмо-автоответ.
4. Письмо автоответ отправляется человеку, который отправил запрос в тех поддержку.
Просто, но приятный сервис. Забота о клиентах 💪 Ставим Like ❤️ Raif Pay и надеемся, что они дадут нам API-ключ на тестовую площадку с лимитами на запросы 🙏
👍25
🧩 Анализ API-документации PetStore
Закрепляем пройденный материал еще одной практикой по анализу документации REST API. Если для RaifPay документация похожа на самописную web-страницу или созданную на основе Postman, то для создания документации на внешнюю систему PetStore разработчики использовали популярный инструмент документирования API Swagger.
Делаем первичный анализ по инструкции:
1️⃣ Посмотреть оглавление.
Swagger-документация стандартная. Сначала идет общее описание API, требований к авторизации, описание боевых и тестовых площадок, а затем список методов. Список методов какого-то строгого подхода к порядку не имеет.
2️⃣ Авторизация и аутентификация.
Обычно эта информация во введении. Из полезного:
For this sample, you can use the api key special-key to test the authorization filters.
Если по-русски - special-key наш секретный ключ. Подставляем для тестирования и радуемся, что все работает.
3️⃣ Тестовые доступы.
В этой документации нет переключения между прощадками. Но обычно в Swagger-документации есть раздел Servers.
Пример: https://app.swaggerhub.com/apis-docs/TestOrg_Brahmdev/Celerity/1.0.0
Про секретный ключ для тестов я уже написала в п.2.
4️⃣ Рекомендации по использованию API.
Как я и говорила ранее - отсутствуют. Поэтому придется догадываться логически.
В реальной жизния я обычно иду тестировать UI внешней системы, если он есть. Так и разбираюсь какой метод за каким должен идти.
Часто для этого использую консоль браузера.
5️⃣ Общие требования к обработке ошибок.
Общих требований нет. Указаны под каждым запросом отдельно. Это стадартно для Swagger-документации.
6️⃣ Список методов.
Начиная с POST /pet/{petId}/uploadImage - uploads an image и далее идет список методов.
Раздел Models стандартный - описывает структуру объектов.
Больше разных Swagger API документаций в открытом доступе можно найти здесь.
Посмотрите их, чтобы лучше ориентироваться в типовой структуре.
Это ваша дополнительная практика по интеграциям❤️🧩
Закрепляем пройденный материал еще одной практикой по анализу документации REST API. Если для RaifPay документация похожа на самописную web-страницу или созданную на основе Postman, то для создания документации на внешнюю систему PetStore разработчики использовали популярный инструмент документирования API Swagger.
Делаем первичный анализ по инструкции:
1️⃣ Посмотреть оглавление.
Swagger-документация стандартная. Сначала идет общее описание API, требований к авторизации, описание боевых и тестовых площадок, а затем список методов. Список методов какого-то строгого подхода к порядку не имеет.
2️⃣ Авторизация и аутентификация.
Обычно эта информация во введении. Из полезного:
For this sample, you can use the api key special-key to test the authorization filters.
Если по-русски - special-key наш секретный ключ. Подставляем для тестирования и радуемся, что все работает.
3️⃣ Тестовые доступы.
В этой документации нет переключения между прощадками. Но обычно в Swagger-документации есть раздел Servers.
Пример: https://app.swaggerhub.com/apis-docs/TestOrg_Brahmdev/Celerity/1.0.0
Про секретный ключ для тестов я уже написала в п.2.
4️⃣ Рекомендации по использованию API.
Как я и говорила ранее - отсутствуют. Поэтому придется догадываться логически.
В реальной жизния я обычно иду тестировать UI внешней системы, если он есть. Так и разбираюсь какой метод за каким должен идти.
Часто для этого использую консоль браузера.
5️⃣ Общие требования к обработке ошибок.
Общих требований нет. Указаны под каждым запросом отдельно. Это стадартно для Swagger-документации.
6️⃣ Список методов.
Начиная с POST /pet/{petId}/uploadImage - uploads an image и далее идет список методов.
Раздел Models стандартный - описывает структуру объектов.
Больше разных Swagger API документаций в открытом доступе можно найти здесь.
Посмотрите их, чтобы лучше ориентироваться в типовой структуре.
Это ваша дополнительная практика по интеграциям❤️🧩
❤5👍1
🍎 Use Case: Подготовка к линейке 1 сентября 📚
Выберите ваш текущий статус:
❤️ Пользователи: Родитель ученика 1-го класса.
Основной сценарий: Собрать рюкзак, причесать ребенка, убедиться, что школьная форма чистая.
👍 Пользователи: Родитель ученика 5-9 класса.
Основной сценарий: Напомнить о том, что "лето не вечно" и "учёба - это твоё будущее".
🔥 Пользователи: Родитель старшеклассника.
Основной сценарий: Попробовать вытащить подростка из-под одеяла до обеда и надеяться, что он сам соберется.
😄 Пользователи: Системный аналитик уже забывший о школе.
Основной сценарий: Сделать еще один глоток кофе и продолжить работать, поздравив коллег с началом учебного года.
Отметьте ваш вариант реакцией и поделитесь, как вы справляетесь с подготовкой к 1 сентября! 🧩🤝🌪
Выберите ваш текущий статус:
❤️ Пользователи: Родитель ученика 1-го класса.
Основной сценарий: Собрать рюкзак, причесать ребенка, убедиться, что школьная форма чистая.
👍 Пользователи: Родитель ученика 5-9 класса.
Основной сценарий: Напомнить о том, что "лето не вечно" и "учёба - это твоё будущее".
🔥 Пользователи: Родитель старшеклассника.
Основной сценарий: Попробовать вытащить подростка из-под одеяла до обеда и надеяться, что он сам соберется.
😄 Пользователи: Системный аналитик уже забывший о школе.
Основной сценарий: Сделать еще один глоток кофе и продолжить работать, поздравив коллег с началом учебного года.
Отметьте ваш вариант реакцией и поделитесь, как вы справляетесь с подготовкой к 1 сентября! 🧩🤝🌪
😁36🔥5❤3👍2
Интеграционный Use Case, если не погружаться в детали 🙈
Продолжаем работу с интеграционными Use Cases. Пора их детализировать.
1. Use Case: Создание онлайн-заказа с последующей синхронизацией данных с бэкендом PetStore
Роли:
+ Пользователь-покупатель
Приложения и сервисы:
+ Мобильное / веб-приложение
+ Бэкенд PetCo:
+++ Сервис Основной Бизнес-логики,
+++ Сервис интеграции с PetStore
+ Внешняя система PetStore (бэкенд)
Входные данные:
+ Список товаров
+ Количество каждого товара + цены
+ Данные пользователя (адрес доставки, контактные данные и др.)
Результат:
+ Заказ создан в системе PetCo - в Основной БД.
+ Заказ синхронизирован с бэкендом PetStore - он отображается в приложениях PetStore.
Статус товара "Создан (ожидает платеж)
Предусловие:
Пользователь добавил товары в корзину, выбрал животных.
Основной сценарий:
1. Пользователь переходит в корзину и выбирает "Оформить заказ".
2. Приложение (мобильное или веб) показывает общую стоимость заказа и предлагает пользователю ввести адрес доставки и контактные данные.
3. Пользователь вводит необходимые данные и подтверждает заказ.
4. Заказ создается в системе PetCo в статусе "Новый".
5. Заказ синхронизируется с внешней системой PetStore (бэкенд). Пользователи PetStore видят его в своих приложениях.
6. Приложение информирует пользователя об успешном создании заказа. Пользователь может переходить к его оплате.
Продолжение 👇
Продолжаем работу с интеграционными Use Cases. Пора их детализировать.
1. Use Case: Создание онлайн-заказа с последующей синхронизацией данных с бэкендом PetStore
Роли:
+ Пользователь-покупатель
Приложения и сервисы:
+ Мобильное / веб-приложение
+ Бэкенд PetCo:
+++ Сервис Основной Бизнес-логики,
+++ Сервис интеграции с PetStore
+ Внешняя система PetStore (бэкенд)
Входные данные:
+ Список товаров
+ Количество каждого товара + цены
+ Данные пользователя (адрес доставки, контактные данные и др.)
Результат:
+ Заказ создан в системе PetCo - в Основной БД.
+ Заказ синхронизирован с бэкендом PetStore - он отображается в приложениях PetStore.
Статус товара "Создан (ожидает платеж)
Предусловие:
Пользователь добавил товары в корзину, выбрал животных.
Основной сценарий:
1. Пользователь переходит в корзину и выбирает "Оформить заказ".
2. Приложение (мобильное или веб) показывает общую стоимость заказа и предлагает пользователю ввести адрес доставки и контактные данные.
3. Пользователь вводит необходимые данные и подтверждает заказ.
4. Заказ создается в системе PetCo в статусе "Новый".
5. Заказ синхронизируется с внешней системой PetStore (бэкенд). Пользователи PetStore видят его в своих приложениях.
6. Приложение информирует пользователя об успешном создании заказа. Пользователь может переходить к его оплате.
Продолжение 👇
❤7
1. Use Case: Создание онлайн-заказа с последующей синхронизацией данных с бэкендом PetStore. Продолжение 👇
Альтернативные сценарии, ошибки, ограничения:
3а. Ошибка при проверке данных: неверный формат номера телефона. Отобразить ошибку пользователю. Ожидать исправления данных.
3b. Ошибка при проверке данных: не все параметры адреса доставки указаны. Отобразить ошибку пользователю. Ожидать исправления данных.
4а. Ошибка при создании заказа: не все товары в заказе есть в Зоомагазине, из которого будет осуществляться доставка, или животное уже было продано. Создать заказ в любом случае. Для проблемных позиций отобразить информацию с соответствующим текстом ошибки.
4b. Ошибка при создании заказа: превышено максимальное количество товаров по заказу. Отобразить ошибку пользователю. Ожидать исправления данных.
4с. Прерывание соединения в процессе создания заказа. если заказ уже создан на сервере, но приложение пользоателя не получило ответ, то пользователь может пересоздать заказ повторно. Возможна ситуация, когда в БД из-за проблем с соединением, мы увидим два одновлеменно созданных заказа.
5а. Система PetStore временно недоступна. Заказ не может быть создан, т.к. мы не имеем актуального остатка товаров и не можем получить подтверждение от основной системы склада и касс магазина. Отобразить ошибку создания заказа пользователю, предложить повторить позднее.
Если хорошо подумать, то можно найти еще больше альтернативных сценариев и ошибок, которые надо обработать. Но пока остановимся на этом.
Сейчас похоже, что этот сценарий уже круто описан! Все детально, подробно, даже есть немного технических деталей про синхронизацию. Но это не так.
‼️ Какие вопросы последуют после передачи Use Case в разработку:
1. Не прописано какие тексты ошибок отображать.
2*. Не указаны методы API PetCo. которые надо вызывать для создания заказа.
3*. Т.к. не указаны методы API PetCo. то нужно разбиратьс, а все ли ошибки по API документации отработаны?
4*. Есть ли какие-то ошибки авторизации с API PetCo?
5*. Не указано какой компонент системы отвечает за синхронизацию заказа с внешней системой PetStore.
6*. Как соотносятся товары заказа PetCo и PetStore?
7*. Какие ошибки может возвращать бэкенд PetStore?
8*. Как работает авторизация с бэкендом PetStore? Надо ли обрабатывать ошибки связанные с ней?
* - ошибка в проработке интеграционного сценария.
Как вам количество неучтенных требований? Этот Use Case подлежит технической детализации и серьезной проработке ‼️
Альтернативные сценарии, ошибки, ограничения:
3а. Ошибка при проверке данных: неверный формат номера телефона. Отобразить ошибку пользователю. Ожидать исправления данных.
3b. Ошибка при проверке данных: не все параметры адреса доставки указаны. Отобразить ошибку пользователю. Ожидать исправления данных.
4а. Ошибка при создании заказа: не все товары в заказе есть в Зоомагазине, из которого будет осуществляться доставка, или животное уже было продано. Создать заказ в любом случае. Для проблемных позиций отобразить информацию с соответствующим текстом ошибки.
4b. Ошибка при создании заказа: превышено максимальное количество товаров по заказу. Отобразить ошибку пользователю. Ожидать исправления данных.
4с. Прерывание соединения в процессе создания заказа. если заказ уже создан на сервере, но приложение пользоателя не получило ответ, то пользователь может пересоздать заказ повторно. Возможна ситуация, когда в БД из-за проблем с соединением, мы увидим два одновлеменно созданных заказа.
5а. Система PetStore временно недоступна. Заказ не может быть создан, т.к. мы не имеем актуального остатка товаров и не можем получить подтверждение от основной системы склада и касс магазина. Отобразить ошибку создания заказа пользователю, предложить повторить позднее.
Если хорошо подумать, то можно найти еще больше альтернативных сценариев и ошибок, которые надо обработать. Но пока остановимся на этом.
Сейчас похоже, что этот сценарий уже круто описан! Все детально, подробно, даже есть немного технических деталей про синхронизацию. Но это не так.
1. Не прописано какие тексты ошибок отображать.
2*. Не указаны методы API PetCo. которые надо вызывать для создания заказа.
3*. Т.к. не указаны методы API PetCo. то нужно разбиратьс, а все ли ошибки по API документации отработаны?
4*. Есть ли какие-то ошибки авторизации с API PetCo?
5*. Не указано какой компонент системы отвечает за синхронизацию заказа с внешней системой PetStore.
6*. Как соотносятся товары заказа PetCo и PetStore?
7*. Какие ошибки может возвращать бэкенд PetStore?
8*. Как работает авторизация с бэкендом PetStore? Надо ли обрабатывать ошибки связанные с ней?
* - ошибка в проработке интеграционного сценария.
Как вам количество неучтенных требований? Этот Use Case подлежит технической детализации и серьезной проработке ‼️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3
Для меня 1 сентября всегда был не просто день знаний, а настоящий праздник. Я люблю новое и перемены. А день знаний – это как раз тот момент, когда начинается что-то новое 🪄
Я всегда удивлялась: почему Новый год не 1 сентября? 🎄 В детстве вы наверняка тоже задумывались об этом?! 1 сентября это Новый год (учебный)! 😄
Стремление к росту, к развитию – оно как внутренний компас, который указывает мне путь к целям. И так приятно, когда я применяю получаемые знания в реальной жизни и всё получается, хоть и не всегда с первого раза 🙌
Всё, что я учила и узнавала на своем пути, принесло и продолжает приность плоды. Ни одно усилие, затраченное на образование, не прошло зря: физмат лицей, два красных диплома, книги, онлайн-обучения, конференции, MBA.
Про книги. Я читаю много книг, каждая из которых добавляет мне чего-то нового, расширяет горизонты. Для кого-то книги это просто страницы, кто-то любит читать художественную литературу и отдыхать в ней, а я увлекаюсь обучением через них. Для меня они источник вдохновения, и еще один канал погружения в опыт экспертов.
Искренне желаю каждому из вас не переставать расти и открывать для себя новое! Получайте знания, применяйте и получайте удовольствие от процесса развития! С Новым годом (учебным)! 😉❤️
Я всегда удивлялась: почему Новый год не 1 сентября? 🎄 В детстве вы наверняка тоже задумывались об этом?! 1 сентября это Новый год (учебный)! 😄
Стремление к росту, к развитию – оно как внутренний компас, который указывает мне путь к целям. И так приятно, когда я применяю получаемые знания в реальной жизни и всё получается, хоть и не всегда с первого раза 🙌
Всё, что я учила и узнавала на своем пути, принесло и продолжает приность плоды. Ни одно усилие, затраченное на образование, не прошло зря: физмат лицей, два красных диплома, книги, онлайн-обучения, конференции, MBA.
Про книги. Я читаю много книг, каждая из которых добавляет мне чего-то нового, расширяет горизонты. Для кого-то книги это просто страницы, кто-то любит читать художественную литературу и отдыхать в ней, а я увлекаюсь обучением через них. Для меня они источник вдохновения, и еще один канал погружения в опыт экспертов.
Искренне желаю каждому из вас не переставать расти и открывать для себя новое! Получайте знания, применяйте и получайте удовольствие от процесса развития! С Новым годом (учебным)! 😉❤️
❤10🔥4
Пришел ответ от Раффайзен Банк по Raif Pay.... Только что.
P.S. У меня 2:30 ночи, я шлифую и структурирую свою презентацию к конференции FlowConf 2023 (промокод: getanalyst ), потому что я как всегда хочу рассказать максимум того, что знаю.
Я очень впечатлительная. Умею радоваться и разочаровываться на максимум 😄
Эту практику я запланировала месяц назад. И текст на сайте "тестируйте до подписания договора" вызвал море положительных эмоций в духе - ура, новый эквайринг на проекты GetAnalyst. Проверять при планировании не стала.
Ну что. Будет у нас реальное тестирование Raif Pay через Postman, которое я запланировала еще месяц назад? Или придется на заглушках всё показывать?
🔥 - да, тестовый магазин выдали.
👎 - нет, написали письмо с отказом.
P.S. У меня 2:30 ночи, я шлифую и структурирую свою презентацию к конференции FlowConf 2023 (
Я очень впечатлительная. Умею радоваться и разочаровываться на максимум 😄
Эту практику я запланировала месяц назад. И текст на сайте "тестируйте до подписания договора" вызвал море положительных эмоций в духе - ура, новый эквайринг на проекты GetAnalyst. Проверять при планировании не стала.
Ну что. Будет у нас реальное тестирование Raif Pay через Postman, которое я запланировала еще месяц назад? Или придется на заглушках всё показывать?
👎 - нет, написали письмо с отказом.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥39👎3⚡2👍2❤1
Знакомо чувство, когда предстоит работа над новым проектом или в новой компании, а у тебя нет необходимых навыков? Либо ты в теории понимаешь, что делать, но не было реальной практики? Или, возможно, ты давно в IT, но какие-то технические моменты оставались за кадром: разработчики всегда всё делали сами. А теперь техническую проработку будут ждать от тебя, как от системного аналитика.
В случае интеграционных проектов часто возникают вопросы:
1️⃣ С чего начать работу с требованиями?
2️⃣ Что включать в задачи и какие документы формировать в процессе?
3️⃣ Какие инструменты нужно знать?
Многие системные аналитики утопают в деталях на старте, теряя видение общей картины 😞 Давайте на практике разберемся, как начать работу с интеграциями и фокусироваться на главном в ходе работы над проектом!
📅 Интеграции: пошаговый план работы на проекте
6 сентября, 19:00 МСК
🔗 ЗАРЕГИСТРИРОВАТЬСЯ
Что вас ждёт:
🌐 Интеграции: что это и почему так важно в современном IT.
📝 Постановка задач: формулирование требований, взаимодействие с заказчиками и проработка деталей.
🛠 Инструменты аналитика: практика работы с Postman.
⚠️ Подводные камни, типичные ошибки и способы их решения.
‼️ ‼️ В этот раз я буду подключать в прямой эфир аналитиков с микрофоном и возможностью делиться экраном. Кто хочет присоединиться в онлайн и решать задачу вместе со мной? 🔥
Сделайте интеграции вашим сильным профессиональным навыком! Регистрируйтесь, и получайте свой опыт! 🚀
В случае интеграционных проектов часто возникают вопросы:
1️⃣ С чего начать работу с требованиями?
2️⃣ Что включать в задачи и какие документы формировать в процессе?
3️⃣ Какие инструменты нужно знать?
Многие системные аналитики утопают в деталях на старте, теряя видение общей картины 😞 Давайте на практике разберемся, как начать работу с интеграциями и фокусироваться на главном в ходе работы над проектом!
📅 Интеграции: пошаговый план работы на проекте
6 сентября, 19:00 МСК
🔗 ЗАРЕГИСТРИРОВАТЬСЯ
Что вас ждёт:
🌐 Интеграции: что это и почему так важно в современном IT.
📝 Постановка задач: формулирование требований, взаимодействие с заказчиками и проработка деталей.
🛠 Инструменты аналитика: практика работы с Postman.
⚠️ Подводные камни, типичные ошибки и способы их решения.
Сделайте интеграции вашим сильным профессиональным навыком! Регистрируйтесь, и получайте свой опыт! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3
Всем привет!
Начнем неделю с хороших новостей! Нам дали ключи для тестирования REST API Raif Pay ❤️ Искренне признательна за это коллегам!
Так что в эту среду будем в прямом эфире работать с проектированием интеграции с платежной системой.
‼️ Я хочу сделать необычный эфир и подключить к работе со мной 3 участников нашего сообщества.
Почему это важно:
🔹 Вы сможете в прямом эфире выполнять задания под моим руководством и получать обратную связь сразу.
🔹 Получите опыт проектирования интеграций, узнаете на какие моменты вам стоит обратить внимание в освоении темы.
🔹 Получите опыт работы с Postman (инструмент тестирования API) - будете делиться экраном и выполнять запросы самостоятельно, с моим сопровождением.
Задания, которые будем выполнять:
1. Написание интеграционного сценария с точки зрения пользователя веб-приложения.
2. Анализ API-документации для дополнения сценария техническими деталями.
3. Дополнение сценария данными, связанными с интеграцией.
4. Тестирование API в прямом эфире.
5. Выделение задач на разработку.
Как это будет проходить:
📢 У вас будет доступ к микрофону.
📢 Вы сможете транслировать экран для выполнения части заданий.
📢 Весь эфир вы сможете задавать вопросы голосом, без чата.
Следующим сообщением расскажу что делать, чтобы принять участие. А затем продолжим работу над проектом.
А пока, кто хочет поучаствовать - ставим 👍
Начнем неделю с хороших новостей! Нам дали ключи для тестирования REST API Raif Pay ❤️ Искренне признательна за это коллегам!
Так что в эту среду будем в прямом эфире работать с проектированием интеграции с платежной системой.
Почему это важно:
🔹 Вы сможете в прямом эфире выполнять задания под моим руководством и получать обратную связь сразу.
🔹 Получите опыт проектирования интеграций, узнаете на какие моменты вам стоит обратить внимание в освоении темы.
🔹 Получите опыт работы с Postman (инструмент тестирования API) - будете делиться экраном и выполнять запросы самостоятельно, с моим сопровождением.
Задания, которые будем выполнять:
1. Написание интеграционного сценария с точки зрения пользователя веб-приложения.
2. Анализ API-документации для дополнения сценария техническими деталями.
3. Дополнение сценария данными, связанными с интеграцией.
4. Тестирование API в прямом эфире.
5. Выделение задач на разработку.
Как это будет проходить:
📢 У вас будет доступ к микрофону.
📢 Вы сможете транслировать экран для выполнения части заданий.
📢 Весь эфир вы сможете задавать вопросы голосом, без чата.
Следующим сообщением расскажу что делать, чтобы принять участие. А затем продолжим работу над проектом.
А пока, кто хочет поучаствовать - ставим 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38
Мы с вами уже описали сценарий создания онлайн-заказа с последующей синхронизацией данных с бэкендом PetStore. Но он был описан без технических деталей.
Чтобы перейти к описанию технических деталей, необходимо понять, какие методы API PetStore нам потребуются для синхронизации данных.
Как я думаю, когда решаю задачу поиска методов, связанных с заказом:
1. Нужно создавать заказ.
Вижу в документации раздел store Access to Petstore orders (Доступ к заказам зоомагазина).
Метод создания POST. Из этого раздела явно подходит единственный - POST /store/order
(Place an order for a pet - Оформить заказ на домашнее животное)
Внутри метода смотрю, какие параметры данных нужны к передаче - тело запроса к body.
И встречаю ограничение со стороны API, а также новые требования к своему API.
Это тело запроса для создания заказа:
Проблемы с параметрами:
2. Решение проблемы id.
Чтобы понять, что это за id, который мне надо будет передавать, иду в самый низ документации Swagger. Там всегда есть описание объектов.
Плохая документация - есть тип данных для id (integer($int64)), но нет описания откуда его брать или как генерировать.
Понимаю, что это id заказа в формате целого числа и его надо генерировать на стороне моей системы. Пусть это будет порядковый номер. Поэтому в алгоритм создания заказа в PetCo я добавляю требования к генерации номера заказа - уникального id.
Дополнительно уточняю какие номера заказов уже заняты кассами, чтобы начать нумерацию не с 1, и не пересечься с кассовыми номерами заказов.
Продолжение 👇
Чтобы перейти к описанию технических деталей, необходимо понять, какие методы API PetStore нам потребуются для синхронизации данных.
Как я думаю, когда решаю задачу поиска методов, связанных с заказом:
1. Нужно создавать заказ.
Вижу в документации раздел store Access to Petstore orders (Доступ к заказам зоомагазина).
Метод создания POST. Из этого раздела явно подходит единственный - POST /store/order
(Place an order for a pet - Оформить заказ на домашнее животное)
Внутри метода смотрю, какие параметры данных нужны к передаче - тело запроса к body.
И встречаю ограничение со стороны API, а также новые требования к своему API.
Это тело запроса для создания заказа:
{
"id": 0,
"petId": 0,
"quantity": 0,
"shipDate": "2023-09-04T07:47:04.444Z",
"status": "placed",
"complete": true
}Проблемы с параметрами:
id, petId+quantity. 2. Решение проблемы id.
Чтобы понять, что это за id, который мне надо будет передавать, иду в самый низ документации Swagger. Там всегда есть описание объектов.
Плохая документация - есть тип данных для id (integer($int64)), но нет описания откуда его брать или как генерировать.
Понимаю, что это id заказа в формате целого числа и его надо генерировать на стороне моей системы. Пусть это будет порядковый номер. Поэтому в алгоритм создания заказа в PetCo я добавляю требования к генерации номера заказа - уникального id.
Дополнительно уточняю какие номера заказов уже заняты кассами, чтобы начать нумерацию не с 1, и не пересечься с кассовыми номерами заказов.
Продолжение 👇
👍4❤3🔥3
3. Решение проблемы petId+quantity.
На стороне PetCo я могу сделать заказ сразу нескольких позиций (много животных и товаров в одном заказе), а на стороне API PetStore я не вижу массив в методе создания заказа. Я вижу возможность указывать только одно id животного petId в одном заказе и его количество quantity.
Например, можно одним запросом в API PetStore заказать 4 одинаковых морских свинки. А 4 морских свинки и 1 золотую рыбку уже нельзя.
Поэтому со стороны PetCo для создания одного заказа на несколько позиций мне нужно будет вызвать метод создания заказа в API PetStore несколько раз (на 4 разных позиции, вида животных, будет 4 вызова API). В БД PetCo придется установить связь между одним заказом внутри и неколькими связанными заказами во внешней системе.
Так мы будем бороться с ограничениями API. Но это дополнительная нагрузка и на нас, и на API PetStore по количеству запросов к отправке и обработке соответственно. Поэтому в идеале необходимо доработать бэкенд PetStore, если это было бы возможно (часто можно написать письмо в поддержку внешней системы с просьбой доработать API, и иногда даже получить свой новый метод).
Теперь кажется, что можно переходить к дополнению Use Case техническими деталями методами, данными, встроенными алгоритмами обработки и сопоставления данных. Но перед этим я рекомендую провести тестирование методов API. Так мы и поступим 😉
На стороне PetCo я могу сделать заказ сразу нескольких позиций (много животных и товаров в одном заказе), а на стороне API PetStore я не вижу массив в методе создания заказа. Я вижу возможность указывать только одно id животного petId в одном заказе и его количество quantity.
Например, можно одним запросом в API PetStore заказать 4 одинаковых морских свинки. А 4 морских свинки и 1 золотую рыбку уже нельзя.
Поэтому со стороны PetCo для создания одного заказа на несколько позиций мне нужно будет вызвать метод создания заказа в API PetStore несколько раз (на 4 разных позиции, вида животных, будет 4 вызова API). В БД PetCo придется установить связь между одним заказом внутри и неколькими связанными заказами во внешней системе.
Так мы будем бороться с ограничениями API. Но это дополнительная нагрузка и на нас, и на API PetStore по количеству запросов к отправке и обработке соответственно. Поэтому в идеале необходимо доработать бэкенд PetStore, если это было бы возможно (часто можно написать письмо в поддержку внешней системы с просьбой доработать API, и иногда даже получить свой новый метод).
Теперь кажется, что можно переходить к дополнению Use Case техническими деталями методами, данными, встроенными алгоритмами обработки и сопоставления данных. Но перед этим я рекомендую провести тестирование методов API. Так мы и поступим 😉
❤3👍2🔥2
Как получить доступ к микрофону в прямом эфире и обратную связь от меня по работе с задачей на интеграцию с платежной системой.
📅 Интеграции: пошаговый план работы на проекте
6 сентября, 19:00 МСК
Вариант 1:
1. Быть подписаным на канал @getanalyst на YouTube.
2. Поставить лайк на видео про требования.
3. Оставить комментарий под него 😄😂 или любой другой.
Вариант 2:
1. Быть подписаным на @getanalyst в Instagram (*запрещено в РФ).
2. Поставить лайк на видео про требования.
3. Поделиться им в своих Stories и прислать скрин в директ.
Итоги подведем в прямом эфире, так что будьте готовы стать полноценным участником практики 😉 До встречи!
📅 Интеграции: пошаговый план работы на проекте
6 сентября, 19:00 МСК
Вариант 1:
1. Быть подписаным на канал @getanalyst на YouTube.
2. Поставить лайк на видео про требования.
3. Оставить комментарий под него 😄😂 или любой другой.
Вариант 2:
1. Быть подписаным на @getanalyst в Instagram (*запрещено в РФ).
2. Поставить лайк на видео про требования.
3. Поделиться им в своих Stories и прислать скрин в директ.
Итоги подведем в прямом эфире, так что будьте готовы стать полноценным участником практики 😉 До встречи!
❤7
Знаете что нельзя пропустить? День системного аналитика , который отмечают 24 сентября 🤝
А сегодня 6 сентября! 😍 Это значит, что до дня системного аналитика еще 18 дней и что мы встретимся сегдня вечером здесь:
🧩 Интеграции: пошаговый план работы на проекте
Эта неделя получилась насыщенной на события. В понедельник я на FlowConf 2023 выступала с докладом, где рассказывала про Интернет вещей (IoT) и особенности разработки комплексных интеграций.
Если коротко: умение определять требования к обработке ошибок и нефункциональные требования - одни из ключевых навыков в работе системного аналитика на интеграционных проектах.
А сегодня я хочу показать на практике, как работать с задачами на интеграции.
‼️ Для того, чтобы получить максимум пользы от практического вебинара, к нему надо будет подготовиться.
Это займет ~15 минут.
☑️ Зарегистрируйте аккаунт в Postman, на сайте https://www.postman.com/. Войдите в него. Также можно работать с установленным на компьютер приложением Postman.
☑️ Прочитать пост про тестирование API PetStore, который сегодня будет опубликован в канале.
☑️ Прочитать пример технического Use Case, который сегодня будет опубликован в канале.
☑️ Работать сегодня вечером обязательно с компьютера - зарядить.
☑️ Быть готовыми записывать важные моменты: листочки.
☑️ Быть готовыми выйти в эфир с микрофоном (коллеги, кто оставил комментарии на YouTube, пришлите @getanalyst в ЛС ваши фамилию и имя, с которыми сегодня подключитесь на вебинар + логин аккаунта).
Практиковаться обязательно! Жду вас онлайн!❤️
А сегодня 6 сентября! 😍 Это значит, что до дня системного аналитика еще 18 дней и что мы встретимся сегдня вечером здесь:
🧩 Интеграции: пошаговый план работы на проекте
Эта неделя получилась насыщенной на события. В понедельник я на FlowConf 2023 выступала с докладом, где рассказывала про Интернет вещей (IoT) и особенности разработки комплексных интеграций.
Если коротко: умение определять требования к обработке ошибок и нефункциональные требования - одни из ключевых навыков в работе системного аналитика на интеграционных проектах.
А сегодня я хочу показать на практике, как работать с задачами на интеграции.
‼️ Для того, чтобы получить максимум пользы от практического вебинара, к нему надо будет подготовиться.
Это займет ~15 минут.
☑️ Зарегистрируйте аккаунт в Postman, на сайте https://www.postman.com/. Войдите в него. Также можно работать с установленным на компьютер приложением Postman.
☑️ Прочитать пост про тестирование API PetStore, который сегодня будет опубликован в канале.
☑️ Прочитать пример технического Use Case, который сегодня будет опубликован в канале.
☑️ Работать сегодня вечером обязательно с компьютера - зарядить.
☑️ Быть готовыми записывать важные моменты: листочки.
☑️ Быть готовыми выйти в эфир с микрофоном (коллеги, кто оставил комментарии на YouTube, пришлите @getanalyst в ЛС ваши фамилию и имя, с которыми сегодня подключитесь на вебинар + логин аккаунта).
Практиковаться обязательно! Жду вас онлайн!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤4👍3
Media is too big
VIEW IN TELEGRAM
Прежде чем писать детализированный интеграционный Use Case, настоятельно рекомендую протестировать API, чтобы понять как он работает и убедиться в том, что документация соответствует реальности.
Для интеграции с Backend-ом системы PetStore мы будем использовать REST API. API-документация PetStore опубликована через инструмент Swagger. И можно было бы ограничиться тем, чтобы проверить API в нем, но для понимания я хочу показать, что его также можно протестировать через Postman.
Где бы ни была сделана API-документация системы, я всегда проверяю ее через внешний инструмент или силами разработчиков, если нужен код. Мало ли какие заглушки стоят в интерактивной документации?
Мне всегда важно увидеть как реально работает API. И это же рекомендую делать и вам, чтобы лучше разобраться с данными внешней системы, с которой мы интегрируемся, и с процессами в ней.
В видео-уроке:
1. Подход к тестированию в Postman.
2. Принцип тестирования PetStore в Swagger.
Проверяю метод, который необходим нам для сценария синхронизации заказов: POST /store/order (Place an order for a pet), и связанные с ним 💻
Для интеграции с Backend-ом системы PetStore мы будем использовать REST API. API-документация PetStore опубликована через инструмент Swagger. И можно было бы ограничиться тем, чтобы проверить API в нем, но для понимания я хочу показать, что его также можно протестировать через Postman.
Где бы ни была сделана API-документация системы, я всегда проверяю ее через внешний инструмент или силами разработчиков, если нужен код. Мало ли какие заглушки стоят в интерактивной документации?
Мне всегда важно увидеть как реально работает API. И это же рекомендую делать и вам, чтобы лучше разобраться с данными внешней системы, с которой мы интегрируемся, и с процессами в ней.
В видео-уроке:
1. Подход к тестированию в Postman.
2. Принцип тестирования PetStore в Swagger.
Проверяю метод, который необходим нам для сценария синхронизации заказов: POST /store/order (Place an order for a pet), и связанные с ним 💻
👍14❤3
GetAnalyst_Use_Case_Создание_онлайн_заказа_с_последующей_синхронизацией.pdf
473.9 KB
🟢 Изучили API-документацию. Методы API протестировали через Postman. Теперь можно детализировать Use Cases.
В приложенном файле представлен сценарий синхронизации заказа с внешней системой, дополненный алгоритмами и описанием взаимодействия между компонентами системы (приложение пользователя + бэкенд PetCo + бэкенд внешней системы PetStore).
Сейчас в нём:
1. Не хватает маппинга данных - сопоставления данных между системами и БД.
2. Можно добавить UML-диаграмму, чтобы показать сценарий работы.
3. Можно добавить еще альтернативные сценарии. Они есть.
Этот шаблон - часть описания требований к интеграциям систем 🙌
В приложенном файле представлен сценарий синхронизации заказа с внешней системой, дополненный алгоритмами и описанием взаимодействия между компонентами системы (приложение пользователя + бэкенд PetCo + бэкенд внешней системы PetStore).
Сейчас в нём:
1. Не хватает маппинга данных - сопоставления данных между системами и БД.
2. Можно добавить UML-диаграмму, чтобы показать сценарий работы.
3. Можно добавить еще альтернативные сценарии. Они есть.
Этот шаблон - часть описания требований к интеграциям систем 🙌
🔥13👍5❤1💩1