Архитектурно-дизайнерские решения
Архитектурное проектирование - это творческий процесс, поэтому процесс отличается в зависимости от типа разрабатываемой системы. К Вашему вниманию бти отзывы и возможность воспользоваться услугами архитектурного проектирования по доступной и выгодной цене. Однако ряд общих решений охватывает все процессы проектирования, и эти решения влияют на нефункциональные характеристики системы:
Существует ли общая архитектура приложения, которую можно использовать?
Как система будет распространяться?
Какие архитектурные стили подходят?
Какой подход будет использован для структурирования системы?
Как система будет разложена на модули?
Какую стратегию контроля следует использовать?
Как будет оцениваться архитектурный проект?
Как следует документировать архитектуру?
Системы в одной и той же области часто имеют схожие архитектуры, которые отражают концепции домена. Прикладные продуктовые линейки построены вокруг базовой архитектуры с вариантами, которые удовлетворяют конкретным требованиям заказчика. Архитектура системы может быть разработана вокруг одного или нескольких архитектурных шаблонов / стилей , которые отражают суть архитектуры и могут быть созданы различными способами.
Конкретный архитектурный стиль должен зависеть от нефункциональных системных требований :
Производительность : локализация критических операций и минимизация коммуникаций. Используйте крупные, а не мелкозернистые компоненты.
Безопасность : используйте многоуровневую архитектуру с критическими активами во внутренних слоях.
Безопасность : локализуйте критичные для безопасности функции в небольшом количестве подсистем.
Доступность : включают резервные компоненты и механизмы для отказоустойчивости.
Ремонтопригодность : используйте мелкозернистые, сменные компоненты.
Архитектурные виды
Каждая архитектурная модель показывает только один вид или перспективу системы. Это может показать, как система разлагается на модули, как взаимодействуют процессы во время выполнения или различные способы распределения компонентов системы по сети. Как для проектирования, так и для документации вам обычно необходимо представить несколько представлений об архитектуре программного обеспечения.