DevBlackCat
정보처리기사 필수 학습: UML 다이어그램 완전 정복 본문
728x90
UML 개념
시스템을 시각화 및 문서화하고 구조와 동작을 명세하는 모델링 언어
UML 특징
- 가시화 언어 (Visualization Language)
- 명세화 언어 (Specification Language)
- 구축 언어 (Construction Language)
- 문서화 언어 (Documentation Language)
UML 구성요소
- 사물 (Things)
- 관계 (Relationships)
- 다이어그램 (Diagrams)
- 스테레오 타입 (Stereotypes)
1. 사물 (Things)
- 구조 사물 (Structural Things)
- 행동 사물 (Behavioral Things)
- 그룹 사물 (Grouping Things)
- 주해 사물 (Annotational Things)
2. 관계 (Relationships)
- 일반화 관계 (Generalization)
- 연관 관계 (Association)
- 의존 관계 (Dependency)
- 실체화 관계 (Realization)
- 집합 관계 - 집약 관계 (Aggregation)
- 집합 관계 - 합성 관계 (Composition)
3. 다이어그램 (Diagrams)
1) 구조 다이어그램 (Structural Diagrams)
- 클래스 다이어그램 (Class Diagram)
- 객체 다이어그램 (Object Diagram)
- 컴포넌트 다이어그램 (Component Diagram)
- 배치 다이어그램 (Deployment Diagram)
- 복합체 구조 다이어그램 (Complex Structure Diagram)
- 패키지 다이어그램 (Package Diagram)
1.클래스 다이어그램 (Class Diagram)
- 대표적 구조 다이어그램
- 정적구조를 표현
- 클래스간 관계를 표현
제한 표기법
- 공용(public):
- 기호: +
- 설명: 클래스 외부에서 접근 가능한 속성이나 메서드. 누구나 사용할 수 있습니다.
- 비공용(private):
- 기호: -
- 설명: 클래스 내부에서만 접근 가능한 속성이나 메서드. 외부에서 직접 접근할 수 없습니다.
- 보호(protected):
- 기호: #
- 설명: 해당 클래스 및 그 하위 클래스에서 접근 가능한 속성이나 메서드.
- 패키지(package):
- 기호: ~
- 설명: 동일한 패키지 내에서만 접근 가능한 속성이나 메서드.
2.객체 다이어그램 (Object Diagram)
- 객체간 관계를 표현
- 실제 인스턴스 표현
3.컴포넌트 다이어그램 (Component Diagram)
- 물리적 구조를 표현
- 구성요소간 상호작용을 표현
4.배치 다이어그램 (Deployment Diagram)
- 물리적인 배치를 표현
- 시스템 구성요소와 그들의 관계표현
5.복합체 구조 다이어그램 (Complex Structure Diagram)
- 복합구조 표현
6.패키지 다이어그램 (Package Diagram)
- 그룹화 및 복잡성 관리
2) 행위 다이어그램 (Behavioral Diagrams)
- 유스케이스 다이어그램 (Use Case Diagram)
- 활동 다이어그램 (Activity Diagram)
- 시퀀스 다이어그램 (Sequence Diagram)
- 상태 다이어그램 (State Diagram)
- 커뮤니케이션 다이어그램 (Communication Diagram)
- 인터랙션 오버뷰 다이어그램 (Interaction Overview Diagram)
- 타이밍 다이어그램 (Timing Diagram)
1.유스케이스 다이어그램 (Use Case Diagram)
유스케이스는 시스템이 사용자와 상호작용하는 방식을 시나리오 형태로 설명한 것입니다.
유스케이스의 주요 구성요소
- 액터(Actor): 시스템 외부에서 시스템과 상호작용 하는 시스템 또는 사람 ex) 유저, 관리자, 외부 API, 결제 시스템...
- 시스템(System): 만들고자 하는 프로그램 명칭 ex) 웹사이트, 모바일 앱, 은행 시스템...
- 유스케이스(Use Case): 시스템 기능 ex) 회원 가입, 상품 구매, 비밀번호 변경, 데이터 조회, 파일 업로드...
- 관계(Relation): 액터와 유스케이스 사이의 관계 ex) 회원 가입 API와 사용자 등록 기능, 결제 API와 주문 처리 기능, 이메일 API와 비밀번호 재설정 기능...
유스케이스의 관계 다이어그램
연관 관계 (Association): 액터와 유스케이스 사이의 기본적인 관계
포함 관계 (Include): 하나의 유스케이스가 다른 유스케이스를 반드시 포함할 때
확장 관계 (Extend): 유스케이스가 특정 조건에서만 다른 유스케이스를 확장할 때
일반화 관계 (Generalization): 유스케이스나 액터가 다른 유스케이스나 액터를 상속할 때
2.시퀀스 다이어그램 (Sequence Diagram)
- 객체간 메세지 교환을 시간순서에 따라 표현하는 다이어그램
구성항목
- 생명선/객체
- 실행
- 메시지
- 활성 박스
객체와 생명선
- 객체는 직사각형 표현
- 라이프라인은 점선으로 표현
- 점선은 위에서 아래로 시간의 경과 표현
활성 박스
- 생명선상 기다란 직사각형 표현
- 객체가 어떤 활동 하고 있음을 의미
메시지
- 인스턴스 간 메시지
- 동기, 비동기, 자체, 반환 메시지
3.상태 다이어그램 (State Diagram)
- 한객체의 변화를 나타내는 다이어그램
4.활동 다이어그램 (Activity Diagram)
- 시스템의 프로세스 또는 흐름을 표현
- 비지니스 프로세스 모델링에 사용[플로우 차트에 활용]
5.커뮤니케이션 다이어그램 (Communication Diagram)
- 객체간 상호작용과 통신을 표현
- 시간에 초점을 두지않고 관계를 더 큰 중점으로 표시
6.인터랙션 오버뷰 다이어그램 (Interaction Overview Diagram)
- 시스템의 상호작용을 하나의 워크플로우로 표현
7.타이밍 다이어그램 (Timing Diagram)
- 객체가 어떻게 활동하고 시간에 따라 상호작용을 표현
- 실시간 시스템이나 복잡한 시퀀스 다이어그램을 표현
728x90
'정보처리기사 > 소프트웨어 설계' 카테고리의 다른 글
정보처리기사 필수 학습: 공통 모듈 설계 - 설계 모델링 완전 정복!! (0) | 2024.10.04 |
---|---|
정보처리기사 필수 학습: 화면설계 완전 정복! (1) | 2024.10.04 |
정보처리기사 필수 학습: 분석 자동화 도구 완전 정복! (0) | 2024.10.01 |
정보처리기사 필수 학습: 모델링 기법 완전 정복! (2) | 2024.10.01 |
정보처리기사 필수 학습: 애자일 방법론 완전 정복! (0) | 2024.09.30 |