+7 (499) 638-64-11
Попробовать
Постановка и автоматизация процессов разработки ПО

Проектирование архитектуры - модель Захмана

02.02.2010 16:23

Существует множество вариантов или методик описания и проектирования архитектур, например, как стандарт IEEE 1471 или инициатива The Open Group под названием TOGAF, вы вправе выбирать наиболее понятную или подходящую к конкретной ситуации. В этом посте я хочу немного рассказать о довольно старой и хорошо известной модели или фреймовке Захмана (Zahman).

 

Это не в чистом виде методология описания архитектуры, а скорее некоторая практика или способ классификации архитектурных описаний некой системы или приложения, позволяющий взглянуть на архитектуру под разными углами зрения и получить максимально полную картину. Описание архитектуры по Захману представляет собой матрицу или таблицу Захмана. В строках таблицы расположены основные представления (или точки зрения) на архитектуру, а в столбцах архитектурные аспекты выраженные простыми вопросами, что, как, где и т.п. Каждая ячейка таблицы представляет собой уникальное, не пересекающееся с остальными, описание архитектурного аспекта на заданном уровне представления, выраженное при помощи соответствующей модели.

 

WhyHowWhatWhoWhereWhen

Contextual

Первоочередные высокоуровневые цели организации

Перечень всех известных процессов

Перечень всех известных организационных сущностей

Перечень организационных единиц, ролей

Географический аспект организации

Перечень жизненных циклов, важных для организации

Conceptual

Иерархия целей организации

Описание бизнес-процессов, входов и выходов

Основные сущности и их взаимосвязи

Основные орг. единицы и роли, а также связи между ними

Расположение элементов организации и связи между ними

Описываются происходящие события и циклы

Logical

Диаграмма правил

Диаграмма процессов

Доменная модель

Диаграмма отношений между ролями

Диаграмма расположения элементов организации, передача сущностей и используемые процессы

Событийные диаграммы

Physical

Описание правил и ограничений на формальном языке, используемые для тестирования

Функциональные диаграммы

Модели данных

Модели потоков управления

Диаграммы развертывания компонентов

Диаграммы состояний и активностей

Detailed

 

Расшифровка строк таблицы:

 

  1. Planner's View (Scope, Contextual level) - общее, высокоуровневое видение архитектуры решения с точки зрения инвестора или заказчика.
  2. Owner's View (Enterprise or Business Model, Conceptual level) - уровень бизнеса, бизнес-сущностей и бизнес-процессов, то есть взгляд с точки зрения пользователей данного решения.
  3. Designer's View (Information Systems Model, Logical level) - представление системного аналитика о решении на уровне информационных моделей, функциональных требований к решению и потоков данных.
  4. Builder's View (Technology Model, Physical level) - представление архитектора, нацеленное на использование конкретных технологий, языков программирования, устройств и платформ.
  5. Subcontractor View (Detailed Specifications, Detailed level) - уровень детализированного представления о внутреннем устройстве всех компонентов решения, нацеленный на разработчиков и программистов.

 

Расшифровка столбцов таблицы:

 

  1. What - описание данных
  2. How - описание поведения и функциональности
  3. Where - описание компонентов и их размещения
  4. Who - описание участников и ролей
  5. When - описание временных аспектов
  6. Why - описание поведенческих аспектов

 

Формализация данной модели базируется на наборе следующих правил:

 

  1. Столбцы таблицы равнозначны и их положение взаимозаменяемо. Количество столбцов не может быть увеличено или уменьшено.
  2. Каждый столбец определяет простую общую модель и обладает собственной метамоделью.
  3. Базовая модель для каждого столбца должна быть уникальна.
  4. Каждая строка описывает уникальное представление архитектуры и бизнес группу, которой это представление интересно. Описанные представления присутствуют в большинстве иерархически организованных бизнесах.
  5. Каждая ячейка таблицы уникальна и описывает конкретный кейс.
  6. Полный набор моделей из всех ячеек одной строки формируют полную модель архитектуры с данной точки зрения.

Еще интересные статьи на эту тему: