A эталонная архитектура в поле архитектура программного обеспечения или архитектура предприятия предоставляет шаблонное решение для архитектуры для конкретной области. Он также предоставляет общий словарь для обсуждения реализаций, часто с целью подчеркнуть общность. эталонная архитектура программного обеспечения - это архитектура программного обеспечения, в которой структуры и соответствующие элементы и отношения предоставляют шаблоны для конкретных архитектур в конкретной области или в семействе программных систем.
Эталонная архитектура часто состоит из списка функций и некоторых указаний на их интерфейсы (или API ) и взаимодействия друг с другом и с функциями, расположенными вне объем эталонной архитектуры.
Эталонные архитектуры могут быть определены на разных уровнях абстракции. В очень абстрактной форме можно показать различные единицы оборудования в сети связи, каждая из которых выполняет разные функции. На более низком уровне можно продемонстрировать взаимодействие процедур (или методов ) в компьютерной программе, определенной для выполнения очень конкретной задачи.
Эталонная архитектура предоставляет шаблон, часто основанный на обобщении набора решений. Эти решения могут быть обобщены и структурированы для изображения одной или нескольких структур архитектуры на основе сбора набора шаблонов, которые наблюдались в ряде успешных реализаций. Далее показано, как собрать эти части вместе в решение. Эталонные архитектуры будут созданы для определенного домена или для конкретных проектов.
Внедрение эталонной архитектуры в организации ускоряет доставку за счет повторного использования эффективного решения и обеспечивает основу для управления для обеспечения согласованности и использования технологий внутри организации. В области архитектуры программного обеспечения многие эмпирические исследования показали следующие общие преимущества и недостатки внедрения эталонной архитектуры программного обеспечения в организациях: (а) улучшение взаимодействия программных систем путем создания стандартного решения и общие механизмы обмена информацией ; (b) сокращение затрат на разработку программных проектов за счет повторного использования общих активов; (c) улучшение коммуникации внутри организации, поскольку заинтересованные стороны разделяют единое архитектурное мышление; и, (d) влияние на кривую обучения разработчиков в связи с необходимостью изучения его функций.
.