시퀀스 다이어그램 자습서 – 예제가 포함된 전체 가이드
게시 됨: 2017-01-27이 시퀀스 다이어그램 자습서는 시퀀스 다이어그램을 더 잘 이해하는 데 도움이 됩니다. 시퀀스 다이어그램을 그리는 방법부터 그릴 때 피해야 할 일반적인 실수에 이르기까지 알아야 할 모든 것을 설명합니다.
상호 작용 다이어그램에는 3가지 유형이 있습니다. 시퀀스 다이어그램, 통신 다이어그램 및 타이밍 다이어그램. 이 다이어그램은 시스템 내 부품 간의 상호 작용을 설명하는 데 사용됩니다. 세 가지 중에서 시퀀스 다이어그램은 단순함 때문에 개발자와 독자 모두가 선호합니다.
이 시퀀스 다이어그램 자습서에서는 다음에 대해 배울 것입니다.
- 시퀀스 다이어그램이란
- 시퀀스 다이어그램 표기법
- 시퀀스 다이어그램 모범 사례
- 시퀀스 다이어그램을 그리는 방법
- 시퀀스 다이어그램 일반적인 실수
- 시퀀스 다이어그램 템플릿 및 예
- 시퀀스 다이어그램 SlideShare 프레젠테이션
- 시퀀스 다이어그램 가이드에 대한 피드백
시퀀스 다이어그램이란 무엇입니까?
개발자가 일반적으로 사용하는 시퀀스 다이어그램은 단일 사용 사례에서 개체 간의 상호 작용을 모델링합니다. 그것들은 시스템의 다른 부분들이 기능을 수행하기 위해 서로 어떻게 상호작용하는지, 그리고 특정 사용 사례가 실행될 때 상호작용이 일어나는 순서를 보여줍니다.
간단히 말해서 시퀀스 다이어그램은 시스템 작업의 다른 부분을 '시퀀스'로 표시하여 무언가를 완료하는 것을 보여줍니다.
시스템 작업의 다른 부분을 '순서'로 표시하여 작업을 완료합니다.
시퀀스 다이어그램 표기법
시퀀스 다이어그램은 상단에서 시작하여 상호 작용의 시퀀스를 표시하기 위해 점차적으로 내려가는 타임라인을 나타내는 방식으로 구성됩니다. 각 개체에는 열이 있으며 개체 간에 교환되는 메시지는 화살표로 표시됩니다.
시퀀스 다이어그램의 다양한 부분에 대한 간략한 개요
라이프라인 표기법
시퀀스 다이어그램은 다이어그램 상단을 가로질러 수평으로 배열되어야 하는 이러한 몇 가지 라이프라인 표기법으로 구성됩니다. 두 개의 생명선 표기법이 서로 겹치지 않아야 합니다. 그것들은 시퀀스 동안 시스템에서 서로 상호 작용하는 다른 개체 또는 부분을 나타냅니다.
특정 시퀀스 다이어그램이 유스 케이스에 의해 소유될 때 액터 요소 기호가 있는 라이프라인 표기법이 사용됩니다.
엔터티 요소가 있는 수명선은 시스템 데이터를 나타냅니다. 예를 들어, 고객 서비스 응용 프로그램에서 고객 엔터티는 고객과 관련된 모든 데이터를 관리합니다.
경계 요소가 있는 라이프라인은 시스템 경계/시스템의 소프트웨어 요소를 나타냅니다. 예를 들어 사용자 인터페이스 화면, 데이터베이스 게이트웨이 또는 사용자가 상호 작용하는 메뉴는 경계입니다.
그리고 제어 요소가 있는 생명선은 제어 엔티티 또는 관리자를 나타냅니다. 경계와 엔터티 간의 상호 작용을 구성하고 일정을 지정하며 이들 간의 중재자 역할을 합니다.
활성화 막대
활성화 막대는 생명선에 배치된 상자입니다. 두 개체 간의 상호 작용 중에 개체가 활성(또는 인스턴스화)되었음을 나타내는 데 사용됩니다. 직사각형의 길이는 활성 상태를 유지하는 개체의 지속 시간을 나타냅니다.
시퀀스 다이어그램에서 두 개체 간의 상호 작용은 한 개체가 다른 개체에 메시지를 보낼 때 발생합니다. Message Caller(메시지를 보내는 개체)와 Message Receiver(메시지를 받는 개체)의 라이프라인에서 활성화 표시줄을 사용하면 둘 다 메시지 교환 중에 활성화/인스턴스화됩니다.
메시지 화살표
메시지 호출자에서 메시지 수신자로 가는 화살표는 시퀀스 다이어그램에서 메시지를 지정합니다. 메시지는 모든 방향으로 흐를 수 있습니다. 왼쪽에서 오른쪽으로, 오른쪽에서 왼쪽으로 또는 다시 메시지 발신자 자체로. 화살표에서 한 개체에서 다른 개체로 보내는 메시지를 설명할 수 있지만 다른 화살촉을 사용하여 보내거나 받는 메시지 유형을 나타낼 수 있습니다.
메시지 화살표에는 메시지 서명이라고 하는 설명과 함께 제공됩니다. 이 메시지 서명의 형식은 다음과 같습니다. message_name을 제외한 모든 부분은 선택 사항입니다.
속성 = message_name(인수): return_type
- 동기 메시지
활성화 막대의 예에서 볼 수 있듯이 송신자가 수신자가 메시지를 처리하고 다른 메시지를 계속 진행하기 전에 돌아올 때까지 기다릴 때 동기 메시지가 사용됩니다. 이러한 유형의 메시지를 나타내는 데 사용되는 화살촉은 아래와 같이 단색입니다.
- 비동기 메시지
비동기 메시지는 메시지 호출자가 수신자가 메시지를 처리하고 시스템 내의 다른 개체에 다른 메시지를 보내기 전에 반환할 때까지 기다리지 않을 때 사용됩니다. 이 유형의 메시지를 표시하는 데 사용되는 화살촉은 아래 예와 같은 선 화살표입니다.
- 반환 메시지
리턴 메시지는 메시지 수신자가 메시지 처리를 완료하고 메시지 호출자에게 제어권을 반환하고 있음을 나타내는 데 사용됩니다. 동기 메시지에 의해 트리거되는 활성화 표시줄은 항상 반환 메시지를 의미하므로 반환 메시지는 선택적 표기법입니다.
팁: 초기 메시지 화살표 자체에서 반환 값을 지정할 수 있으므로 반환 메시지 사용을 최소화하여 다이어그램을 복잡하게 만드는 것을 방지할 수 있습니다.
- 참가자 생성 메시지
개체가 이벤트 시퀀스의 전체 기간 동안 반드시 살아 있는 것은 아닙니다. 보내는 메시지에 따라 개체나 참가자를 만들 수 있습니다.
드롭된 참가자 상자 표기법은 생성 호출이 전송될 때까지 특정 참가자가 존재하지 않았음을 보여야 할 때 사용할 수 있습니다. 생성된 참가자가 생성 직후에 무언가를 수행하는 경우 참가자 상자 바로 아래에 활성화 상자를 추가해야 합니다.
- 참가자 파기 메시지
마찬가지로, 더 이상 필요하지 않은 참가자는 시퀀스 다이어그램에서 삭제할 수도 있습니다. 이것은 해당 참가자의 생명선 끝에 'X'를 추가하여 수행됩니다.
- 반사적인 메시지
객체가 자신에게 메시지를 보낼 때 이를 재귀 메시지라고 합니다. 아래 예와 같이 동일한 수명선에서 시작하고 끝나는 메시지 화살표로 표시됩니다.
논평
UML 다이어그램은 일반적으로 모든 UML 다이어그램 유형에서 주석 주석을 허용합니다. 주석 개체는 아래와 같이 모서리가 접힌 직사각형입니다. 주석은 점선으로 관련 개체에 연결할 수 있습니다.
메모: 시퀀스 조각에 대해 알아보려면 시퀀스 다이어그램 모범 사례를 확인하세요.
시퀀스 다이어그램 모범 사례
- 시퀀스 조각과의 복잡한 상호 작용 관리
시퀀스 프래그먼트는 시퀀스 다이어그램에서 객체 간의 상호 작용 섹션을 프레임화하는 상자로 표시됩니다(아래 예 참조).
대체 흐름 및 루프와 같은 복잡한 상호 작용을 보다 구조화된 방식으로 표시하는 데 사용됩니다. 조각의 왼쪽 상단 모서리에는 오퍼레이터가 있습니다. 이것은 조각 연산자(fragment operator)가 어떤 종류의 조각인지 지정합니다.
대안
두 개 이상의 메시지 시퀀스 중에서 선택해야 할 때 대체 조합 단편이 사용됩니다. "if then else" 논리를 모델링합니다.
대체 조각은 큰 직사각형이나 프레임으로 표시됩니다. 프레임의 이름 상자(일명 조각 연산자) 안에 'alt'를 언급하여 지정합니다.
둘 이상의 대안을 표시하기 위해 위의 시퀀스 다이어그램 예에서 볼 수 있듯이 큰 사각형을 점선을 사용하여 상호 작용 피연산자라고 하는 것으로 나눕니다. 각 피연산자에는 테스트할 가드가 있으며 피연산자의 왼쪽 상단 모서리에 배치됩니다.
옵션
옵션 조합 조각은 특정 조건에서만 발생하는 시퀀스를 나타내는 데 사용되며, 그렇지 않으면 시퀀스가 발생하지 않습니다. "if then" 문을 모델링합니다.
대안 조각과 유사하게, 옵션 조각도 이름 상자 안에 'opt'가 배치된 직사각형 프레임으로 표시됩니다.
대안 프래그먼트와 달리 옵션 프래그먼트는 두 개 이상의 피연산자로 나뉘지 않습니다. 옵션의 가드는 왼쪽 상단에 배치됩니다.
(시퀀스 다이어그램 템플릿 및 예제 섹션에서 옵션 조각이 있는 예제 시퀀스 다이어그램을 찾으십시오.)
루프
루프 조각은 반복적인 시퀀스를 나타내는 데 사용됩니다. 이름 상자에 'loop'라는 단어를 배치하고 프레임의 왼쪽 상단 모서리 근처에 가드 조건을 배치합니다.
부울 테스트 외에도 루프 조각의 가드는 두 가지 다른 특수 조건을 테스트할 수 있습니다. 이것은 최소 반복( minint = [숫자] 로 작성) 및 최대 반복(maxint = [숫자]으로 작성)입니다.
최소 반복 가드인 경우 루프는 언급된 수 이상을 실행해야 하며, 최대 반복 가드인 경우 루프는 표시된 수 이상을 실행하지 않아야 합니다.
(아래 시퀀스 다이어그램 템플릿 및 예제 섹션에서 루프 조각의 예를 찾으십시오.)
참조 단편
ref 조각을 사용하여 큰 시퀀스 다이어그램의 크기를 관리할 수 있습니다. 이를 통해 한 시퀀스 다이어그램의 일부를 다른 다이어그램에서 재사용할 수 있습니다. 즉, ref 조각을 사용하여 다른 다이어그램에서 다이어그램의 일부를 참조할 수 있습니다.
참조 프래그먼트를 지정하려면 프레임의 이름 상자에 'ref'를 언급하고 프레임 내부에서 참조되는 시퀀스 다이어그램의 이름을 언급해야 합니다.
더 많은 시퀀스 조각 은 시퀀스 다이어그램의 기초 너머: 파트 1 , 파트 2 및 파트 3 을 참조 하세요.
- 사용 사례의 본질을 포착하는 더 작은 시퀀스 다이어그램 그리기
독자를 혼란스럽게 할 여러 개체와 메시지 그룹으로 시퀀스 다이어그램을 복잡하게 만드는 대신 시스템이 수행하는 작업을 적절하게 설명하는 몇 가지 더 작은 시퀀스 다이어그램을 그립니다. 다이어그램이 한 페이지에 맞는지 확인하고 설명 메모를 위한 공간도 남겨둡니다.
또한 수십 개의 시퀀스 다이어그램을 그리는 대신 시나리오에서 공통점을 찾아 그것에 집중하십시오. 그리고 코드가 표현력이 풍부하고 자체적으로 존재할 수 있다면 처음부터 시퀀스 다이어그램을 그릴 필요가 없습니다.
시퀀스 다이어그램을 그리는 방법
시퀀스 다이어그램은 하나의 단일 사용 사례에서 이벤트의 시나리오 또는 흐름을 나타냅니다. 시퀀스 다이어그램의 메시지 흐름은 특정 사용 사례의 설명을 기반으로 합니다.
그런 다음 시퀀스 다이어그램 그리기를 시작하거나 여기에 포함되어야 하는 상호 작용을 결정하기 전에 사용 사례 다이어그램을 그리고 특정 사용 사례가 수행하는 작업에 대한 포괄적인 설명을 준비해야 합니다.
위의 '새 온라인 라이브러리 계정 만들기' 사용 사례 다이어그램 예제에서 시퀀스 다이어그램 예제를 그리기 위해 '새 사용자 계정 만들기'라는 이름의 사용 사례에 중점을 둘 것입니다.
시퀀스 다이어그램을 그리기 전에 새 사용자 계정을 만드는 데 관련된 개체 또는 행위자를 식별해야 합니다. 이것들은;
- 사서
- 온라인 도서관 관리 시스템
- 사용자 자격 증명 데이터베이스
- 이메일 시스템
개체를 식별한 후에는 사용 사례가 수행하는 작업에 대한 자세한 설명을 작성하는 것이 중요합니다. 이 설명에서 유스 케이스가 실행되면 위의 개체 간에 발생할 상호 작용(시퀀스 다이어그램에 있어야 함)을 쉽게 파악할 수 있습니다.
다음은 '새 라이브러리 사용자 계정 만들기'라는 사용 사례에서 발생하는 단계입니다.
- 사서는 시스템에 새 온라인 도서관 계정을 생성하도록 요청합니다.
- 그런 다음 사서는 도서관 사용자 계정 유형을 선택합니다.
- 사서가 사용자의 세부 정보를 입력합니다.
- 사용자의 세부 정보는 사용자 자격 증명 데이터베이스를 사용하여 확인됩니다.
- 새 라이브러리 사용자 계정이 생성됩니다.
- 그런 다음 새 계정의 세부 정보 요약이 사용자에게 이메일로 전송됩니다.
이러한 각 단계에서 시퀀스 다이어그램의 개체 간에 교환되어야 하는 메시지를 쉽게 지정할 수 있습니다. 명확해지면 계속해서 시퀀스 다이어그램 그리기를 시작할 수 있습니다.
아래 시퀀스 다이어그램은 온라인 도서관 관리 시스템의 개체가 '새 도서관 사용자 계정 만들기' 기능을 수행하기 위해 서로 상호 작용하는 방식을 보여줍니다.
시퀀스 다이어그램 일반적인 실수
시퀀스 다이어그램을 그릴 때 디자이너는 이러한 일반적인 실수를 하는 경향이 있습니다. 이러한 실수를 피함으로써 다이어그램의 품질을 보장할 수 있습니다.
- 너무 많은 세부 사항을 추가합니다. 이것은 다이어그램을 복잡하게 만들고 읽기 어렵게 만듭니다.
- 시스템의 인터페이스, 실제 아키텍처 등과 비교할 때 관련이 없는 구식 및 구식 시퀀스 다이어그램. 교체하거나 수정하는 것을 잊지 마십시오.
- 유스 케이스 텍스트와 메시지 화살표 사이에 공백을 두지 마십시오. 이것은 누구나 다이어그램을 읽기 어렵게 만듭니다.
- 메시지 화살표의 기원을 신중하게 고려하지 않습니다.
시퀀스 다이어그램 가이드: 시퀀스 다이어그램을 그릴 때 피해야 할 일반적인 실수에 자세히 설명되어 있는 이러한 일반적인 실수를 참조하세요.
시퀀스 다이어그램 예제 및 템플릿
다음은 Creately를 사용하여 그린 몇 가지 시퀀스 다이어그램 예제 및 템플릿입니다. Creately의 온라인 도구를 사용하여 온라인으로 시퀀스 다이어그램을 만드십시오. 템플릿을 클릭하여 편집기에서 엽니다.
온라인 시험 시스템의 순서도
온라인 시험 시스템 – 클래스 다이어그램(UML)
학교 관리 시스템의 시퀀스 다이어그램 예
옵션 조합 단편의 예
루프 시퀀스의 예
다음은 바로 편집할 수 있는 몇 가지 시퀀스 다이어그램 템플릿과 예제 입니다.
시퀀스 다이어그램 튜토리얼 – SlideShare 프레젠테이션
시퀀스 다이어그램 자습서에 대한 피드백
이 시퀀스 다이어그램 튜토리얼은 시퀀스 다이어그램과 그리기에 대해 알아야 할 모든 것을 다룹니다. 시퀀스 다이어그램 튜토리얼에 대한 제안이나 질문이 있으면 언제든지 의견을 남겨주세요.
더 많은 다이어그램 튜토리얼
- 비즈니스 프로세스 모델링 튜토리얼(BPM 가이드 기능 설명)
- Ultimate Flowchart Guide(예제를 포함한 전체 플로차트 튜토리얼)
- 사용 사례 다이어그램 자습서(예제 포함 가이드)