Index
Search
1. 액티비티 다이어그램
1.1. 액티비티 다이어그램
•
업무 흐름이나 계산 과정을 액션 흐름에 따라 단계적으로 표현
•
비즈니스 프로세스 표현
•
4+ 1 뷰에서 프로세스 뷰를 표현하는 UML 다이어그램
1.2. 액티비티와 액션
•
액티비티
◦
작업의 실행을 의미
◦
액션들과 이들의 제어흐름을 표현
•
액션
◦
액티비티를 수행하기 위해 필요한 단일 잔업
•
액티비티 다이어그램 구성 요소
◦
액션
◦
액티비티
◦
제어노드
◦
화살표(제어/객체흐름)
◦
객체노드
•
예시
◦
액티비티 - 라면 끓이기
◦
액션 - 물 붓기, 끓이기, 라면 넣기
◦
시작 노드 - 검은색 원
◦
종료 노드 - 검은색 원을 포함한 원
2. 객체와 객체 흐름
•
객체
◦
액션의 입력이나 출력으로 사용되는 데이터
◦
사각형으로 표시
◦
이름에 밑줄을 그어 인스턴스(객체)임을 강조할 수 있음
•
객체 흐름
◦
객체와 액션 사이의 화살표
•
입력핀과 출력핀
◦
입력핀 - 객체가 액션의 입력으로 사용됨
◦
출력핀 - 액션의 결과로 객체가 출력됨을 의미
•
스테레오 타입 - 객체흐름에 사용
◦
transformation
◦
selection
•
객체 상태
◦
[]를 사용하여 상태 표시
3. 조건과 병합 노드
•
조건 노드
◦
마름모로 표시
◦
모든 조건들은 서로 배타적이어야 함
◦
else와 같은 조건으로 사용 불가
•
병합 노드
4. 병렬 처리와 확장 영역
4.1. 포크와 조인
•
제어 노드
•
병렬 처리를 표현하기 위해 포크와 조인 사용
•
굵은 막대로 표시
•
포크
◦
흐름이 2개 이상으로 나뉘어 동시 진행
•
조인
◦
동시 진행되었던 흐름들이 조인을통해 동기화 됨
◦
동시 수행되었던 흐름들이 모두 종료되어야 조인을 통해 다음 흐름으로 이어짐 (동기적)
•
예시
4.2. 확장 영역
•
입력 객체가 컬렉션일때 모든 요소들에 수행되는 액션들을 하나의 그룹으로 표현
•
확장 영역의 종류
◦
parallel
▪
요소들 병행 처리
◦
iterative
▪
요소들을 순차 처리
•
1→2→3 끝나고 나면 다음 요소가 처리
◦
stream
▪
스트림으로 처리
5. 시그널과 파티션
5.1. 시그널
•
시그널 주고받기
◦
외부의 사람, 시스템, 프로세스와의 상호작용을 의미
◦
이벤트의 발생으로 메세지를 외부로 보내거나 외부로부터 받는 것
◦
메세지
▪
소프트웨어 설계자 관점
◦
시그널
▪
시스템 설계자 관점
5.2. 시그널 송수신
•
시그널 수신 액션
◦
오목 오각형
•
시그널 송신 액션
◦
시그널을 생성하여 전송 (블록 오각형)
▪
예시) 주문하기
◦
외부의 참여자에게 시그널을 보내면 외부 참여자가 적절히 반응할 것으로 기대하나 응답을 기다리지 않음
•
시그널 송수신은 비동기적
◦
시그널을 동기화하려면 시그널 송신과 수신을 나란히 위치 시킴
5.3. 인터럽트
•
시그널을 이용하여 인터럽트 표현 가능
◦
특정 사건이 발생하면 영역 내 모든 프로세스가 종료되는 상황 표현시 사용
•
인터럽트 영역
◦
인터럽트가 발생할 수 있는 영역. 취소가능한 액션들을 포함
◦
모서리가 둥근 점섬 사각형으로 표시
•
인터럽트 표시
◦
인터럽트 발생 시 실행하는 액션은 지그재그 모양의 화살표로 표시
•
예시)
5.4. 파티션
•
액션에 책임지는 참여자를 표현하기위해 파티션 또는 레인으로 구분
•
액션 수행자, 주체 표현
•
스윔레인이라고도 함
5.5. 액티비티 호출과 재사용성
•
호출 액티비티 액션
◦
다른 액티비티를 호출하는 액션
◦
가독성과 재사용성을 높이기 위해 액티비티를 별도의 다이어그램으로 분리
•
액션 노드 내 포크 모양의 아이콘으로 표시
•
예시
5.6. 타임 이벤트
•
액티비티의 실행 흐름에서 시간적 요인 표현하는 경우
◦
모래시계 기호로 표현
◦
입력 흐름을 가진 타임 이벤트는 한번만 일어남
•
규칙적 시간 간격을 두고 반복되는 상황을 표현하는 경우
◦
입력 흐름이 없는타임 이벤트
◦
시작 노드 대체 가능