tgoop.com/rect_arrow/306
Last Update:
Качества архитектуры
«Вначале была модель» (Книга, И:1:1).
Рассмотрим архитектуру как Большую Модель,
то есть множество моделей системы, описанных разными языками.
Какими качествами должна обладать эта модель?
1. Правильность
Многие настаивают, что модель и архитектурные решения должны быть правильными.
Многие даже знают список этих правил.
Я же вслед за М. Фаулером и Джорджем Боксом считаю, что модель не может быть правильной или неправильной.
Она может быть полезной или бесполезной:
- «Models are not right or wrong; they are more or less useful» (Martin Fowler).
- «В сущности, все модели неправильны, но некоторые полезны» (George E. P. Box).
2. Полезность
Полезность модели — вопрос интересный.
Том ДеМарко считает, что любая, даже очень простая модель может принести пользу.
Достаточно того, чтобы модель предсказывала что-нибудь хоть чуток наперёд и хоть чуточку точно.
Однако это не даёт ответа на вопрос, стоит ли, например, строить сложную мат. модель производительности или можно обойтись простыми предположениями.
Насколько «полезной» должна быть модель?
Меру полезности, неожиданно, предлагают менеджеры, представляющие буржуазию.
У них это называется «выгода» .
Если прибыль от модели будет выше, чем затраты на её производство и поддержку, то модель безусловно полезна.
Например, если архитектор, пользуясь моделью, активно выявляет риски и разрабатывает план их смягчения, а менеджер не умеет работать с рисками — то и незачем тратиться на зарплату архитектора.
3. Истинность
И. Ньютон, нисколько не смущаясь, обосновывал истинность своих гипотез их пользой -
«Теория работает, значит она верна» .
Ньютону вторят Басс, Клемантс и Казман: «The right architecture paves the way for system success» .
И даже у Владимира Ильича близкое: «Теория Маркса верна, так как она всесильна» .
Я, вслед за Декартом, с подозрением отношусь к этому подходу.
Это опять нас притягивает к понятию «правильной модели» .
Остановлюсь на архитектурном эквиваленте истинности — целостности.
Пусть модель будет внутренне непротиворечивой — этого достаточно.
4. Полнота
Сразу нет!
Во-первых, это дорого.
Во-вторых, не нужно.
В-третьих, недостижимо (спасибо за разъяснения Геделю).
5. Красота
Модель должна быть красивой.
Зачем — не знаю.
Говорят, красивый инструмент повышает продуктивность. Возможно.
Как оценить красоту, тоже не знаю.
У меня есть только одна метрика для этого качества — лаконичность.
Итого:
Архитектура как большая модель должна обладать следующими качествами:
- Польза (то есть добро, в финансовом смысле слова).
- Истина (то есть целостность, непротиворечивость).
- Красота (без обоснования).
Остальное — блажь )
BY Прямоугольники и стрелочки
Share with your friend now:
tgoop.com/rect_arrow/306