в облаке
Попробовать

Описание архитектуры приложения

15.01.2010 10:51

При разработке достаточно сложного или крупного приложения необходимо уделять особое внимание проектированию и документированию его архитектуры. В DEVPROM есть отдельная фаза, которая называется "Проектирование" в рамках которой участники проекта могут готовить соответствующие диаграммы или модели. Существует достаточно много инструментов для проектирования и документирования программной архитектуры и дизайна. В DEVPROM можно загружать готовые модели или вставлять изображения подготовленных диаграмм. Это может быть особенно полезно, если не все участники проекта владеют или хотят устанавливать дополнительное ПО для просмотра диаграмм.

 

Многие проектировщики разделяют понятия архитектуры и дизайна. Первое понятие больше относится к структуре приложения и отношению между его частями. Второе - это функциональный аспект взаимодействия элементов (компонентов) архитектуры. В настоящее время стандартом де-факто для описания архитектуры является UML. Подготовленные модели вы можете размещать на страницах требований. Основная проблема заключается в методиках описания архитектуры, например, RUP определяет собственные термины и правила для описания архитектуры.

 

В данной заметке я хочу познакомить вас с другим вариантом описания архитектуры, базирующемся на стандарте ANSI/IEEE 1471-2000, Recommended Practice for Architecture Description of Software-Intensive Systems, как наиболее интересном подходе к описанию архитектуры программных решений. Интерес в первую очередь представляет сама методика описания архитектуры, которая базируется на трех уровнях представления архитектуры:

 

  • Viewpoint - точка зрения (аспект), относительно которой мы рассматриваем архитектуру или дизайн приложения. Разные командные роли заинтересованы в раскрытии различных аспектов архитектуры приложения. Эта заинтересованность выражается термином concern. Например, разработчикам прикладного слоя и администраторам базы данных важно знать и понимать архитектуру приложения с точки зрения хранения данных, то есть им интересен persistent viewpoint.
  • View - представление, некоторая часть архитектурного описания приложения, например, функциональная, логическая или посвященная безопасности, например security view. С некоторой точки зрения мы захватываем несколько представлений, например, с точки зрения развертывания решения нам интересны представления deployment view и dependency view. На первом отражено развертывание компонентов решения и связей между ними, а на втором - зависимых компонентов или способов связи с ними.
  • Model - модель, содержащая конкретные компоненты и отражающая связи между ними. В качестве моделей можно использовать диаграмму классов для отображения представления предметной области или логического представления архитектуры приложения.

 

Справа приведен пример структуры требований, описывающих архитектуру приложения по стандарту IEEE 1471-2000.

img1

 

Очень важным следствием из описания архитектуры выходят технологические риски проекта, которые необходимо оценивать и планировать действия команды по их снижению, подробнее об управлении рисками читайте здесь: Управление рисками проекта

 

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