UML의 Class Diagram에 관해

Dev 2009. 4. 23. 12:19
UML 하면 떠오르는 다이어그램이 무엇일까?
대부분의 사람들이 Class Diagram을 UML의 대표 다이어그램으로 떠올린다. 그래서 UML을 도구로 S/W를 설계할 때 Class Diagram을 먼저 그리려고 애쓰곤 한다. 그런데, Class Diagram은 UML의 모든 다이어그램들 중에서 abstraction degree (추상화 정도)가 가장 높은 다이어그램이다. 순서로 따지자면 S/W 설계시에 가장 마지막에 그려야 할 다이어그램이다.

웹킷을 가지고 작업하면서 WebKit 코어를 헤집어보게 됐다. 분석한 결과를 블로그에 꾸준이 올리려고 한다. 그러기에 앞서 분석을 설명하는 "언어"에 대해 일러두려 한다. UML은 소프트웨어 형상에 관한 자신의 생각을 표현하는 "언어"다. 클래스 다이어그램을 그리는 많은 기법들이 존재하는데, 일러두려고 하는 것은 클래스와 클래스 사이의 association (연관관계) 표기에 관한 것이다.


앞으로 블로그에 올리는 클래스 다이어그램에서는 클래스와 클래스 사이의 관계를 가능한 association-line과 role-name 만으로 표현하려고 한다. 하얀 다이아몬드와 검은 다이아몬드 같은 예쁜 기호는 가능한 사용하지 않으려고 한다. 사용하는 어휘가 많아질수록 오해의 여지가 높아지기 때문이다. 위의 그림에서 표기한 ClassA와 ClassB 사이의 관계를 문장으로 옮기면 "ClassA is role-A of ClassB", "ClassB is role-B of ClassA"와 같다. 이와 같은 표기법은 당연(?)하게도 내 생각이 아니다 (분하다...). 훌륭한 선배 개발자의 경험에서 우러난 가이드이다 (클래스 다이어그램 그리는 법에 관한 책을 통해 배운 방법이다. 그 책의 저자는 임베디드 분야에서 무척 많은 경험을 쌓은 훌륭한 S/W 엔지니어였다).
Posted by ingeeC
,