소프트웨어 테스팅

UML과 클래스 다이어그램, 시퀀스 다이어그램이란?

조이쓰 2024. 2. 22. 19:06

 

UML

  • UML은 Unified Modeling Language의 약자로 시스템을 시각화 하거나 사양및 설계를 문서화 하는 표현 방법

 

클래스 다이어그램 

  • 클래스나 인스턴스, 인터페이스 등의 정적인 관계를 나타냄
  • 시간에 따라 변하지 않는 것(정적인 관계)를 표현
  • 클래스 다이어그램 보는 법: 
    • 일반 메서드인지
    • 추상 메서드인지 확인
    • 관계를 확인하여 클래스가 다른 클래스와 어떤 관계인지 확인
    • 클래스의 구성요소 확인

1. 클래스와 계층관계 

  • 상속관계 표현시 화살표는 하위 클래스에서 상위 클래스로 향함
  • 하위 클래스 extends 상위 클래스 → 하위 클래스는 상위 클래스를 알아야함, 즉 화살표의 방향이 상위 클래스로 향해야 함
  • 클래스의 구성 요소는 클래스 이름, 필드이름, 메서드 이름 

2. 인터페이스와 구현 

  • 인터페이스와 구현 클래스간의 관계 표현 
  • 화살표가 붙은 파선는 인터페이서와 구현 클래스 관계를 나타냄 
  • 화살표는 구현 클래스에서 인터페이스로 향함 
  • 구현 클래스 implements 인터페이스 → 구현 클래스는 구현할 인터페이스를 알아야함

3. 집약(집합-aggregation)

  • 다른 클래스의 인스턴스를 가지고 있으면 개수와 상관없이 집약 관계
  • 빈 마름모 모양이 붙은 실선 → 마름모 접시에 물건들이 놓여있음 
  • 인스턴스를 가진 클래스 쪽에 마름모가 붙음 

4. 엑세스 제어 

  • 필드나 메서드의 엑세스 제어 
  • public, protected, private 등 

 

시퀀스 다이어그램 

  • 프로그램이 작동할때 어떤 메서드가 어떤 순서로 실행되는지, 어떤 사건이 어떤 순서로 실행되는지 표현 
  • 시간에 따라 변하는 것(동적인 관계)를 표현

1. 처리의 흐름과 객체 간의 협조 동작

  • 인스턴스를 네모 박스로 표시, 이후 라이프라인(생명선) 표시 → 라이프 라인은 인스턴스가 생존 할때만 존재 
  • 시간은 아래 방향으로 흐름, 위는 과거, 아래는 미래 
  • 메서드의 호출과 리턴값을 표시함 
  • 시퀀스 다이어그램은 파이프라인을 따라 위에허 부터 차례대로 읽어가고, 화살표가 있으면 화살표를 따라가 인스턴스간의 협조 동작을 확인함 

 

클래스 다이어그램과 시퀀스 다이어그램의 크로스 체킹 

  • 시퀀스 다이어그램의 인스턴스는 클래스 다이어그램에서의 클래스와 매칭이 되어야함 
  • 시퀀스 다이어그램에서 메세지를 보내는 클래스와 받는 클래스가 클래스 다이어그램에서 연결(사용)되어 있어야 함
  • 시퀀스 다이어그램에서 메세지를 받는 인스턴스의 클래스에는 메세지를 위한 메서드가 선언되어 있어야 함  

 

 

자료는 "JAVA 언어로 배우는 디자인 패턴 입문 쉽게 배우는 GoF의 23가지 디자인 패턴"을 인용하였음을 밝힙니다.