훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com
Sequence Diagram
sequence diagram |
시퀀스 다이어그램은 시간 순서로 정렬된 객체 상호작용을 보여준다. - 위키백과 - |
class diagram이 데이터와 정적인 것들 간 관계를 표현한 것이었다면 sequence diagram은 그 반대입니다.
소프트웨어의 동작, 논리의 흐름에 관한 것입니다.
Use Case Diagram에 대해서 배워본 적이 있었죠?(링크)
Use Case Diagram의 각 Use Case마다 Use Case Description을 써야 한다고 말씀드렸었는데요,
UCD를 참고하여 Sequence Diagram까지 만들어주면 됩니다.
정리하면, Use Case Description과 Class Diagram을 참고하여 Sequence DIagram을 만들고,
이를 코드로 옮기면 됩니다.
Sequence Diagram 예제
출처 : velog.io/@kbj7227
구성요소
Message - 함수 호출을 의미 (반환값, 매개변수까지) | |
Actor 1. Active Actor -> Message 호출의 주체 2. Passive Actor -> Message 호출 당하는 존재 |
|
Controller Object 한 로직 안에서 Message의 흐름을 관리하는 존재 Y축으로 내려갈수록 작업의 흐름 Controller Object는 Message의 흐름을 관리할 뿐만 아니라 Actor로부터 입력을 받아 Passive Actor나 Participating Object로 보내는 일, 그들로부터 받은 결과를 다시 Workflow로 가져오는 일을 한다. Actor - Object간 직접 소통이 아니라 Controller Object를 두는 이유는 의존성을 낮추기 위해서이다. 의존성을 낮추면 로직 변경사항에 대처하기 쉬워진다. |
|
Participating Object 로직을 실행하는데 필요한 협력 객체들 미리 그려놓았던 Class Diagram에서 가져온다. |
|
Workflow 작업의 흐름 미리 써놓았던 Use Case Description을 참고하면 된다. |
|
Combined Fragment 작업 단위. 아래에서 자세히 설명 |
Combined Fragment
출처 : 학부 수업
위의 Sequence Diagram에서 심심치 않게 보이는 네모 상자의 정체입니다.
이것은 특정 로직 (조건, 분기 등)을 적용하는 구성단위입니다.
Interaction Operator |
1. alt - choice -> switch와 같음 2. opt - if 3. loop - while [guard] 넣어서 탈출 조건 만들 수 있음. min-int 최소 반복 max-int 최대 반복 4. break - 조건 만족하면 break 실행하고 끝냄 5. par은 멀티 프로세스 sub-task가 동시에 이뤄짐 여러 장점이 있으나 설계에 신중해야 함. - thread -process -process core -processor -node
|
Sequence Diagram 만드는 방법
1. Active Actor을 가장 왼쪽 1 column에 위치시킨다.
2. Message Controller을 2 column에 위치시킨다.
3. Class Diagram을 참고하여 PO들을 오른쪽 칼럼들에 위치시킨다.
4. Passive Actor은 적절한 곳에 위치시킨다.
5. UCD(Description)을 참고하여 workflow를 Message에 따라 정의한다.
'소프트웨어 공학' 카테고리의 다른 글
디자인 패턴 기본 (0) | 2021.04.16 |
---|---|
(UML) Activity Diagram & State Machine Diagram (0) | 2021.04.09 |
(UML) Class Diagram (0) | 2021.04.02 |
(요구사항 분석) Data Flow Diagram & Use Case Diagram (0) | 2021.03.19 |
Software Process model (0) | 2021.03.12 |