'class diagram'에 해당되는 글 1건

  1. 2009.04.23 UML의 Class Diagram에 관해 (2)
크리에이티브 커먼즈 라이선스
Creative Commons License
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 ingee

댓글을 달아 주세요

  1. 써니 2009.05.29 16:21 신고  댓글주소  수정/삭제  댓글쓰기

    웹킷 개발 관련 자료를 검색하다 흘러들어왔다, 간결하면서도 핵심을 짚은 글을 읽고 갑니다.

    그런데 한가지 여쭙고자 합니다. 저는 소프트웨어 구조를 표현할 때 '시퀀스 다이어그램'과
    '클래스 다이어그램', 2가지 만을 작성합니다.
    나머지 유형의 다이어그램들의 사용할 일이 별로 없었습니다.

    그런데, 추상화 레벨이 가장 낮은 다이어그램은 어떤 걸까요? ^^;

    • ingee 2009.06.03 11:26 신고  댓글주소  수정/삭제

      반갑습니다. 저도 시퀀스 다이어그램과 클래스 다이어그램을 주로 사용합니다. 개발을 하면서 다이어그램을 그려가는 순서가 중요하다는 사실을 깨달았습니다. 저는 제일 먼저 유스케이스 다이어그램을 그립니다. 어떤 일을 해야할지 항목을 나열하기 위한 용도 입니다. 그리고 각 항목별로 시퀀스 다이어그램을 그립니다. 시퀀스 다이어그램을 그려가면서 클래스 다이어그램을 점차 정리해 갑니다. 최종적으로 가장 마지막에 완성하는 것은 클래스 다이어그램입니다. 셋중에 비교하자면 유스케이스 다이어그램이 가장 추상화 정도가 낮다 (이해하기 쉽다, 현실적이다)고 생각합니다.



티스토리 툴바