Presentation is loading. Please wait.

Presentation is loading. Please wait.

순차 다이어그램 순차 다이어그램의 개요 순차 다이어그램의 사용 시점 순차 다이어그램의 UML 표기법

Similar presentations


Presentation on theme: "순차 다이어그램 순차 다이어그램의 개요 순차 다이어그램의 사용 시점 순차 다이어그램의 UML 표기법"— Presentation transcript:

1 순차 다이어그램 순차 다이어그램의 개요 순차 다이어그램의 사용 시점 순차 다이어그램의 UML 표기법
간단한 순차 다이어그램의 예

2 순차 다이어그램의 개념을 이해한다. 순차에 대한 UML을 이해한다. 디지털 도어록 시스템을 학습한다. 예제를 통한 순차 개념을 실습한다.

3 순차 다이어그램(Sequence Diagram)
객체간의 동적 상호작용을 시간적 개념을 중심으로 모델링하는 과정 - 다이어그램의 수직방향이 시간의 흐름을 나타낸다. 순차 다이어그램에서는 객체의 오퍼레이션과 속성을 상세히 정의 객체간 상호작용을 정의하는 과정에서 객체들이 가져야 하는 오퍼레이션과 속성을 구체적으로 정의할 수 있으며 객체는 다른 객체가 의뢰하는 일을 처리함 객체의 책임은 오퍼레이션으로 정의되어야 하며 이 행위를 위해 필요한 객체의 속성도 정의되어야 함. 순차 다이어그램은 유스케이스를 실현(realization)한다. 유스케이스 다이어그램에서는 시스템이 제공해야 하는 서비스를 정의하기 때문에 유스케이스는 프로그램으로 구현되기 전에 순차 다이어그램으로 설계 순차 다이어그램은 각 유스케이스별로 작성되며 유스케이스에 필요한 객체가 주인공으로 등장하고, 객체간의 메시지를 통해서 유스케이스의 기능이 실현 됨.

4 순차 다이어그램과 통신 다이어그램(Communication Diagram)은 함께 상호작용 다이어그램(Interaction Diagram)으로 불리며 시스템의 동적 측면을 모델링하기 위해 UML에서 사용하는 다이어그램 상호작용 다이어그램은 객체들과 그들 간의 관계로 구성된 교류를 보여주고 또한 그들 간에 전달되는 메시지도 보여준다. 순차 다이어그램은 메시지의 시간 순서에 따라 보여지며, 통신 다이어그램은 교류를 보여주는 다이어그램

5 순차 다이어그램(Sequence Diagram)
객체간의 동적 상호작용을 시간적 개념을 중심으로 모델링하는 과정 다이어그램의 수직방향이 시간의 흐름을 나타낸다. 객체는 다른 객체와 메시지를 주고받는다. 각 메시지는 시간의 흐름에 따라 순서를 정하게 된다. [표 5-1] 순차 다이어그램 구성 요소 [그림 5-1] 순차 다이어그램의 예

6 객체가 아닌 클래스와의 메시지 교환에서 클래스 표시는 class_name으로 표시
메시지(데이터)의 흐름을 보기 위해서는 통신다이어그램이 적절 시간의 흐름으로 객체 사이의 이동경로를 보기 위해서는 순차다이어그램이 적절 (a) 순차 다이어그램 (b) 통신 다이어그램 [그림 5-2] 상호작용 다이어그램

7 요구사항 정의 단계에서의 순차 다이어그램 [그림 5-3] : 명세서의 ‘대여’ 유스케이스 이벤트 흐름을 순차 다이어그램 으로 표현 순차 다이어그램은 텍스트로 기술된 이벤트 흐름에 추가적인 정보를 기술하는 것은 아니며, 시각적으로 보다 쉽게 이벤트 흐름을 이해하도록 돕기 위한 것 유스케이스별로 이벤트 흐름을 순차 다이어그램으로 모두 표현 [그림 5-3] 대여 유스케이스의 이벤트 흐름 모델

8 분석과 설계 단계에서의 순차 다이어그램 분석과 설계 단계에 대한 동적 모델은 그 자체로 의미 있는 모델을 만든다기 보다는 구조적 모델에 크게 의존하는 모델 순차 다이어그램을 이용한 순차 모델 또한 이미 정의된 클래스를 바탕으로 객체를 나열하고 상호작용 모델을 만드는 것 분석과 설계 단계에서는 클래스 다이어그램 클래스를 기반으로 하여 순차 다이어그램이 작성 [그림 5-4] 순차 다이어그램과 클래스 다이어그램

9 객체 객체는 순차 다이어그램의 가장 윗부분에 위치하며, 왼쪽에서 오른쪽으로 배열 생명선 : 객체로부터 아래로 뻗어나가는 점선
활성화(Activation) 생명선을 따라 작은 사각형이 드문드문 나타나는 부분 객체가 수행하는 오퍼레이션이 실행되고 있음을 나타낸다. 활성화 사각형의 길이는 오퍼레이션의 실행 소요 시간을 나타낸다. 활성화 사각형의 길이가 특정 시간 단위를 의미하지 않음 [그림 5-5] 객체, 생명선, 활성화

10 메세지 한 객체에서 다른 객체로 전송되는 메시지는 한 객체의 생명선에서 다른 객체의 생명선으로 이동하는 것을 의미
한 객체에서 다른 객체로 전송되는 메시지는 한 객체의 생명선에서 다른 객체의 생명선으로 이동하는 것을 의미 화살표로 메시지를 표현하는데, 화살표의 머리 모양이 메시지의 형태를 좌우 호출(Call) 메시지 실선의 끝에 속을 칠한 화살표([그림 5-6] (a)) 답신 메시지 점선 끝에 화살표([그림 5-6] (b))를 붙인 모양 수신 객체로부터 답신 메시지를 요청하는 경우, 답신 메시지의 표시를 생략 동기(Synchronous) 메시지 송신 객체가 수신 객체를 기다려주는 메시지 비동기(Asynchronous) 메시지 송신 객체가 보내는 메시지로서 수신 객체의 오퍼레이션을 실행하게 하는 것은 동일하지만, 오퍼레이션이 완료될 때까지 송신 객체가 기다리지는 않는다. [그림 5-7]과 같이 실선에 화살표모양을 붙여 나타낸다 [그림 5-7] 비동기 메시지 [그림 5-6] 동기 메시지

11 시간 순차 다이어그램은 시간을 수직 방향으로 나타낸다. 시간은 가장 윗부분에서 아래를 향해 흐르기 시작
왼쪽에서 오른쪽 방향은 객체의 배열을, 위에서 아래는 시간의 흐름을 나타낸다. 화살표 머리가 달린 실선은 객체의 생명선 사이를 연결하여 한 객체에서 다른 객체로 메시지가 전송됨을 나타낸다. 객체는 자기 자신에게도 메시지를 보낼 수 있다. [그림 5-8] 순차 다이어그램의 기호

12 디지털 도어록 디지털 도어록은 부착된 감지시스템에 스마트카드를 접속시키거나 비밀번호를 입력하면 자동으로 도어록이 해제되면서 문이 열리고, 문이 닫히면 자동으로 잠긴다. 도어록이 해제되거나 잠기면 삐리릭 하는 소리를 낸다. [그림 5-9] 디지털 도어록 클래스 다이어그램 ■ User = Cardpress() 사용 → SecretPrees()를 이용하여 DoorLook에 비빌번호 입력하여 해제한다. ■ SmartCard = License 사용하여 암호화된 메시지 전달 → DoorLook은 도어록 해제 [그림 5-10] 순차 다이어그램의 시작

13 디지털 도어록 디지털 도어록은 부착된 감지시스템에 스마트카드를 접속시키거나 비밀번호를 입력하면 자동으로 도어록이 해제되면서 문이 열리고, 문이 닫히면 자동으로 잠긴다. 도어록이 해제되거나 잠기면 삐리릭 하는 소리를 낸다. 1. CardPress를 이용하여 SmartCard 메시지 전달 2. SmartCard는 SendLicense() 오퍼레이션 실행 3 . 도어록은 라이센서 번호 확인 후 → 도어록 오픈 → 음성메시지를 User에게 보낸다. 1. SecretCard를 이용하여 도오록에 메시지 전달 2 . 도어록은 비밀번호 확인 후 → 도어록 오픈 → 음성메시지를 User에게 보낸다. [그림 5-11] 디지털 도어록 순차 다이어그램

14 식당 음식 주문 고객이 식당에서 음식을 주문할 때에 음식이 나오기까지의 흐름을 간단하게 나타낸 것
첫 번째 메시지는 액터인 고객(Customer)이 종업원(Server)에게 자장면을 주문(order)한다고 가정하였을 때, 종업원은 요리사(Chef)에게 음식을 요청demandFood) 요리사는 자장면을 생성(makeFood)하게 되고, 이를 종업원에게 전달 전달받은 종업원은 고객에게 완성된 자장면을 전달 주문 요청 요리 완성 전달 제공 [그림 5-12] 식당 음식 주문

15 전화 통화 전화 통화에서 발신자(caller)와 수신자(receiver)가 상호 신호를 교환하며 연락하는 흐름을 나타내는 것
발신자가 수신자에게 전화하기 위해 수화기를 들면(liftReceiver) 전화기의 신호음(dialTone)이 전달되고, 이에 다이얼을 돌리고(dialDigit) 신호를(roufe) 모두 교환기(exchange)에 전달 교환기에서는 발신자의 신호를 받게 되어 발신자에게는 신호음이, 수신자 에게는 전화벨이 각각 전달 수신자는 전화를 받게(liftReceiver) 되며, 수신자는응답(answerPhone) 발신자는 수신자의 응답을 듣게(listenAnswer) 되며, 이후 발신자와 수신자는 말하고(talk), 듣게(listenTalk) 된다. 이야기가 끝나면 수신자와 발신자는 수화기를 내려 놓는다(stopPhone) 발신자 교환기 수신자 수화기를 들고 전화기 신호음 전달 다이얼 돌리고 신호를 모든 교환기에 전달 발신자에게 신호음 전달 발신자에게 전화벨 전달 수화기를 들고 수신에게 응답 수신자 응답 들음 응답 응답 수신 수화기 내려 놓는다 [그림 5-13] 전화 통화 수화기 내려 놓는다

16 엘리베이터 사용 엘리베이터 사용은 사람이 엘리베이터 버튼(Button)을 누르면 엘리베이터(elevator)는 위로 올라가거나 아래로 내려가게 된다. 엘리베이터가 도착하면 엘리베이터 문(elevator doors)이 열리게(open doors) 되고, 일정한 시간이(time count) 지나면 엘리베이터 문은 닫히게(close doors) 된다. [그림 5-14] 엘리베이터 사용

17 movie server-client 웹에서 로그인을 통하여 본인임을 확인한 후 그에 해당하는 User Interface를 사용

18 상품 주문 고객은 윈도우즈 카탈로그에 있는 상품을 선택하고, 고객이 마음에 드는 상품을 발견하면 구매 버튼을 누른다.
고객은 주문정보를 입력하고, 입력된 주문정보에 따라 시스템은 이 정보를 저장하고 제품을 발송 제품수령 후 만족하면 구매완료 버튼을 누르고 구매승인이 이루어지며, 불만족 시 구매승인이 취소되어 제품을 다시 발송 [그림 5-16] 상품 주문 클래스 다이어그램 [그림 5-17] 상품 주문 클래스 다이어그램

19 데이터 전달 사용자가 클라이언트를 통해 데이터를 입력하면, 클라이언트는 입력된 데이터를 서버에게 전달
사용자가 클라이언트를 통해 데이터를 입력하면, 클라이언트는 입력된 데이터를 서버에게 전달 서버는 입력된 데이터에 대한 결과 값을 클라이언트에게 리턴 클라이언트는 사용자에게 메시지로 전달 [그림 5-18] 데이터 전달

20 [예제 5-1] 식당관리 프로그램 명세서 작성

21 클래스 다이어그램 calculate [그림 5-19] 클래스 다이어그램 카운터=계산대 고객 직원 식당 대기실 요리실 테이블
종업원 보조종업원 지배인 요리사 의복 지불 쟁반 접시 추천 벗다, 입다 [그림 5-19] 클래스 다이어그램

22 순차 다이어그램 제작 [그림 5-20] 순차 다이어그램 예약확인 외투를 벗고 안내 기다린다 안내 앉고 호출 종업원에게 주문
전달 요리 전달 전달 식사 [그림 5-20] 순차 다이어그램 계산 호출 세팅

23


Download ppt "순차 다이어그램 순차 다이어그램의 개요 순차 다이어그램의 사용 시점 순차 다이어그램의 UML 표기법"

Similar presentations


Ads by Google