На самом деле всё начинается у нас не с модели. А с мета-модели.
Мета-модель описывает то из чего могут состоять конечные клиентские модели.
Она описывает какие элементы могут туда входить и какие у них взаимоотношения.
Например, есть стереотип пакета "Interfaces", так вот на мета-модели - он определён и более того в ней описано, что в "Interfaces" могут входить только элементы со стереотипом "Interface" ну или что-то "подобное", а также - "простые типы".
Или есть "Views" - туда могут входить только "View" или что-то подобное.
Также мета-модель контролирует СВЯЗИ между элементами, такие как dependency, realization и generalization. А также - association.
На "оба конца" связей можно вводить ограничения на уровне мета-модели.
Например можно сказать, что Controller "имеет право" знать про "View", но не наоборот. При этом ограничения дифференцируются по типам связей. Для каждого типа (и стереотипа) связей - бывают собственные ограничения.
Таким образом UML и мета-модель - служат некоторого рода тьютором. Хотя "выстрелить себе в ногу" - конечно никто не запретит.
Вот вкратце - "зачем UML".
P.S. А есть ещё мета-мета-модель - в терминах которой описывается естественно мета-модель. В мета-мета-мета-модели - необходимости пока не было :-)
Мета-модель описывает то из чего могут состоять конечные клиентские модели.
Она описывает какие элементы могут туда входить и какие у них взаимоотношения.
Например, есть стереотип пакета "Interfaces", так вот на мета-модели - он определён и более того в ней описано, что в "Interfaces" могут входить только элементы со стереотипом "Interface" ну или что-то "подобное", а также - "простые типы".
Или есть "Views" - туда могут входить только "View" или что-то подобное.
Также мета-модель контролирует СВЯЗИ между элементами, такие как dependency, realization и generalization. А также - association.
На "оба конца" связей можно вводить ограничения на уровне мета-модели.
Например можно сказать, что Controller "имеет право" знать про "View", но не наоборот. При этом ограничения дифференцируются по типам связей. Для каждого типа (и стереотипа) связей - бывают собственные ограничения.
Таким образом UML и мета-модель - служат некоторого рода тьютором. Хотя "выстрелить себе в ногу" - конечно никто не запретит.
Вот вкратце - "зачем UML".
P.S. А есть ещё мета-мета-модель - в терминах которой описывается естественно мета-модель. В мета-мета-мета-модели - необходимости пока не было :-)
Вот хорошее объяснение, что такое "мета-модель". Спасибо.
ОтветитьУдалитьДа пожалуйста :-) Был рад если чему-то помог.
УдалитьА где "забавно"? :-) простите...
Удалить