클래스를 도출하는 방법으로서 유스케이스 분석기법을 사용할 수 있다. 유스케이스(Use-case)는 객체지향 방법론 및 컴포넌트 기반 방법론(CBD, Component-Based Development)에서 시스템에 대한 요구사항을 정의할때 일반적으로 사용되는 개념이다. 개발자는 우선 시스템이 제공할 기능을 유스케이스 단위로 정의한다. 예를 들어 현금 자동 인출기 시스템의 경우에는 입금, 출금, 이체, 조회 등이 유스케이스가 될 수 있다.
개발자가 이 유스케이스를 분석하여 몇몇 유형의 도출하는 방법이 일반적으로 사용되며, 이 방법을 유스케이스 분석 기법이라고 부른다. 유스케이스 분석기법은 각 유스케이스의 내용을 분석하여 다음과 같은 세가지 유형의 클래스를 도출하려고 노력한다.
▶ 경계클래스(boundary class)
개발할 시스템과 시스템 외부와의 연결, 즉 인터페이스 역할을 하는 클래스들을 경계클래스라고 부른다. 유스케이스 기법에서는 시스템 외부의 존재를 액터(Actor)라고 부르며, 일반적으로 액터는 사용자와 연동되는 외부의 시스템으로 분류된다. 따라서 사용자와의 인터페이스 즉 사용자 인터페이스를 위하여 사용되는 각종 화면(예를들면 VB의 Form, ASP 페이지, JSP페이지, ASP.NET페이지등)이 바로 경계클래스에 해당된다.
그리고 외부 시스템과의 연동을 위한 클래스로서는 예를들면 현금 자동 인출기 시스템의 경우에는 사용자가 요청한 입금, 출금, 이체, 조회 등을 실제로 처리하기 위하여 연동되는 은행의 전산 시스템이 전형적인 예다. 현금 자동 인출기 시스템은 이 은행 전산 시스템과의 통신을 통하여 입금, 출금, 이체, 조회 등을 처리해야 하며, 이때 은행 전산 시스템과의 통신 기능을 전담하는 클래스를 경계클래스라고 부른다. 위에서 소개한 전형적인 유형의 클래스 중에서 시스템 외부와의 인터페이스 역할을 하는 클래스가 바로 유스케이스 분석 기법에서 말하는 경계클래스에 해당된다.
▶실체클래스(entity class)
실체클래스는 영속적인 정보(시스템의 수행이 종료되어도 그 값이 유지되어야 하는 정보와 그 정보에 대한 조작 기능을 제공하는 클래스다. 예를들어 온라인 서점 시스템의 경우에는 등록된 도서와 사용자에 대한 정보는 시스템이 종료되어도 계속 유지되어야 한다.
실체클래스는 위에서 설명한 전형적인 유형의 클래스 중에서 업무와 적업의 참여자 및 결과물 유형에 해당된다. 왜냐하면 참여자 및 결과물에 대한 정보는 일반적으로 시스템의 종료와 상관없이 계속해서 유지될 필요성이 있기 때문이다.
▶제어클래스(control class)
제어 클래스는 시스템이 제공할 유스케이스의 제어 로직 및 비즈니스 로직을 제공하는 클래스라고 정의된다. 일반적으로 유스케이스 분석 기법에서는 각 유스케이스에 해당되는 하나의 제어 클래스를 정의하기도 한다.



덧글