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

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

РКН №5013005196
Download Telegram
🔷 Нотация С4 для документирования архитектуры 🔷

Можешь показать схему архитектуры системы без нотации, в виде прямоугольников и стрелочек? Отлично!

Но иногда автора схемы можно понять по-разному. И могут быть вопросы как её развивать дальше.

Если в отрасли есть стандарты, лучше использовать их.
Поэтому предлагаю познакомиться с нотацией моделирования архитектуры C4 👇


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

👉 Контекст (C4 / Context)
Система, её интеграции и пользователи.
✔️ Главный прямоугольник - наша система
✔️ Серые прямоугольники вокруг - внешние
✔️ Пользователи

👩‍💻 Полезна бизнес- и техническим специалистам


👉 Контейнеры (C4 / Container)
Независимые по коду приложения в системе, детализация главного прямоугольника c C4 / Context.
✔️ Пользователи и внешние системы с уровня C4 / Context
✔️ Мобильные, веб- и десктоп приложения
✔️ Сервер-приложения: монолит, сервисы, микросервисы, API Gateway
✔️ Базы данных и файловые хранилища
✔️ Виды API
✔️ Технологии (языки программирования, СУБД, протоколы для API и др)
✔️ Базы данных и файловые хранилища
✔️ Очереди и брокеры
Схему удобнее использовать в адаптированном виде, когда на этом уровне не показывают сервисы и микросервисы, а переносят их на уровень глубже - C4 / Component. Иначе она очень перегружена.

👩‍💻 Полезна архитекторам, разработчикам и системным аналитикам.


👉 Компоненты (C4 / Component)
Модули кода и зависимости между ними.
Детализирует один из контейнеров с C4 / Container.
На каждый контейнер своя схема.
Отлично подходит для детализации модульного монолита.


👉 Код (C4 / Code)
На этом уровне детализируют каждый компонент c C4 / Component, показывая его реализацию в коде. Обычно это UML-диаграмма классов или другая визуализация.


Материалы:
🔗 Официальный сайт C4
🔗 Пример архитектуры C4 в Miro
🔗 Нотация С4 — примеры диаграмм и инструменты

Основные инструменты:
🔗 Draw.io
🔗 Structurizr


Элементы нотации с пояснениями в картинках к посту.

#АрхитектураGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍10🔥8😁1🤩1
🔵 C4 / Context - разбор на примере 🔵

Уровень Context в нотации C4 используется, чтобы дать высокоуровневое представление о системе и ее окружении.

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

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


👉 Что нужно показывать?

🔹 Основную систему – объект проектирования (например, интернет-магазин, банковское приложение).

🔹 Пользователей – кто взаимодействует с системой (клиенты, администраторы, партнеры).

🔹 Другие системы – с чем интегрируется (платежные сервисы, справочники, ЭДО и другие системы).

🔹 Типы взаимодействий – основные потоки данных (например, клиент отправляет заказ в систему, система взаимодействует с банком).


👉 Что важно знать?
На этом уровне НЕ важно, какая архитектура будет использована – монолит, микросервисы, сервисы.

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

Это первый шаг проектирования архитектуры – помогает всем участникам проекта построить общее понимание системы.


👉 Пример для системы бронирования жилья - проект #BookingGA

✔️ Основная система:
BookingGA

✔️ Пользователи:
владельцы жилья,
арендаторы,
сотрудники тех поддержки,
администраторы платформы

✔️ Внешние системы:
платежная система РайфПэй (Интернет-эквайринг),
сервис parser-api для проверки паспортов
сервис reestrnet для проверки документов на жильё


Схема архитектуры в C4/Context по проекту прикреплена к посту 🙌


#АрхитектураGA
14🔥5👌5👍2
💥 Разбор спорных вопросов по REST API с проектов и собеседований: исследуем Trello и Todoist 💥

Как понять, что мы проектируем REST API правильно? Никак. Смотреть на публичную API‑документацию крупных систем, диссертацию Роя Филдинга, или на то, что уже есть в проекте. И исходя из этого принимать решения о том, как будут выглядеть новые REST API методы.

В этой статье я хочу представить результаты исследований REST API сервисов управления задачами Trello и Todoist, чтобы показать, какие решения являются хорошими стандартами проектирования, а какие нет, но их всё равно применяют на практике.


👉 Решенные вопросы с обоснованием ответов:

1. Какой HTTP-код ответа на метод POST: 200 или 201?

2. Какой метод лучше использовать для редактирования данных: POST, PUT или PATCH?

3. Как правильно строить структуру URL запросов (эндпоинтов)?

4. Как правильно именовать эндпоинты — ед. число или мн. число (/task или /tasks)?

5. Как строить эндпоинт и body в REST API методе, если нам нужно создать задачу, и она должна быть создана внутри проекта?

6. Что вернуть в ответ на запрос списка, если ничего не найдено — пустой массив или HTTP-404?

7. Какой код вернуть в ответ на запрос DELETE?

8. Может ли быть у DELETE тело запроса?

9. Чем отличается REST от RESTful API?


🔗 Ссылка на статью


На примерах из этой статьи можно отстаивать свою правоту на собеседованиях и для команды, при проектировании методов REST API 💪

#RestApiGA #АрхитектураGA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍134
GetAnalyst_Микросервисы_5_способов_определения_BookingGA.pdf
5.1 MB
⚡️ Как выделять микросервисы? ⚡️

1️⃣ По группам функций
2️⃣ По доменам (Domain-driven Design, DDD)
3️⃣ По данным
4️⃣ По пользовательским сценариям

5️⃣ По уровню нагрузки

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

А подробнее и с примерами рассказала о них в мини-книге к посту 📚

#АрхитектураGA #BookingGA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥205👍5
🧐 Как системный аналитик влияет на проектирование архитектуры 🧐

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

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

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

1. Исследования и анализ
2. Выбор подхода к проектированию архитектуры
3. Формирование концептуальной схемы архитектуры
4. Оценка влияния нефункциональных требований

🔗 Ссылка на статью

#АрхитектураGA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🍾43
🔥 13 ошибок в использовании BPMN: разбор на примере задачи 🔥

В этом эпизоде подкаста мы разбираем 13 типичных ошибок при использовании нотации BPMN на примере задачи, которую может получить на собеседовании Системный или Бизнес-аналитик.

🔗 Презентация и полезные ссылки

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

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

Видео эпизода доступно в:
RuTube
YouTube
VK Video

Аудио-эпизод доступен в:
Apple Podcast
Яндекс.Музыка
Telegram
Castbox
Spotify

Подписывайтесь на GetAnalyst, чтобы получать новые знания в системном анализе каждый день 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥166👍3😁1
Это огромное сообщение я запомню на всю жизнь... Такого развернутого текста с обратной связью я правда никогда не получала ❤️

Перечитывала несколько раз. Улыбалась))


Моя миссия = миссия GetAnalyst:
Я хочу делиться своим практическим опытом, чтобы создавать лучших специалистов в системном анализе, которых я хочу нанимать.

Для этого я делюсь своими знаниями с вами, веду онлайн-занятия и общаюсь со студентами.

И если получается объяснять так, что и новичку понятно, и опытному специалисту не скучно, значит, всё идёт по плану 🙌

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


Поблагодарила Валентину, когда получила эту ценнейшую обратную связь.
И еще раз хочу сказать ей большое спасибо ❤️

#студентыGetAnalyst
❤‍🔥2217👍9🔥3😁3
🚀 Открытый урок по Архитектуре на этой неделе [1-3 марта] 🚀

Сегодня системным аналитикам важно не только описывать сценарии работы системы, но и глубоко понимать техническую сторону проектирования: API, интеграции, БД.

А если вы хотите расти в профессии и участвовать в сложных, высоконагруженных проектах, понимание архитектуры становится не просто преимуществом, а необходимостью.


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

💎 Проектирование архитектуры: от монолита к микросервисам
🗓 Доступ с 1 по 3 марта (сб-пн)
🔗 Зарегистрироваться

План:
1. Роль системного аналитика в проектировании архитектуры
2. Погружение в проект
3. Проектирование монолита
4. Переход к сервисной (SOA) и микросервисной (MSA) архитектуре
5. Проблемы при делении монолита на микросервисы
6. Базовые знания аналитика для работы с архитектурой


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

Регистрируйтесь, чтобы получить доступ к этому обучению!
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰11👍7❤‍🔥6🔥53
5_Архитектура_С4_Container_BookingGA_c_комментариями.png
733.3 KB
🔵 C4 / Container - разбор на примере для монолитной архитектуры 🔵

Уровень Container в нотации C4 детализирует систему, показывая её внутреннюю структуру на уровне крупных компонент – контейнеров.

Уровень отражает:
+ какие приложения и сервисы её формируют – независимые кодовые базы,
+ как они взаимодействуют между собой, с пользователями и внешними системами,
+ как организовано хранение данных в системе.


👉 Что нужно показывать?
🔹 Пользователей и внешние системы – переносим с C4/Context.
🔹 Контейнеры – основные приложения и сервисы системы (например, веб-приложение, мобильное приложение, Backend).
🔹 БД и Файловые Хранилища (ФХ) – места хранения данных.
🔹 Брокеры – для организации асинхронного взаимодействия.
🔹 Связи – какие потоки данных существуют, протоколы (например, мобильное приложение вызывает API Backend, Backend делает SQL-запросы в базу данных).
🔹 Технологии – указываем ключевые технологии, если это полезно для понимания и они известны на текущем этапе разработки (например, Backend на Spring Boot, Frontend на React, база данных PostgreSQL).


👉 Что важно знать?
✔️ На этом уровне важно понимать какая архитектура в проекте - монолитная, сервисная (SOA) или микросервисная (MSA).
✔️ Этот уровень помогает увидеть ключевые элементы системы, но без детализации кода. То, что внутри каждой кодовой базы, мы будем показывать уже на следующих уровнях: C4 / Component и C4 / Code.
✔️ C4 / Container не связан с инфраструктурой и Docker-контейнерами, что подтверждается автором нотации.
✔️ Глядя на C4 / Container проще описывать алгоритмы и рисовать UML Sequence для интеграций.


👉 Кому полезен?
✔️ Разработчикам и архитекторам - понять, из каких сервисов состоит система, и базовые принципы её проектирования.
✔️ Аналитикам и бизнесу - наглядно видеть ключевые приложения системы и движение данных между ними.


Примеры С4/Context и C4/Container для системы бронирования жилья #BookingGA прикреплены к посту:
пример для монолитной архитектуры
есть схемы комментариями и чистовые


#АрхитектураGA
👍16🔥83❤‍🔥1
Одна из ступеней профессионального роста системного аналитика - работа в тесном сотрудничестве с архитекторами на проектах с сервисной или микросервисной архитектурой.

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

💥 Проектирование архитектуры
🗓 Старт: 4 марта 2025
👉
Подробности о программе и заявка на участие

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

По всем вопросам пишите @getanalyst, info@getanalyst.ru или оставляйте заявку через сайт. Мы свяжемся с вами, поможем оценить текущие навыки и ответим на ваши вопросы 🤝
👍62
⚡️ Подборка микросервисов под проект #BookingGA: практика выделения микросервисов ⚡️

Ранее я рассказала как выделять микросервисы. А сегодня хочу дать вам полную подборку под проект, которую мы затем представим на C4 / Container микросервисной архитектуры.

Аутентификация и авторизация
Отвечает за доступ пользователей в систему, их роли и права.
Выделяется отдельно, так как авторизация общая для всех других сервисов системы

Управление пользователями
Пользователь – отдельная сущность со своим жизненным циклом, которой можно управлять независимо от остальных данных системы

Управление недвижимостью
Недвижимость – отдельная сущность со своим жизненным циклом и статусами, которой можно управлять независимо

Поиск недвижимости
Фильтрация и поиск объектов с учетом занятости.
Самая высоконагруженная функция в системе, её стоит держать отдельно

Бронирования
Бронирование – отдельная сущность и пользовательский сценарий, требующий сложной бизнес-логики

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

Рейтинг и отзывы
Отзывы – это отдельный тип данных, с которым можно работать независимо, не нагружая основную часть системы

Уведомления

Реализует общий для всех сервисов сценарий отправки email, push, SMS

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

Чаты и поддержка
Реализует общение пользователей с владельцами жилья и поддержку.
Позволяет реализовать обмен сообщениями с уведомлениями

Лояльность
С
кидки и промоакции – отдельные сущности со своим жизненным циклом и статусами, которыми можно управлять независимо

Можно ли выделить еще (или иначе) сервисы? Да.

Но уже в этом варианте мы распределили всю основную функциональность, и далее, при необходимости, можем развивать это решение 🙌

#АрхитектураGA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥42
🙌 DBeaver и практика SQL-запросов 🙌

Уже в следующий понедельник пройдёт продвинутый онлайн-практикум по БД и SQL:

🙌 Инструмент DBeaver. Практика SQL-запросов
🗓 3 МАРТА 2025 (ПН)
🕖 19:00 (Мск)

🔗 Подробности и регистрация

План:
1*. Знакомство с инструментом DBeaver. Подключение тестовой БД
2*. О применении SQL аналитиками. Ключевые операторы SQL-запросов.
3. Практика SQL-запросов на получение данных в DBeaver.
4. Использование AI (искусственного интеллекта) в качестве помощника в работе с SQL-запросами.

* - самостоятельная подготовка по видео-уроку в платформе, на занятии максимально практикуемся с SQL.
** - т.к. есть пересечение с открытым уроком по архитектуре, то даем всем участникам практикума расширенный доступ до 10 марта.



Практикум подойдёт, если вы:
✔️ Умеете проектировать ER-диаграммы (логический уровень минимум)
✔️ Хотите освоить SQL с нуля, на практике, за одно занятие
✔️ Научиться упрощать свою жизнь с использованием Искусственного Интеллекта при работе с SQL

Этот важный практикум для системных аналитиков, который поможет понять что такое SQL и зачем он на примере работы с реальной базой данных 🙌

Материалы по БД для знакомства и подготовки к онлайн-практикуму по DBeaver + SQL:
🔗 Статья о том, зачем БД аналитику
🔗 Статья о прекрасных возможностях DBeaver
🔗 Обучающее видео "Проектирование БД - логический уровень"

До встречи на практикуме! 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
👍145🔥5😁31