Объектно-ролевое моделирование ( ORM ) используется для моделирования семантики вселенной дискурса . ORM часто используется для моделирования данных и разработки программного обеспечения .
Модель объект-роль использует графические символы, основанные на логике предикатов первого порядка и теории множеств, чтобы позволить разработчику модели создать однозначное определение произвольной вселенной дискурса. Без атрибутов предикаты модели ORM подходят для анализа и проектирования моделей графовых баз данных в той мере, в какой ORM изначально задумывался для поддержки проектирования реляционных баз данных.
Термин «объектно-ролевая модель» был придуман в 1970-х годах, а инструменты на основе ORM использовались более 30 лет — в основном для моделирования данных . В последнее время ORM использовался для моделирования бизнес-правил , XML-схем, хранилищ данных , проектирования требований и веб-форм. [1]
Корни ORM можно проследить до исследований семантического моделирования информационных систем в Европе в 1970-х годах. Было много пионеров, и это краткое резюме никоим образом не упоминает их всех. Ранний вклад был сделан в 1973 году, когда Майкл Сенко написал о «структурировании данных» в журнале IBM Systems Journal. В 1974 году Жан-Раймон Абриаль написал статью о «семантике данных». В июне 1975 года была опубликована докторская диссертация Экхарда Фалькенберга , а в 1976 году в одной из статей Фалькенберга упоминается термин «модель объекта–роли».
GM Nijssen внес фундаментальный вклад, введя обозначение «круг-ящик» для типов объектов и ролей, а также сформулировав первую версию процедуры проектирования концептуальной схемы. Роберт Мирсман расширил подход, добавив подтипирование и введя первый по-настоящему концептуальный язык запросов.
Моделирование ролей объектов также развилось из метода анализа информации на естественном языке , методологии, которая была первоначально разработана академическим исследователем GM Nijssen в Нидерландах ( Европа ) в середине 1970-х годов и его исследовательской группой в исследовательской лаборатории Control Data Corporation в Бельгии, а затем в Университете Квинсленда, Австралия, в 1980-х годах. Аббревиатура NIAM изначально означала «Методология анализа информации Ниссена», а затем была обобщена до «Методологии анализа информации на естественном языке» и моделирования бинарных отношений , поскольку GM Nijssen был лишь одним из многих людей, участвовавших в разработке метода. [2]
В 1989 году Терри Хэлпин защитил докторскую диссертацию по ORM, представив первую полную формализацию подхода и включив несколько расширений.
Также в 1989 году Терри Хэлпин и GM Нийссен совместно написали книгу «Концептуальная схема и проектирование реляционных баз данных» и несколько совместных статей, в которых впервые формализовали моделирование объектов и ролей.
Графический инструмент проектирования NIAM, который включал возможность генерировать скрипты создания баз данных для Oracle, DB2 и DBQ, был разработан в начале 1990-х годов в Париже. Первоначально он назывался Genesys и успешно продавался во Франции, а затем в Канаде. Он также мог обрабатывать проектирование ER-диаграмм. Он был портирован на платформы SCO Unix, SunOs, DEC 3151 и Windows 3.0, а затем был перенесен на последующие операционные системы Microsoft , используя XVT для графической переносимости между операционными системами. Инструмент был переименован в OORIANE и в настоящее время используется для крупных проектов хранилищ данных и SOA.
Также из NIAM развивается " Полностью коммуникационно-ориентированное информационное моделирование " FCO-IM (1992). Оно отличается от традиционного ORM тем, что принимает строгую коммуникационно-ориентированную перспективу. Вместо того, чтобы пытаться моделировать домен и его основные концепции, оно моделирует коммуникацию в этом домене (универсум дискурса). Другое важное отличие заключается в том, что оно делает это на уровне экземпляра, выводя уровень типа и уровень объекта/факта во время анализа.
Еще одной недавней разработкой является использование ORM в сочетании со стандартизированными типами отношений с соответствующими ролями и стандартным машиночитаемым словарем и таксономией концепций, которые представлены в словаре английского языка Gellish . Стандартизация типов отношений (типов фактов), ролей и концепций расширяет возможности для интеграции моделей и повторного использования моделей.
Объектно-ролевые модели основаны на элементарных фактах и выражены в диаграммах , которые могут быть вербализованы на естественном языке. Факт — это предложение , например, «Джон Смит был нанят 5 января 1995 года» или «Мэри Джонс была нанята 3 марта 2010 года».
С ORM такие предложения , как эти, абстрагируются в «типы фактов», например, «Человек был нанят на дату», а отдельные предложения рассматриваются как образцы данных. Разница между «фактом» и «элементарным фактом» заключается в том, что элементарный факт не может быть упрощен без потери смысла. Этот «основанный на фактах» подход облегчает моделирование, преобразование и запрос информации из любой области. [4]
ORM не содержит атрибутов: в отличие от моделей в методах сущность-связь (ER) и унифицированный язык моделирования (UML), ORM рассматривает все элементарные факты как отношения и, таким образом, рассматривает решения по группировке фактов в структуры (например, типы сущностей на основе атрибутов, классы, схемы отношений, схемы XML) как проблемы реализации, не имеющие отношения к семантике. Избегая атрибутов, ORM улучшает семантическую стабильность и позволяет вербализовать на естественном языке.
Моделирование на основе фактов включает процедуры сопоставления фактов со структурами на основе атрибутов, такими как ER или UML. [4]
Текстовые представления, основанные на фактах, основаны на формальных подмножествах родных языков. Сторонники ORM утверждают, что модели ORM легче понять людям без технического образования. Например, сторонники утверждают, что модели объект-роль легче понять, чем декларативные языки, такие как Object Constraint Language (OCL) и другие графические языки, такие как модели классов UML . [4] Графические нотации, основанные на фактах, более выразительны, чем нотации ER и UML . Модель объект-роль может быть автоматически сопоставлена с реляционными и дедуктивными базами данных (такими как datalog ). [5]
ORM2 — это последнее поколение объектно-ролевого моделирования. Главные цели графической нотации ORM 2: [6]
Разработка системы обычно включает несколько этапов, таких как: технико-экономическое обоснование; анализ требований; концептуальное проектирование данных и операций; логическое проектирование; внешнее проектирование; прототипирование; внутреннее проектирование и реализация; тестирование и валидация; и обслуживание. Семь шагов процедуры проектирования концептуальной схемы: [7]
Процедура разработки концептуальной схемы ORM (CSDP) фокусируется на анализе и проектировании данных.