вторник, февраля 23, 2010

Архитектура программных систем - пара слов о стандарте IEEE 1471

Я уже не раз упоминал стандарт IEEE 1471. Его полное название "IEEE Recommended Practice for Architectural Description of Software-Intensive Systems" (IEEE Std 1471-2000, где 2000 - год последней публикации).


С точки зрения содержания, этот стандарт на первый взгляд представлется достаточно абстрактным. Об этом говорит даже его краткое описание (abstract):


This recommended practice addresses the activities of the creation, analysis, and sustainment of architectures of software-intensive systems, and the recording of such architectures in terms of architectural descriptions. A conceptual framework for architectural description is established. The content of an architectural description is defined. Annexes provide the rationale for key concepts and terminology, the relationships to other standards, and examples of usage.


Однако, стандарт с одной стороны задаёт общую систему координат, без которой невозможно обсуждать столь комплексный предмет как архитектура ПО. С другой стороны, стандарт отражает по-сути индустриальный консенсус, сложившуюся и основанную на практие общую точку зрения, которая позволяет более предметно обсуждать уже сами подходы и фреймворки, отвечающие на вопрос "как описывать архитектуру ПО". Стандарт перекликается и со знаменитой моделью Филипа Кратчена (Philippe Kruchten) "4+1 Architectural View Model". В 2007 году, этот стандарт IEEE стал и стандартом ISO/IEC 42010:2007.


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


Кому-то это может показаться чистой теорией. Хм... может быть на первый взгляд оно и так. Однако, попробуйте описать архитектуру любой мало-мальски сложной, комплексной прикладной (или системной) программы только что пришедшему в команду человеку так, чтобы он смог быстро вникнуть и в предназначение и в реализацию системы. Думаю, что попытавшись найти короткий путь к превращению нового коллеги в действующего бойца, без такого многогранного описания архитектуры, как описано в 1471 вы просто не сможете обойтись. Так что это как раз из той самой матчасти, из тех инструментов, без которых архитектору - ну никуда. По крайней мере моя практика пока только подтверждает эту точку зрения.

Ярлыки: , ,

Комментарии: 0:

Отправить комментарий

Подпишитесь на каналы Комментарии к сообщению [Atom]

Ссылки на это сообщение:

Создать ссылку

<< Главная страница