럼버아저씨와 그의 동료들에 의해서 개발된 방법으로, 객체를 중심으로 기능보다는 구조에 중점을 두어 기술하는 방법이다.
객체 설계 방법으로 크게 객체모델, 동적모델, 기능적 모델로 구성된다.
객체모델(Object model) : 정적인 구조로 시스템에서 객체간의 관계를 나타낸다. 클래스 다이어그램에 근간을 두고있다.
동적 모델(dynamic model) : 시스템의 제어 측면을 기술하며, 객체의 행위와 이벤트를 기술해 준다. 기능적 모델(functional model) : 함수적 의존관계를 보여주며, 객체 구조와 관계없이 입/출력 값의 흐름을 기술 해 준다.
객체 상속 : 부모클래스에 연결하는 삼각형 (클래스다이어 그램과 동일) 객체 집합관계 : 마름모 화살표 (클래스다이어그램과 동일) 객체 참조 및 연관성 : 직선(실선)으로 기술한다. 클래스의 결합은 객체 참조나 포인터로 존재하게 된다. 이를 표현하기 위해 직선으로 연결하며, 참조 하는쪽에 선위에 표기를 해 준다. Drawing 은 Shape에 대해 알지만, Shape은 그것이 속해있는 Drawing에 대하여 모른다. 객체 다른 객체 인스턴스 생성 : 점선 화살표로 기술한다. CreationTool 은 LineShape객체를 생성한다.
또 다른 예로 팩토리 패턴을 그려 보았다.
클래스 다이어 그램에서 처럼 노트를 사용하여 의사코드를 설명 하기도 한다.
개인적으로, 클래스다이어 그램에서는 기술할 수 없었던 객체의 생성, 참조 관계에 대하여 표현 가능하며, 동적인 객체간의 흐름을 기술 할 수있어 OMT 기록법을 좋아하게 되었다.