--- 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]] **Автор**:: ### Дополнительные материалы - ### Дочерние заметки