크리에이티브 커먼즈 라이선스
Creative Commons License
럼버아저씨와 그의 동료들에 의해서 개발된 방법으로, 객체를 중심으로 기능보다는 구조에 중점을 두어
기술하는 방법이다.

객체 설계 방법으로 크게 객체모델, 동적모델, 기능적 모델로 구성된다.  

객체모델(Object model) : 정적인 구조로 시스템에서 객체간의 관계를 나타낸다. 
                                    클래스 다이어그램에 근간을 두고있다. 
동적 모델(dynamic model) : 시스템의 제어 측면을 기술하며, 객체의 행위와 이벤트를 기술해 준다. 
기능적 모델(functional model) : 함수적 의존관계를 보여주며, 객체 구조와 관계없이 입/출력 값의 
                                            흐름을 기술 해 준다. 




객체 상속 
 : 부모클래스에 연결하는 삼각형 (클래스다이어 그램과 동일)  
객체 집합관계 
 : 마름모 화살표 (클래스다이어그램과 동일)  
객체 참조 및 연관성
 : 직선(실선)으로 기술한다. 클래스의 결합은 객체 참조나 포인터로 존재하게 된다. 
   이를 표현하기 위해 직선으로 연결하며, 참조 하는쪽에 선위에 표기를 해 준다. 
   Drawing 은 Shape에 대해 알지만, Shape은 그것이 속해있는 Drawing에 대하여 모른다. 
객체 다른 객체 인스턴스 생성 
  : 점선 화살표로 기술한다. CreationTool 은 LineShape객체를 생성한다. 


또 다른  예로 팩토리 패턴을 그려 보았다. 




 클래스 다이어 그램에서 처럼 노트를 사용하여 의사코드를 설명 하기도 한다. 



 개인적으로, 클래스다이어 그램에서는 기술할 수 없었던 객체의 생성, 참조 관계에 대하여 표현 가능하며, 
 동적인 객체간의 흐름을 기술 할 수있어 OMT 기록법을 좋아하게 되었다.  


참고 자료 :
url - http://www.geocities.com/fozlul851/ooad/fozlul-lecture-12.doc
books - Design Patterns : Elements of Reusable Object-Priented Software 

반응형

+ Recent posts