🍀BitBitGo🍀 Системный Анализ
3.22K subscribers
220 photos
154 videos
113 links
Курс «Системный анализ»
https://bitbitgo.by/
Пишем про системный анализ.
Поможем стартануть в карьере IT. Присоединяйся!
Download Telegram
№17 категория вопросов: #SA #DBMS
№18 категория вопросов: #SA #BPMN
№19 категория вопросов: #BA #REQUIREMENTS
🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤
(несёт рекомендательный характер)
Junior (0–7 баллов)
Рекомендация — изучить основы моделирования, сбора требований и работы с REST API.
Middle (8–14 балл)
Рекомендация — развивать навыки проектирования систем, интеграции и работы с данными.
Senior (15–19 балл)
Рекомендация — совершенствоваться в стратегиях, архитектурных подходах и работе с бизнес-процессами.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
🍀BitBitGo🍀 Системный Анализ pinned «№1 категория вопросов: #BA #REQUIREMENTS»
📚 Типы баз данных и их применение: что выбрать?

Выбор базы данных — ключевой этап проектирования любой системы. Каждый тип имеет свои особенности и лучше всего подходит для определённых задач:

1️⃣ Реляционные базы данных
Идеальны для структурированных данных с чёткими связями (таблицы, ключи).
Популярные СУБД: MySQL, PostgreSQL, Oracle.

2️⃣ Объектно-реляционные базы данных
Комбинируют преимущества реляционных и объектно-ориентированных подходов.
Популярные СУБД: PostgreSQL, IBM Db2.

3️⃣ NoSQL базы данных (нереляционные)
Отличный выбор для гибких схем и работы с большими данными.
Типы NoSQL:
• Документоориентированные (MongoDB, Couchbase).
• Колоночные (Apache Cassandra, HBase).
• Графовые (Neo4j).
• Ключ-значение (Redis).

4️⃣ Колоночные базы данных
Оптимальны для анализа больших объёмов данных с высокой скоростью чтения.
Популярные СУБД: Apache Cassandra, ClickHouse.

5️⃣ Текстовые базы данных
Для поиска по тексту и анализа.
Популярные СУБД: Elasticsearch.

💡 Как выбрать?
Реляционные подходят для CRM, ERP.
Документоориентированные — для гибких приложений, как чаты.
Колоночные — для аналитики.
Графовые — для социальных сетей.

🗄 #DBMS
2👍1🔥1👌1
This media is not supported in your browser
VIEW IN TELEGRAM
Вы тоже готовы на всё ради своих?)😉
😁9👍1
📚 Как организованы реляционные базы данных и зачем нужны правила проектирования

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

📋 Типы данных
Каждый столбец имеет строгий тип: например, INTEGER для чисел, VARCHAR для текста, DATE для дат. Это обеспечивает целостность данных.

♻️ Нормализация
Процесс разбиения данных на таблицы, чтобы устранить дублирование и минимизировать аномалии. Основные формы:
1NF: атомарные значения в столбцах.
2NF: отсутствие частичных зависимостей.
3NF: устранение транзитивных зависимостей.

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

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

Ограничения
Чтобы гарантировать целостность данных:
NOT NULL: поле не может быть пустым.
UNIQUE: обеспечивает уникальность значений.
PRIMARY KEY: уникальный идентификатор записи.
FOREIGN KEY: связь с другой таблицей.
CHECK: проверка условия.
DEFAULT: значение по умолчанию.
INDEX: ускоряет поиск.
AUTO_INCREMENT: автоматическое увеличение значения.

🗄 #DBMS
👍2
Зачем системному аналитику взаимодействовать с UI/UX дизайнером

Системный аналитик и UX/UI дизайнер работают в тесной связке, чтобы создать продукт, сочетающий в себе удобство для пользователя и техническую реализацию. Взаимодействие этих ролей помогает:

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

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

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

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

Эффективное взаимодействие аналитика и дизайнера делает процесс разработки более слаженным и результативным, а продукт — удобным и функциональным.

📚 #OTHER
👍52🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Как нужно разговаривать с технарями
🤣81🔥1
📡 Pull и Push модели: простыми словами

Когда разные системы или приложения должны обмениваться данными, используется одна из двух моделей: pull или push. Они определяют, кто инициирует передачу данных — клиент (pull) или поставщик (push).

🔄 Pull-модель

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

Как работает?
Клиент (например, приложение или система) отправляет запрос и запрашивает данные, когда это нужно.

Пример:
Вы обновляете прогноз погоды в приложении вручную.

Плюсы:
• Клиент сам контролирует, когда нужны данные.
• Простая реализация.

Минусы:
• Если делать запросы слишком часто, сервер перегружается.
• Если не запросить данные вовремя, вы их не получите.

🔗 #INTEGRATION
Please open Telegram to view this post
VIEW IN TELEGRAM
3
📤 Push-модель

Теперь представьте, что еду доставляют прямо к вам домой, как в случае с доставкой. Это push-модель: поставщик (сервер) сам решает, когда отправить вам данные, исходя из договорённости.

Как работает?
Сервер отправляет данные клиенту автоматически, когда они становятся доступны.

Пример:
Уведомления о новых сообщениях в мессенджерах или автоматическое обновление курсов валют.

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

Минусы:
• Более сложная реализация.
• Клиент полностью зависит от поставщика данных.

Когда что использовать?

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

🔗 #INTEGRATION
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🌐 Принципы REST архитектуры: как строить эффективные API

REST — это один из самых популярных подходов к проектированию веб-сервисов. Чтобы API были простыми, гибкими и эффективными, нужно соблюдать ключевые принципы REST:

🔹 Stateless (без состояния)
Сервер не хранит информацию о состоянии клиента между запросами. Каждый запрос содержит всю необходимую информацию для обработки.

🔹 Resource Identification (идентификация ресурсов)
Каждый ресурс должен иметь уникальный URL, например: /api/users/123.

🔹 Uniform Interface (единый интерфейс)
Взаимодействие между клиентом и сервером стандартизировано. Используются методы:
GET — получить ресурс
POST — создать ресурс
PUT — обновить ресурс
DELETE — удалить ресурс

🔹 Cacheable (кэшируемость)
Ответы сервера могут кэшироваться на клиенте для повышения производительности и уменьшения нагрузки.

🔹 Layered System (многоуровневость)
Архитектура может быть разделена на слои, чтобы клиент не зависел от внутренней реализации сервера.

🔹 Code on Demand (исполняемый код по требованию)
Дополнительно сервер может передавать исполняемый код (например, скрипты) для выполнения на стороне клиента.

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

🔗 #INTEGRATION
👍3👏3🔥1
🌐 Что такое HTTP-запросы и как они работают?

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

🔍 Как устроен HTTP-запрос?
HTTP-запросы состоят из трёх основных частей:
1️⃣ Стартовая строка. Указывает метод (например, GET или POST), URI и версию протокола.
2️⃣ Заголовки. Это параметры, описывающие запрос (например, Host, Content-Type, Content-Length).
3️⃣ Тело сообщения. Используется для передачи данных, например при отправке формы через POST.

Пример запроса:
GET /blog/examplepage HTTP/1.1  
Host: example.com



⚙️ Методы HTTP-запросов
Каждый метод описывает цель запроса:
GET. Запрашивает ресурс (например, страницу).
POST. Передаёт данные в теле запроса.
PUT. Создаёт или заменяет ресурс.
DELETE. Удаляет ресурс.
OPTIONS. Возвращает методы, поддерживаемые сервером.

🔗 #OTHER
👍4
🌐 Методы запросов и коды состояния

⚙️ Методы HTTP-запросов
Каждый метод описывает цель запроса:
GET. Запрашивает ресурс (например, страницу).
POST. Передаёт данные в теле запроса.
PUT. Создаёт или заменяет ресурс.
DELETE. Удаляет ресурс.
OPTIONS. Возвращает методы, поддерживаемые сервером.


📋 Коды состояния HTTP
Сервер отвечает трёхзначным кодом, показывающим статус запроса:
200 OK. Запрос успешен.
404 Not Found. Ресурс не найден.
500 Internal Server Error. Внутренняя ошибка сервера.

Коды делятся на классы:
• 1xx — информационные,
• 2xx — успешные,
• 3xx — перенаправления,
• 4xx — ошибки клиента,
• 5xx — ошибки сервера.

🛠 Для чего это нужно?
HTTP-запросы — основа работы веб-приложений, обеспечивающая взаимодействие клиента и сервера. Понимание их структуры помогает разработчикам оптимизировать работу сайта и улучшить пользовательский опыт.


🔗 #OTHER
👍31