digital-garden/dev/architecture/Архитектурная схема.md
Struchkov Mark 7ba718adb3
All checks were successful
continuous-integration/drone/push Build is passing
Обновление
2024-11-26 22:19:07 +03:00

58 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
- архитектурные схемы
- архитектурных схем
tags:
- maturity/🌱
date: 2024-11-26
---
Архитектурная схема — это детализированное визуальное представление структуры и функционирования системы. Она помогает понять, как устроена система, какие компоненты входят в её состав и как они взаимодействуют друг с другом.
**Основная цель архитектурной схемы**
- **Технической документации** — фиксации текущего состояния системы.
- **Разработки и тестирования** — схемы позволяют командам лучше понимать структуру системы и её компоненты.
- **Оптимизации и масштабирования** — упрощают анализ узких мест и прогнозирование последствий изменений.
- **Устранения ошибок** — помогают найти и исправить проблемы благодаря наглядности взаимодействий.
**Виды архитектурных схем**
- **Модульная схема**. Отображает модули системы и их взаимодействия.
- Применяется для анализа высокоуровневой структуры ПО.
- Удобна на этапе проектирования или реструктуризации системы.
- **Компонентная схема**. Фокусируется на более детальном описании архитектуры компонентов и их связей.
- Используется для анализа взаимозависимостей и проектирования новых компонентов.
- **Схема потоков данных (Data Flow Diagram)**. Показывает, как данные перемещаются между модулями и компонентами. Полезна для проектирования интеграции и анализа производительности.
- **Инфраструктурная схема** Описывает физическую реализацию системы: сервера, сети, базы данных и т.д. Используется для DevOps и управления инфраструктурой.
**Основные элементы архитектурной схемы**
- **Компоненты** — отдельные части системы, такие как модули, сервисы или базы данных.
- **Интерфейсы** — точки взаимодействия между компонентами (например, API).
- **Связи** — связи или зависимости между компонентами, указывающие на передачу данных или управление.
- **Процессы и потоки данных** — движения информации внутри системы.
**Как создать архитектурную схему?**
- **Определите цель**. Зачем создается схема? Для документации, обсуждения с командой или анализа системы? От цели зависит уровень детализации.
- **Соберите информацию**. Перечислите все компоненты системы, их взаимодействия и внешние зависимости.
- **Выберите инструмент**. Для создания схем можно использовать инструменты, такие как Draw.io, PlantUML, Lucidchart или Visio.
- **Обеспечьте ясность**. Убедитесь, что схема легко читается, избегайте избыточной детализации. Используйте условные обозначения и комментарии.
- **Актуализируйте схему**. При изменении системы своевременно вносите изменения в схему, чтобы она оставалась полезной.
**Пример архитектурной схемы**
Представьте распределённую систему с микросервисной архитектурой. Архитектурная схема может включать:
- Микросервисы (компоненты) и их функции.
- API и форматы данных для взаимодействия между сервисами.
- Потоки данных между сервисами и базами данных.
- Инфраструктуру развёртывания (например, кластер Kubernetes, базы данных, брокеры сообщений).
***
## Мета информация
**Область**:: [[../../meta/zero/00 Архитектура ИС|00 Архитектура ИС]]]]
**Родитель**::
**Источник**::
**Создана**:: [[2024-11-26]]
**Автор**::
### Дополнительные материалы
-
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->