정보 모델(Information model)은 소프트웨어 공학에서 선택한 담화(discourse) 영역에 대한 데이터 의미를 지정하기 위한 개념과 관계, 제약 조건, 규칙 및 연산을 표현한 것이다. 일반적으로 이는 사물 종류 간의 관계를 지정하지만 개별 사물과의 관계도 포함될 수 있다. 이는 도메인 컨텍스트에 대한 정보 요구사항 또는 지식의 공유 가능하고 안정적이며 조직화된 구조를 제공할 수 있다.[1]
개요
정보 모델이라는 용어는 일반적으로 시설물, 건물, 공정공장 등 개별 사물의 모델을 지칭하는데 사용되며, 이 경우 시설정보모델, 건축정보모델, 플랜트정보모델 등에 개념이 특화된다. 정보 모델은 시설 모델과 시설에 관한 데이터 및 문서를 통합한 것이다.
소프트웨어 엔지니어링 및 데이터 모델링 분야에서 정보 모델은 일반적으로 해당 속성, 관계 및 수행할 수 있는 작업을 포함할 수 있는 엔터티 유형의 추상적이고 공식적인 표현이다. 모델의 엔터티 유형은 네트워크의 장치나 발생과 같은 실제 개체의 종류일 수도 있고, 청구 시스템에서 사용되는 엔터티와 같이 그 자체가 추상적일 수도 있다. 일반적으로 엔터티 유형, 속성, 관계 및 작업의 닫힌 집합으로 설명할 수 있는 제한된 도메인을 모델링하는 데 사용된다.
정보 모델은 해당 설명이 소프트웨어의 실제 구현에 매핑되는 방식을 제한하지 않고 문제 영역 설명에 형식성을 제공한다. 정보 모델에는 많은 매핑이 있을 수 있다. 이러한 매핑을 개체 모델(예: UML 사용), 엔터티 관계 모델 또는 XML 스키마인지 여부에 관계없이 데이터 모델이라고 한다.