Пример описания задачи по БД
Ранее мы говорили о шаблоне описания задачи по БД. Сегодня разберём пример — всё смотрите в картинках. 👆
Наша задача — проработать модель данных, уточнить требования и обсудить всё с командой. Важно отметить, что СУБД ещё не выбрана.
#db
Ранее мы говорили о шаблоне описания задачи по БД. Сегодня разберём пример — всё смотрите в картинках. 👆
Наша задача — проработать модель данных, уточнить требования и обсудить всё с командой. Важно отметить, что СУБД ещё не выбрана.
#db
👍10🔥5❤🔥4💯1
Чем больше всего нравится заниматься на работе? 🔍 У каждого системного аналитика есть свои любимые задачи. Что вам приносит наибольшее удовольствие в работе?
Anonymous Poll
26%
1️⃣ Проектировать API
5%
2️⃣ Разбираться с брокерами
21%
3️⃣ Описывать задачи для фронтенда, продумывая UI
22%
4️⃣ Рисовать макеты и продумывать пользовательский интерфейс
25%
5️⃣ Работать с базами данных
37%
6️⃣ Рисовать диаграммы
18%
7️⃣ Вести документацию
32%
8️⃣ Моделировать бизнес-процессы
23%
9️⃣ Общаться с заказчиками и собирать требования
37%
1️⃣ 0️⃣ Продумывать бизнес-логику
🤩6🥰4🙏3💯1
Добавляете новое обязательное поле в БД? Не забудьте продумать миграцию!
Представьте, что нужно добавить новое обязательное поле в БД — customer_type. Его возможные значения: BASIC и PREMIUM.
Что делать с записями, которые уже есть в базе данных? Поле должно быть заполнено, так как оно обязательное.
❗Необходимо продумать миграцию данных: как будем добавлять новое поле и что делать с уже существующими записями? Проставим им значение по умолчанию — BASIC.
Пример миграции:
Что делать?
1️⃣ Оповестите бизнес-команду о добавлении нового обязательного поля и о том, что все текущие записи в БД будут автоматически обновлены со значением BASIC.
2️⃣ Протестируйте миграцию на тесте.
3️⃣ После успешного тестирования добавьте поле в продовую базу и проведите миграцию для существующих записей.
#db
Представьте, что нужно добавить новое обязательное поле в БД — customer_type. Его возможные значения: BASIC и PREMIUM.
Что делать с записями, которые уже есть в базе данных? Поле должно быть заполнено, так как оно обязательное.
❗Необходимо продумать миграцию данных: как будем добавлять новое поле и что делать с уже существующими записями? Проставим им значение по умолчанию — BASIC.
Пример миграции:
ALTER TABLE customersADD COLUMN customer_type ENUM('BASIC', 'PREMIUM') NOT NULL DEFAULT 'BASIC';UPDATE customersSET customer_type = 'BASIC'WHERE customer_type IS NULL;Что делать?
1️⃣ Оповестите бизнес-команду о добавлении нового обязательного поля и о том, что все текущие записи в БД будут автоматически обновлены со значением BASIC.
2️⃣ Протестируйте миграцию на тесте.
3️⃣ После успешного тестирования добавьте поле в продовую базу и проведите миграцию для существующих записей.
#db
👍8🔥2👏2💯1
Сущность ≠ Таблица ❗
Зачастую путают понятия «сущность» и «таблица», думая, что это одно и то же. Но это не так.
Сущность — это абстрактный объект, который моделирует реальный мир, например, «Поставщик» и «Покупатель».
Таблица — это уже конкретная структура в базе данных, которая хранит данные о сущности. 🗃️
Пример:
Представьте, что в компании есть поставщики и покупатели. Для бизнеса — это разные сущности, но у них много общих атрибутов: имя, контактная информация, реквизиты и прочее. Вместо того чтобы создавать отдельные таблицы для поставщиков и покупателей, их можно объединить в одну таблицу Контрагенты, где будут храниться данные об обеих сущностях. Дополнительное поле может указывать, является запись «Поставщиком» или «Покупателем».
Такое решение позволяет более эффективно управлять данными и избежать дублирования информации.
#db
Зачастую путают понятия «сущность» и «таблица», думая, что это одно и то же. Но это не так.
Сущность — это абстрактный объект, который моделирует реальный мир, например, «Поставщик» и «Покупатель».
Таблица — это уже конкретная структура в базе данных, которая хранит данные о сущности. 🗃️
Пример:
Представьте, что в компании есть поставщики и покупатели. Для бизнеса — это разные сущности, но у них много общих атрибутов: имя, контактная информация, реквизиты и прочее. Вместо того чтобы создавать отдельные таблицы для поставщиков и покупателей, их можно объединить в одну таблицу Контрагенты, где будут храниться данные об обеих сущностях. Дополнительное поле может указывать, является запись «Поставщиком» или «Покупателем».
Такое решение позволяет более эффективно управлять данными и избежать дублирования информации.
#db
👍10❤4🔥2💯1
Что лучше использовать — ENUM или справочник?
На самом деле вопрос не в том, что лучше, а какие данные вы собираетесь хранить в поле.
🔹 ENUM — отличный выбор, когда значения заранее известны и редко изменяются. Например, если тип клиента может быть только «Basic» или «Premium», тогда ENUM подходит идеально. Это решение упрощает архитектуру, так как нет необходимости создавать дополнительную таблицу.
🔹 Справочник лучше использовать, если возможные значения могут изменяться со временем или пополняться. Например, для поля «Специализация врача» справочник будет подходящим вариантом, так как список специализаций может расширяться, и каждая специализация может иметь дополнительную информацию (описание, коды, и т.д.).
Сравнение подходов см. в картинках👆
#db
На самом деле вопрос не в том, что лучше, а какие данные вы собираетесь хранить в поле.
🔹 ENUM — отличный выбор, когда значения заранее известны и редко изменяются. Например, если тип клиента может быть только «Basic» или «Premium», тогда ENUM подходит идеально. Это решение упрощает архитектуру, так как нет необходимости создавать дополнительную таблицу.
🔹 Справочник лучше использовать, если возможные значения могут изменяться со временем или пополняться. Например, для поля «Специализация врача» справочник будет подходящим вариантом, так как список специализаций может расширяться, и каждая специализация может иметь дополнительную информацию (описание, коды, и т.д.).
Сравнение подходов см. в картинках👆
#db
👍8❤3💯3
Документация говорит одно, а проект работает по-другому. Что?!
Anonymous Poll
65%
Документация устарела ещё до того, как я её закончил? 🤯
21%
Как этот проект ещё жив? 🧐
11%
Это всё тестовая версия, правда? 😅
3%
У меня свой вариант. Напишу в комментариях ✍️
😁5😭3❤2👍2💯1
Судя по прошедшему опросу, проектирование бизнес-логики — ваша любимая задача! 🎯
https://t.me/analystcore/91
И это неудивительно! Для системных аналитиков бизнес-логика — это основа всего. Продумывать её — значит превращать разрозненные требования в чёткое и понятное «А что мы делаем?».
💡 Почему это важно? Да потому что без этого никуда! Ни к проектированию БД, ни к API, ни к интеграциям не приступить, пока бизнес-логика не будет продумана от и до.
Вот несколько инструментов, которые помогут вам на этом этапе:
- UML (диаграммы активности и последовательности) — для визуализации процессов и взаимодействий.
- BPMN — для построения бизнес-процессов с участием всех ролей.
- Use Case — помогает продумать сценарии взаимодействия пользователя с системой.
- Flowcharts — простые и понятные блок-схемы, показывающие пошаговые действия.
Ключевые моменты при проектировании бизнес-логики:
1️⃣ Понять основные цели бизнеса.
2️⃣ Учесть все возможные сценарии.
3️⃣ Проработать расширения «а что может пойти не так?»
Для многих аналитиков это самый важный и интересный этап работы, потому что именно здесь рождаются основные решения, которые определяют успех всего проекта. 🔥
https://t.me/analystcore/91
И это неудивительно! Для системных аналитиков бизнес-логика — это основа всего. Продумывать её — значит превращать разрозненные требования в чёткое и понятное «А что мы делаем?».
💡 Почему это важно? Да потому что без этого никуда! Ни к проектированию БД, ни к API, ни к интеграциям не приступить, пока бизнес-логика не будет продумана от и до.
Вот несколько инструментов, которые помогут вам на этом этапе:
- UML (диаграммы активности и последовательности) — для визуализации процессов и взаимодействий.
- BPMN — для построения бизнес-процессов с участием всех ролей.
- Use Case — помогает продумать сценарии взаимодействия пользователя с системой.
- Flowcharts — простые и понятные блок-схемы, показывающие пошаговые действия.
Ключевые моменты при проектировании бизнес-логики:
1️⃣ Понять основные цели бизнеса.
2️⃣ Учесть все возможные сценарии.
3️⃣ Проработать расширения «а что может пойти не так?»
Для многих аналитиков это самый важный и интересный этап работы, потому что именно здесь рождаются основные решения, которые определяют успех всего проекта. 🔥
👍10❤3💯3
Что мы знаем о Lean?
Когда мы говорим об Agile, первыми на ум приходят Scrum и Kanban. Но есть и Lean, который также заслуживает внимания. 😎
Lean означает «бережливый» и пришёл из производства (Lean Enterprise). Он направлен на минимизацию потерь: устраняем лишнее и концентрируемся на ценности для клиента.
Lean в IT работает аналогично: создаём минимальную версию, получаем фидбэк и дорабатываем. Знакомо? Да, ведь многие идеи Lean мы используем, не осознавая этого — например, концепцию MVP. Это ключевой элемент подхода Lean Startup, предложенного Эриком Рисом.
Принцип 20/80 (Принцип Парето) также пересекается с философией Lean.
✨ Основная идея Lean — создавать, тестировать и учиться. Идеально подходит для новых продуктов. Это модель экспериментов: потратив минимальные ресурсы (те самые 20%), вы получаете обратную связь и решаете, стоит ли продолжать разработку.
Более подробно смотри в картинках 👆
#dev_process
Когда мы говорим об Agile, первыми на ум приходят Scrum и Kanban. Но есть и Lean, который также заслуживает внимания. 😎
Lean означает «бережливый» и пришёл из производства (Lean Enterprise). Он направлен на минимизацию потерь: устраняем лишнее и концентрируемся на ценности для клиента.
Lean в IT работает аналогично: создаём минимальную версию, получаем фидбэк и дорабатываем. Знакомо? Да, ведь многие идеи Lean мы используем, не осознавая этого — например, концепцию MVP. Это ключевой элемент подхода Lean Startup, предложенного Эриком Рисом.
Принцип 20/80 (Принцип Парето) также пересекается с философией Lean.
✨ Основная идея Lean — создавать, тестировать и учиться. Идеально подходит для новых продуктов. Это модель экспериментов: потратив минимальные ресурсы (те самые 20%), вы получаете обратную связь и решаете, стоит ли продолжать разработку.
Более подробно смотри в картинках 👆
#dev_process
👍10🔥3💯2
Коротко о Scrum
Сегодня Scrum — одна из самых популярных гибких методологий. Многие команды работают по Scrum, хотя редко можно встретить тех, кто полностью следует методологии. Всегда идет что-то не по плану. 😅
Основная идея Scrum — это деление работы на короткие итерации — спринты (обычно 2-4 недели). В конце каждого спринта команда предоставляет работающий продукт или его часть 🚀.
Команда небольшая и включает три ключевые роли:
- Product Owner — управляет приоритетами задач.
- Scrum Master — помогает команде следовать Scrum.
- Команда разработчиков — выполняет задачи 👩💻👨💻.
Основной инструмент управления задачами — Backlog (список всех задач проекта). Задачи, которые выполняются в текущем спринте, входят в Спринт-бэклог.
Также в Scrum есть ряд обязательных мероприятий: планирование, дейли, демо, ретроспектива.
Scrum предлагает чёткую структуру работы и регулярную обратную связь от заказчиков 🤝.
#dev_process
Сегодня Scrum — одна из самых популярных гибких методологий. Многие команды работают по Scrum, хотя редко можно встретить тех, кто полностью следует методологии. Всегда идет что-то не по плану. 😅
Основная идея Scrum — это деление работы на короткие итерации — спринты (обычно 2-4 недели). В конце каждого спринта команда предоставляет работающий продукт или его часть 🚀.
Команда небольшая и включает три ключевые роли:
- Product Owner — управляет приоритетами задач.
- Scrum Master — помогает команде следовать Scrum.
- Команда разработчиков — выполняет задачи 👩💻👨💻.
Основной инструмент управления задачами — Backlog (список всех задач проекта). Задачи, которые выполняются в текущем спринте, входят в Спринт-бэклог.
Также в Scrum есть ряд обязательных мероприятий: планирование, дейли, демо, ретроспектива.
Scrum предлагает чёткую структуру работы и регулярную обратную связь от заказчиков 🤝.
#dev_process
👍8❤🔥2💯2