А что, если в C4 будет в Miro? 😍
Так тоже можно, но это не стардартные элементы Miro.
🟢 Делюсь ссылкой на шаблон + пример C4 для Miro 🟢
Дублировать в нем Container и Component? 🔥
Так тоже можно, но это не стардартные элементы Miro.
🟢 Делюсь ссылкой на шаблон + пример C4 для Miro 🟢
Дублировать в нем Container и Component? 🔥
🔥18
Мне всегда нравилось читать вдохновляющие истории 🤩
И я рада, что появляется все больше таких историй, с которыми связана команда GetAnalyst!
Спасибо вам за доверие и обратную связь ❤️ Прекрасных выходных!
И я рада, что появляется все больше таких историй, с которыми связана команда GetAnalyst!
Спасибо вам за доверие и обратную связь ❤️ Прекрасных выходных!
👍6🔥4
Суббота - день отдыха 💯
В моей жизни был период, когда я работала без выходных по 8-14 часов в будни и по 4-8 часов в выходные. Совмещая это всё с учебой, и обязательными тренировками почти каждый день. Иногда это нужно. И я до сих пор это практикую, чтобы двигаться вперед и расти.
К сожалению, по другому не получается. Все лучшие результаты в моей жизни, весь рост, приходили через усердную работу.
Это мои рабочие спринты, как в разработке. Но уже сейчас я вижу и чувствую, что меня хватает максимум на 2 месяца таких усердных работ. Дальше надо отдыхать. Обязательно. А еще лучше, когда отдых есть еженедельно, хотя бы 1 полный день оффлайн.
После таких забегов я устраиваю тотальный отдых. Хотя бы несколько полных дней оффлайн, а потом 1-2 месяца со стабильным выходным по субботам. А иногда по пятницам и субботам. Воскресенье я люблю работать и учиться, когда можно сфокусированно, без лишних чатов, решать задачи.
Почему я это пишу? Я хочу поделиться своим опытом. Но не в аналитике.
🎓 Стабильный отдых минимум один день в неделю, с отключением от соцсетей, работы и чатов - лучшее, что может заряжать энергией на новую неделю. Это помогает идти к лучшим результатам с улыбкой и в счастье.
🎓 Я не верю в результаты без усилий. Да, работа должна быть в легкости и в радости. Это так. Но как правило, чтобы сделать прыжок вверх, надо инвестировать время в учебу и её применение в своем деле.
Это как походы в спортзал. Хочешь крутое тело? Иногда надо делать себе неприятно на силовых.
Берегите себя и не забывайте отдыхать ❤️ Но и стремиться к лучшему тоже важно. Чередуйте нагрузку и отдых. И всё обязательно получится!
А суббота - прекрасный день, когда можно отдыхать, улыбаться и смеяться от души 😉👇
В моей жизни был период, когда я работала без выходных по 8-14 часов в будни и по 4-8 часов в выходные. Совмещая это всё с учебой, и обязательными тренировками почти каждый день. Иногда это нужно. И я до сих пор это практикую, чтобы двигаться вперед и расти.
К сожалению, по другому не получается. Все лучшие результаты в моей жизни, весь рост, приходили через усердную работу.
Это мои рабочие спринты, как в разработке. Но уже сейчас я вижу и чувствую, что меня хватает максимум на 2 месяца таких усердных работ. Дальше надо отдыхать. Обязательно. А еще лучше, когда отдых есть еженедельно, хотя бы 1 полный день оффлайн.
После таких забегов я устраиваю тотальный отдых. Хотя бы несколько полных дней оффлайн, а потом 1-2 месяца со стабильным выходным по субботам. А иногда по пятницам и субботам. Воскресенье я люблю работать и учиться, когда можно сфокусированно, без лишних чатов, решать задачи.
Почему я это пишу? Я хочу поделиться своим опытом. Но не в аналитике.
🎓 Стабильный отдых минимум один день в неделю, с отключением от соцсетей, работы и чатов - лучшее, что может заряжать энергией на новую неделю. Это помогает идти к лучшим результатам с улыбкой и в счастье.
🎓 Я не верю в результаты без усилий. Да, работа должна быть в легкости и в радости. Это так. Но как правило, чтобы сделать прыжок вверх, надо инвестировать время в учебу и её применение в своем деле.
Это как походы в спортзал. Хочешь крутое тело? Иногда надо делать себе неприятно на силовых.
Берегите себя и не забывайте отдыхать ❤️ Но и стремиться к лучшему тоже важно. Чередуйте нагрузку и отдых. И всё обязательно получится!
А суббота - прекрасный день, когда можно отдыхать, улыбаться и смеяться от души 😉👇
❤24🥰6👍4🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Быть честными - важно. Главное не переусердствовать.
И без инцидентов с БД, пожалуйста 🤣
И без инцидентов с БД, пожалуйста 🤣
🤣42🔥15😁1
Всем привет!
У нас переезд между почтовыми сервисами и нестабильно уходят письма 😔
🟢 Микросервисы: от бизнес-процессов до интеграционного взаимодействия
🌟Сегодня в 18:00 Мск - ссылка на вебинарную комнату:
https://pruffme.com/webinar/?id=f5dbe802611de4369f61521c1d91dd8d
Доп. повторы организуем завтра в 15:00 и 19 Мск, т.к. не всем пришла ссылка на трансляцию. Благодарю за понимание 🙏
У нас переезд между почтовыми сервисами и нестабильно уходят письма 😔
🟢 Микросервисы: от бизнес-процессов до интеграционного взаимодействия
🌟Сегодня в 18:00 Мск - ссылка на вебинарную комнату:
https://pruffme.com/webinar/?id=f5dbe802611de4369f61521c1d91dd8d
Доп. повторы организуем завтра в 15:00 и 19 Мск, т.к. не всем пришла ссылка на трансляцию. Благодарю за понимание 🙏
Pruffme
Микросервисы: от бизнес-процессов до архитектурного решения.
👍9
Hello! ☀️ Открываем новую неделю с диаграммы контейнеров C4.
Предыстория:
1. Сделали схему архитектуру в моей упрощенной нотации CloudRectangle.
2. Сделали самый верхний уровень архитектуры в нотации С4 - Context.
Container С4:
Углубляет представление системы, описывая основные части, или "контейнеры" (backend-приложение, веб-приложение, мобильного приложение, базы данных, файловая система), которые входят в состав системы.
На этом уровне определены функции каждого контейнера, технологические решения по языкам программирования, протоколы взаимодействия.
Что получилось в результате по примеру с нашим проектом системы для Зоомагазина PetCo:
1️⃣ PetCo Online был синим прямоугольником на уровне Context. Мобильных приложений, сайта, бэкенда отдельно не было. Теперь они появились. И синий прямоугольник превратился в детализированый пунктирный.
Пока сделала админку как наше отдельное новое приложение, существующую систему PetStore для касс в магазине пока не трогаем.
2️⃣ До этого ни про какие API речи не было. Сейчас на стрелках указаны техногологии, по которым системы, подсистемы или отдельные приложения взаимодействуют друг с другом: REST API, HTTPS, SMTP, SOAP, GraphQL и другие.
Аналитик может указывать это самостоятельно в 80% случаев (когда не библиотеки и когда не описываются протоколы взаимодействия с БД - это уже к архитекторам и программистам).
3️⃣ Появились технологии разработки - указаны языки программирования, на которых создаются наши приложения - Java, Swift, Kotlin.
Это то, что аналитик указывает, если знает. Если я не знаю, то обычно указываю на схеме ???, чтобы потом дополнили разработчики.
4️⃣ Появились базы данных с указанием технологий (Oracle, PostgreSQL, MongoDB и др.).
5️⃣ Убрала двух серых пользователей, т.к. они уже никакой смысловой нагрузки не несут. Я рассказываю на этом уровне C4 Container про новую систему PetCo Online, которую мы делаем.
Результат появился в Miro PetCo - ваш шаблон по C4 Container 😉
Предыстория:
1. Сделали схему архитектуру в моей упрощенной нотации CloudRectangle.
2. Сделали самый верхний уровень архитектуры в нотации С4 - Context.
Container С4:
Углубляет представление системы, описывая основные части, или "контейнеры" (backend-приложение, веб-приложение, мобильного приложение, базы данных, файловая система), которые входят в состав системы.
На этом уровне определены функции каждого контейнера, технологические решения по языкам программирования, протоколы взаимодействия.
Что получилось в результате по примеру с нашим проектом системы для Зоомагазина PetCo:
1️⃣ PetCo Online был синим прямоугольником на уровне Context. Мобильных приложений, сайта, бэкенда отдельно не было. Теперь они появились. И синий прямоугольник превратился в детализированый пунктирный.
Пока сделала админку как наше отдельное новое приложение, существующую систему PetStore для касс в магазине пока не трогаем.
2️⃣ До этого ни про какие API речи не было. Сейчас на стрелках указаны техногологии, по которым системы, подсистемы или отдельные приложения взаимодействуют друг с другом: REST API, HTTPS, SMTP, SOAP, GraphQL и другие.
Аналитик может указывать это самостоятельно в 80% случаев (когда не библиотеки и когда не описываются протоколы взаимодействия с БД - это уже к архитекторам и программистам).
3️⃣ Появились технологии разработки - указаны языки программирования, на которых создаются наши приложения - Java, Swift, Kotlin.
Это то, что аналитик указывает, если знает. Если я не знаю, то обычно указываю на схеме ???, чтобы потом дополнили разработчики.
4️⃣ Появились базы данных с указанием технологий (Oracle, PostgreSQL, MongoDB и др.).
5️⃣ Убрала двух серых пользователей, т.к. они уже никакой смысловой нагрузки не несут. Я рассказываю на этом уровне C4 Container про новую систему PetCo Online, которую мы делаем.
Результат появился в Miro PetCo - ваш шаблон по C4 Container 😉
❤4👍4
C4 Component:
Детализирует каждый контейнер, описывая его компоненты и их взаимодействие.
Т.е. мы переходим к рассмотрению что внутри каждого контейнера с предыдущего уровня C4 Container.
Особенности:
🔹Это системный уровень. На нем уже нет пользователей, мы видим подсистемы.
🔹Наиболее полезен и практичен для бэкенда.
🔹На этом уровне показывают сервисы, микросервисы и т.д.
🔹Также важно показать протоколы взаимодействия между подсистемами.
При работе с этим уровнем взаимодействие с коллегами архитекторами и разработчиками важно. Это именно тот самый этап, когда вам важно собрать технические требования к реализации от команды и зафиксировать.
Я думаю тем, кто работает или работал в банковской сфере, это знакомо. Когда у Вас митинги с архитекторами и разработчиками по проектированию взаимодействия подсистем, а потом вас просят зафиксировать результаты митинга и нарисовать схему взаимодействия компонентов. И C4 Component здесь очень выручает!
Результат уже ждет вас в шаблоне Miro по С4! 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥2
❗️Начинаем через 15 минут❗️
🟢 Микросервисы: от бизнес-процессов до интеграционного взаимодействия
🌟 15:00 Мск - ссылка на вебинарную комнату:
https://pruffme.com/webinar/?id=f5dbe802611de4369f61521c1d91dd8d
* в 19:00 на трансляцию можно попасть по этой же ссылке
Присоединяйтесь! Повторов больше не будет!
🟢 Микросервисы: от бизнес-процессов до интеграционного взаимодействия
🌟 15:00 Мск - ссылка на вебинарную комнату:
https://pruffme.com/webinar/?id=f5dbe802611de4369f61521c1d91dd8d
* в 19:00 на трансляцию можно попасть по этой же ссылке
Присоединяйтесь! Повторов больше не будет!
🔥1
Почему я делала шаблон C4 в Miro?
1. Draw.io классный, но есть еще варианты инструментов для создания схем архитектуры. Почему бы не показать их вам? Больше возможностей всегда хорошо!
2. Мне более приятен интерфейс Miro. Но при этом я продолжаю использовать в основном Draw Io. Зависит от предпочтений ваших и команды.
3. Теперь вы можете скопировать этот шаблон себе ❤️ и использовать для создания C4 в Miro на вашем проекте!
Как это сделать? Смотрите на картинку к посту.
Добавляйте шаблон в избранное или делайте личную копию, которую можно редактировать 🙌 Практикуйте C4 и пополняйте свое портфолио по работе с интеграциями и архитектурой - востребованными навыками для системных аналитиков сегодня!
1. Draw.io классный, но есть еще варианты инструментов для создания схем архитектуры. Почему бы не показать их вам? Больше возможностей всегда хорошо!
2. Мне более приятен интерфейс Miro. Но при этом я продолжаю использовать в основном Draw Io. Зависит от предпочтений ваших и команды.
3. Теперь вы можете скопировать этот шаблон себе ❤️ и использовать для создания C4 в Miro на вашем проекте!
Как это сделать? Смотрите на картинку к посту.
Добавляйте шаблон в избранное или делайте личную копию, которую можно редактировать 🙌 Практикуйте C4 и пополняйте свое портфолио по работе с интеграциями и архитектурой - востребованными навыками для системных аналитиков сегодня!
🔥15❤2
Внутри компании нет роста, нет задач для практики, сижу на одном месте, на собеседованиях чувствую страх, неуверенность и синдром самозванца 😞Знакомые чувства?
Особенно грустно, когда талантливые аналитики ждут повышения на текущем месте работы от руководителя, но ничего не происходит. Просить? Нет. В голове ведь: "а что если...уволят/понизят?".
Обычно случается следующее:
1. Аналитик открывает вакансии.
2. Проверяет, каких навыков не хватает и строит план по их получению.
3. Подтягивает знания любыми доступными способами, пополняет портфолио.
Обучение может через практику быть в рамках работы, если все же хоть как-то можно получить доступ к более сложным задачам и проектам. Или дополнительное образование.
4. Обновляет резюме и публикует.
Потом наступает период множества собеседований. От первых, на которых чувствуешь себя неловко и неуверенно, до победных, когда понимаешь, что собеседование это обычный процесс.
Что можно получить в результате усердной работы и понятной цели?
🔹 Junior -> Senior.
🔹 +100к.
Junior -> Senior кейс скорее исключительный, когда нашего коллегу очень долго не повышали. Но прорыв серьезный! И это показатель - всё возможно, если прикладывать усилия!
Спасибо, что пишете! Такая обратная связь вдохновляет не только меня, но и ваших коллег ❤️
Верьте в себя и свои силы. Ставьте цели и создавайте планы, как их достичь. Всё получится!
Особенно грустно, когда талантливые аналитики ждут повышения на текущем месте работы от руководителя, но ничего не происходит. Просить? Нет. В голове ведь: "а что если...уволят/понизят?".
Обычно случается следующее:
1. Аналитик открывает вакансии.
2. Проверяет, каких навыков не хватает и строит план по их получению.
3. Подтягивает знания любыми доступными способами, пополняет портфолио.
Обучение может через практику быть в рамках работы, если все же хоть как-то можно получить доступ к более сложным задачам и проектам. Или дополнительное образование.
4. Обновляет резюме и публикует.
Потом наступает период множества собеседований. От первых, на которых чувствуешь себя неловко и неуверенно, до победных, когда понимаешь, что собеседование это обычный процесс.
Что можно получить в результате усердной работы и понятной цели?
🔹 Junior -> Senior.
🔹 +100к.
Junior -> Senior кейс скорее исключительный, когда нашего коллегу очень долго не повышали. Но прорыв серьезный! И это показатель - всё возможно, если прикладывать усилия!
Спасибо, что пишете! Такая обратная связь вдохновляет не только меня, но и ваших коллег ❤️
Верьте в себя и свои силы. Ставьте цели и создавайте планы, как их достичь. Всё получится!
👍20🔥4
🧩 Интеграционные Use Cases: что это? 🧩
Схему архитектуры сделали. Взаимодействие систем понимаем, исходя из первичного описания проекта. Время переходить к функциональным требованиям.
Функциональные требования определяют, ЧТО система должна делать.
Это специфические описания возможностей или характеристик системы, которые влияют на ее поведение.
Пример: "Система должна предоставлять возможность пользователям регистрироваться, используя адрес электронной почты".
Use Case (или сценарий использования) описывает, КАК и в КАКОМ ПОРЯДКЕ эти функциональные требования реализуются в рамках взаимодействия пользователя с системой.
Это не просто функция или действие, а некий "рассказ" о том, как система и пользователь совместно решают задачу.
Пример: Сценарий "Регистрация нового пользователя", который будет включать в себя шаги по вводу данных, их валидации, отправке подтверждения на email и так далее.
Use Case описывает поведение системы в ответ на действия
🔸 конкретного пользователя - обычные Use Cases,
🔸 или другой системы - интеграционные Use Cases.
Что из себя представляет интеграционный Use Case?
Когда мы говорим о интеграционных Use Case, мы имеем в виду сценарии, в которых наша система взаимодействует не только с пользователем, но и с другими системами.
Например, когда пользователь делает заказ в интернет-магазине, этот заказ может быть отправлен в CRM-систему компании для обработки менеджерами или в бухгалтерский модуль для учета.
Продолжение скоро👇
Схему архитектуры сделали. Взаимодействие систем понимаем, исходя из первичного описания проекта. Время переходить к функциональным требованиям.
Функциональные требования определяют, ЧТО система должна делать.
Это специфические описания возможностей или характеристик системы, которые влияют на ее поведение.
Пример: "Система должна предоставлять возможность пользователям регистрироваться, используя адрес электронной почты".
Use Case (или сценарий использования) описывает, КАК и в КАКОМ ПОРЯДКЕ эти функциональные требования реализуются в рамках взаимодействия пользователя с системой.
Это не просто функция или действие, а некий "рассказ" о том, как система и пользователь совместно решают задачу.
Пример: Сценарий "Регистрация нового пользователя", который будет включать в себя шаги по вводу данных, их валидации, отправке подтверждения на email и так далее.
Use Case описывает поведение системы в ответ на действия
🔸 конкретного пользователя - обычные Use Cases,
🔸 или другой системы - интеграционные Use Cases.
Что из себя представляет интеграционный Use Case?
Когда мы говорим о интеграционных Use Case, мы имеем в виду сценарии, в которых наша система взаимодействует не только с пользователем, но и с другими системами.
Например, когда пользователь делает заказ в интернет-магазине, этот заказ может быть отправлен в CRM-систему компании для обработки менеджерами или в бухгалтерский модуль для учета.
Продолжение скоро👇
🔥18👍4❤2
✨Интеграционные Use Case: проект для онлайн Зоомагазина PetCo ✨
Для примера, я хочу выделить Use Cases, связанные с функциями создания онлайн-заказов и приемом онлайн-платежей за них через Интернет-эквайринг Raif Pay.
1. Создание онлайн-заказа с последующей синхронизацией данных с бэкендом PetStore.
Пользователь может сделать заказ через мобильное приложение или веб-приложение. Эти данные, после ввода, синхронизируются с бэкендом petStore.
Предусловие: Пользователь выбирает товары, добавляет их в корзину и оформляет заказ.
Роли:
+ Пользователь-покупатель
Приложения и сервисы:
+ Мобильное / веб-приложение
+ Бэкенд PetCo:
+++ Сервис Основной Бизнес-логики,
+++ Сервис интеграции с PetStore
+ Внешняя система PetStore (бэкенд)
Входные данные:
+ Список товаров
+ Количество каждого товара + цены
+ Данные пользователя (адрес доставки, контактные данные и др.)
Результат:
+ Заказ создан в системе PetCo - в Основной БД
+ Заказ синхронизирован с бэкендом PetStore
Статус товара "Создан (ожидает платеж)
Основной сценарий:
👩💻To Be Done
Обработка ошибок и альтернативные сценарии:
👩💻 To Be Done
2. Проведение онлайн-платежа за заказ через Raif Pay в мобильном приложении PetCo.
После создания заказа, пользователю предоставляется возможность оплатить его онлайн через платежную систему Raif Pay.
👩💻 To Be Done
3. Синхронизация статуса оплаты между бэкендом PetCo, Raif Pay и бэкендом PetStore.
После того как оплата прошла через Raif Pay, информация о статусе оплаты отправляется обратно на бэкенд PetCo и PetStore. Этот шаг важен для обеспечения консистентности (соответствия) данных между системами.
👩💻 To Be Done
4. Уведомление пользователя о статусе заказа и оплаты.
После завершения заказа и оплаты, пользователю автоматически отправляется уведомление о текущем статусе его заказа и результате оплаты на email.
👩💻 To Be Done
P.S. Есть дополнения или мысли по сценариям Use Cases, которые могут относиться к интеграциям в рамках оформления и оплаты заказов - пишите в комментарии!
Для примера, я хочу выделить Use Cases, связанные с функциями создания онлайн-заказов и приемом онлайн-платежей за них через Интернет-эквайринг Raif Pay.
1. Создание онлайн-заказа с последующей синхронизацией данных с бэкендом PetStore.
Пользователь может сделать заказ через мобильное приложение или веб-приложение. Эти данные, после ввода, синхронизируются с бэкендом petStore.
Предусловие: Пользователь выбирает товары, добавляет их в корзину и оформляет заказ.
Роли:
+ Пользователь-покупатель
Приложения и сервисы:
+ Мобильное / веб-приложение
+ Бэкенд PetCo:
+++ Сервис Основной Бизнес-логики,
+++ Сервис интеграции с PetStore
+ Внешняя система PetStore (бэкенд)
Входные данные:
+ Список товаров
+ Количество каждого товара + цены
+ Данные пользователя (адрес доставки, контактные данные и др.)
Результат:
+ Заказ создан в системе PetCo - в Основной БД
+ Заказ синхронизирован с бэкендом PetStore
Статус товара "Создан (ожидает платеж)
Основной сценарий:
👩💻To Be Done
Обработка ошибок и альтернативные сценарии:
👩💻 To Be Done
2. Проведение онлайн-платежа за заказ через Raif Pay в мобильном приложении PetCo.
После создания заказа, пользователю предоставляется возможность оплатить его онлайн через платежную систему Raif Pay.
👩💻 To Be Done
3. Синхронизация статуса оплаты между бэкендом PetCo, Raif Pay и бэкендом PetStore.
После того как оплата прошла через Raif Pay, информация о статусе оплаты отправляется обратно на бэкенд PetCo и PetStore. Этот шаг важен для обеспечения консистентности (соответствия) данных между системами.
👩💻 To Be Done
4. Уведомление пользователя о статусе заказа и оплаты.
После завершения заказа и оплаты, пользователю автоматически отправляется уведомление о текущем статусе его заказа и результате оплаты на email.
👩💻 To Be Done
P.S. Есть дополнения или мысли по сценариям Use Cases, которые могут относиться к интеграциям в рамках оформления и оплаты заказов - пишите в комментарии!
🔥12❤3👍2
🧩 Почему интеграционные Use Cases важны? 🧩
В процессе интеграций всегда есть минимум два участника:
🔹Наша система - которая отвечает за работу сценария, реализует его логику. БОльшая часть интеграций, с которыми мы сегодня работаем, реализована на бэкенде.
По нашей схеме компонентов C4 для PetCo это видно для взаимодействия с Raif Pay и бэкендом PetStore (посмотрите внимательно связи на уровне контейнеров и компонентов).
Также важно понимать, что и к нам могут интегрироваться. Для этого мы в проектах разрабатываем программные интерфейсы (например REST API, GraphQL, gRPC или другие).
🔹Внешняя система - с которой мы интегрируемя, к которой делаем запросы. Важно понимать, что внешние системы в процессе интеграции могут быть как внутри одного проекта, так и за пределами - разработаны другими разработчиками, в других компаниях.
Есть несколько причин, по которым необходимо уделять особое внимание при проектировании интеграционных Use Case. Внешние системы могут подкидывать внезапное...
🔺Точки отказа:
Интеграции могут стать "узким местом". Проблемы соединения, задержки в ответах на запросы во внешние системы или даже их полное отсутствие могут серьезно повлиять на работу нашего приложения.
🔺Безопасность:
При интеграции с другими системами могут возникнуть дополнительные требования к авторизации и защите данных. Важно отдельно описывать авторизационные и реавторизационные сценарии на системном уровне, понимать, что есть файлы конфигурации для интеграций и уметь писать к ним требования.
Неверно спроектированные процессы авторизации могут сделать работу нашей системы нестабильной или вызвать проблемы с утерей данных.
🔺Ограничения внешних систем:
Внешние системы могут иметь свои ограничения. Например, если их API предоставляет меньше данных, чем нам нужно, это может стать проблемой. Наоборот, если внешняя система предоставляет слишком много информации, нам придется отбирать только необходимую.
Для этого системные аналитики описывают маппинги данных.
🔺Понимание границ:
При работе с интеграциями важно четко понимать, какие данные и функции доступны через API. От этого зависит, какие функции мы можем реализовать и какие Use Case нужно проработать.
Выделяя интеграционные Use Cases, мы можем заранее поставить себе в планы на аналитику четкий объем задач, избежать проблем с оценкой своих задач, и проблем с реализацией разработчиками после передачи им требований и проработанных сценариев.
Интеграции — это не просто "еще одна задача". Это серьезная работа по анализу взаимосвязей БД + Функций + UI/UX + API нашей и внешних систем, который требует нашего опыта, внимания и профессионализма 🙌 Поэтому важно уметь выделять интеграционные Use Case.
В процессе интеграций всегда есть минимум два участника:
🔹Наша система - которая отвечает за работу сценария, реализует его логику. БОльшая часть интеграций, с которыми мы сегодня работаем, реализована на бэкенде.
По нашей схеме компонентов C4 для PetCo это видно для взаимодействия с Raif Pay и бэкендом PetStore (посмотрите внимательно связи на уровне контейнеров и компонентов).
Также важно понимать, что и к нам могут интегрироваться. Для этого мы в проектах разрабатываем программные интерфейсы (например REST API, GraphQL, gRPC или другие).
🔹Внешняя система - с которой мы интегрируемя, к которой делаем запросы. Важно понимать, что внешние системы в процессе интеграции могут быть как внутри одного проекта, так и за пределами - разработаны другими разработчиками, в других компаниях.
Есть несколько причин, по которым необходимо уделять особое внимание при проектировании интеграционных Use Case. Внешние системы могут подкидывать внезапное...
🔺Точки отказа:
Интеграции могут стать "узким местом". Проблемы соединения, задержки в ответах на запросы во внешние системы или даже их полное отсутствие могут серьезно повлиять на работу нашего приложения.
🔺Безопасность:
При интеграции с другими системами могут возникнуть дополнительные требования к авторизации и защите данных. Важно отдельно описывать авторизационные и реавторизационные сценарии на системном уровне, понимать, что есть файлы конфигурации для интеграций и уметь писать к ним требования.
Неверно спроектированные процессы авторизации могут сделать работу нашей системы нестабильной или вызвать проблемы с утерей данных.
🔺Ограничения внешних систем:
Внешние системы могут иметь свои ограничения. Например, если их API предоставляет меньше данных, чем нам нужно, это может стать проблемой. Наоборот, если внешняя система предоставляет слишком много информации, нам придется отбирать только необходимую.
Для этого системные аналитики описывают маппинги данных.
🔺Понимание границ:
При работе с интеграциями важно четко понимать, какие данные и функции доступны через API. От этого зависит, какие функции мы можем реализовать и какие Use Case нужно проработать.
Выделяя интеграционные Use Cases, мы можем заранее поставить себе в планы на аналитику четкий объем задач, избежать проблем с оценкой своих задач, и проблем с реализацией разработчиками после передачи им требований и проработанных сценариев.
Интеграции — это не просто "еще одна задача". Это серьезная работа по анализу взаимосвязей БД + Функций + UI/UX + API нашей и внешних систем, который требует нашего опыта, внимания и профессионализма 🙌 Поэтому важно уметь выделять интеграционные Use Case.
👍7🔥2
🧩 Шаблон для описания интеграционного Use Case 🧩
-----------------------
Предусловие:
...
Роли:
+ ....
Приложения и сервисы:
+ ....
+ ....
Входные данные:
+ ....
Результат:
+ ....
Основной сценарий:
1. ...
2. ...
3. ....
Обработка ошибок и альтернативные сценарии:
1A. ...
1B. ...
2A. ...
4A. ...
4B. ...
4C. ...
-----------------------
‼️ И прежде чем описывать шаги основного сценария, требования к обработке ошибок и возможные альтернативные сценарии, необходимо познакомиться с API-документацией, чтобы убедиться в том, что задуманные нами алгоритмы и поведение системы реализуемы.
Продолжаем идти по пошаговой инструкции "Как аналитику работать с задачами на интеграции" 😎
-----------------------
Предусловие:
...
Роли:
+ ....
Приложения и сервисы:
+ ....
+ ....
Входные данные:
+ ....
Результат:
+ ....
Основной сценарий:
1. ...
2. ...
3. ....
Обработка ошибок и альтернативные сценарии:
1A. ...
1B. ...
2A. ...
4A. ...
4B. ...
4C. ...
-----------------------
Продолжаем идти по пошаговой инструкции "Как аналитику работать с задачами на интеграции" 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Как аналитику работать с задачами на интеграции — пошаговая инструкция
Привет! Я хочу рассказать о важной части задач, с которыми работают системные аналитики. Это задачи на проектирование интеграций . Звучит серьезно и сложно. И это так, если не знаешь что это, с чего...
🔥16❤4👍1
🗓 Планы на ближайшую неделю 🗓
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