ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 시퀀스 다이어그램, 액티비티 다이어 그램, 상태 다이어그램, 협력 다이어그램
    전산학/소프트웨어공학 2024. 8. 23. 02:57
    728x90
    반응형

    시퀀스 다이어그램, 액티비티 다이어그램, 상태 다이어그램, 협력 다이어그램은 UML(Unified Modeling Language)에서 객체 지향 시스템을 모델링하기 위한 다양한 도구입니다. 각각의 다이어그램은 시스템의 다른 측면을 시각화하는 데 사용됩니다. 예시를 들어 설명하겠습니다.

    1. 시퀀스 다이어그램 (Sequence Diagram)

    설명: 시퀀스 다이어그램은 객체 간의 메시지 교환을 시간 순서에 따라 나타냅니다. 주로 시스템의 동작을 설명하거나 특정 시나리오를 문서화하는 데 사용됩니다.

    예시: 온라인 쇼핑몰에서 고객이 상품을 구매하는 시나리오

    Customer       |     ShoppingCart      |   PaymentService   |    OrderService
    -----------------------------------------------------------------------------------
       |                  |                        |                      |
       |  addItem(item)   |                        |                      |
       |----------------->|                        |                      |
       |                  |                        |                      |
       |                  |  processPayment()      |                      |
       |                  |----------------------->|                      |
       |                  |                        |                      |
       |                  |                        |  processOrder()     |
       |                  |                        |-------------------->|
       |                  |                        |                      |
       |                  |                        |                      |
       |                  |                        |  orderConfirmation()|
       |                  |                        |<--------------------|
       |                  |                        |                      |
       |                  |  confirmOrder()        |                      |
       |                  |<-----------------------|                      |
       |                  |                        |                      |
    • Customer: 고객 객체
    • ShoppingCart: 장바구니 객체
    • PaymentService: 결제 서비스 객체
    • OrderService: 주문 서비스 객체

    이 다이어그램은 고객이 장바구니에 아이템을 추가하고 결제를 처리한 후 주문이 생성되는 과정에서 객체들 간의 상호작용을 보여줍니다.

    2. 액티비티 다이어그램 (Activity Diagram)

    설명: 액티비티 다이어그램은 시스템의 흐름을 보여주는 다이어그램으로, 특정 작업 또는 프로세스의 단계들을 시각화합니다. 흐름과 분기, 병합을 설명하는 데 유용합니다.

    예시: 온라인 쇼핑몰에서 고객이 상품을 구매하는 과정

    [Start] --> [Add Items to Cart] --> [Proceed to Checkout]
           --> [Enter Shipping Address]
           --> [Select Payment Method] --> [Review Order]
           --> [Place Order] --> [Payment Processing]
           --> [Order Confirmation] --> [End]
    • Start: 프로세스 시작
    • Add Items to Cart: 장바구니에 아이템 추가
    • Proceed to Checkout: 체크아웃 진행
    • Enter Shipping Address: 배송 주소 입력
    • Select Payment Method: 결제 방법 선택
    • Review Order: 주문 검토
    • Place Order: 주문하기
    • Payment Processing: 결제 처리
    • Order Confirmation: 주문 확인
    • End: 프로세스 종료

    이 다이어그램은 구매 프로세스의 단계와 각 단계 간의 흐름을 나타냅니다.

    3. 상태 다이어그램 (State Diagram)

    설명: 상태 다이어그램은 객체의 상태와 상태 간의 전이를 나타냅니다. 주로 객체의 생명주기와 상태 변화에 대해 설명할 때 사용됩니다.

    예시: 주문의 상태 변화를 나타내는 상태 다이어그램

    [Order Placed] --> [Processing]
           |                   |
           |                   |
           V                   V
    [Shipped]               [Cancelled]
           |
           |
           V
    [Delivered]
    • Order Placed: 주문이 접수된 상태
    • Processing: 주문이 처리 중인 상태
    • Shipped: 주문이 발송된 상태
    • Cancelled: 주문이 취소된 상태
    • Delivered: 주문이 배송된 상태

    이 다이어그램은 주문이 다양한 상태를 거치면서 어떻게 변화하는지를 보여줍니다.

    4. 협력 다이어그램 (Collaboration Diagram)

    설명: 협력 다이어그램(또는 커뮤니케이션 다이어그램)은 객체 간의 상호작용과 관계를 나타냅니다. 객체들이 서로 어떻게 협력하는지를 설명하는 데 사용됩니다.

    예시: 온라인 쇼핑몰에서 고객이 상품을 구매하는 과정

    +-------------------+              +---------------------+
    | Customer          |              | ShoppingCart        |
    +-------------------+              +---------------------+
    | - addItem(item)   |              | - processPayment()  |
    | - checkout()      |              |                     |
    +-------------------+              +---------------------+
             |                                  |
             | calls                             | calls
             |                                  |
             v                                  v
    +-------------------+              +---------------------+
    | PaymentService    |              | OrderService        |
    +-------------------+              +---------------------+
    | - processOrder()  |              | - confirmOrder()    |
    | - sendConfirmation()|           |                     |
    +-------------------+              +---------------------+
    • Customer: 고객 객체
    • ShoppingCart: 장바구니 객체
    • PaymentService: 결제 서비스 객체
    • OrderService: 주문 서비스 객체

    이 다이어그램은 객체 간의 협력과 메시지 전달을 보여줍니다. 고객이 장바구니를 통해 결제를 요청하면, 장바구니는 결제 서비스를 호출하고, 결제 서비스는 주문 서비스를 호출하여 최종 주문을 처리하는 과정입니다.

    각 다이어그램은 시스템의 다양한 측면을 시각화하고 문서화하는 데 도움을 주며, 복잡한 시스템을 이해하는 데 유용한 도구들입니다.

    728x90
    반응형
공기업 전산 필기 후기 + 공기업 전산학 지식 모음