Здравствуйте, Silver_s, Вы писали:
S_>В UML не хватает одного важного аспекта (или диаграммы).
Вы уже настолько хорошо изучили этот язык, что можете указывать на его недостатки?
S_>Не знаю как бы его можно было назвать, что то типа диаграммы иерархии инкапсуляции касающееся физической реализации. Чтобы там можно было увидеть иерархию частей, силу их сцепления и инкапсулации, толщину интерфейса между частями.
S_>Коэфиценты инкапсуляции можно считать как количество человеко лет истраченное на разработку куска, поделенное на количество человеко-часов необходимое для досконального изучения интерфейса этого куска. (Или по количеству функций или строк в куске и его интерфейсе).
Это больше относиться к метрикам. Хотя можно для этого использовать патеерны GRASP. Читаем Лармана

.
S_>Например поймали на улице обезьяну, усадили изучать проект. Первое что она должна узнать об архитектуре системы, это то что система состоит из 2 крупных частей в каждой по 50K строк кода, на каждую часть истрачено по 10 человеко-лет, во внутренностях этих частей без пол-литра не разберешься, и связь между этими частями всего лишь в виде одной функции (так получилось допустим например).
S_>Самый высокий уровень абстракции для такой системы — это описание принимаемых и возвращаемых параметров этой функции и ее семантика. Обезьяна должна узнать в первую очередь об этом, а никак не о том что какой-то SuperPuperCombobox наследуется от SuperPuperControl.
Про пакеты в UML имеет смысл посмотреть.
S_>Естейственно это должно быть организовано иерархически, с постепенным измельчением.
S_>И в этот же аспект входит классификация типов интерфейсов между частями — понятно что одной функцией в интерфейсе не отделаешься. Есть наиболее распространенные интерфейсные патерны. И это полезно хорошо представлять, какого типа интерфейс между частями.
S_>При проектировании и изучении кода это очень важный аспект, и его в памяти приходится отстраивать.
Вывод: имея свое собственное представление об проектировании и реализации систем, которое несколько отличается от того как это видят идиологи и именитые приверженцы OOAP, не стоит говорить, что они все идиоты

. А стоит задуматься о полноте и универсальности собсвтенного подхода

.