순차도와 협력도

객체 간의 메시지 통신을 표현하며 표현력은 같다.
• 순차도 장단점 – 보기에 편하다. 많이 사용한다. – 공간을 많이 차지
• 협력도 장단점 – 공간을 적게 차지하면서 객체간의 협력관계를 볼 수 있다. – 순서는 1,2,… 를 따라가야 하므로 순서를 보기에는 어려움

1. makPayment 메시지가 Register 객체에 도착. 발신자는 모름.
2. Register 객체는 Sale 객체에 같은 메시지를 전달.
3. Sale 객체는 Payment 객체를 생성
public Sale { private Payment payment; Public void makePayment (Money cashTendered) { payment = new Payment(cashTendered); //… } }
협력도

수명 선 상자를 나타내는 Sale 클래스의 이름없는 인스턴스

수명 선 상자를 나타내는 명명 된 인스턴스

클래스를 나타내는 수명 선 상자 글꼴 또는 더 정확하게는 해당 글꼴이 클래스 클래스의 인스턴스 – 메타 클래스의 인스턴스

수명 선 상자를 나타내는 ArrayList 클래스의 인스턴스, 매개 변수화 (템플릿 화) 판매 개체 보유

수명 선 상자를 나타내는 Sale 클래스의 한 인스턴스, 판매에서 선택 ArrayList

목록은 인터페이스입니다. UML 1.x에서는 여기에 인터페이스가 있지만 UML 2에서는이 (또는 추상 클래스) 합법적

기본 메시지 표현 문법
return = message (parameter: Type) : returnType
중요하지 않은 부분은 생략할 수 있다.
• Initialize(cod)
• Initialize
• D = getProductDescription(id)
• D = getProductDescription(id:ItemID)
• D = getProductDescription(id:ItemID) : ProductDescription













비동기적 메시지 호출 – 응답을 기다리지 않는다. 즉 블락(block)되지 않음 – .NET 또는 java 의 쓰레드 환경에서 사용 – 실행 도중에 쓰레드를 생성하고 초기화할 수 있다. (Thread.start) – 선으로 된 화살촉
동기적 메시지 호출 – 보통의 함수 호출 – 결과가 올 때까지 호출한 객체는 기다림 – 속이 꽉 찬 화살촉

public class Clock implements Runnale { public void run() // 쓰레드의 start함수를 부르면 자동 호출되는 함수 { while (true) // 쓰레드안에서 무한 반복 { /// } } Public class ClockStarter { public void startClock() { Thread t = new Thread(new Clock()); t.start(); // Clock 쓰레드의 run 메소드의 비동기적 호출 System.runFinalization(); } }
협력도










'개발문서' 카테고리의 다른 글
| IA (Information Architecture) 란? (0) | 2022.08.25 |
|---|---|
| LLD (Low Level Design) 이란? (0) | 2022.08.25 |
| HLD (High Level Design) 란? (0) | 2022.08.25 |
| SAD (Software Architecture Design) 란? (0) | 2022.08.15 |
| SRS (Software Requirements Specification) 란? (1) | 2022.08.15 |