Re[5]: Просветите про роль требований в проектировании, плиз
От: A.Lokotkov Россия http://www.linkedin.com/pub/alexander-lokotkov/a/701/625
Дата: 15.02.09 08:17
Оценка: +1
Здравствуйте, Gaperton, Вы писали:

G>Первое — что такое "архитектура". Нет единого понимания данного термина, что служит поводом для спекуляций.


Странно. Берем IEEE 1471-2000 и читаем:
architecture:
The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.
Далее, если говорить простыми словами, авторы стандарта показывают, что архитектура системы по сути является представлениями системы в виде двух "ящиков": "черного" -- с точки зрения взаимодействия с окружением; и "прозрачного" -- с точки зрения взаимодействия элементов внутренней структуры.

G>Определяем три термина. Архитектура, дизайн, детальный дизайн.

G>Детальный дизайн — алгоритмы и структуры данных.
G>Дизайн — разбиение функциональности по компонентам, модулям, или классам.
G>Архитектура — то, что не перечисленное. Комплекс базовых технологий, на которые опирается решение, плюс — идиом или паттернов проектирования, заложенных в "ядро", "фреймворк", или философию построения системы.

Положим, архитектура не есть дизайн, т.е. не включает в себя множество компонентов, алгоритмов и структур данных, но включает в себя комплекс базовых технологий и паттернов проектирования ("ядро" и "фреймворк" пока отложим в сторону, потому как из определения не очень понятно, являются они частью архитектуры или нет, как и метафорическое понятие "философия построения"). Что есть "паттерн проектирования"? В википедии не дано внятного определения, однако в тексте там говорится о повторяемых [или характерных] отношениях и взаимодействиях (тавтология, кстати) между объектами или классами и т.д., при этом "участники" паттерна не являются конкретными классами/объектами, а лишь абстрактными ролями в отношении, который описывается паттерном. Однако при реализации паттерна в "дизайне" абстрактные роли в отношении, определяемом паттерном, трансформируются во вполне конкретные элементы "дизайна": интерфейсы, объекты-медиаторы и т.п., т.е. паттерн становится частью дизайна, особенно, если мы понимаем под "детальным дизайном" одно и то же -- алгоритмы и структуры данных. Хотя можно, конечно, упереться и объявить паттерн и реализацию паттерна разными вещами и упражняться в риторике до посинения.

Кстати, если рассматривать использование xml для сериализации в качестве архитектурного решения в отрыве от дизайна и ограничений на дизайн, то могут получаться удивительные по своей абсурдности вещи, как в некоторых middleware, когда для передачи по сети одного скалярного значения риалтаймовых данных с меткой времени требуется посылать по "веревке" килобайт xml-ной чепухи.

G>Главное, архитектуру не путайте с дизайном. Думаю, как только вы мои определения почитали, вам уже все стало понятнее, не так ли? .


И как же их не путать то? Может, для пользы дела примем дизайн/детальный дизайн в качестве одного из архитектурных представлений?
bloß it hudla
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.