В программной инженерии модель предметной области — это концептуальная модель предметной области , которая включает в себя как поведение, так и данные. [1] [2] В онтологической инженерии модель предметной области — это формальное представление предметной области с концепциями, ролями, типами данных, индивидуумами и правилами, обычно основанное на логике описания .
В области компьютерных наук концептуальная модель направлена на выражение значения терминов и концепций, используемых экспертами в предметной области для обсуждения проблемы, и нахождения правильных отношений между различными концепциями. Концептуальная модель явно выбирается независимой от проблем проектирования или реализации , например, параллелизма или хранения данных . Концептуальное моделирование в компьютерных науках не следует путать с другими дисциплинами моделирования в более широкой области концептуальных моделей, такими как моделирование данных , логическое моделирование и физическое моделирование.
Концептуальная модель пытается прояснить значение различных, обычно двусмысленных терминов и гарантировать, что путаница, вызванная различными толкованиями терминов и концепций, не может возникнуть. Такие различные толкования могут легко вызвать путаницу среди заинтересованных сторон, особенно тех, кто отвечает за проектирование и реализацию решения, где концептуальная модель обеспечивает ключевой артефакт бизнес-понимания и ясности. После моделирования концепций предметной области модель становится стабильной основой для последующей разработки приложений в предметной области. Концепции концептуальной модели могут быть отображены в физические конструкции проектирования или реализации с использованием подходов ручной или автоматизированной генерации кода . Реализация концептуальных моделей многих предметных областей может быть объединена в согласованную платформу.
Концептуальная модель может быть описана с использованием различных нотаций, таких как UML , ORM или OMT для моделирования объектов, ITE или IDEF1X для моделирования отношений сущностей . В нотации UML концептуальная модель часто описывается с помощью диаграммы классов , в которой классы представляют концепции, ассоциации представляют отношения между концепциями, а типы ролей ассоциации представляют типы ролей, принимаемые экземплярами моделируемых концепций в различных ситуациях. В нотации ER концептуальная модель описывается с помощью ER-диаграммы, в которой сущности представляют концепции, кардинальность и необязательность представляют отношения между концепциями. Независимо от используемой нотации важно не ставить под угрозу богатство и ясность бизнес-смысла, изображенного в концептуальной модели, выражая его напрямую в форме, на которую влияют проблемы проектирования или реализации.
Это часто используется для определения различных процессов в конкретной компании или институте.
Модель предметной области — это система абстракций, описывающая выбранные аспекты сферы знаний, влияния или деятельности (домен [3] ). Затем модель может использоваться для решения проблем, связанных с этим доменом. Модель предметной области — это представление значимых реальных концепций, относящихся к домену, которые необходимо смоделировать в программном обеспечении. Концепции включают данные, вовлеченные в бизнес, и правила, которые бизнес использует в отношении этих данных. Модель предметной области использует естественный язык домена.
Модель домена обычно использует словарь домена, что позволяет донести представление модели до нетехнических заинтересованных лиц. Она не должна ссылаться на какие-либо технические реализации, такие как базы данных или программные компоненты, которые находятся в стадии разработки.
Модель домена обычно реализуется как объектная модель внутри слоя, которая использует слой более низкого уровня для сохранения и «публикует» API для слоя более высокого уровня для получения доступа к данным и поведению модели.
В унифицированном языке моделирования (UML) для представления модели предметной области используется диаграмма классов .