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
▫️ API
Задача на бэкенд - это про разработку метода API - программный интерфейс, который защищает доступ к базе данных.

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

▫️ Интеграции
Если нам нужно разработать интеграционный метод, то наш алгоритм работы метода должен содержать точные названия методов внешней системы, с которой предстоит взаимодействовать. И стоит дополнительно перепроверить нашу БД. Возможно ее придется еще немного дорабоать.

▫️ Маппинг
Может быть необходим для: API + БД + Внешняя система.

▫️ Требования к безопасности
Определите роли пользователей, которые будут работать с API-методом, и укажите требования к авторизации. Если метод открытый и защиты быть не должно, то это тоже стоит явно прописать.


Задача
Регистрация личного кабинета пользователя (ЛК)

Готовы разбираться на практике? 👍
👍32
Коллеги на вебинаре справшивали про архитектуру - одно из направлений, куда могут расти системные аналитики.

Рекомендовала посмотреть видео Доставить и не потерять: синхронизация данных в распределенных системах.

Будет что посмотреть в выходные 😉 Отдыхаем и набираемся сил! Прекрасного отдыха ❤️
👍93👎1
Время бэкенда! ⚡️

Задача:
Регистрация личного кабинета пользователя (ЛК)

Ход мыслей:
Сначала я разбираюсь с данными, затем с методами.
1. Проверяю, достаточно ли в существующей базе данных для реализации метода.
2. Анализирую требования и пытаюсь понять какое количество методов мне будет необходимо.

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

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

Важны:
1. Логин (почта) и пароль для входа.
2. На почту отправлять код подтверждения, чтобы исключить фейковые аккаунты. А значи будет статус пользователя: активен, заблокирован, не подтвержден.
3. Персональные данные: имя, телефон и почта.
Больше ничего не надо для регистрации. Сразу же думаю про дальнейшие способы авторизации по протоколу OAuth 2.0 или по токенам. Но это можно вынести в отдельную задачу 😉

Итого, надо таблицы:

✔️Пользователь
✔️ Коды активации аккаунта - история
Т.к. может быть, что для одного пользователя было запрошено несколько кодов последовательно или пользователь регистрировался в разное время. А еще через эту таблицу будем отслеживать кодичество отправленных писем с кодами для статистики.


Методы определяю через сценарий Frontend. Напоминаю:
🔗 POST /user - метод регистрации пользователя, реализованный на стороне бэкенда приложения сообщества (нажатие на кнопку "Зарегистрироваться")
🔗 POST /user/{Id}/confirmEmail - метод подтверждения учетной записи пользователя по коду из email (нажатие на кнопку "Продолжить" на форме для ввода кода из email)


Продолжение завтра... 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17👀2
Еще не придумали планы на воскресенье? Предлагаю посвятить этот день обучению 😉

Повтор вебинара
📹 Системные аналитики: про опыт работы в IT-проектах
12:00 - 15:00 Мск
18:00 - 21:00 Мск

Подключиться можно будет по этой ссылке 🔗
👍5
GCMA_user_пользователь_учетная_запись_GetAnalyst.pdf
159.9 KB
🌟 Постановка задачи на бэкенд - требования к БД 🌟

Прежде чем программисты начнут разрабатывать методы Backend, им нужно подготовить базу данных.

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

В Telegram таблицу БД описать можно. Решила, что все равно делаю вам постановки задач с определенной структурой и содержанием для Confluence(Notion). Поэтому подготовила постановку задачи на разработку новой таблицы в БД user в документе.

Вторую связанную таблицу "История отправки сообщений на email" опишу здесь кратко.

Таблица:
confirmation_email_log

Поля:
+ id. - системный параметр, уникальный
идентификатор записи в БД.
+ user_id - пользователь, для которого направляется код подтверждения.
+ email - фактическое значение почты, на которую необходимо отправить письмо, дублируется сюда из user_id на случай замены почты у пользователя.
+ code - сгенерированный к отправке код, по которому подтверждают аккаунт.
+ status - ожидает отправки, отправлено.

Сохраняйте себе в избранное пример заполненного шаблона задачи на разработку БД.
Постановку задачи в таком формате можно использовать как проетную документацию - артефакт от разработки 🌟
🔥20👍12
GetAnalyst-Шаблон задачи Backend - Confluence.pdf
103.4 KB
🌟Шаблон постановки задачи на разработку метода Backend🌟

А теперь самое главное: когда БД готова, то можем делать требования на разработку метода API для Backend-разработчика.

Что это и зачем?

Хочу напомнить. В системах мы имеем дело с UI и API.
▫️ UI - пользовательский интерфейс (Frontend). Это кнопки, поля ввода, картинки - все, что видит пользователь на экране.
▫️API - программный интерфейс (Backend). То, что не видит пользователь. Но именно Backend скрывается за нажатием на кнопку, и не только. Именно благодаря ему приложения работают онлайн. И вообще работают. В Backend программисты реализуют ключевые алгоритмы обработки данных, там же хранятся все-все-все данные.


API бывают разные - REST API, SOAP API, FTP, GraphQL, и другие. Мой шаблон идеален для REST API. Он может быть упрощен или наоборот расширен в зависимости от проекта. Это каркас - идеальный баланс того, что должно быть в постановке задачи на Backend-разработчика.

🌟 Сохраняйте в избранное, чтобы не потерять: долгое нажатие на сообщение -> Переслать себе 🌟

Готовы применить шаблон? Пробовать описывать методы Backend для нашего проекта - мобильное приложение для сообществ? ❤️
23🔥9👍7
Системный анализ - это по любви ❤️ На эфире в прошедший четверг опытные и начинающие коллеги поддержали меня в этом!

Во время эфира:

🚀 Открыла запись на программу "Системный аналитик: с 0 до опыта работы на проекте", которая стартует 28 июня
На ней я помогаю начинающим в IT, переходящим в системный анализ и действующим младшим аналитикам получить навыки, структурировать знания и получить проектный опыт, чтобы дорасти на практике до middle-специалиста.

🎁 Я сделала необычный подарок - интенсив "СТАЖИРОВКА СИСТЕМНОГО АНАЛИТИКА"
На этой и следующей неделе мы проводим интенсив, чтобы перед началом обучения было понимание о профиссии Системный аналитик. Это возможность попробовать себя в новой должности!
Начинающие и интересующиеся профессией посмотрят на процесс работы и попробуют свои силы. А действующие специалисты попрактикуются в решении задач 👀

Продуктивной недели и до встречи на наших мероприятиях!
8🔥4👍3
Внимательно посмотрите на картинку, которая уже была вчера. В ней правда о том, почему я люблю и ненавижу бэкенд.

80% кропотливой работы от всего проекта: над алгоритмами, БД и архитектурой системы, которую не видят пользователи 😟 Но я то знаю, что без бэкенда ничего не заработает.

Про нашу регистрацию, с которой сейчас работаем: iOS, Android и сайт будут использовать один и тот же метод Backend.
То есть три разных UI будут вызывать один и тот же API-метод, который переиспользуется.

Ответственность, лежащая на Backend-разработчиках и аналитиках, которые делают постановки задач, велика. Нужны требования к логике, БД, безопасности, нагрузке, потенциальным изменениям. Важно знание всех клиентов (Frontend). которые будут использовать этот метод.

И именно за возможность простроить все эти логические связи и кропотливую техническую работу я люблю Backend 🥰
😍10
Пример_задачи_на_Bakend_POST_user_регистрация_пользователей.pdf
320.9 KB
🟢 Я люблю то, что реально нужно на практике 🟢

🌟 Пример заполненного шаблона постановки задачи на Backend 🌟


Ключевое по задаче на регистрацию пользователей в приложении сообщества GetAnalyst:

1️⃣ Нужно сделать требования на методы:
- Зарегистрировать пользователя.
- Подтвердить учетную запись.
В заполненном шаблоне только один метод. Это две разных постановки задачи. Поэтому два разных Confluence-документа.
+ очередь...)


2️⃣ Я показала направление, дала подсказки что, как и куда писать.
Далее надо продолжать собирать и структурировать всю информацию, по итогам анализа описать все сценарии в постановке задачи.


3️⃣ Не усложняйте формулировки. Чем проще, тем лучше.
Не надо длинных предложений, соблюдайте удобное форматирование. Пишите как для себя. Никто не любит тонуть в море текста.


Backend, БД и интеграции - три важных составляющих систем, которые должны понимать системные аналитики! Сохраняйте шаблон, он обязательно приходится! 🙂
🔥14👍94
Знакомый круговорот? 👀 Как выйти из из него?

Это проблема не только тех, кто начинает карьеру. Аналитики, кто пока работал только в одной компании тоже с этим встречаются.

Как получить работу или опыт Системному аналитику, если нет опыта?


▫️ Проходить стажировки.
▫️ Учиться там, где сразу дают опыт.
▫️ Общаться с экспертами-аналитиками.

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

Со следующей недели на практической программе обучения для системных аналитиков мы начнем встречаться онлайн, каждую неделю, чтобы сделать проект: теория + работа с задачами по ней сразу. Это проект для вашего портфолио 📚

Есть случаи "Я пришел с улицы, без опыта, меня взяли и я быстро доучился" - у нас будет не этот случай. Вы неизбежно получите опыт работы системным аналитиком 🚀
🔥3👍2
Полезный совет: нейминг решает

🟢 Если назвать бокал стаканом, то назначение "пить" вроде бы не меняется, но что-то все-таки не то.

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

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

Имена объектов и методов в конечном счете становится языком команды разработки, заказчика ПО и даже пользователей.

Больше полезных советов в моей статье Маленькими шагами к красивым решениям 🔗
7👍2
Открываем новую рубрику #историиGetAnalyst 🚀

За 2 года работы школы платные программы прошли уже 500+ студентов.
Результаты многих восхищают и вдохновляют команду GetAnalyst делать и дальше крутые продукты, которые помогают реализовываться и развиваться в IT-карьере.

Сегодня расскажем об успехах одной из студенток второго потока программы «Системный аналитик: с нуля до опыта работы».

Гульшат пришла на курс уже специалистом: в системном анализе она проработала 1,5 года.
Была цель «подтянуть» и упорядочить знания, заполнить пробелы🎯

До этого девушка участвовала в бесплатных вебинарах GetAnalyst и проходила курс по БД и SQL.

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

Благодаря обучению:
▫️структурировались знания в проектировании БД
▫️освоила проектирование UI/UX
▫️поняла, как грамотно формировать задачи на разработку
▫️освоила Notion
▫️разобралась в программе Figma.

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

🔥 После курса Гульшат нам рассказала, что её уже приглашали на работу в другую компанию, но на прежней работе предложили повышение в должности и по ЗП 🔥

Для нас это самый крутой результат.
Мы понимаем, ученики не просто послушали лекции, а пошли с уверенностью применять знания на практике 🚀

Давайте поддержим Гульшат ❤️❤️❤️ и пожелаем ей еще более крутых результатов в самое ближайшее время!
🔥173👍1
Выходные для учёбы и мемасов – так считает наша команда GetAnalyst 🕺🏻💯

Поэтому свежая порция шуток на тему работы в IT от нашего стола к вашему, как говорится 😅

Всем отличного настроения 😘
👍11🤣5