연습 2.2: 클래스 식별

이 연습에서는 PiggyBank 온라인 은행 업무 시스템을 구성하는 메인 오브젝트를 식별합니다. UML 클래스가 오브젝트의 속성 및 관계를 설명하는 데 편리한 템플리트를 제공하므로 이들 오브젝트를 클래스로 설명할 수 있습니다. 프로젝트 요구사항 문서를 분석하고 모든 명사를 강조표시함으로써 메인 PiggyBank 오브젝트를 발견할 수 있습니다. 공통 명사를 목록으로 그룹화한 후 이를 엔티티, 제어기 또는 경계 유형 클래스로 식별할 수 있습니다. 이들 클래스는 도메인 다이어그램을 작성합니다. 작성 후 도메인 다이어그램은 디자인 모델의 기초를 형성합니다.

분석 모델의 중요한 결과는 도메인 모델입니다. 도메인 모델은 기능 타스크에 참여하는 메인 액터 및 엔티티를 모델링하여 응용프로그램의 정적 구조의 모델링을 시도합니다. 도메인 모델은 클래스의 이름을 설명하는 하나 이상의 기본 클래스 다이어그램과 그 작동을 설명하는 하나 이상의 속성으로 이루어져 있습니다. 도메인 다이어그램은 시스템의 대략적인 청사진입니다.

도메인 다이어그램을 작성하기 전에 먼저 프로젝트 유스 케이스 문서에 설명된 PiggyBank 온라인 은행 업무 시스템의 메인 클래스를 식별해야 합니다. 일반적으로 이 단계는 반복적입니다. 이는 시스템의 파트들이 서로 상호 작용하는 방법을 이해하기 전에는 시스템의 올바른 구조를 식별하고 모델링하기가 어려울 수 있기 때문입니다. 유스 케이스 문서의 분석 과정 동안 오브젝트 목록을 작성한 후, 시스템의 동적 모델을 빌드할 때 클래스를 추가, 제거 또는 재구성하여 목록을 수정합니다. 이 학습에서는 요구사항 문서에 설명된 메인 클래스가 식별되어 있습니다.

메인 PiggyBank 오브젝트를 식별하려면 먼저 유스 케이스 문서를 분석하고 발생하는 모든 명사를 나열해야 합니다. 이 목록은 도메인 다이어그램을 구성하는 엔티티, 제어기 및 경계 요소에 대한 기초를 제공합니다. 다음 목록은 PiggyBank 유스 케이스 문서에 설명된 모든 명사를 포함합니다.

  • 고객
  • 계정
  • 소유자
  • 고객 ID
  • 계정 번호
  • 계정 잔액
  • 대변 계정 번호
  • 차변 계정 번호
  • 금액
  • 수표
  • 수표 참조
  • 수표 금액
  • 대변 기입할 금액
  • CityBank 계정
  • 전송

오브젝트의 인스턴스, 다른 오브젝트의 속성인 오브젝트, 복제 또는 관련 오브젝트 및 시스템의 사소한 파트를 나타내는 기타 오브젝트를 나타내는 명사를 제거하여 목록을 정제할 수 있습니다. 이 프로세스는 반복적인 프로세스임을 기억하십시오. 실제 상황에서는 도메인 모델을 완료하고 분석 모델의 동적 요소를 모델링하기 시작하면서 이 목록을 정제하게 됩니다. 이 학습에서는 후보 클래스의 정제된 목록을 아래와 같이 제공합니다.

  • 고객
  • 계정
  • 수표
  • 전송

이들 네 개의 클래스가 도메인 모델의 기초를 형성합니다. 보통 엔티티 클래스가 가장 쉽게 발견되므로 이 정제된 오브젝트 목록은 엔티티 클래스를 나타내기가 쉽습니다. 이들 클래스의 인스턴스 또는 속성이 되는 나머지 클래스는 메인 클래스의 세부사항을 설명하고 이들 간에 존재하는 관계에 대한 정보를 제공합니다.

RUP 스테레오타입을 클래스에 적용

클래스 목록을 식별한 후, 스테레오타입을 적용하여 클래스의 작동에 따라 클래스를 구성할 수 있습니다. 스테레오타입은 유사한 특성 또는 기능에 따라 오브젝트를 구성함으로써 오브젝트를 일반화합니다. RUP® 분석 스테레오타입은 클래스의 작동을 세 가지 스테레오타입(엔티티, 경계, 제어기) 중 하나로 분류하여 설명합니다. 이들 스테레오타입 클래스를 사용하여 시스템에 대한 도메인 다이어그램을 작성할 수 있습니다. 다음 표는 RUP 분석 요소를 설명합니다.

요소 설명
RUP 분석 요소: 경계 클래스

경계 클래스는 시스템과 액터 간의 인터페이스를 설명합니다. 액터가 사람인 경우, 경계 클래스는 간혹 시스템에 액세스하는 소프트웨어 또는 하드웨어 인터페이스를 설명합니다. 액터가 컴퓨터 또는 기타 소프트웨어 응용프로그램과 같은 시스템일 경우, 경계 클래스는 간혹 API와 같은 소프트웨어 인터페이스를 나타냅니다.

RUP 분석 요소: 제어 클래스

제어 클래스는 비즈니스 규칙 및 논리의 구현(implementation)을 포함합니다. 제어 클래스는 사용자로부터 의도적으로 추상되며 경계 클래스에 의해서만 액세스되며 하나 이상의 엔티티 클래스와 상호 작용합니다.

RUP 분석 요소: 엔티티 클래스

엔티티 클래스는 시스템의 데이터를 캡처합니다.

이들 기본 스테레오타입을 클래스 목록에 적용시킴으로써 시스템의 구조와 기능을 더 잘 이해할 수 있습니다. 클래스를 그 기능에 따라 구성할 때, 구현(implementation)의 세부사항과 시스템의 도메인 사이를 구별하기 시작할 수 있습니다. 다음 연습에서 도메인 다이어그램 및 시퀀스 다이어그램을 작성하는 데 이들 스테레오타입을 사용할 수 있습니다.

계속 수행하려면 연습 2.3: PiggyBank 도메인 모델 다이어그램 작성으로 진행하십시오.

이용약관 | 피드백
(C) Copyright IBM Corporation 2004, 2005. All Rights Reserved.