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
Привет-привет! Вчера провели эфир на котором обсудили как системному аналитику живется в мире IT, какие у него зоны ответсвенности и задачи.

Самое-самое:

🌟 Откуда приходят в профессию и как начать работу по специальности без опыта (картинка к посту + много крутых комментариев было в эфире)
🌟 Челленджи аналитика - какие задачи выходящие за пределы специальности может решать системный аналитик.
🌟 Возможности карьерного роста через развитие определенных навыков и желание.
🌟 Собеседование: ошибка и лайфхак (неожиданно, по вопросам из чата).
🌟 Вакансии и стажировки.

Разбирали IT-проект, с которым продолжим работу на следующей неделе 😉

Для тех, кто не успел подключиться, проведем повтор.

📹 Сегодня в 15:00 Мск
🟢 ЗАРЕГИСТРИРОВАТЬСЯ можно по той же ссылке.

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

Очень активно провели весь эфир! Спасибо за ваши вопросы - они сделали его еще лучше, чем я ожидала! ❤️
6🎉3🔥2
Не так давно я разбирала пример постановки задачи на фронтенд. Сейчас хочу погрузиться в особенности постановки задач на бэкенд.

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

▫️ Сценарий на фронте
Перед началом работы мы должны иметь сценарий, в котором будет использоваться метод бэкенд. Это значит, что мы должны выяснить, в каком процессе(-ах) в приложении пользователей он будет использован.
Как показала практика, хорошо, когда до постановки задачи на бэкенд уже есть макет UI. Не окончательный, но с точным набором полей ввода, данных и кнопок.

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

▫️ У метода есть вход и выход
У люого метода есть входные и выходные данные. И мы должны их четко понимать на момент постановки задачи.
Входных данных может и не быть, если вызовом метода нужно запустить какой-либо общий процесс на сервере. Аналогично с выходными данными. Иногда простого ОК достаточно.


Продолжение 👇
🔥9👍51
▫️ 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