Существует множество вариантов или методик описания и проектирования архитектур, например, как стандарт IEEE 1471 или инициатива The Open Group под названием TOGAF, вы вправе выбирать наиболее понятную или подходящую к конкретной ситуации. В этом посте я хочу немного рассказать о довольно старой и хорошо известной модели или фреймовке Захмана (Zahman).
Это не в чистом виде методология описания архитектуры, а скорее некоторая практика или способ классификации архитектурных описаний некой системы или приложения, позволяющий взглянуть на архитектуру под разными углами зрения и получить максимально полную картину. Описание архитектуры по Захману представляет собой матрицу или таблицу Захмана. В строках таблицы расположены основные представления (или точки зрения) на архитектуру, а в столбцах архитектурные аспекты выраженные простыми вопросами, что, как, где и т.п. Каждая ячейка таблицы представляет собой уникальное, не пересекающееся с остальными, описание архитектурного аспекта на заданном уровне представления, выраженное при помощи соответствующей модели.
|
Contextual | Первоочередные высокоуровневые цели организации | Перечень всех известных процессов | Перечень всех известных организационных сущностей | Перечень организационных единиц, ролей | Географический аспект организации | Перечень жизненных циклов, важных для организации | Conceptual | Иерархия целей организации | Описание бизнес-процессов, входов и выходов | Основные сущности и их взаимосвязи | Основные орг. единицы и роли, а также связи между ними | Расположение элементов организации и связи между ними | Описываются происходящие события и циклы | Logical | Диаграмма правил | Диаграмма процессов | Доменная модель | Диаграмма отношений между ролями | Диаграмма расположения элементов организации, передача сущностей и используемые процессы | Событийные диаграммы | Physical | Описание правил и ограничений на формальном языке, используемые для тестирования | Функциональные диаграммы | Модели данных | Модели потоков управления | Диаграммы развертывания компонентов | Диаграммы состояний и активностей | Detailed | | | | | | |
Расшифровка строк таблицы:
- Planner's View (Scope, Contextual level) - общее, высокоуровневое видение архитектуры решения с точки зрения инвестора или заказчика.
- Owner's View (Enterprise or Business Model, Conceptual level) - уровень бизнеса, бизнес-сущностей и бизнес-процессов, то есть взгляд с точки зрения пользователей данного решения.
- Designer's View (Information Systems Model, Logical level) - представление системного аналитика о решении на уровне информационных моделей, функциональных требований к решению и потоков данных.
- Builder's View (Technology Model, Physical level) - представление архитектора, нацеленное на использование конкретных технологий, языков программирования, устройств и платформ.
- Subcontractor View (Detailed Specifications, Detailed level) - уровень детализированного представления о внутреннем устройстве всех компонентов решения, нацеленный на разработчиков и программистов.
Расшифровка столбцов таблицы:
- What - описание данных
- How - описание поведения и функциональности
- Where - описание компонентов и их размещения
- Who - описание участников и ролей
- When - описание временных аспектов
- Why - описание поведенческих аспектов
Формализация данной модели базируется на наборе следующих правил:
- Столбцы таблицы равнозначны и их положение взаимозаменяемо. Количество столбцов не может быть увеличено или уменьшено.
- Каждый столбец определяет простую общую модель и обладает собственной метамоделью.
- Базовая модель для каждого столбца должна быть уникальна.
- Каждая строка описывает уникальное представление архитектуры и бизнес группу, которой это представление интересно. Описанные представления присутствуют в большинстве иерархически организованных бизнесах.
- Каждая ячейка таблицы уникальна и описывает конкретный кейс.
- Полный набор моделей из всех ячеек одной строки формируют полную модель архитектуры с данной точки зрения.
|