[UML RUP] Entity, Boundary, Control Class
2013.02.25 12:30
[UML RUP] Entity, Boundary, Control Class
클래스를 뽑아내는 것은 그야말로 ‘Art’의 영역이라고 할 만큼 어려운 일이다. 정답도 없고, 공식도 없는 문제를 푸는 일이다. RUP에서는 엔터티 클래스(Entity Classes), 바운더리 클래스(Boundary Classes)와 컨트롤 클래스(Control Classes)를 찾아내는 방법을 제시하고 있다. 이것은 MVC(Model-View-Controller) 패턴의 관점에 따른 것으로 완전한 해결책은 아니지만 실제로 클래스를 찾아내는 작업을 상당히 수월하게 해준다. 이들 주요 클래스에 대해 알아보자.
- 엔터티 클래스(Entity Classes): 실세계의 개체(Entity)를 반영하는 것으로서 시스템 내부의 일을 수행한다. 대체로 긴 수명을 지니는 정보나 행위를 정의한다. 시스템이 속한 업무 영역에 관계된 클래스가 일반적이어서 도메인 클래스(Domain Classes)라고 불리기도 한다. 대개 시스템의 ‘무엇을 해야 하는지’를 명확히 하는 과정에서 발견된다. 가령, 수강신청 시스템은 학생의 강좌 정보를 유지해야 하기 때문에 ‘학생’, ‘강좌’ 등의 엔터티 클래스를 찾아낼 수 있다.
- 바운더리 클래스(Boundary Classes): 시스템과 환경과의 의사소통 인터페이스 역할을 하는 클래스이다. 유즈케이스 다이어그램을 그리고 나면 액터별 시나리오가 나타나기 마련이다. 이때 액터와 시스템이 접하는 부분에서 각 액터에 맞는 바운더리 클래스를 정의할 수 있다. 가령, 학생은 일정한 폼(화면)을 통해서 수강신청 시스템과 상호작용 할 수 있는데 이러한 폼이 바운더리 클래스이다.
- 컨트롤 클래스(Control Classes): 시스템에서 발생되는 일의 흐름을 제어하는 역할을 하는 클래스이다. 일(Event)의 순서를 결정하고 조정하게 된다. 일반적으로 액터별 시나리오마다 흐름을 제어하기 위한 컨트롤 클래스를 추가된다.
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.

