소프트웨어 테스팅
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가지 디자인 패턴"을 인용하였음을 밝힙니다.