Архитектура
Архитектура программного обеспечения (ПО) – это высокоуровневое описание компонентов и связей между ними, которое определяет общую структуру, принципы и правила организации ПО. Цель архитектуры ПО – обеспечить эффективность, гибкость, масштабируемость и надежность ПО.
В процессе проектирования архитектуры ПО определяются его компоненты, их взаимодействие и порядок выполнения задач. В результате создаются диаграммы и другие модели, которые помогают программистам понять, как все компоненты работают вместе, а также определить, какие решения необходимы для достижения требуемых функциональных и нефункциональных требований.
Успешная архитектура ПО обеспечивает возможность легкого изменения ПО и его поддержки, сокращает время разработки, повышает качество и надежность ПО, а также улучшает его масштабируемость и производительность.
Текущая база знаний включает в себя:
Введение в архитектуру
04.07.2023Архитектура программного обеспечения (Software Architecture) - это высокоуровневое представление системы, определяющее ее компоненты, их взаимодействие и отношения, а также принципы ее организации и управления.
Эволюционная архитектура
04.07.2023Эволюционная архитектура (Evolutionary Architecture) - это подход к разработке компьютерных систем, вдохновленный процессом биологической эволюции.
Паттерны проектирования
04.07.2023Шаблоны проектирования, или паттерны проектирования, - это повторно используемые решения для типичных проблем, которые возникают в процессе проектирования программного обеспечения
Architecture Decision Records
04.07.2023Architecture Decision Records (ADR) - это документы, которые описывают принятые архитектурные решения в проекте или системе. Они используются для сохранения и передачи информации о принятых решениях и обосновании их принятия.
High-Level Design
04.07.2023High-level design (HLD) - это этап проектирования программного обеспечения, который следует после определения требований (requirements) и на этом этапе проектируется общая архитектура ПО. HLD - это уровень архитектуры, на котором проектируются основные компоненты системы, их взаимодействие и организация в целом.
Low-Level Design
04.07.2023Low-Level Design (LLD) - это процесс разработки архитектуры ПО на более низком уровне, чем High-Level Design (HLD). LLD фокусируется на деталях реализации системы, определяет функциональность каждой компоненты и их взаимодействие друг с другом. Этот процесс включает в себя создание диаграмм классов, последовательности, взаимодействия и других моделей для определения структуры и поведения системы.
System Design
04.07.2023Системный дизайн (System Design) - это процесс разработки и организации сложных систем, таких как программные приложения, информационные системы или архитектура компьютерных сетей.
ACID
04.07.2023ACID – это аббревиатура, которая описывает четыре основных свойства транзакций в системах управления базами данных (СУБД). Эти свойства обеспечивают надежность и целостность данных при обработке транзакций.
CAP-теорема
04.07.2023Теория CAP (Consistency, Availability, Partition Tolerance) является одним из фундаментальных понятий распределенных систем. Она гласит, что невозможно создать распределенную систему, которая бы одновременно обладала тремя свойствами: консистентностью (Consistency), доступностью (Availability) и устойчивостью к разделению (Partition Tolerance)
BASE
04.07.2023Подход BASE в проектировании ПО представляет собой компромисс между ACID и CAP, которые являются альтернативными подходами.
Безопасная архитектура
27.08.2023минимизировать риски связанные с угрозами безопасности, такими как несанкционированный доступ, потеря данных, атаки и другие угрозы
Базы данных
26.08.2023База данных — это организованная коллекция данных, которая может быть легко доступна, управляема и обновляема