연습 2.8: 송금 시퀀스 다이어그램 작성

이 연습에서는 송금 시퀀스 다이어그램을 작성합니다. 송금 시퀀스 다이어그램은 기능 타스크의 워크플로우를 보여줍니다.

송금 참여자 다이어그램은 잔액 표시 기능 타스크에 있는 클래스의 구조를 모델링합니다. 또한 이 다이어그램은 각 클래스 간에 존재하는 관계를 표시하지만 기능 타스크의 워크플로우에 대해서는 설명하지 않습니다. 유스 케이스 실현(realization)은 시퀀스 다이어그램에 따라 이 정적 정보를 설명합니다.

전송 시퀀스 다이어그램은 사용자가 메인 메뉴에서 송금을 누를 때 발생하는 단계를 보여줍니다. 이 시퀀스 다이어그램은 유스 케이스 참여자를 라이프라인으로 모델링하고 데이터 플로우를 메시지로 모델링하여 유스 케이스의 워크플로우를 표시합니다. 시퀀스 다이어그램에서 유스 케이스의 워크플로우를 모델링할 때 각 클래스에 존재하는 오퍼레이션을 발견하게 됩니다. 전송 시퀀스 다이어그램에서 오퍼레이션을 발견하고 작성함에 따라 전송 참여자 다이어그램이 완료됩니다.

모델링은 반복적인 프로세스입니다. 시스템의 세부사항을 발견할 때마다 언제든지 시퀀스 다이어그램을 수정할 수 있습니다. 이 학습에서는 전체 송금 시퀀스 다이어그램을 작성합니다.

송금 시퀀스 다이어그램 및 라이프라인 작성

워크플로우를 모델링하려면 먼저 시퀀스 다이어그램의 라이프라인을 모델링해야 합니다. 유스 케이스 참여자는 시퀀스 다이어그램의 라이프라인을 형성합니다.

시퀀스 다이어그램 및 라이프라인을 작성하려면 다음을 수행하십시오.
  1. 모델 탐색기 보기에서 계정 오퍼레이션을 펼치고, «use case realization» 송금을 펼치고, «use case realization» 송금 - 기본 플로우를 펼친 후 «use case realization» 송금 - 기본 플로우 다이어그램을 두 번 누르십시오.
  2. 모델 탐색기 보기에서 유스 케이스 모델을 펼치고 계정 오퍼레이션 패키지에서 고객 액터를 누르고, 이를 다이어그램으로 끄십시오.
  3. 모델 탐색기 보기의 계정 오퍼레이션 분석 요소 패키지에서 MenuForm 클래스를 누르고, 이를 Customer 라이프라인의 오른쪽으로 끄십시오.
  4. 모델 탐색기 보기의 계정 오퍼레이션 분석 요소 패키지에서 TransferMenuForm 클래스를 누르고, 이를 MenuForm 라이프라인의 오른쪽으로 끄십시오.
  5. 모델 탐색기 보기의 계정 오퍼레이션 분석 요소 페이지에서 TransferMoneySummaryForm 클래스를 누르고, 이를 TransferMenuForm 라이프라인의 오른쪽으로 끄십시오.
  6. 모델 탐색기 보기의 계정 오퍼레이션 분석 요소 패키지에서 TransferMoneyControl 클래스를 누르고, 이를 TransferMoneySummaryForm 라이프라인의 오른쪽으로 끄십시오.
  7. 모델 탐색기 보기의 계정 오퍼레이션 분석 요소 패키지에서 계정 클래스를 누르고, 이를 TransferMoneySummaryForm 라이프라인의 오른쪽으로 끄십시오.
  8. Account 라이프라인을 누르고, 특성 보기의 일반 페이지에서 라이프라인의 이름을 차변(debit)으로 지정하십시오.
  9. 모델 탐색기 보기의 계정 오퍼레이션 분석 요소 패키지에서 계정 클래스를 누르고, 이를 debit:Account 라이프라인의 오른쪽으로 끄십시오.
  10. Account 라이프라인을 누르고, 특성 보기의 일반 페이지에서 라이프라인의 이름을 대변(credit)으로 지정하십시오.
  11. 모델 탐색기 보기의 계정 오퍼레이션 분석 요소 패키지에서 전송 클래스를 누르고, 이를 credit:Account 라이프라인의 오른쪽으로 끄십시오.

송금 시퀀스 다이어그램의 라이프라인을 작성했습니다. 이들 라이프라인은 송금 참여자 다이어그램에서 식별한 참여자를 나타냅니다. 또한 순차적으로 구성되며 다이어그램 왼쪽에 1차 메시지 시작 클래스와 함께 배열됩니다. 계정 참여자가 다이어그램에서 두 번 발생하는 점을 유의하십시오. 한 Account 라이프라인은 차변에 기입되는 계정을 나타내고 다른 Account 라이프라인은 대변에 기입되는 계정을 나타냅니다.

메시지 플로우 모델링

이 연습은 시퀀스 다이어그램에 있는 메시지 플로우를 모델링합니다. 시퀀스 다이어그램의 메시지는 시스템의 클래스 간 데이터 플로우를 표시합니다.

송금 선택 메시지를 작성하려면 다음을 수행하십시오.
  1. 팔레트에서 비동기 메시지를 누르십시오.
  2. 다이어그램 편집기에서 Customer 라이프라인을 누르고, 이를 MenuForm 라이프라인으로 끄십시오.
  3. 다이어그램 편집기에서 아무데나 누르십시오.
  4. 오퍼레이션 이름 입력 창에서 메시지 이름을 송금 선택(select Transfer Money)으로 지정하십시오.
MenuForm 클래스의 송금 선택 오퍼레이션에 해당하는 송금 메뉴 항목을 모델링했습니다. 메시지를 작성하면, 새 오퍼레이션 작성 목록에서 옵션을 선택하도록 메시지가 표시됩니다. 송금 선택을 입력하면 MenuForm 클래스에 새 오퍼레이션이 추가됩니다.

display 메시지를 작성하려면 다음을 수행하십시오.
  1. 팔레트에서 비동기 메시지를 누르십시오.
  2. 다이어그램 편집기에서 MenuForm 라이프라인을 누르고, 이를 TransferMoneyForm 라이프라인으로 끄십시오.
  3. 오퍼레이션 이름 입력 창에서 메시지 이름을 표시(display)로 지정하십시오.

입력 후 제출 메시지를 작성하려면 다음을 수행하십시오.
  1. 팔레트에서 비동기 메시지를 누르십시오.
  2. 다이어그램 편집기에서 Customer 라이프라인을 누르고, 이를 TransferMoneyForm 라이프라인으로 끄십시오.
  3. 특성 보기의 일반 페이지에서 메시지 이름을 입력 후 제출(fill-in and submit)로 지정하십시오.

transfer 메시지를 작성하려면 다음을 수행하십시오.
  1. 팔레트에서 비동기 메시지를 누르십시오.
  2. 다이어그램 편집기에서 TransferMoneyForm 라이프라인을 누르고, 이를 TransferMoneyControl 라이프라인으로 끄십시오.
  3. 오퍼레이션 이름 입력 창에서 메시지 이름을 transfer(debit, credit, amount)로 지정하십시오.

withdraw 메시지를 작성하려면 다음을 수행하십시오.
  1. 팔레트에서 비동기 메시지를 누르십시오.
  2. 다이어그램 편집기에서 TransferMoneyControl 라이프라인을 누르고, 이를 debit:Account 라이프라인으로 끄십시오.
  3. 오퍼레이션 이름 입력 창에서 메시지 이름을 withdraw(amount)로 지정하십시오.

deposit 메시지를 작성하려면 다음을 수행하십시오.
  1. 팔레트에서 비동기 메시지를 누르십시오.
  2. 다이어그램 편집기에서 TransferMoneyControl 라이프라인을 누르고, 이를 credit:Account 라이프라인으로 끄십시오.
  3. 오퍼레이션 이름 입력 창에서 메시지 이름을 deposit(amount)로 지정하십시오.

«create»\CalledOperation\ 메시지를 작성하려면 다음을 수행하십시오.
  1. 팔레트에서 비동기 메시지 옆에 있는 아래 화살표를 누른 후 메시지 작성을 누르십시오.
  2. 다이어그램 편집기에서 TransferMoneyControl 라이프라인을 누르고, 이를 Transfer 라이프라인으로 끄십시오.

setDebitAccount 메시지를 작성하려면 다음을 수행하십시오.
  1. 팔레트에서 비동기 메시지를 누르십시오.
  2. 다이어그램 편집기에서 TransferMoneyControl 라이프라인을 누르고, 이를 Transfer 라이프라인으로 끄십시오.
  3. 다이어그램 편집기에서 아무데나 누르십시오.
  4. 오퍼레이션 이름 입력 창에서 메시지 이름을 setDebitAccount(debit)로 지정하십시오.

setCreditAccount 메시지를 작성하려면 다음을 수행하십시오.
  1. 팔레트에서 비동기 메시지를 누르십시오.
  2. 다이어그램 편집기에서 TransferMoneyControl 라이프라인을 누르고, 이를 Transfer 라이프라인으로 끄십시오.
  3. 다이어그램 편집기에서 아무데나 누르십시오.
  4. 오퍼레이션 이름 입력 창에서 메시지 이름을 setCreditAccount(credit)로 지정하십시오.

setAmount 메시지를 작성하려면 다음을 수행하십시오.
  1. 팔레트에서 비동기 메시지를 누르십시오.
  2. 다이어그램 편집기에서 TransferMoneyControl 라이프라인을 누르고, 이를 Transfer 라이프라인으로 끄십시오.
  3. 다이어그램 편집기에서 아무데나 누르십시오.
  4. 오퍼레이션 이름 입력 창에서 메시지 이름을 setAmount(amount)로 지정하십시오.

display 메시지를 작성하려면 다음을 수행하십시오.
  1. 팔레트에서 비동기 메시지를 누르십시오.
  2. 다이어그램 편집기에서 TransferMoneyControl 라이프라인을 누르고, 이를 TransferMoneySummaryForm 라이프라인으로 끄십시오.
  3. 오퍼레이션 이름 입력 창에서 메시지 이름을 display(transfer)로 지정하십시오.

송금 시퀀스 다이어그램을 모델링했습니다. 이 다이어그램은 사용자가 메인 메뉴에서 송금을 누를 때 발생하는 단계의 시퀀스를 보여줍니다. 고객이 송금을 누르면 화면에 양식이 표시됩니다. 그러면 고객이 이 양식을 채웁니다. 양식 데이터는 TransferMoneyController 클래스로 송신되고 이 클래스는 출금 트랜잭션 정보가 있는 메시지를 debit:Account 클래스로 송신합니다. 그런 다음, TransferMoney 클래스는 입금 트랜잭션 정보를 credit:Account 클래스로 송신합니다. TransferMoneyController 클래스는 전송 오브젝트를 작성하고 이 오브젝트에 차변, 대변 및 금액 정보를 전달하여 트랜잭션을 실행할 수 있도록 합니다. 그런 다음, 사용자에게 메시지가 표시됩니다. 다이어그램은 다음 그림과 유사하게 표시됩니다.

송금 시퀀스 다이어그램

송금 시퀀스 다이어그램은 송금 유스 케이스 실현(realization)을 완료합니다. 송금 기능 타스크의 정적 및 동적 정보를 모델링했습니다. 송금 참여자 다이어그램을 열어보면, 사용자가 시퀀스 다이어그램에서 메시지로 작성한 오퍼레이션이 이 다이어그램에 들어 있습니다. 송금 참여자 다이어그램은 다음 그림과 유사하게 표시됩니다.

송금 참여자 다이어그램
참고: 송금 시퀀스 다이어그램에는 하나의 데이터 플로우만 포함하므로, 모델 탐색기 보기에서 «use case realization» 송금 - 대체 플로우 n 패키지를 삭제할 수 있습니다. 이 패키지는 템플리트에 포함되어 있지만 필요하지는 않습니다. 이 패키지를 삭제하려면 모델 탐색기 보기에서 마우스 오른쪽 단추로 «use case realization» 송금 - 대체 플로우 n 패키지를 누른 후 모델에서 삭제를 누르십시오.

계속 수행하려면 연습 2.9: 수표 현금화 참여자 다이어그램 작성으로 진행하십시오.

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