Вера Коновалова | Системный аналитик в IT
2.18K subscribers
199 photos
6 videos
125 links
Системный аналитик 8+ лет
Жиза и наблюдения про работу в IT
Мой курс по СА на Stepik 👉 https://stepik.org/a/247866
Практика 👉 https://stepik.org/a/253170
Связаться 👉 @verakonovalova
Download Telegram
Пример описания задачи по БД

Ранее мы говорили о шаблоне описания задачи по БД. Сегодня разберём пример — всё смотрите в картинках. 👆

Наша задача — проработать модель данных, уточнить требования и обсудить всё с командой. Важно отметить, что СУБД ещё не выбрана.

#db
👍10🔥5❤‍🔥4💯1
Добавляете новое обязательное поле в БД? Не забудьте продумать миграцию!

Представьте, что нужно добавить новое обязательное поле в БД — customer_type. Его возможные значения: BASIC и PREMIUM.

Что делать с записями, которые уже есть в базе данных? Поле должно быть заполнено, так как оно обязательное.
Необходимо продумать миграцию данных: как будем добавлять новое поле и что делать с уже существующими записями? Проставим им значение по умолчанию — BASIC.

Пример миграции:
ALTER TABLE customers
ADD COLUMN customer_type ENUM('BASIC', 'PREMIUM') NOT NULL DEFAULT 'BASIC';

UPDATE customers
SET customer_type = 'BASIC'
WHERE customer_type IS NULL;

Что делать?
1️⃣ Оповестите бизнес-команду о добавлении нового обязательного поля и о том, что все текущие записи в БД будут автоматически обновлены со значением BASIC.
2️⃣ Протестируйте миграцию на тесте.
3️⃣ После успешного тестирования добавьте поле в продовую базу и проведите миграцию для существующих записей.

#db
👍8🔥2👏2💯1
Сущность ≠ Таблица

Зачастую путают понятия «сущность» и «таблица», думая, что это одно и то же. Но это не так.

Сущность — это абстрактный объект, который моделирует реальный мир, например, «Поставщик» и «Покупатель».
Таблица — это уже конкретная структура в базе данных, которая хранит данные о сущности. 🗃️

Пример:
Представьте, что в компании есть поставщики и покупатели. Для бизнеса — это разные сущности, но у них много общих атрибутов: имя, контактная информация, реквизиты и прочее. Вместо того чтобы создавать отдельные таблицы для поставщиков и покупателей, их можно объединить в одну таблицу Контрагенты, где будут храниться данные об обеих сущностях. Дополнительное поле может указывать, является запись «Поставщиком» или «Покупателем».

Такое решение позволяет более эффективно управлять данными и избежать дублирования информации.

#db
👍104🔥2💯1
Типичное воскресенье

Системный аналитик в выходной:
— Попробую не работать.
10 минут спустя:
— Так… пора проанализировать, как я отдыхаю. 🧐
👍8😁72💯2
Понедельник — день, когда проекты оживают, а мы... ну, как можем.
👍7😁4❤‍🔥2💯1
Что лучше использовать — ENUM или справочник?

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

🔹 ENUM — отличный выбор, когда значения заранее известны и редко изменяются. Например, если тип клиента может быть только «Basic» или «Premium», тогда ENUM подходит идеально. Это решение упрощает архитектуру, так как нет необходимости создавать дополнительную таблицу.

🔹 Справочник лучше использовать, если возможные значения могут изменяться со временем или пополняться. Например, для поля «Специализация врача» справочник будет подходящим вариантом, так как список специализаций может расширяться, и каждая специализация может иметь дополнительную информацию (описание, коды, и т.д.).

Сравнение подходов см. в картинках👆

#db
👍83💯3
Когда документация говорит одно, а проект работает по-другому… 🤯

Как думаете, о чем подумал системный аналитик в этот момент?
Выбирайте наиболее близкий вам вариант👇
👍4❤‍🔥3💯1
Судя по прошедшему опросу, проектирование бизнес-логики — ваша любимая задача! 🎯
https://t.me/analystcore/91

И это неудивительно! Для системных аналитиков бизнес-логика — это основа всего. Продумывать её — значит превращать разрозненные требования в чёткое и понятное «А что мы делаем?».

💡 Почему это важно? Да потому что без этого никуда! Ни к проектированию БД, ни к API, ни к интеграциям не приступить, пока бизнес-логика не будет продумана от и до.

Вот несколько инструментов, которые помогут вам на этом этапе:
- UML (диаграммы активности и последовательности) — для визуализации процессов и взаимодействий.
- BPMN — для построения бизнес-процессов с участием всех ролей.
- Use Case — помогает продумать сценарии взаимодействия пользователя с системой.
- Flowcharts — простые и понятные блок-схемы, показывающие пошаговые действия.

Ключевые моменты при проектировании бизнес-логики:
1️⃣ Понять основные цели бизнеса.
2️⃣ Учесть все возможные сценарии.
3️⃣ Проработать расширения «а что может пойти не так?»

Для многих аналитиков это самый важный и интересный этап работы, потому что именно здесь рождаются основные решения, которые определяют успех всего проекта. 🔥
👍103💯3
Что мы знаем о Lean?

Когда мы говорим об Agile, первыми на ум приходят Scrum и Kanban. Но есть и Lean, который также заслуживает внимания. 😎

Lean означает «бережливый» и пришёл из производства (Lean Enterprise). Он направлен на минимизацию потерь: устраняем лишнее и концентрируемся на ценности для клиента.

Lean в IT работает аналогично: создаём минимальную версию, получаем фидбэк и дорабатываем. Знакомо? Да, ведь многие идеи Lean мы используем, не осознавая этого — например, концепцию MVP. Это ключевой элемент подхода Lean Startup, предложенного Эриком Рисом.

Принцип 20/80 (Принцип Парето) также пересекается с философией Lean.

Основная идея Lean — создавать, тестировать и учиться. Идеально подходит для новых продуктов. Это модель экспериментов: потратив минимальные ресурсы (те самые 20%), вы получаете обратную связь и решаете, стоит ли продолжать разработку.

Более подробно смотри в картинках 👆

#dev_process
👍10🔥3💯2