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

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

РКН №5013005196
Download Telegram
🔥 Проектирование БД для проекта с нуля - 2 важных видео🔥

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

Если у вас нет опыта проектирования БД с нуля, нужно структурировать знания по построению ER-диаграмм или необходимо прокачать знания по БД, то настоятельно рекомендую посмотреть эти видео:

1.
Проектирование БД: концептуальный уровень
2. Проектирование БД: логический уровень + ChatGPT

В них на примере проекта в деталях рассказываю как проектировать БД с нуля. ❗️Всего два урока, после которых фундаментальные знания будут разложены по полочкам.

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

Не откладывайте и обязательно смотрите эти два видео!)) Они очень помогут улучшить ваши знания и дадут опыт работы с БД! 🙌
24🔥4🥰3👍1🤣1
🔬 Разбираем архитектуру интеграционного проекта #GABank 🔬

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

Главное, что мы должны показать на схеме - это её основные компоненты:
1. Пользовательские приложения / Frontend / UI
2. Backend с базовым пониманием архитектуры: сервисы / микросервисы / монолит
3. Базы данных
4. Файловые хранилища
5. Внешние системы
6. Оборудование


Стоит обратить внимание, что когда я готовила схему для нашего приложения банка, прикрепленную к посту, я сделала допущение, что Backend монолитный. В реальных банковских проектах это не так - там SOA и MSA (сервисная и микросервисная архитектуры).


Компоненты #GABank, задействованные в процессе ввода реквизитов для перевода между юрлицами и отраженные на схеме:
- Мобильные приложения iOS/Android
- Веб-приложение
- Монолитный Backend с REST API для клиентов
- Внешняя система DaData, с интеграцией по HTTP
- Единая база данных
- Файловое хранилище для PDF по итогам переводов
На основании их создана схема.


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

В идеале, дополнить это UML-диаграммой последовательностей, которая помогает рассказывать интеграционные сценарии. Но не обязательно :)

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

#ИнтеграцииGA
12👍8🔥2👎1
🤖 Искусственный Интеллект и новые тренды в разработке 🤖

Тренд использования искусственного интеллекта, как ChatGPT, продолжает набирать обороты. Компании ищут сотрудников со знаниями и опытом работы с ИИ. Особенно с опытом интеграции по API.

Немного важных моментов с конференции, которую посетила:

1. ChatGPT - это модель, на основе которой работают большинство молодых стартапов в США. Основатели собирают от 1млн$ за креативные идеи, как применить ChatGPT и зарабатывать на этом деньги.

Самое впечатляющее, что уже увидела: ИИ для программирования бэкенда с нуля до деполоя на сервера в одном приложении на основе ИИ. Код знать не надо 🤩

На вход - постановки задач от системного аналитика, прям на все 100%. Взяла контакты основателя, планирую протестировать насколько хорошо работает.


2. За пределами ChatGPT есть другие модели искусственного интеллекта. Да, ChatGPT признан основным, но я нашла инструмент с моделью ИИ, который теперь вместо меня проверяет подлинность сгенерированной информации.


3. Приложения с Искусственным Интеллектом настоятельно рекомендуют сразу делать в сервисной и микросервисной архитектуре. Если монолит - проблемы в скорости работы.


4. Проблемы безопасности при использовании ИИ стоят на высоком уровне.

Задача тестировщика при работе с Искусственным Интеллектом находить скрипты для самоуничтожения.

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


5. Появляются дополнительные ИТ профессии. Текущие остаются, только знаний надо больше.
ChatGPT помогает работать, но никого не заменяет. Системные аналитики лучшие технические специалисты в постановке задач на разработку для ChatGPT.


Итого:
Продолжаю активно изучать и применять ИИ в работе.

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

В ближайшее время структурирую информацию и вернусь с практически-полезными материалами.


А картинка к посту - о прекрасных рабочих буднях в больших серьезных компаниях 👇

Первый кадр:
ИИ превращает этот единственный пункт в длинное письмо, которое я могу притвориться, что написал.

Второй кадр:
ИИ делает из этого длинного письма один пункт, и я могу притвориться, что прочитал его.

Переведено при поддержке ИИ 🤖
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥248👍5🤔1
🤖 Подкаст про ИИ + лайфхаки ChatGPT для Системных Аналитиков 🤖

В этом эпизоде подкаста вы познакомитесь с возможностями Искусственного Интеллекта ChatGPT для профессии системного аналитика, и узнаете о проблемах, которые могут быть связаны с его использованием.

1:30 - Определение Искусственного Интеллекта (ИИ) / AI (Artificial Intelligence).
6:32 - Что такое ChatGPT*, как он работает и какие задачи выполняет.
15:56 - Идеальное транскрибирование голоса в текст за счет анализа контекста Искусственным Интеллектом через мобильное приложение ChatGPT.
18:12 - Обзор карты навыков системного аналитика и применение ChatGPT как дополнительного инструмента в работе. Про сбор требований.
27:11 - Работа с бизнес-требованиями. Диаграммы BPMN (инструмент Camunda). Для презентаций рекомендуется приложение Canva*.
37:49 - Работа с функциональными и нефункциональными требованиями (упоминаемый подкаст про НФТ). Диаграммы UML (инструмент PlantUML) через ChatGPT.
41:55 - Документирование, проектирование базы данных, архитектура систем.
48:15 - Маппинг данных с помощью ChatGPT при постановке задач на интеграции и API.
49:19 - Проектирование REST API через ChatGPT.
53:23 - Тестирование, инструменты и другие навыки системного аналитика.
Пример Swagger-документации Wildberries, пример рабочего проекта с кодом.
1:01:51 - Где использовать ChatGPT. Полезен или вреден ChatGPT? На что обращать внимание. Отсылка на статью про C4 - диаграмму для архитектуры.

*P.S. Часть ссылок точно доступна только под VPN в некоторых странах.

Эпизод доступен в:

Apple Podcast
Яндекс.Музыка
YouTube
Telegram
Castbox
Spotify

Слушайте на удобных площадках, подписывайтесь и делитесь с коллегами! 💖
16👍11🔥5😍1
This media is not supported in your browser
VIEW IN TELEGRAM
Друзья, предлагаем подборку фильмов и сериалов про IT, чтобы вы точно проверили классно время в выходные 👌

Делитесь, что уже смотрели или планируете посмотреть😏👇
👍17🔥43
🔸 Как одно требование на интеграцию может превратиться в 10+ задач на разработчиков 🔸

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

Можно подойти к аналитике и декомпозиции поверхностно, создать и описать следующие задачи:

1. Дизайн экрана - изменения в связи добавлением функциональности.
2. Одна задача на Backend, на разработку метода API, который будут использовать приложения.
3-5. По одной задаче на каждый фронтенд (веб- / мобильные приложения).


Но это всего лишь группы работ, но не конкретные задачи на разработчиков.

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

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

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

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

Хочу поделиться им с вами в следующем посте 🙂

#ИнтеграцииGA
🔥52👍93🦄3
📝📌 Стандартный подход по созданию постановок задач на Интеграции 📌📝

К посту добавила схему по созданию постановок задач на Интеграции для разных разработчиков в команде + дизайнера.

Работает она не только для интеграций. И если дополнить ее ссылками на шаблоны постановок задач, то так можно создать идеальный мир перфекциониста-аналитика на работе 🤩

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


❗️На схеме не отражены шаги работы аналитика перед тем, как он вообще может приступить к “нарезке” задач - анализ API-документации, тестирование API в Postman или аналогичном инструменте. Это всё есть в моей статье Пошаговый план работы с задачами на интеграции.


Много важных шагов, которые мы, аналитики, делаем, чтобы интеграция была разработана и запущена в продакшн 🙌

Сохраняйте пост в избранное, и пробуйте применять у себя в текущих и будущих проектах 💛

#ИнтеграцииGA
Please open Telegram to view this post
VIEW IN TELEGRAM
26👍1🔥1
🤓 Я всё знаю 😞

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

Это сигнал того, что я остановилась в развитии, ленюсь и больше ни к чему не стремлюсь. Знать всё просто невозможно.

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

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

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

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

"Я ничего не знаю" - именно это состояние постоянно со мной и я поддерживаю его, чтобы идти вперед и достигать новых результатов 🙌

А на какой стороне вы?))
Ставьте реакции:
🔥 - "Я ничего не знаю"
👍 - “Я всё знаю”
🔥135👍10😱3🦄1
💡 Интеграции — это не магия, а навык. Технический навык системного аналитика, который открывает путь к самым интересным проектам и вакансиям.

🚀 26 июня стартует практическая программа по интеграциям от GetAnalyst. На ней мы поможем вам освоить этот востребованный навык и прокачать карьеру.

Вас ждет:
◽️ 10 живых онлайн-встреч с опытными системными аналитиками.
◽️ Работа над ОДНИМ проектом в течение всей программы.
◽️ Разбор всех этапов проектирования интеграций от А до Я на его примере.
◽️ Возможность задать вопросы и получить обратную связь от экспертов сразу.

👉 Узнать подробности о программе и записаться
🎁 При записи до 24 июня: самые выгодные предложения и дополнительное обучение по БД в подарок.

Есть вопросы или не уверены, что эта программа актуальна для вас?
Пишите @getanalyst или заполняйте анкету предзаписи на сайте. Мы свяжемся с вами и поможем оценить ваши текущие навыки и ответим на все вопросы!
6👍3👎1🔥1
📝📌 Образец по декомпозиции задач на Интеграции 📌📝

Рассказала теорию по декомпозиции задач на интеграции, теперь хочу продемонстрировать, как это работает на примере проекта #GABank - экранная форма для заполнения реквизитов на перевод юридическим лицам.

Frontend (пользовательские интерфейсы)

🟪 1. Дизайн UI/UX для web-, iOS, Android

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

Теперь передаем дизайнеру информацию о том, что нам нужны выпадающие списки для автозаполнения остальных полей после выбора:
- ИНН + организации
- БИК + банка

Описываем возможные сценарии, когда заполнение может быть сразу всего, даже с банком. И пусть дизайнер улучшает выпадающие списки, описывает UX - переходы между полями и так далее (плохой сценарий - у нас нет дизайнера UI/UX и это делает аналитик, так бывает и это ок).


По картинке со схемой дальше идут задачи на Frontend, а по факту я сначала делаю постановки задач на Backend.

Backend (сервер-приложения, БД и др)

⬛️ 2. Изменения в БД
Банковские переводы уже работали. Поэтому я считаю, что база данных “как есть” для хранения сведений, которые будем получать из DaData, подойдёт нам и в текущем виде - уже есть таблица своих и чужих компаний, можно только отметки “синхронизировано с DaData” добавить в обе таблицы с компаниями, но смысла не вижу. Описывала БД здесь.

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

А еще может быть задача на добавление поля external_id в существующую таблицу (идентификатор записи во внешней системе), когда надо сохранять данные из внешней системы, чтобы знать источник - откуда мы это взяли и как проверить. Но у DaData нет своих id для компаний, они их не возвращают в ответе, только ИНН. Так что дорабатывать БД не надо. Ура.


#ИнтеграцииGA
Продолжение скоро 👇
13👍4🔥4
📝📌 Образец по декомпозиции задач на Интеграции - часть 2 📌📝

⬛️ 3. Новый сервис
Для #GABank не нужен, так как решили работать в монолитной архитектуре. Но бывает, что интеграции нужно выносить в отдельные сервисы или микросервисы.

Примеры:
+ сервис уведомлений с интеграциями к системам push, sms, email;
+ сервис с однотипным набором интеграций, например для сравнения цен на отели интеграция с 10-ками систем, где есть возможность забронировать номер, у которых примерно одинаковая логика работы.



🟪 4. Настройка конфигураций
Для интеграции с DaData необходим минимум конфигураций, которые надо будет настроить в системе:

+ Сохранить базовый URL системы для выполнения запросов
POST http://suggestions.dadata.ru/suggestions/api/4_1/rs/findById/party

(документация)
POST http://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/bank

(документация)
Тестовой площадки по отдельному URL нет. Чтобы не расходовать платные запросы и делить тест и прод, то можно завести тестовую и боевую учетные записи.

Для разных API DaData сохраняется одинаковый адрес:
http://suggestions.dadata.ru/suggestions/api/4_1/rs

Его можно внести в конфигурацию. Осторожно учитывать версию API. То, как внешняя система работает с версионированием методов может повлиять на то, можем внести версию в постоянные конфигурации или нет.

+ Сохранить в хранилище ключей или в конфигурации API-ключи для продакшн и для теста.

+ Гибкие лимиты тут не нужны, но можно сохранить, что на одного пользователя не более 100 запросов в сутки. И в целом, при проработке алгоритма интеграции, стремиться к оптимизации числа запросов.


⬛️ 5.1. Разработка механизма авторизации
Для DaData механизм авторизации заключается в подстановке постоянного API-ключа из хранилища ключей в Header запроса “Authorization”.

#ИнтеграцииGA

Далее про авторизацию, доработки интеграционных API-методов и Frontend 👇👇👇
👍7🔥1
📝📌 Образец по декомпозиции задач на Интеграции - часть 3 📌📝

⬛️ 5.1. Авторизация - продолжение👇
Нужно подготовить отдельную статью на разработчика, с этим описанием: как проходит авторизация запросов в DaData.

А реализацию он может сделать вместе с реализацией первого интеграционного API-метода (п. 6). Мельчить задачи не нужно.

А для OAuth 2.0 у внешней системы, например, всё сложнее))


⬛️ 5.2. Разработка механизма ре-авторизации (повторной авторизации)
Для DaData это не актуально, так как API-ключ постоянный.
Это, кстати, причина, почему мы не можем напрямую обращаться с frontend в DaData, т.к. этот секретный API-ключ могут отследить через консоль, украсть, и начать расходовать наши лимиты платных запросов((


🟪🟪 6. Интеграционные API-методы
Вызов API будет в трех местах:

6.1. Вызов интеграционного метода REST API GABank на получение организаций по ИНН. После вызова метода необходимо будет проверить внутреннюю базу на наличие организации по ИНН + добавить к ней ответы из внешней системы DaData.
POST http://suggestions.dadata.ru/suggestions/api/4_1/rs/findById/party

(документация)

6.2. Вызов REST API GABank на получение банков по БИК. Как в п.1, но под капотом вызов другого API-метода внешней системы.
POST http://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/bank

(документация)


6.3. Вызов внутреннего метода REST API GABank на осуществление перевода между юрлицами одного или разных банков. Метод также интеграционный, отправляет операцию в какую-нибудь очередь или брокер на обработку. Но в его детали мы пока не погружаемся.



Возвращаемся к Frontend

🟪🟪🟪 7. Задача на доработку web-, iOS, Android
Нужно поменять дизайн экрана и его поведение при вводе ИНН + БИК на основе ранее созданных макетов UI/UX (п.1) и подключить интеграционные API-методы (п.6).



Готово!
Получилось 7 полноценных задач для одного простого требования.

Такие вот интеграции: “приключение на час”, которое оборачивается в кучу исследований от аналитика и большие работы со стороны разработки 🙌

#ИнтеграцииGA
👍161🔥1
🧡 Гайд по проверке API через Postman 🧡

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

Для этого нужно:

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

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


2. Прочитать документацию "по диагонали" и найти важную информацию:
- Авторизация и аутентификация.
- Рекомендации по использованию API. Примеры сценариев использования. Это не всегда есть в API-документации. Но если есть, то считайте, что задача почти готова.
- Общие требования к обработке ошибок. Коды ответов.
- Список методов, необходимых для реализации интеграционных сценариев. Нужно понять, что методов для реализации бизнес-процессов в нашей системе достаточно.

Для интеграции с DaData все это описано в рамках отдельных документов (веб-страниц) по каждому методу.
🔗 Метод поиска компании по ИНН
🔗 Поиск банка по БИК


3. Протестировать API и понять как он работает. В основном для этого используют инструмент Postman. Для SOAP API - инструмент SOAP UI.

Для интеграции с DaData нам потребуется Postman.
🧡 Ссылка на гайд по тестированию одного из методов API DaData в Postman 🧡


Предлагаю посвятить сегодня 20-30 минут (или даже меньше), чтобы разобраться с двумя нужными нам методами API DaData и получить ваш опыт работы с инструментом Postman 😉🧡

#ИнтеграцииGA
21👍11🔥8
GetAnalyst_Use_Cases_Обычные_VS_Интеграционные.pdf
1.1 MB
🎲 Use Case: ОБЫЧНЫЕ vs ИНТЕГРАЦИОННЫЕ 🎲

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

P.S. Если еще не улыбаетесь - смотреть картинки
😁554