Я немного сомневаюсь в связи между Унифицированным языком моделирования (UML) и различными перспективами моделирования (концептуальная, спецификация и реализация), одобренными (R) UP среди других методологий OOA / D.
Из того, что я понимаю, диаграмма одного и того же типа с использованием одних и тех же обозначений может иметь различное значение в зависимости от используемой перспективы *. Например, диаграмма классов может представлять абстракцию реальных систем / явлений в концептуальной перспективе, а когда перспектива впоследствии изменяется на спецификацию / реализацию, диаграмма классов используется для абстрагирования конструкций компьютерной программы.
Вопросы:
1) Насколько я понимаю, существуют определенные правила для диаграммы классов UML в целом. Например, что класс может расширять другой класс, но он не может расширять ассоциацию. Где определены сущности диаграммы классов и правила их взаимодействия? Все ли это происходит на уровне M2 в архитектуре метамоделирования UML
(см. википедию, иллюстрирующую архитектуру метамодели) ?
2) Смежный вопрос. На мой взгляд, общие правила для конкретной диаграммы охватывают перспективы моделирования (опять же, для класса абсурдно расширять ассоциацию), но различные перспективы моделирования накладывают определенное значение на диаграмму определенного типа. Например, ассоциация в диаграмме классов модели предметной области (концептуальная перспектива) по своей природе будет двунаправленной, тогда как она может быть двунаправленной или однонаправленной в диаграмме классов модели проекта (спецификация / перспектива реализации).
В только что описанном сценарии наложенное правило ограничивает свойства ассоциации. Правильно ли предположить, что правила, накладываемые перспективами, всегда будут подмножеством / ограничением правил, определенных метамоделью uml, и никогда не будут надмножеством?
Эти правила / ограничения определены формализованными ракурсами (аналогично метамодели) или это просто соглашения, описанные в литературе OOA / D?
*
Перспективы объясняются в пункте 10.8: http://books.google.co.uk/books?id=r8i-4En_aa4C&printsec=frontcover&hl=da&source=gbs_v2_summary_r&cad=0