연습 2.3: PiggyBank 도메인 모델 다이어그램 작성

이 연습에서는 계정 오퍼레이션 기능 영역과 PiggyBank 도메인 모델 다이어그램을 작성합니다. 이 도메인 모델 다이어그램은 시스템의 메인 클래스를 보여주는 클래스 다이어그램을 사용하여 PiggyBank 시스템의 도메인을 설명합니다.

분석 모델은 모델 1에서 식별한 계정 오퍼레이션 기능 영역에 빌드됩니다. 계정 오퍼레이션 패키지에는 잔액 표시, 송금 및 수표 현금화 유스 케이스 실현(realizations)과 함께 계정 오퍼레이션 분석 요소 서브패키지가 포함되어 있습니다. 계정 오퍼레이션 분석 요소 서브패키지에는 모델의 정적 구조를 모델링할 때 작성하는 Rational Unified Process®(RUP®) 분석 요소가 포함되어 있습니다. 이 패키지에는 또한 도메인 레벨 다이어그램을 작성하기 위한 작업공간으로 사용되는 계정 오퍼레이션 분석 요소 다이어그램이 포함되어 있습니다.

도메인 다이어그램은 PiggyBank 온라인 은행 업무 시스템의 메인 클래스를 보여주는 일종의 클래스 다이어그램입니다. 단순 클래스 다이어그램은 이전 연습에서 식별한 메인 클래스와 이들 클래스의 속성 및 클래스 간 관계를 보여줍니다. 도메인 모델은 시스템의 도메인에 대해서만 설명하며 응용프로그램 자체의 세부사항에 대해서는 설명하지 않습니다. 도메인 모델은 시스템의 엔티티 클래스 및 이들 클래스의 관계만 모델링하여 이를 완성합니다. 도메인 다이어그램은 시스템의 구조만 모델링하므로 정적이라고 합니다. 이 연습에서는 엔티티 클래스를 작성하고 이들 클래스의 속성을 모델링합니다. 각 유스 케이스에 대한 시퀀스 다이어그램을 작성할 때 각 엔티티의 오퍼레이션을 식별하고 모델링합니다.

모델링은 반복적인 프로세스입니다. 사용자의 도메인 모델은 모델링 중인 시스템에 대한 정보를 더 발견함에 따라 변경됩니다. 이 학습서에서는 기본 도메인 다이어그램을 아웃라인하고 각 엔티티에 대한 모든 속성을 모델링합니다.

기능 영역 작성

분석 모델이 유스 케이스 모델에 빌드되므로 계정 오퍼레이션 기능 영역은 PiggyBank 분석 요소 및 유스 케이스 실현(realizations)을 저장합니다. 새로운 계정 오퍼레이션 기능 영역은 모델의 루트에 작성해야 합니다.

계정 오퍼레이션 기능 영역을 작성하려면 다음을 수행하십시오.
  1. 모델 탐색기 보기에서 분석 모델을 펼친 후 «ModelLibrary» 분석 빌딩 블록을 펼치고 마우스 오른쪽 단추로 ${functional.area} 패키지를 클릭하십시오. 그런 다음, 복사를 클릭하십시오.
  2. 마우스 오른쪽 단추로 루트 분석 모델 패키지를 클릭한 후 붙여넣기를 클릭하십시오.
  3. 마우스 오른쪽 단추로 ${functional.area}를 클릭한 후 찾기/바꾸기를 클릭하십시오.
  4. 찾을 내용 필드에 ${functional.area}를 입력한 후 바꾸기를 클릭하십시오.
  5. 바꿀 대상 필드에 계정 오퍼레이션(Account Operations)을 입력한 후 확인을 클릭하십시오.

계정 오퍼레이션 기능 영역에 잔액 표시 유스 케이스 실현(realization)을 추가하려면 다음을 수행하십시오.
  1. 모델 탐색기 보기에서 분석 모델을 펼치고, «ModelLibrary» 분석 빌딩 블록을 펼친 후 마우스 오른쪽 단추로 ${use.case} 패키지를 클릭하고 복사를 클릭하십시오.
  2. 마우스 오른쪽 단추로 계정 오퍼레이션 패키지를 클릭한 후 붙여넣기를 클릭하십시오.
  3. 마우스 오른쪽 단추로 ${use.case}를 클릭한 후 찾기/바꾸기를 클릭하십시오.
  4. 찾을 내용 필드에 ${use.case}를 입력한 후 바꾸기를 클릭하십시오.
  5. 바꿀 대상 필드에 잔액 표시(Display Balance)를 입력한 후 확인을 클릭하십시오.
계정 오퍼레이션 기능 영역에 송금 유스 케이스 실현(realization)을 추가하려면 다음을 수행하십시오.
  1. 모델 탐색기 보기에서 분석 모델을 펼치고, «ModelLibrary» 분석 빌딩 블록을 펼친 후 마우스 오른쪽 단추로 ${use.case} 패키지를 클릭하고 복사를 클릭하십시오.
  2. 마우스 오른쪽 단추로 계정 오퍼레이션 패키지를 클릭한 후 붙여넣기를 클릭하십시오.
  3. 마우스 오른쪽 단추로 ${use.case}를 클릭한 후 찾기/바꾸기를 클릭하십시오.
  4. 찾을 내용 필드에 ${use.case}를 입력한 후 바꾸기를 클릭하십시오.
  5. 바꿀 대상 필드에 송금(Transfer Money)을 입력한 후 확인을 클릭하십시오.
계정 오퍼레이션 기능 영역에 수표 현금화 유스 케이스 실현(realization)을 추가하려면 다음을 수행하십시오.
  1. 모델 탐색기 보기에서 분석 모델을 펼치고, «ModelLibrary» 분석 빌딩 블록을 펼친 후 마우스 오른쪽 단추로 ${use.case} 패키지를 클릭하고 복사를 클릭하십시오.
  2. 마우스 오른쪽 단추로 계정 오퍼레이션 패키지를 클릭한 후 붙여넣기를 클릭하십시오.
  3. 마우스 오른쪽 단추로 ${use.case}를 클릭한 후 찾기/바꾸기를 클릭하십시오.
  4. 찾을 내용 필드에 ${use.case}를 입력한 후 바꾸기를 클릭하십시오.
  5. 바꿀 대상 필드에 수표 현금화(Cash Check)를 입력한 후 확인을 클릭하십시오.

계정 오퍼레이션 기능 영역에는 PiggyBank 분석 모델에 대한 분석 요소와 유스 케이스 실현(realizations)이 들어 있습니다. 계정 오퍼레이션 분석 요소 서브패키지에는 이 프로젝트에 대한 모든 분석 요소가 들어 있습니다. 계정 오퍼레이션 분석 클래스 클래스 다이어그램이 PiggyBank 도메인 다이어그램을 빌드할 작업공간으로 사용될 수 있습니다.

도메인 모델 다이어그램 작성

계정 오퍼레이션 기능 영역에 도메인 모델 다이어그램을 작성한 후, 가시화된 모델 요소를 분석 모델 템플리트의 «Perspective» 개요 패키지에 복사합니다. 계정 오퍼레이션 분석 클래스 다이어그램은 다이어그램을 작성하기 위한 작업공간이며, «Perspective» 개요 패키지는 다이어그램의 최종 사본만 포함하고 클래스는 포함하고 있지 않습니다.

도메인 다이어그램을 작성하려면 다음을 수행하십시오.
  1. 모델 탐색기 보기에서 분석 모델을 펼친 후 계정 오퍼레이션을 펼치십시오.
  2. 계정 오퍼레이션 분석 요소 패키지에서 계정 오퍼레이션 분석 클래스를 두 번 클릭하십시오.

이제 PiggyBank 분석 요소 다이어그램이 작성되었습니다. 이 다이어그램은 기능 영역의 구조 내에 클래스를 작성하고 가시화할 수 있는 작업공간입니다. 이 패키지에 도메인 레벨 클래스 다이어그램을 작성한 후, 모델을 완료하려면 전체 다이어그램을 «Perspective» 개요 패키지로 끌어야 합니다.

계정 클래스 작성

계정 클래스는 PiggyBank 사용자 계정을 나타냅니다. 계정 클래스는 getBalance 및 findForCustomer와 같은 계정 클래스와 연관된 기능 타스크를 설명합니다.

계정 클래스를 모델링하려면 다음을 수행하십시오.
  1. 팔레트에서 클래스를 두 번 클릭한 후 클래스 이름을 계정(Account)으로 지정하십시오.
  2. 다이어그램 편집기에서 계정 클래스를 클릭하고, 특성 보기의 스테레오타입 페이지에서 스테레오타입 추가를 클릭하십시오.
  3. 스테레오타입 적용 창에서 엔티티 선택란을 선택한 후 확인을 클릭하십시오.
  4. 다이어그램 편집기에서 마우스 오른쪽 단추로 계정 클래스를 클릭한 후 UML 추가 > 속성을 클릭하고, 속성 이름을 잔액(balance)으로 지정하십시오.
  5. 다이어그램 편집기의 계정 클래스에서 잔액 속성을 클릭하고, 특성 보기의 일반 페이지에서 유형 선택을 클릭하십시오.
  6. 요소 선택 창에서 UML2를 펼치고, 정수를 클릭한 후 확인을 클릭하십시오.
  7. 다이어그램 편집기에서 마우스 오른쪽 단추로 계정 클래스를 클릭한 후 UML 추가 > 속성을 클릭하고, 속성 이름을 번호(number)로 지정하십시오.
  8. 다이어그램 편집기의 계정 클래스에서 번호 속성을 클릭하십시오.
  9. 특성 보기의 일반 페이지에서 유형 선택을 클릭하십시오.
  10. 요소 선택 창에서 UML2를 펼치고, 문자열을 클릭한 후 확인을 클릭하십시오.
계정 클래스를 모델링했습니다.
참고: 분석 모델 템플리트에는 RUP 분석 요소 스테레오타입을 사용하여 스테레오타입화된 빈 클래스가 포함되어 있습니다. 새 클래스를 작성하고 이들 클래스에 스테레오타입을 적용하는 대신, 분석 요소를 기능 영역으로 복사한 후 이들 요소의 이름을 바꿀 수 있습니다. 기존 RUP 분석 요소를 사용하려면 모델 탐색기 보기의 «ModelLibrary» 빌딩 블록 패키지에서 마우스 오른쪽 단추로 분석 요소를 클릭한 후 복사를 클릭하십시오. 마우스 오른쪽 단추로 기능 영역을 클릭한 후 붙여넣기를 클릭하십시오.

전송 클래스 작성

전송 클래스는 고객이 한 계정에서 다른 계정으로 송금할 때 발생하는 트랜잭션을 설명합니다. 전송 클래스는 계정 클래스에 대해 두 개의 연관을 가집니다.

전송 클래스를 모델링하려면 다음을 수행하십시오.
  1. 팔레트에서 클래스를 두 번 클릭한 후 클래스 이름을 전송(Transfer)으로 지정하십시오.
  2. 다이어그램 편집기에서 전송 클래스를 클릭하고, 특성 보기의 스테레오타입 페이지에서 스테레오타입 추가를 클릭하십시오.
  3. 스테레오타입 적용 창에서 엔티티 선택란을 선택한 후 확인을 클릭하십시오.
  4. 다이어그램 편집기에서 마우스 오른쪽 단추로 전송 클래스를 클릭한 후 UML 추가 > 속성을 클릭하고, 속성 이름을 금액(amount)으로 지정하십시오.
  5. 다이어그램 편집기의 전송 클래스에서 금액 속성을 클릭하십시오.
  6. 특성 보기의 일반 페이지에서 유형 선택을 클릭하십시오.
  7. 요소 선택 창에서 UML2를 펼치고 정수를 클릭한 후 확인을 클릭하십시오.

전송 클래스를 모델링했습니다.

전송-계정 관계 모델링

전송 클래스는 계정 클래스에 종속됩니다.

전송-계정 관계를 모델링하려면 다음을 수행하십시오.
  1. 팔레트에서 종속성 옆에 있는 아래 화살표를 클릭한 후 사용(usage)을 클릭하십시오.
  2. 다이어그램 편집기에서 커서를 전송 클래스에 놓고, 이를 계정 클래스로 끌어서 놓으십시오.

전송 클래스의 관계를 모델링했습니다. 다이어그램은 다음 그림과 유사하게 표시됩니다.

전송과 계정의 관계

수표 클래스 작성

수표 클래스는 PiggyBank에서 현금으로 바뀌어지는 수표를 설명합니다.

수표 클래스를 모델링하려면 다음을 수행하십시오.
  1. 팔레트에서 클래스를 두 번 클릭한 후 클래스 이름을 수표(Check)로 지정하십시오.
  2. 다이어그램 편집기에서 수표 클래스를 클릭하십시오.
  3. 특성 보기의 스테레오타입 페이지에서 스테레오타입 추가를 클릭하십시오.
  4. 스테레오타입 적용 창에서 엔티티 선택란을 선택한 후 확인을 클릭하십시오.
  5. 다이어그램 편집기에서 마우스 오른쪽 단추로 수표 클래스를 클릭한 후 UML 추가 > 속성을 클릭하고, 속성 이름을 금액(amount)으로 지정하십시오.
  6. 다이어그램 편집기의 수표 클래스에서 금액 속성을 클릭하십시오.
  7. 특성 보기의 일반 페이지에서 유형 선택을 클릭하십시오.
  8. 요소 선택 창에서 UML2를 펼치고, 정수를 클릭한 후 확인을 클릭하십시오.
  9. 다이어그램 편집기의 수표 클래스에서 금액 속성을 클릭하십시오.
  10. 특성 보기의 일반 페이지에서 가시성 옆의 공용을 클릭하십시오.
  11. 다이어그램 편집기에서 마우스 오른쪽 단추로 수표 클래스를 클릭한 후 UML 추가 > 속성을 클릭하고, 속성 이름을 참조(reference)로 지정하십시오.
  12. 다이어그램 편집기의 수표 클래스에서 참조 속성을 클릭하십시오.
  13. 특성 보기의 일반 페이지에서 유형 선택을 클릭하십시오.
  14. 요소 선택 창에서 UML2를 펼치고, 문자열을 클릭한 후 확인을 클릭하십시오.
  15. 다이어그램 편집기의 수표 클래스에서 참조 속성을 클릭하십시오.
  16. 특성 보기의 일반 페이지에서 가시성 옆의 공용을 클릭하십시오.

수표 클래스를 모델링했습니다. 다이어그램은 다음 그림과 유사하게 표시됩니다.

금액 및 참조 두 가지 속성을 보여주는 수표 클래스

수표-계정 관계 모델링

수표 클래스는 계정 클래스에 종속됩니다.

수표-계정 관계를 모델링하려면 다음을 수행하십시오.
  1. 팔레트에서 사용(usage)을 클릭하십시오.
  2. 다이어그램 편집기에서 커서를 수표 클래스에 놓고, 이를 계정 클래스로 끌어서 놓으십시오.

수표 클래스의 관계를 모델링했습니다.

고객 클래스 작성

고객 클래스는 PiggyBank 고객을 설명합니다.

고객 클래스를 모델링하려면 다음을 수행하십시오.
  1. 팔레트에서 클래스를 두 번 클릭한 후 클래스 이름을 고객(Customer)으로 지정하십시오.
  2. 다이어그램 편집기에서 고객 클래스를 클릭하십시오.
  3. 특성 보기의 스테레오타입 페이지에서 스테레오타입 추가를 클릭하십시오.
  4. 스테레오타입 적용 창에서 엔티티 선택란을 선택한 후 확인을 클릭하십시오.
  5. 다이어그램 편집기에서 마우스 오른쪽 단추로 고객 클래스를 클릭한 후 UML 추가 > 속성을 클릭하고, 속성 이름을 loginId로 지정하십시오.
  6. 다이어그램 편집기의 고객 클래스에서 loginId 속성을 클릭하십시오.
  7. 특성 보기의 일반 페이지에서 유형 선택을 클릭하십시오.
  8. 요소 선택 창에서 UML2를 펼치고, 문자열을 클릭한 후 확인을 클릭하십시오.
  9. 다이어그램 편집기의 수표 클래스에서 loginId 속성을 클릭하십시오.
  10. 특성 보기의 일반 페이지에서 가시성 옆의 공용을 클릭하십시오.
  11. 다이어그램 편집기에서 마우스 오른쪽 단추로 수표 클래스를 클릭한 후 UML 추가 > 속성을 클릭하고, 속성 이름을 이름(name)으로 지정하십시오.
  12. 다이어그램 편집기의 수표 클래스에서 이름 속성을 클릭하십시오.
  13. 특성 보기의 일반 페이지에서 유형 선택을 클릭하십시오.
  14. 요소 선택 창에서 UML2를 펼치고 문자열을 클릭한 후 확인을 클릭하십시오.
  15. 다이어그램 편집기의 수표 클래스에서 이름 속성을 클릭하십시오.
  16. 특성 보기의 일반 페이지에서 가시성 옆의 공용을 클릭하십시오.

고객 클래스를 모델링했습니다.

계정-고객 관계 모델링

계정 클래스는 고객 클래스에 종속됩니다.

계정-고객 관계를 모델링하려면 다음을 수행하십시오.
  1. 팔레트에서 사용(usage)을 클릭하십시오.
  2. 다이어그램 편집기에서 커서를 계정 클래스에 놓고, 이를 고객 클래스로 끌어서 놓으십시오.

고객 클래스의 관계를 모델링했습니다. 또한 도메인 다이어그램의 기본 아웃라인을 완료했습니다. 다이어그램은 다음 그림과 유사하게 표시됩니다.

PiggyBank 도메인 다이어그램의 기본 아웃라인

이 다이어그램은 시스템의 메인 클래스의 구조 및 이들 클래스 간에 존재하는 관계를 설명하여 시스템의 기본 도메인을 모델링합니다. 예를 들어, 고유 로그인 ID 및 이름으로 식별되는 고객은 둘 이상의 계정을 소유할 수 있지만 계정은 둘 이상의 고객에 속할 수 없습니다.

도메인 모델 개요 다이어그램 작성

이제 «Perspective» 개요 패키지에서 PiggyBank 도메인 모델 다이어그램을 작성합니다. 이는 개요 및 탐색 정보를 제공하는 다이어그램의 최종 버전입니다.

PiggyBank 도메인 개요 다이어그램을 작성하려면 다음을 수행하십시오.
  1. 모델 탐색기 보기에서 분석 모델을 펼친 후 «Perspective» 개요를 펼치고, 마우스 오른쪽 단추로 ${project} 도메인 모델을 클릭한 후 찾기/바꾸기를 클릭하십시오.
  2. 찾을 내용 필드에 ${project}를 입력한 후 바꾸기를 클릭하십시오.
  3. 바꿀 대상 필드에 PiggyBank를 입력한 후 확인을 클릭하십시오.
  4. PiggyBank 도메인 모델 다이어그램을 두 번 클릭하십시오.
  5. 모델 탐색기 보기에서 계정 오퍼레이션을 펼친 후 계정 오퍼레이션 분석 요소를 펼치십시오.
  6. 모델 탐색기 보기에서 고객 분석 요소를 클릭하고, 이를 다이어그램으로 끌어서 놓으십시오.
  7. 모델 탐색기 보기에서 계정 분석 요소를 클릭하고, 이를 다이어그램으로 끌어서 놓으십시오.
  8. 모델 탐색기 보기에서 전송 분석 요소를 클릭하고, 이를 다이어그램으로 끌어서 놓으십시오.
  9. 모델 탐색기 보기에서 수표 분석 요소를 클릭하고, 이를 다이어그램으로 끌어서 놓으십시오.

«Perspective» 개요 패키지에 PiggyBank 도메인 모델 다이어그램을 작성했습니다. 이는 다이어그램의 최종 버전입니다. 계정 오퍼레이션 분석 클래스 다이어그램을 유스 케이스 참여자 다이어그램을 작성할 작업공간으로 사용할 수 있습니다.

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