본문 바로가기

Diagram5

UML - 클래스 다이어그램 고급 - 인터페이스 추상 클래스 - 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다. - 인터페이스와 추상 클래스 추상 클래스는 직접 인스턴스화 될 수 없는 클래스이다. 추상 클래스는 추상 오퍼레이션을 가지고 있으며 추상 오퍼레이션은 구현을 갖고 있지 않다. UML 에서 추상 클래스 및 오퍼레이션을 표시할 때 글씨체가 기울어진 이탤릭체를 사용한다. 클래스는 인터페이스를 필요로하거나, 인터페이스의 기능을 제공한다. Order 클래스는 Line Item의 리스트를 필요로하며, List 인터페이스에 의존하고 있다. 인터페이스 기능을 제공하는 구현체는 AbstractList 추상 클래스를 상속하는 ArrayList 이다. 물론 Order가 사용시에는 ArrayList 구현체를 직접 사용하지 않고, List 인터페이.. 2021. 2. 10.
UML - 시퀀스 다이어그램 - 동기, 비동기호출 - 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다. - 동기와 비동기 메시지 UML 에서 내부가 채워진 화살표는 동기 메시지를 나타내고, 선으로만 나타낸 화살표는 비동기 메시지를 나타낸다. 동기 메시지를 보낼 경우 호출하는쪽에서는 메시지가 끝날때까지 기다려야 한다. 반면 비동기메시지를 보낸 경우에는 응답을 기다릴 필요가 없다. 위 그림처럼 동기(sync) 라면 활성바가 생기며, 비동기(async) 라면 활성바가 생기지 않는다. - 시퀀스 다이어그램은 언제 사용하는가? 시퀀스 다이어그램은 1개 유스케이스에서 여러 객체의 행동을 볼 때 사용한다. 우리가 앞서 그려왔던 다이어그램을 보면 알 수 있듯이 여러 객체간의 협력을 보여주는데에 유용하다. 만약 여러개의 유스케이스에서 객체 .. 2021. 2. 10.
UML - 시퀀스 다이어그램 - loop, if - 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다. - 루프, 조건문 시퀀스 다이어그램에서는 루프와 조건문을 표현하기가 좋지 않다. 이런 제어구조는 액티비티 다이어그램이나 코드로 표현하는것이 더 좋고 간결하다. 시퀀스 다이어그램은 제어로직보다는 객체들의 상호교류 표현을 훨씬 잘 나타낸다. 시퀀스 다이어그램에서 제어를 표현하기 위해 용어를 몇 가지 알아보자. 1: dispatch 아래에 loop 로 둘러쌓인 큰 사각형이 있는데 이를 프레임이라 부른다. 그 안에 [모든 line item] 라는 Text를 가드라고 한다. 그리고 loop 를 둘러싼 작은 사각형을 연산자 라고 한다. 모든 프레임에는 연산자가 있고, 해당 연산자 조건을 가드에 적는다. UML 프레임에서 자주 사용하는.. 2021. 2. 10.
UML - 시퀀스 다이어그램 - 참가자 - 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다. - 참가자의 생성과 삭제 시퀀스 다이어그램에는 참가자를 생성하고 삭제하는 표기법이 있다. 위 다이어그램 2번 화살표에서 a Handler는 a Query Command 참가자를 생성하였다. 흔히 new 라고 많이 표기하며, StarUML 에서는 화살표의 Action Kind를 Create를 선택하면 로 표기한다. 참가자의 삭제는 X 로 표시한다. 7번 화살표에서 a Query Command가 a Database Statement 에 메세지를 보냄으로써 참가자를 삭제하고 있다. 반면 자기자신이 삭제되는 표현도 가능한데 8번 화살표에서는 재귀 화살표로 자기자신에 메시지를 보낸다. 가비지 컬렉션을 지원하는 언어의 경우 직접 객체.. 2021. 2. 10.
UML - 시퀀스 다이어그램 - 개요 - 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다. - 개요 교류 다이어그램(Interaction diagram)은 어떤 행동에서 객체들의 상호작용을 나타낸다. UML은 여러 종류의 교류 다이어그램이 있는데 그 중 시퀀스 다이어그램이 가장 많이 쓰인다. 보통 시퀀스 다이어그램은 한 가지 시나리오를 묘사하는데 예제를 살펴보자. Order는 주문받은 모든 주문 품목(Order Line)을 보고 가격을 계산한다. 계산은 품목별 주문 내역(Order Line)의 상품(Product) 의 계산에 의해 이루어진다. 모든 Line Item 에 대해 계산이 끝나면 고객(Customer)에 대해 정의된 규칙에 따라 전체 할인을 계산한다. 시퀀스 다이어그램에서 쓰이는 용어를 위 다이어그램 예.. 2021. 2. 10.