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

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

РКН №5013005196
Download Telegram
А что, если БД спроектировать через ChatGPT? 🤔

Надо же мне понимать, какие задачи на него можно делигировать.

✍️ Запрос такой:
Перечисли список сущностей для процесса оформления сделки недвижимости в США для заведения в базе данных будущей автоматизированной системы

Результат:
Вот некоторые возможные сущности для процесса оформления сделки недвижимости в США, которые могут быть использованы для создания базы данных будущей автоматизированной системы:
✔️ Пользователь: данные о клиентах, которые используют систему для оформления сделок, например, ФИО, адрес, контактная информация.
✔️ Агент по недвижимости: данные о агентах, которые представляют продавцов и покупателей, например, ФИО, контактная информация, информация о лицензии.
✔️ Объект недвижимости: данные об объектах недвижимости, которые продаются или покупаются, например, адрес, тип объекта, ...
....
✔️ История: данные об истории сделок и всех связанных с ними операциях, например, история изменения цен, история изменения владельцев объектов недвижимости.
Конкретный список сущностей может зависеть от конкретного бизнес-процесса и требований к автоматизированной системе. (
‼️)

Впечатляет! Идейный вдохновитель! Больше не надо часами гуглить кучу информации по новым предметным областям. Вся базовая информация в одном ответе. Дальше только уточнять детали.

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



✍️ Еще запрос:
Пошаговая инструкция создания ER-диаграммы для процесса оформления сделки недвижимости в США для создания базы данных будущей автоматизированной системы

Результат:
Очень общая инструкция по создания ER-диаграммы, показывающей модель базы данных. Если бы у меня не было опыта работы в проектировании БД, то не сделала бы на основе этой инструкции ничего толкового. Но структурированных подсказок в его ответе масса!


Спасибо ChatGPT за его помощь в идеях и старте работ над задачами проектировагия БД! 🤖
🔥81👍1
Удаленная работа и возможность работать из любой точки мира - это круто 😍

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

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

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

Ставьте реакцию, как больше нравится?
🔥 - удаленка
❤️ - офис и живое общение
🔥5519❤‍🔥3👍1
При этом, конечно, не стоит забывать про удобство, которое дает удаленка: нет необходимости тратить время и деньги на дорогу до офиса, можно работать из любой точки мира с доступом в Интернет.

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

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

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

И если твоя компания имеет корпоративную культуру, которая поддерживает коммуникацию через видеоконференции и включенные камеры, это может сделать процесс работа более приятным и улучшить качество работы всей команды.
👍5
Мой опыт в удаленке на позиции системного аналитика

🔥 Смогла переехать учиться в другую страну до того, как настал COVID и это стало обычным делом
🔥 Всегда работала удаленно с подрядчиками и не боюсь собирать удаленные команды
🔥 До удаленки у меня был опыт работы в большой и крутой компании. До которой надо было ехать 2ч из Подольска в Москву, в одну сторону. И потом 2 часа домой. Так я выучила английский, прочла кучу книг и научилась вставать в 5 утра... Так что с официальным появлением удаленки я танцевала от счастья)))
🔥 Чуть больше года назад со мной приключилась крутая история. Я не любила работать дома, и ходила в соседнее кафе. И там случайно встретила вдохновляющего меня блогера на 2.5млн подписчиков 😀 Два поста тут
🔥 Работала у Карибского моря, у Черного моря с разных сторон и стран, вела вебинар под пение турецких молитв и молилась мысленно, чтобы микрофон это не снял и не отправил в прямой эфир

😬 Какое-то время работала с хвостом, без макияжа, и рабочий стол был рядом с кухней и кроватью в студии. Больше я не живу в студиях. И каждое утро стараюсь погулять и привести себя в порядок, прежде чем сесть за дела
😬 Иногда мои друзья не получают от меня ответов в текстовых сообщениях неделями. И я прошу их звонить мне. У меня бывает передозировка текстов
😬 Я не готова сидеть с камерой больше 5 часов подряд. У меня жесткие лимиты по созвонам сейчас, в том числе есть дни без созвонов. И я предпочитаю живое общение, если это возможно. Лучше 2 часа на машине на встречу ехать, чем сидеть у камеры
😬 Размытые границы. Рабочий день с 8 до 23. Невозможно отсановиться иногда....


А еще бывало такое:
😂 Однажды разработчик в команде проводил созвон из туалета с камерой. На вопрос "а почему?" он ответил, потому что мешает вести созвон жене. Они жили в отеле))


Что бы ни было, я люблю удаленку! Она дала мне очень много возможностей для роста!

А какие у вас были веселые ситуации на удаленке? Пишите в комментарии 😀
👍19🔥3
Жизнь полна информации, и это информация может быть полезной, если ее правильно собирать, обрабатывать и использовать.

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

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

Например, анализ данных может помочь нам:
▫️в принятии более осознанных решений,
▫️улучшении нашего здоровья и финансов,
▫️оптимизации нашей работы, повышении эффективности нашей жизни в целом.


Важно понимать, что данные могут помочь нам не только в повседневной жизни, но и в крупномасштабных проектах, таких как:

▫️ управление государством,
▫️экономический анализ, ▫️исследования и т.д.


Чем больше информации мы имеем, тем лучше мы можем принимать обоснованные решения.

В целом, понимание того, что весь мир можно представить в виде данных и внести в систему, является ценным 🙌

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

Поэтому для аналитиков важно уметь выделять сущности и проектировать базы данных, чтобы обеспечить эффективное использование данных. Масло маслянное))) Но как есть.

При их проектировании необходимо учитывать множество факторов, таких как:
▫️структура хранения,
▫️защита,
▫️быстродействие обработки и получения,
▫️ масштабируемость системы.

Понимание основ проектирования БД и понимания принципа построения SQL-запросов позволяют системному аналитику лучше объяснять свои решения и идеи разработчикам. Это повышает качество коммуникаций и уменьшает вероятность недопонимания в команде.

Чтобы разобраться, что скрывается за словами "проектирование БД", давайте разберем практический кейс? 😉
🔥6
Практический кейс проектирования БД для системы бронирования отелей

Первым шагом в проектировании базы данных является определение сущностей, которые будут храниться в базе данных.

В случае системы бронирования отелей это:

✔️ Гостиницы: содержит информацию об отелях, включая название, адрес, телефон, фотографии, описание и т.д.

✔️ Номера: содержит информацию о номерах в гостинице, включая номер, тип номера, описание, цену и т.д.

✔️ Клиенты: содержит информацию о клиентах, которые делают бронирование, включая имя, фамилию, адрес электронной почты, телефон и т.д.

✔️ Бронирование: содержит информацию о бронировании номеров клиентами, включая даты проживания, номера комнат, количество гостей и т.д.

Поселе выделения сущностей мы можем установить связт между ними и построить концептуальную модель БД для системы.
👍11
Практический кейс проектирования БД для системы бронирования отелей

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

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

Таблицы логической модели БД могут быть описаны следующим образом:

Таблица "Гостиницы":
• hotel_id (первичный ключ)
• name
• address
• phone
• description

Таблица "Номера":
• room_id (первичный ключ)
• hotel_id (внешний ключ, ссылается на hotel_id из таблицы Гостиницы)
• room_type
• description
• price

Таблица "Клиенты":
• client_id (первичный ключ)
• first_name
• last_name
• email
• phone


Таблица "Бронирование":
• booking_id (первичный ключ)
• client_id (внешний ключ, ссылается на client_id из таблицы Клиенты)
• room_id (внешний ключ, ссылается на room_id из таблицы Номера)
• start_date
• end_date
• num_guests


Эти таблицы могут быть связаны между собой через внешние ключи. Например, таблица Бронирование ссылается на таблицы Клиенты и Номера через внешние ключи client_id и room_id соответственно.

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

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

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

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

Для работы с данными необходимо уметь работать с БД и SQL:
Запросы SQL используются для извлечения информации из баз данных и для обработки данных. Знание SQL помогает аналитикам быстро и эффективно извлекать нужную информацию, чтобы решать бизнес-задачи.
Умение проектировать БД помогает организовать данные в базе данных наиболее оптимальным образом. Корректное проектирование БД позволяет уменьшить дублирование данных, обеспечить эффективный доступ к данным и повысить производительность системы.
В совокупности эти знания позволяют лучше понимать разработчиков.

Чтобы передать свои хард-скилы системного анализа и поделиться опытом, я создала для вас

Практический курс:
🎓 Проектирование БД и основы SQL

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

🗓 До 25 ФЕВРАЛЯ заполните анкету предзаписи, чтобы
+ забронировать место на курсе по самым выгодным условиям,
+ получить напоминание об открытии продаж.
❗️Всего мест с практикой: 10.

Этот курс поможет освоить важные навыки и инструменты для работы с данными, стать более эффективным и компетентным системным аналитиком 🚀
Практический кейс: проектирование ПО для обеспечения программы лояльности в сети магазинов (карточки для накопления баллов, скидок и пр)

Системы лояльности являются одним из самых эффективных инструментов маркетинга для привлечения и удержания клиентов.

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

Вот несколько вопросов, которые помогут вам собрать бизнес-требования и создать наиболее эффективную программу лояльности для магазина:
✔️ Что вы хотите достичь этой программой лояльности?
✔️ Какие форматы наград и бонусов наиболее привлекательны для вашей аудитории? Баллы, скидки, скидки от суммы покупок или что-то еще? Возможны ли сочетания?
✔️ Как вы будете привлекать новых клиентов через программу лояльности?
✔️ Какие метрики вы будете использовать для измерения успеха программы лояльности?
✔️ Какие данные вы пранируете собираеть и использовать для улучшения программы лояльности?

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

На основе ответов можно писать бизнес-требования и функциональные требования для ТЗ.
🔥5
Практический кейс: проектирование ПО для обеспечения программы лояльности в сети магазинов (карточки для накопления баллов, скидок и пр)

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

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

Сущность "Покупатель".
Свойства:
- телефон,
-
имя,
- фамилия,
-email,

....
Стооооп! 😂


Вопросы:

1. Кто и как будет регистрировать пользователей в программе лояльности?
Влияет на роли пользователей. Порождает доп.вопрос: а надо ли учитывать, что в программу лояльности

2. Что первично? Телефон или почта?
Влияет на интеграции - надо ли будет подключать SMS и почтовые сервисы? Сразу или можем стартовать запуск продукта без них? Что направлять пользователям после покупок? После регистраций?
Может ли быть два пользователя с одним телефоном?
Может ли быть два пользователя с одним email?
Последние два вопроса влияют на первичный ключ таблицы, отвечающий за уникальность.

3. Как будем соблюдать закон о защите персональных данных?

4. Сколько карт лояльности может быть у пользователя?
От этого зависит куда будем вносить номер карты, и вообще, нужна ли таблица "Карта лояльности". Или эту переименовать?
....



Это я только начала. Часть вопросов решится за счет имеющихся бизнес-требований, часть за счет гугла. Но часть останется. И они появятся только на этапе технического проектирования. И круто, когда они идут до старта разработки.

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

Используйте этот подход, если у вас сомнения в том, что все нюансы при сборе требований от заказчика учтены ✔️
👍6
На днях меня спросили: «Сколько нужно учиться системному аналитику, чтобы хорошо зарабатывать и чувствовать себя уверенно в больших проектах?»
Согласитесь, вопрос со звёздочкой🤔 На него нет однозначного ответа.

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

В регулярную учебу сейчас входят:
🏋‍♀️ Hard skills (твёрдые навыки) — профессиональные и технические навыки.
👥 Soft skills (мягкие навыки) — умение работать в команде, тайм-менеджмент и другое.

Сейчас нужны люди с гибким мышлением, поэтому так важно постоянно осваивать новые знания и темы. Развивая навыки — вы открываете для себя больше карьерных возможностей и крутых проектов.
👍11👌1
Пример хард-скила: умение проектировать БД.

Это база, которая пригодится в любом проекте. Если понимаете, что «хромаете» в теме, то стоит обратить внимание в это сторону, чтобы достигать крутых результатов в своих проектах:
🔵 собрать требования к хранению и обработке данных,
🔵 задать правильные вопросы заказчику,
🔵 конкретизировать и систематизировать требования,
🔵 улучшать производительность приложений.

Для меня скил проектирования БД ассоциируется со строительством дома 🏡

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

ЭТО ВСË ПОВЛИЯЕТ НА ФУНДАМЕНТ. И ЕСЛИ НЕ СОБРАТЬ ДАННЫЕ ПРАВИЛЬНО ИЛИ ЧТО-ТО НЕ УЧЕСТЬ, ТО ДОМ РУХНЕТ ПРИ ПЕРВОМ ЖЕ УРАГАНЕ.

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

Владея навыком проектирования баз данных аналитик в процессе работы впоследствии «не тушит пожары» из-за неправильно заложенных основ и не грамотно проработанных требований.

Бах — и ещё одна супер- способность в копилку знаний!💪
Не теряйте время зря и всегда занимайтесь аутализацией знаний и прокачивайте скиллы. Поверьте, уже скоро увидите, как быстро реализуетесь и достигаете успеха.
👍13
Как понимать разработчиков всегда? 😀

В этом посте я расскажу несколько причин, почему знание БД так помогло мне в карьере системного аналитика.

✔️ Общий язык
Базы данных являются фундаментом большинства приложений, и понимание того, как они работают, помогает системным аналитикам говорить на одном языке с разработчиками, понимать их терминологию и использовать правильные термины в своей работе.

✔️ Оценка выполнимости требований
Системные аналитики, знакомые с БД, могут оценить, насколько реалистичны требования и могут предложить более эффективное решение для реализации требований.

✔️ Понимание связей между данными
Это позволяет лучше понимать, какие данные нужны для выполнения определенных задач, и как их можно использовать для улучшения процессов в компании.


✔️ Оптимизация производительности
Зная, как данные хранятся и как работает база данных, системные аналитики могут оптимизировать процессы, связанные с чтением и записью данных, улучшить производительность и уменьшить нагрузку на систему.


Знание баз данных является важным навыком для системных аналитиков, так как это помогает им говорить на общем языке с разработчиками, оценивать выполнимость требований, понимать связи между данными и оптимизировать производительность системы. Чем больше системные аналитики знают о базах данных, тем более качественно они проектируют системы.
🔥7👍1
Есть три уровня моделей БД:
1. Концептуальный
2. Логический
3. Физический


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

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

Давайте поделюсь с вами фишками по проектированию моделей БД, которые использую в своей работе 😉

Но перед этим небольшой опрос ✔️
🔥9👍4
🎓 Концептуальная модель базы данных 🎓

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

Она служит основой для создания физической модели базы данных - реальной БД. Это первый подход, взгляд на данные сверху.

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

Давайте без воды и сразу пример 💦

Нужно сделать систему видеонаблюдения, которая должна опознавать сотрудников офиса и регистрировать их присутствие в разных зонах. Дополнительно, она должна опознавать и коллекционировать лица гостей офиса.

Что будет в концептуальной модели?

Список сущностей:
▫️Камера
▫️Сотрудник
▫️Гость
▫️Зона
▫️Факт присутствия - запись в журнале или отчете

Связи:
🔵 Одна камера может зарегистрировать несколько сотрудников или гостей
🔵 Камера устанавливается в определенной зоне офиса
🔵 Факт присутствия включает информацию о зоне съемки, камере и сотруднике / госте


И что, всё? 😂 Нет. Не все. У меня начинаются вопросы:
1. А система видеонаблбдения будет разработана только под один офис или под несколько? Нужна ли сущность "Офис"?
2. Может ли быть на одной зоне несколько камер?
...

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

Если быть честной, то я всегда пропускаю концептуальный уровень и сразу строю модель БД на логическом уровне. Но без понимания того, как строить концептуальную модель, я бы не смогла это сделать.
👍7🔥3
Практическое применение концептуальной модели базы данных может быть связано с созданием новой системы или реорганизацией существующей 🚀


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

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


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


Знаете, есть такая боль, когда тебе кажется, что задача простая, а разработчик говорит, что там работы на 100500 часов? Именно при осознании сколько связанных сущностей мы затронем, мы сможем понять, почему разработчик считает задачу сложной и все его объснения на "птичьем" языке 😀 В этом нам поможет концептуальная модель БД.

Концептуальная модель базы данных полезна для системных аналитиков, так как она:
▫️показывает полный список сущностей и связей между ними,
▫️помогает определить влияние на систему при ее изменении,
▫️наводит на правильные вопросы заказчикам, которые могут быть с ходу не очевидны.
🔥3
Когда-то я не догадывалась, что путешествия это настолько круто!

Мне всегда было любопытно посещать новые места, наблюдать за жизнью людей в других странах, пробовать необычную еду разных кухонь мира. А ещё я обожала планировать поездки: бронировать отели, рейсы, искать интересные места для посещения. В целом — делать всё, что связано с организацией.

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

Спустя время так случилось!🤘
До сих пор помню, как в первый раз отчётливо осознала, как это круто работать на удалёнке — иметь возможность каждый раз при желании находиться в неожиданных и классных местах.

Но знаете, что самое удивительное: никогда не думала, что моя работа будет напрямую связана с путешествиями.

Я делала билетную систему и мне нужно было собирать требования о том, как люди покупают и оформляют билеты. В итоге делала исследования, опираясь на собственный опыт. Было даже прикольно, когда потом сотрудники пользовались нашим же сервисом, когда готовились к путешествию. Оно было реально удобным.

Вообще кайфово, когда хобби соприкасается с твоей профессией и становится частью твоей жизни, да ещё и с хорошей монетизацией.

Если посмотреть глобально, то понимаю — мои увлечения и есть моя работа ❤️
А работа с шикарным видом из окна теперь для меня не мечта, а реальность.

Поделитесь, а о чём вы мечтаете в карьере?
👍122