Эволюционная архитектура: как построить системы, способные развиваться? Нихил Бартвал

Среди инженеров-программистов распространена практика определения архитектуры сложной системы с самого начала и использования её в качестве плана для будущей реализации. На практике этот подход неэффективен, поскольку требования постоянно меняются, а изначально определённую архитектуру сложно изменить в дальнейшем. Это приводит к дорогостоящей перепроектировке и повторной реализации. Эволюционная архитектура — это подход, рассматривающий архитектуру как развивающуюся сущность, не имеющую конечного состояния, но предназначенную для адаптации к постоянно меняющимся требованиям. Эволюционная архитектура определяется как архитектура, поддерживающая направленные, инкрементальные изменения в нескольких измерениях. Этот подход включает в себя определение набора архитектурных характеристик и целевой функции, называемой функцией приспособленности, которая оценивает, насколько близко предполагаемое проектное решение к достижению поставленных целей. Функция приспособленности используется для внесения направленных инкрементальных изменений в систему. Архитектурные характеристики определяются по нескольким измерениям, таким как масштабируемость, безопасность, гибкость и возможность тестирования и развертывания, и влияние каждого инкрементального изменения учитывается по всем измерениям. Целью данного доклада является демонстрация того, как принципы эволюционной архитектуры могут быть использованы для проектирования систем, архитектура которых не деградирует со временем, а также развитие понимания того, как изменения в системе повлияют на ее архитектурные характеристики в различных измерениях.

Смотрите также