Кому пригодится архитектурное описание?

15.01.2010 18:52

В одном из постов мы приводили пример описания архитектуры по стандарту IEEE 1471: Кому пригодится архитектурное описание?

Перед составлением архитектурного описания разработанного приложения, или программы, которая только планируется к разработке, необходимо четко определиться для кого создается архитектурный документ. Проблема в том, что нельзя создать всеобъемлющее и полное описание архитектуры программного приложения, поскольку это очень многогранное представление. Вы можете потерять много времени впустую и к этому моменту архитектура уже может измениться.

 

В стандарте определяются так называемые stakeholders, то есть заинтересованные лица, которым интересны те или иные аспекты архитектуры. Можно рассмотреть две группы аспектов, которые помогут описать архитектуру приложения:

 

  • Первая группа содержит аспекты, отвечающие на вопрос "что?", это функциональный аспект, описание предметной области и описание нефункциональных атрибутов качества, например, производительность, надежность и т.п.
  • Вторая группа содержит аспекты, отвечающие на вопрос "каким образом?", то есть такие, которые говорят как именно реализуются функциональный аспект приложения, особенности предметной области и нефункциональные атрибуты качества. К таким аспектам можно отнести концептуальное представление архитектуры, логическое и поведенческое представление, аспекты развертывания и реализации.

 

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

 

Заинтересованное лицоИнтересыАспекты

Специалист поддержки

Каким образом, на каких серверах развернуты компоненты решения?

Какие есть инструменты для контроля работы компонентов?

Deployment viewpoint

Проектировщик БД

Какова предметная область приложения?

Какие компоненты решения требуют хранения в базе данных?

Какие есть требвоания к производительности и надежности подсистемы хранения данных?

Domain viewpoint, Persistent viewpoint, Deployment viewpoint

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