TeamLead
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Архитектура

Большинство разработчиков, скорее всего, представляют себе архитектуру только в приложении к конкретному проекту, т.е. можно часто услышать от них «архитектура ПО», однако это лишь малая часть того, что входит в общее понятие. Условно можно разделить глобальное понятие на несколько частей, от общего к частному. Можете представить их в виде пирамиды:

  • Бизнес архитектура
  • Архитектура информационных систем (потоки данных)
  • Технологическая архитектура

Таким образом, разработчики чаще всего говорят о технологической архитектуре приложения.

Бизнес архитектура, она же Enterprise, является представлением того, как эффективно воспроизвести цели бизнеса и стратегию путем создания, улучшения и объединения ключевых требований, принципов и моделей для успешного развития бизнеса и достижения поставленных целей. Архитекторы уровня Enterprise должны ориентироваться на бизнес потребности и проводить анализ потоков данных, т.е. покрывают два указанных пункта. Архитекторы уровня Solution занимаются технологическими аспектами проектов. Так же стоит упомянуть Infrastructure Architect, людей, которые занимаются глобальным развитием и анализом технических возможностей по реализации проектов.

Уровни архитектуры

  • Enterprise Architecture (EA) – что делать
  • Solution Architecture (SA) – как делать
  • Infrastructure Architecture (IA) или Technical Architecture (TA) - как поддерживать

Enterprise architecture

Задачи, которые стоят перед EA:

  • Определение и решение об оборудовании, на котором будет работать приложение и/или его части;
  • Определение потоков данных, взаимодействие с другими информационными системами в пределах компании и за ее пределами;
  • Разработка плана разворачивания приложения, определение зависимостей;
  • Разработка плана администрирования приложения и вопросов доступа\безопасности.

Solution architecture

Задачи, которые стоят перед SA:

  • Выбор фреймворков для работы;
  • Взаимодействие приложения и пользователя;
  • Контроль за развитием приложения;
  • Решение спорных моментов у разработчиков.

Infrastructure/Technical architecture

Задачи, которые стоят перед IA и TA:

  • Архитектура классов;
  • Структура данных;
  • Отказоустойчивость и производительность приложения;
  • Используемые алгоритмы и методы работы с данными.

Темы для изучения