Здравствуйте, cosmicdustman, Вы писали:
C>Хочу предложить вниманию участников форума статью, представляющую нотацию для ORM диаграмм. Она основана на Hibernate и ActiveRecord подходах к ORM, а так же UML диаграмме классов и Data Structure Diagram для RDB таблиц.
C>Статья на английском языке.
C>Это вводная статья, состоит из описания базовых конструкций и трех views.
C>Секции:
C>- Problem
C>- Solution — основные элементы нотации и views
C>- Tools
C>- Conclusion
C>Хочу обратить внимание, что статья посвящена непосредственно нотации, а не инструментам ее реализующим. Хотелось бы сначала услышать критику этой нотации, внести поправки, а потом уже заниматься реализацией инструментов.
C>Поэтому буду благодарен за комментарии.
Мне после прочтения не стало понятно для чего нужна еще одна нотация.
Я могу, опираясь на свой опыт с PowerDesigner(PD), кое что описать.
В статье говорится про то что тяжеловато из объектной модели(OOM-object oriented model) переходить к модели БД (PDM — phisical data model)
В PD, как в прочем и в других case существует концептуальная модель (CDM). При проекте "c нуля" аналитику удобней и правильней создать CDM, а затем параллельно на основе CDM сгенерировать и работать с OOM и PDM.
Если не нравится CDM, то есть analisys OOM суть которой примерно таже, но вы используете UML-нотацию.
Касательно маппинга/ORM то это расширения моделей. Имхо, незачем нагромождать еще один дополнительный тип модели со своей нотацией. Это было бы контрпродуктивно.
В PD существует возможность создавать расширения модели на основе extended attributes, которые могут иметь любой тип используемый в PD, будь то класс или таблица, или список значений и т.п.
Как раз с помощью подобных расширений+mapping editor и сделана в PD возможность генерации кода для Hibernate/NHibernate/ADO.NET
В ранних версиях, когда еще расширения для маппинга не поставлялись с PD, ничто не мешало людям, создавать собственные гибкие генераторы на основе моделей:
Разработка на основе моделей (Model Driven Development) с примерами использования... << RSDN@Home 1.1.4 stable SR1 rev. 568>>