Объектно-ролевое моделирование

Методика программирования
Пример диаграммы ORM2

Объектно-ролевое моделирование ( 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 . Стандартизация типов отношений (типов фактов), ролей и концепций расширяет возможности для интеграции моделей и повторного использования моделей.

Концепции

Обзор нотации объектно-ролевой модели, Стивен М. Ричард (1999). [3]

Факты

Объектно-ролевые модели основаны на элементарных фактах и ​​выражены в диаграммах , которые могут быть вербализованы на естественном языке. Факт — это предложение , например, «Джон Смит был нанят 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]

Графическая нотация ORM 2

ORM2 — это последнее поколение объектно-ролевого моделирования. Главные цели графической нотации ORM 2: [6]

  • Более компактное отображение моделей ORM без ущерба для ясности
  • Улучшенная интернационализация (например, исключение символов английского языка)
  • Упрощенные правила рисования для облегчения создания графического редактора
  • Расширенное использование представлений для выборочного отображения/скрытия деталей
  • Поддержка новых функций (например, разграничение путей ролей, аспекты закрытия, модальности)

Процедура проектирования

Пример применения моделирования ролей объектов в «Схеме геологической поверхности», Стивен М. Ричард (1999). [3]

Разработка системы обычно включает несколько этапов, таких как: технико-экономическое обоснование; анализ требований; концептуальное проектирование данных и операций; логическое проектирование; внешнее проектирование; прототипирование; внутреннее проектирование и реализация; тестирование и валидация; и обслуживание. Семь шагов процедуры проектирования концептуальной схемы: [7]

  1. Преобразуйте знакомые примеры информации в элементарные факты и применяйте проверки качества.
  2. Нарисуйте типы фактов и примените проверку населения.
  3. Проверьте типы сущностей, которые следует объединить, и обратите внимание на любые арифметические производные.
  4. Добавьте ограничения уникальности и проверьте арность типов фактов.
  5. Добавьте обязательные ограничения ролей и проверьте наличие логических выводов.
  6. Добавление значения, установка ограничений сравнения и подтипирования
  7. Добавьте другие ограничения и выполните окончательные проверки.

Процедура разработки концептуальной схемы ORM (CSDP) фокусируется на анализе и проектировании данных.

Смотрите также

Ссылки

  1. ^ Jarrar, M. (2007). "Towards Automated Reasoning on ORM Schemes". Концептуальное моделирование - ER 2007. Lecture Notes in Computer Science. Vol. 4801. pp.  181– 197. Bibcode :2007LNCS.4801..181J. CiteSeerX  10.1.1.148.6251 . doi :10.1007/978-3-540-75563-0_14. ISBN 978-3-540-75562-3.
  2. ^ Wintraecken, JJVR (1990) [1987]. Метод анализа информации NIAM: теория и практика. Перевод: Informatie-analyse volgens NIAM. Дордрехт; Бостон: Kluwer Academic Publishers . doi :10.1007/978-94-009-0451-4. ISBN 079230263X. OCLC  19554537. S2CID  30209824.
  3. ^ Стивен М. Ричард (1999). Геологическое концептуальное моделирование. Открытый отчет Геологической службы США 99-386.
  4. ^ abc "ORM 2 Graphical Notation" (PDF) . Получено 2024-05-19 .
  5. ^ "P:11 Сопоставление ORM с Datalog — обзор — The ORM Foundation". www.ormfoundation.org . Получено 31 мая 2020 г. .
  6. ^ "ORM 2" (PDF) . Архивировано из оригинала (PDF) 19 февраля 2009 г. . Получено 22 апреля 2009 г. .Хэлпин, Т. 2005, «ORM 2», На пути к значимым интернет-системам 2005: семинары OTM 2005, под ред. Р. Меерсмана, З. Тари, П. Херреро и др., Кипр. Springer LNCS 3762, стр. 676–87.
  7. ^ Терри Хэлпин (2001). «Объектно-ролевое моделирование: обзор»

Дальнейшее чтение

Получено с "https://en.wikipedia.org/w/index.php?title=Object–role_modeling&oldid=1262812830"